ubuntu将solidworks模型导入到ros(gazebo/rviz)

参考文献
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文件添加铰链副,完成平行四边形机构的闭环约束和仿真。

  • 22
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值