一、引言

  • 很久没有更新博客了,平时有点忙,趁着假期时间比较多,进行一些小阶段的总结
  • 本文主旨是利用Solidworks导出URDF模型用于gazebo仿真环境中去,因为gazebo自身的模型库受限或者我们想要显示自己想要的模型(感觉就是加个皮肤),经常需要3D绘图软件去绘制,比如Solidworks,但是一般怎么样才能让3D绘图软件和gazebo模型交互呢,Solidworks就提供了一款插件可以将模型文件经过一些转化为URDF文件,这样我们就可以在ROS中直接使用了~~
  • 跟以前一样,有什么问题评论区讨论或私信,大家一起讨论

二、前期准备

2.1 下载Solidworks2016

这里要解释一下为什么要下载2016版本,这个版本比较稳定并且功能也比较全(啊~,其实懂得都懂),跟matlab啊,VS啊这些一样,也不是最新的就最好,对于我们搞机器人的而言,能满足我们的需求就可以啦

  • 下载方式
    关注《软件管家》微信公众号,根据里面的教程一步一步做就好了
    (其实直接找某宝帮忙安得了,几块钱~~节省时间)

2.2 下载Solidworks转URDF插件

安装完成Solidworks2016以后需要下载sw2urdfSetup.exe这样一个exe文件来自动下载插件,这个exe文件在ROS WIKI的网站上有提供资源,版本的话最好下个旧一点的,就下截图中的就好啦

2.3 下载机器人模型

这里我们下载的是一个UR3机械臂模型文件,STEP类型,是在他们公司官网上搜罗到的(这里用UR3的原因主要是我参考的是古月的教程,这篇文章也主要是把他的视频内容文档化,方便我们使用,如果大家有其他需求可以在对应官网上翻翻,应该也是有那种通用文件的

三、配置全过程

3.1 打开下载的STEP文件

可能会遇到默认模板无效的问题,解决方式如下:
(1)工具->选项


(2)选择默认模板,勾选提示用户选择文件模板的复选框


(3)重新打开文件并一直点确定

3.2 添加基准轴

主要是为了机械臂旋转的时候有个参考轴,一般都是取圆柱体的中心轴,可以理解为URDF里面的joint部分旋转时的参考轴

  • 菜单栏:插入->参考几何体->基准轴

  • 选定需要作轴的部分,就可以添加成功了

3.3 配置link和joint

这里的步骤我又自己重新做了两遍,确认是没有什么问题的

  • 菜单栏:工具->file->Export as URDF

会进入以下界面,需要对link和joint起名、选定link的范围、选定参考轴、以及joint类型,其中Number of child links是用来指定子关节的数量的,可以用于添加子关节,对应其下面的树状结构(啊。。。玩ROS的应该都懂吧,就一个父子关节的关系)


步骤:
(1)baselink


(2)link1和joint1

这里普及一下Joint Type:
(1)continuous: 旋转关节,可以绕单轴无限旋转
(2)revolute: 旋转关节,类似于 continues,但是有旋转角度限制
(3)prismatic: 滑动关节,沿某一轴线移动的关节,有位置极限
(4)planer: 平面关节,允许在平面正交方向上平移或旋转
(5)floating: 浮动关节,允许进行平移、旋转运动
(6)fixed: 固定关节,不允许运动的特殊关节

(3)link2和joint2


(4)link3和joint3

(5)link4和joint4


(6)link5和joint5


(7)link6和joint6


大家配置的时候可以按照自己的需求选择相应的选项,主要就是那个基准轴还有Joint Type别选错了就行

(8)点击Preview and Export…


这里可以配置一些速度,角度上下限,这几个joint里的Limit参数可以全部配置一样的参数,-3.14,3.14,100,1即可~

注意:这里的Axis参数不知道为啥我这里是空的,应该是要指定的否则URDF文件打开的时候必定报错,指定的方法主要看joint在所对应的坐标系下是如何旋转的,如果是绕x轴方向正向旋转,则给(1,0,0)


点击Next后直接Export即可,下面这个图主要是一些惯性参数


会生成这样子的文件夹(注:对了,最好文件夹的命名是小写字母,否则catkin_make的时候会出问题


里面包含了我们所熟悉的配置文件等


至此我们配置过程就已经完成啦!~ 启动display.launch如果rviz中能正常显示机械臂则配置成功

四、参考文献

https://www.bilibili.com/video/BV1Tx411o7rH