参考文献
1.ubuntu 20.04 安装ros
2.ubuntu 20.04 ros工作空间配置+UR机器人配置
3.sw2urdf插件
4.URDF和机器人模型导入
5.ubuntu下tree命令的使用
6.ROS机器人建模与仿真(一)——URDF模型的建立和改进
工作内容:用solidworks绘制平行四杆机构装配体,使用sw2urdf将装配体转为urdf文件;编译上述urdf文件,将模型导入ROS。
步骤1.ubuntu 20.04安装ros及环境配置
具体过程参考链接1和2
步骤1.ubuntu 20.04安装ros及环境配置
具体urdf插件使用过程参考链接3,四杆机构模型图如下:
此处注意,由于urdf不支持闭链机构描述,为导出urdf,必须将某个关节断开,这里选择断开右上方的关节(基准轴3)。
最后导出我将导出的文件夹命名为mymodel
步骤3.机器人模型导入
步骤3.1 在ubuntu环境中,首先创建catkin_ws文件夹,进入该文件夹,创建src文件夹,然后将插件生成的mymodel文件夹放入src文件夹中,可通过下载并使用tree指令观察文件夹结构:
参考文献5.ubuntu下tree命令的使用
sudo apt-get install tree
tree
使用tree命令显示文件结构:
步骤3.2 依据参考链接4,由于旧版本的sw2urdf插件生成的文件可能有错误,需要修改该文件树下的package.xml和display.launch文件。
首先package.xml文件中,第十行内容邮箱格式不正确,应改为下图所示的mai.com格式
然后在display.launch文件中第六行内容,文件位置格式应与实际文件路径保持一致,即urdf/mymodel.urdf,如下图所示:
确认上述两处无误后,在~/catkin路径下打开终端,编译包:
catkin_make --pkg mymodel
编译成功后,可用tree指令观察catkin_ws文件夹下的文件结构(虽然暂时我也不懂)
步骤3.3
接下来就可以通过src中的.launch文件将模型导入到gazebo中,运行如下命令:
roslaunch mymodel gazebo.launch
可发现命令报错:
这是因为缺少环境变量导致,运行如下指令添加环境变量:
source ./devel/setup.bash
然后再运行
roslaunch mymodel gazebo.launch
gazebo被成功启动,模型被成功导入
同理可运行下述代码将模型导入到rviz中:
roslaunch mymodel display.launch
将左上角的fixedframe选项修改为L1_BASE即可消除报错,然后软件左下角选择Add->RobotModel即可添加机器人模型(详情看参考链接4)
步骤4 机器人模型树结构查看
参考文章6.ROS机器人建模与仿真(一)——URDF模型的建立和改进
通过check_urdf命令可视化机器人各连杆间关系:
sudo apt update
sudo apt-get install liburdfdom-tools
cd ./cakin_ws/src/mymodel/urdf
check_urdf mymodel.urdf
还可以通过指令生成urdf可视化pdf文件:
urdf_to_graphiz mymodel.urdf
5.模型不足与后续工作
从上图模型结构树中可知,由于urdf文件不支持闭环结构,上述结构并没有完成闭环,缺少一个铰链副,因此不能实现仿真,下次将手动修改urdf文件添加铰链副,完成平行四边形机构的闭环约束和仿真。