基于 solidworks2021 的三维仿真模型转 ros URDF

1、SolidWorks转URDF的插件下载和安装

下载sw_urdf_exporter插件
基于 solidworks2021 的三维仿真模型转 ros URDF_第1张图片
下载后直接运行sw2urdfSetup.exe,将文件安装在SOLIDWORKS安装路径下

2、SolidWorks查看插件是否安装成功

基于 solidworks2021 的三维仿真模型转 ros URDF_第2张图片
进入SOLIDWORKS打开要转换的三维模型,点击设置旁边的下三角,点击插件。
基于 solidworks2021 的三维仿真模型转 ros URDF_第3张图片
弹出插件对话框,划到对话框最底部,如上图所示即表示插件成功安装并运行,如果打开图中标的插件没勾选上勾选即可。

3、创建各个link的坐标系和旋转轴

基于 solidworks2021 的三维仿真模型转 ros URDF_第4张图片
基于 solidworks2021 的三维仿真模型转 ros URDF_第5张图片

通过图示的工具创建参考点、坐标系以及旋转轴。坐标系方向要和ROS中坐标系方向对应,轴要与坐标系重合。我的图是STP格式的,后面加的两个轮子有一个转动自由度,转换时选择好各个link的实体,铰点类型和坐标系会根据模型默认生成。最好还是自己设置一下,靠谱。

4、配置urdf

依次点击“工具—Tools—Export as URDF”,进入到配置界面。
基于 solidworks2021 的三维仿真模型转 ros URDF_第6张图片
第一个link默认是base_link,这里不用改;2是base_link的坐标系,点击选择提前创建的坐标系;3是选择属于base_link的实体被选中的实体会变成蓝色,再次点击蓝色的实体可以取消选择;4是选择base_link的子link个数,底盘下有6个轮子,这里就加到6;5中会呈现各个link间的关系树。

基于 solidworks2021 的三维仿真模型转 ros URDF_第7张图片
点击上图中标记5关系树中link名称,可以进入到如下的子link配置。
基于 solidworks2021 的三维仿真模型转 ros URDF_第8张图片
标记1、2是命名;3是坐标系选择,4是轴选择,5是连接类型的选择,6是link实体的选择,7显示当前在编辑的link和link关系树。其他的配置类似。

5、导出urdf

配置完所有link后,点击“Preview and Export”选项
基于 solidworks2021 的三维仿真模型转 ros URDF_第9张图片
检查参数无误后点击next
基于 solidworks2021 的三维仿真模型转 ros URDF_第10张图片
点击“Export URDF and Meshes”。选择路径对导出文件进行保存。

最终会生成ROS的一个功能包,文件命名时注意ROS中功能包的命名格式要求。

6、ROS中运行转换的urdf功能包

将SOLIDWORK生成的文件直接复制到自己的ros工作空间的src目录下,进行编译

编译后运行:

roslaunch agv_model display.launch

agv_model是导出时命名的文件名即功能包的名字。

第一次运行时可能会出现这样的警告或错误(我第一次是报错,第二次是警告):

[ WARN] [1640595919.252928445]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia. As a workaround, you can add an extra dummy link to your URDF.

在~/“工作空间”/src/agv_model/urdf下的.urdf文件中加入下面几行代码就可以消除警告或错误。


   
  
     
     
   

最终运行效果如下:
基于 solidworks2021 的三维仿真模型转 ros URDF_第11张图片
第一次打开需要添加机器人模型和TF左边显示,将fixed frame改为“base_link”。

你可能感兴趣的:(机制小白的SLAM导航之路,自动驾驶,人工智能,ubuntu,linux)