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中显示了,控制需要添加控制部分的内容。