Matlab - Solidworks 机器人模型联合仿真(2)如何把CAD文件转化成URDF文件

前沿: 在进行机器人仿真时建模往往是一项比较繁琐的工作,URDF(Unified Robot Description Format,统一机器人描述格式)作为一个很常用的机器人描述格式,能很方便的让我们进行机器人动力学和运动学仿真。Matlab、ROS、V-rep都支持URDF,这里介绍一种可以直接把sw文件转化成URDF格式的方法。

1.准备工作

1.1 去这里下载solidworks to urdf插件安装包,然后直接安装(安装位置随意,装哪里sw都能识别,需要注意的是这个插件面向的是sw2018及更新版本的sw,旧版本可能会用不了,盗版sw也有可能用不了,如果出问题建议重装更新版本的sw)

1.2 打开sw,点击工具-插件,在SW2URDF处打勾勾。接着在文件下拉菜单里就会多一个Export as URDF选项,然后我们就可以愉快的使用了。(也会有安装插件并打勾之后未出来这个选项的情况出现,我就遇到了这种情况,不才,未找到解决方法,重装了sw)

2.DH法建立机械臂坐标系

2.1 准备机械图纸

准备好机械图纸,确定好各个连杆关节之间的关系,没有图纸的在这里下载,我这边的机械模型如下:
Matlab - Solidworks 机器人模型联合仿真(2)如何把CAD文件转化成URDF文件_第1张图片

  • 基底和转动台由转动关节1相连
  • 转动台与连杆1由转动关节2相连
  • 连杆1与连杆2由转动关节3相连

2.2 确定初始位置

确定一个机械臂的初始位置,并把你的机械模型的CAD也调整到初始位置
Matlab - Solidworks 机器人模型联合仿真(2)如何把CAD文件转化成URDF文件_第2张图片
如果你是使用配合来调整的话,为了防止完全定义的装配体影响生成的URDF文件,调整完初始位置记得压缩掉相关配合,给装配体留下相应的自由度,不然系统自动生成的坐标系的位置不正确。

2.3 附上坐标轴

提取出机械臂的简化模型,并按照DH法附上关节坐标系
Matlab - Solidworks 机器人模型联合仿真(2)如何把CAD文件转化成URDF文件_第3张图片
我这里红色是x轴,蓝色是z轴,绿色是y轴

3.把模型转换成URDF格式

3.1 生成关节坐标轴和坐标系

打开你的机械模型,点击file——File-Export as URDF
界面左边会出现导出选项(这是我未调整初始位形时截的图,但不影响讲解。这里我们先让系统自动帮我们生成关节轴和坐标系,然后再自行调整,其实更好的做法是我们自己定义好关节主轴,然后再用urdf导出工具选择关节对应的主轴生成urdf)
Matlab - Solidworks 机器人模型联合仿真(2)如何把CAD文件转化成URDF文件_第4张图片

  1. 先点击第一个模块,也就是我们机械模型的基底
  2. 命名 link name 为 base
  3. base为我们固定的世界坐标系提供参考,系统会自动帮我们配置世界坐标系位置
  4. base 连着一个子模块,也就是转动台。于是把child link 数目调至1
  5. 进行下一个link的配置,点击empty,再点击转动台
    Matlab - Solidworks 机器人模型联合仿真(2)如何把CAD文件转化成URDF文件_第5张图片
  6. 点击模型里的转动台
  7. 给连杆起名字
  8. 给关节起名字
  9. 参考坐标系,现在我们没有定义坐标系,让系统自动生成,等下自己调整
  10. 参考坐标轴,同上放默认,等下自己调整
  11. 选你的关节类型,我们这里是转动关节,因此选择 revolute
  12. 转动台连着一个子连杆,因此子连杆数目调至1
  13. 再点击 empty 再点击连杆1,以此类推完成所有的配置

最后一个link 没有子连杆,因此子连杆数目默认0就可以。 待所有关节和连杆配置完成以后,点击preview and export
Matlab - Solidworks 机器人模型联合仿真(2)如何把CAD文件转化成URDF文件_第6张图片
这时系统会自动根据你的配置来放置坐标轴和坐标系,几秒钟之后弹出窗口:
Matlab - Solidworks 机器人模型联合仿真(2)如何把CAD文件转化成URDF文件_第7张图片
这里可以点击左边窗口的 link 来查看并且修改一些参数,这时我们还不能直接点击next。我们还需要检查并调整刚刚系统自动生成的坐标系和坐标轴。

3.2 调整坐标系

关掉这个窗口,看我们的模型窗口,我们发现我们的模型多了一些坐标轴和坐标系。
Matlab - Solidworks 机器人模型联合仿真(2)如何把CAD文件转化成URDF文件_第8张图片
仔细查看这几个坐标系

  • Origin_global 就是系统定义的全局坐标系
  • Origin_global1 ~ Origin_global3 就是我们的关节所在的坐标系
  • Axis_joint1~ Axis_joint3 是我们的关节轴

仔细观察各个坐标系,我们发现它与我们之前自己根据DH法定义的坐标系不同,因此需要我们做出相关调整。

  1. 选中坐标轴
  2. 点击 edit feature 进入坐标系调整页面
  3. 根据情况调整

这里不再赘述。

3.3 应用调整好的坐标系

坐标系调整结束之后,再次点击file——File-Export as URDF,然后重复3.1的步骤,只不过Coordinate system 和 axis 需要选择我们刚刚调整过的最终的坐标系和坐标轴。所有关节和link都要配置。
Matlab - Solidworks 机器人模型联合仿真(2)如何把CAD文件转化成URDF文件_第9张图片
配置结束之后继续点击preview,进行最后的参数调整。

3.4 最后的参数调整及生成urdf文件

在弹出的窗口里是给我们做关节参数调整的。点击左边窗口的各个joint可以查看关节坐标系的位置和方向。我们查看三个关节,发现关节2的旋转正方向不对,这里我们改成 1
Matlab - Solidworks 机器人模型联合仿真(2)如何把CAD文件转化成URDF文件_第10张图片
初学者,其他参数我们暂时不管,点击下一步。

弹出第二个参数调整,这里是连杆参数的窗口,我们查看各个连杆,发现Inertia那一栏很多超级小的数字,可以改为0Matlab - Solidworks 机器人模型联合仿真(2)如何把CAD文件转化成URDF文件_第11张图片
如果最后参数确认无误的话,再点击Export URDF and Meshes…(如果点击左边的Export URDF only的话,系统只会生成urdf文件,在仿真的时候没有mesh文件,因此你不能看到3D仿真图形)

选择生成文件的位置,并保存,很快提示你生成成功。我们定位到文件位置,最终生成了下面的这些文件。
Matlab - Solidworks 机器人模型联合仿真(2)如何把CAD文件转化成URDF文件_第12张图片
大功告成,下一篇讲解如何把 urdf 导入到 matlab 进行仿真

你可能感兴趣的:(机器人建模)