前沿: 在进行机器人仿真时建模往往是一项比较繁琐的工作,URDF(Unified Robot Description Format,统一机器人描述格式)作为一个很常用的机器人描述格式,能很方便的让我们进行机器人动力学和运动学仿真。Matlab、ROS、V-rep都支持URDF,这里介绍一种可以直接把sw文件转化成URDF格式的方法。
1.准备工作 1.1 去这里下载solidworks to urdf插件安装包,然后直接安装(安装位置随意,装哪里sw都能识别,需要注意的是这个插件面向的是sw2018及更新版本的sw,旧版本可能会用不了,盗版sw也有可能用不了,如果出问题建议重装更新版本的sw)
【Matlab - Solidworks 机器人模型联合仿真(2)如何把CAD文件转化成URDF文件】1.2 打开sw,点击工具-插件,在SW2URDF处打勾勾。接着在文件下拉菜单里就会多一个Export as URDF选项,然后我们就可以愉快的使用了。(也会有安装插件并打勾之后未出来这个选项的情况出现,我就遇到了这种情况,不才,未找到解决方法,重装了sw)
2.DH法建立机械臂坐标系
2.1 准备机械图纸
准备好机械图纸,确定好各个连杆关节之间的关系,没有图纸的在这里下载,我这边的机械模型如下:
文章图片
- 基底和转动台由转动关节1相连
- 转动台与连杆1由转动关节2相连
- 连杆1与连杆2由转动关节3相连
确定一个机械臂的初始位置,并把你的机械模型的CAD也调整到初始位置
文章图片
如果你是使用配合来调整的话,为了防止完全定义的装配体影响生成的URDF文件,调整完初始位置记得压缩掉相关配合,给装配体留下相应的自由度,不然系统自动生成的坐标系的位置不正确。
2.3 附上坐标轴
提取出机械臂的简化模型,并按照DH法附上关节坐标系
文章图片
我这里红色是x轴,蓝色是z轴,绿色是y轴
3.把模型转换成URDF格式 3.1 生成关节坐标轴和坐标系
打开你的机械模型,点击file——File-Export as URDF
界面左边会出现导出选项(这是我未调整初始位形时截的图,但不影响讲解。这里我们先让系统自动帮我们生成关节轴和坐标系,然后再自行调整,其实更好的做法是我们自己定义好关节主轴,然后再用urdf导出工具选择关节对应的主轴生成urdf)
文章图片
- 先点击第一个模块,也就是我们机械模型的基底
- 命名 link name 为 base
- base为我们固定的世界坐标系提供参考,系统会自动帮我们配置世界坐标系位置
- base 连着一个子模块,也就是转动台。于是把child link 数目调至1
- 进行下一个link的配置,点击empty,再点击转动台
文章图片
- 点击模型里的转动台
- 给连杆起名字
- 给关节起名字
- 参考坐标系,现在我们没有定义坐标系,让系统自动生成,等下自己调整
- 参考坐标轴,同上放默认,等下自己调整
- 选你的关节类型,我们这里是转动关节,因此选择 revolute
- 转动台连着一个子连杆,因此子连杆数目调至1
- 再点击 empty 再点击连杆1,以此类推完成所有的配置
文章图片
这时系统会自动根据你的配置来放置坐标轴和坐标系,几秒钟之后弹出窗口:
文章图片
这里可以点击左边窗口的 link 来查看并且修改一些参数,这时我们还不能直接点击next。我们还需要检查并调整刚刚系统自动生成的坐标系和坐标轴。
3.2 调整坐标系
关掉这个窗口,看我们的模型窗口,我们发现我们的模型多了一些坐标轴和坐标系。
文章图片
仔细查看这几个坐标系
- Origin_global 就是系统定义的全局坐标系
- Origin_global1 ~ Origin_global3 就是我们的关节所在的坐标系
- Axis_joint1~ Axis_joint3 是我们的关节轴
- 选中坐标轴
- 点击 edit feature 进入坐标系调整页面
- 根据情况调整
3.3 应用调整好的坐标系
坐标系调整结束之后,再次点击file——File-Export as URDF,然后重复3.1的步骤,只不过Coordinate system 和 axis 需要选择我们刚刚调整过的最终的坐标系和坐标轴。所有关节和link都要配置。
文章图片
配置结束之后继续点击preview,进行最后的参数调整。
3.4 最后的参数调整及生成urdf文件
在弹出的窗口里是给我们做关节参数调整的。点击左边窗口的各个joint可以查看关节坐标系的位置和方向。我们查看三个关节,发现关节2的旋转正方向不对,这里我们改成 1
文章图片
初学者,其他参数我们暂时不管,点击下一步。
弹出第二个参数调整,这里是连杆参数的窗口,我们查看各个连杆,发现Inertia那一栏很多超级小的数字,可以改为0
文章图片
如果最后参数确认无误的话,再点击Export URDF and Meshes…(如果点击左边的Export URDF only的话,系统只会生成urdf文件,在仿真的时候没有mesh文件,因此你不能看到3D仿真图形)
选择生成文件的位置,并保存,很快提示你生成成功。我们定位到文件位置,最终生成了下面的这些文件。
文章图片
大功告成,下一篇讲解如何把 urdf 导入到 matlab 进行仿真
推荐阅读
- Matlab - Solidworks 机器人模型联合仿真(3)如何把URDF文件导入到Matlab
- Matlab - Solidworks 机器人模型联合仿真(5)—— 给模型添加摩擦力
- Matlab - Solidworks 机器人模型联合仿真(1)—— 浅谈Matlab机器人建模思路