Robot-Arm-from-solidworks-to-ros
There are some steps to compete import solidworks 3D file to ROS(RVIZ/Gazebo) and simulink the robot arm.
windows下的操作:
- 安裝SW2URDF插件
- 對機械臂solidworks模型各個關節建立基準軸及座標系(座標系xyz軸根據《機器人學導論》設置,座標系原點設置爲下一關節旋轉軸 與 該關節旋轉軸 的交點;基準軸均爲Z軸);
- 點擊 工具-File-Export To URDF,設置link、關節、座標系(根據上一步中的座標系,一定要與link對應),設置參數,next, finish, 保存的文件名即爲機械臂名、包名;
- 在生成的文件夾裏,需要更改3處才能導入到ros中運行: 1、urdf文件夾名改爲 robots; 2、display.launch文件裏修改gui的屬性爲True; 3、package.xml文件夾下的郵箱改爲有效郵箱;
ubuntu ROS下的操作:
rviz:
- 新建工程目錄,在src文件夾下,將windows下生成的包(生成的文件夾,在ros下稱包:package)複製到src下;
- 在ros下,直接roslaunch 包名 display.launch;
moveit!
- 命令roslaunch moveit_setup_assistant setup_assistant.launch,打開moveit!配置助手,按照教程一步步進行配置,關鍵步驟(生成關節碰撞矩陣self-collision、規劃組planning groups裏的(Kinematic Solver、Add Joints、Add Links))
- 配置完成後就可以打開生成robot_name_moveit_config文件夾下的demo.launch文件,切換左右手通過display面板來設置
gazebo
- 在urdf文件中,增加world座標系、增加transmition標籤(設置位置閉環、力矩閉環)、導入ros_control控件的標籤;
- 增加配置文件.yaml,以及control.launch文件,在.yaml文件中設置各關節的閉環控制器,在control.launch文件中配置需要調用的yaml配置文件及其他launch文件。
至此,SolidWorks中的模型應該可以在rviz和gazebo中顯示了,控制需要添加控制部分的內容。