这个博客是用来记录关于【从Solidworks中导出URDF模型】的学习历程:
相关课程链接见:如何从Solidworks导出URDF模型 • 古月 (guyuehome.com)
下面让我们一起开始吧!!!
1. sw_urdf_exporter插件介绍
插件下载链接:sw_urdf_exporter - ROS Wiki
sw_urdf_exporter
插件是一个用于SolidWorks CAD软件的工具,允许用户将SolidWorks模型导出为URDF(统一机器人描述格式)文件。URDF文件是一种XML格式的文件,被广泛用于描述机器人的物理结构和关节,以便于在机器人操作系统(ROS)等平台上进行仿真和控制。
插件安装完成后,打开SW软件进行查看,任意打开一个装配体模型:
点击:工具 ——> Tools ——> Export as UREDF
发现左边多出来了一个URDF Exporter,说明插件安装成功
2. 如何导出移动机器人URDF模型
机器人中的每个link之间的关系是通过joint来描述的,首先,先来配置好机器人的核心坐标系以及旋转轴:
先来确定各个link的坐标系,整个移动机器人的底盘有个base_link坐标系,4个轮子有4个轮子的坐标系,控制板和雷达也有2个坐标系。加起来一个有7个坐标系。下面开始创建坐标系:
点击:参考几何体 ——> 点
首先来确定base_link,点击底板的底面:
在中间会出现一个圆球,这个是默认的中心点位置。确定该位置后,再点击左边的 “ √ ”:
底盘的中心点创建完毕,该点是作为base_link坐标系的原点。
继续使用同样的方式来确定4个轮子坐标系的原点:
下面开始创建雷达和控制板的坐标原点,选择2条线的交点作为控制板的坐标原点:
最后创建雷达的坐标原点,选择圆弧的中心点作为雷达的坐标原点:
接下来我们在这7个点上面来创建7个坐标系,这7个坐标系分别代表7个link的坐标系所在的位置。
下面选择点1后,再点击参考几何体命令,选择坐标系:
我们发现在点1上出现了一个坐标系,在ROS中,坐标系是以“右手”坐标系来定义的。
小车往前走,是以x轴正方向运动相对应。所以需要将坐标系的方向进行修改,车的正前方以雷达的端部为准,设置x的坐标轴方向:
这个截图的坐标系方向与ROS中的方向是匹配的,点击确认。
可以发现,坐标系1创建完毕。
接下来进行坐标系2的创建,依然确保坐标系的x轴是指向正前方的:
同理,车轮的坐标系创建依次进行上述同样的操作步骤:
最后,控制板和雷达的坐标系创建也遵循上述要求:
有了手动创建的这7个坐标系之后,接下来在后面的自动导出过程中,就可以选择每一个link它所相对应的坐标系。
坐标系建立完成之后,继续创建旋转轴:
下面继续,在参考几何体的命令中点击基准轴,找到旋转轴的位置:
小车一共有4个轮子,其实只要确定好2个基准轴就OK了,前后的2轮可同轴(公共轴):
坐标系和旋转轴都定义好了之后,下面才能开始利用SW_URDF插件:
--------------------------------------------------------------------------------------------
接下来点击:工具 ——> Tools ——> Export as UREDF
首先来定义模型的base_link, 选择好零件后,不要忘了坐标系的确定,以及child_links的数量确定:
其中4个轮子都是跟底盘来做连接的,所以小车的底盘有4个child_links,下面来配置4个轮子:
Link_name和Joint_name可以自定义,确定参考坐标系和参考轴,轮子的关节类型选择continuous,最后选择link元件所包含的内容。
下面安装同样的方式来配置其余的3个轮子,直接点击模型树中即可:
轮子的配置结束后,再配置控制板和雷达,它们都是固定在base_link上的,继续点击base_link:
扩展出2个 child_links,总数变为6个child_links:
设置Link_name和Joint_name,确定参考坐标系和参考轴(None),轮子的关节类型选择fixed,最后选择link元件所包含的内容:
同理,进行雷达的设置:
好了,插件的配置选择到此结束!
检查一遍上面的设置是否正确,确认无误后,点击:Preview and Export...
插件生成完成后,会弹出下面的界面,用来进一步检查,确认无误后,点击右下角的Next:
弹出第二个窗口,是用来确定link的配置:
会发现每一个link会自动产生它的质量以及惯性矩阵,真是太妙了!
最后确认无误后,点击右下角的:Export URDF and Meshes
自定义文件名后再点击保存,确定保持到对应的文件夹中即可:
完成了保存之后,返回SW的操作界面,会发现最后多出来了一个URDF Export:
保存SW文件:Ctrl + S
下次打开依然点击:工具 ——> Tools ——> Export as UREDF
注意:可以发现先前创建的URDF设置还在,但是坐标系的设置改变了,后续需要修改模型的配置那就只能重新配置坐标系。
-----------------------------------------------------------------------------------------
下面我们来找到之前生成的ares_description功能包:
这些自动产生的文件与ROS是一致的,整个文件夹本身就是一个功能包,后面是可以直接来运行的。以上的这些文件不用做太多的修改,就可以结合ROS来做进一步的开发与仿真。
补充:其中的textures文件夹是用来放模型的纹理;meshes文件夹是用来放置STL文件;config文件夹是用来放置joint名字的配置文件,方便后续的仿真。
-----------------------------------------------------------------------------------------
下面将上面自动生成的URDF文件移动至Ubuntu20.04系统中,做进一步的编译: