Ailibot模型入门教程-soildworks2018导出模型的URDF
文章说明
- 本教程主要介绍如何在soildworks2018中导出完整模型的URDF包
操作步骤
前提准备:安装soildworks2018软件和sw2urdf插件
从soildworks2018中导出模型的URDF包主要分两个步骤
- 1.需要输出的部件设置坐标系
- 2.基于坐标系生成对应的urdf文件和stl文件
设置坐标系
- 设置坐标系之前需要知道在ROS中坐标系总是3维的,而且遵循右手法则
- 所以设置坐标系的时候也要遵循ROS中的坐标系设定
- 另外在设置坐标系前请确保装配体自身的坐标系也遵循ROS中的坐标系设定,车头朝向应为x轴方向,车身左侧为y轴方向,车身上方为z轴方向
- 如果没有进行这个设置可能会在gazebo和rviz中模型出现莫名的翻转的情况
- 由于当前的四轮模型的部件的坐标系朝向都一致,故为方便配置坐标系可以分别设置基准面X、基准面y和基准面z
注意:如果模型中有部件是倾斜或翻转不同角度的,需要额外进行配置,比如全向四轮和全向三轮这种有不同角度的车轮部件
设置坐标系:
soildworks -> 装配体 -> 参考几何体 -> 坐标系
坐标系原点通常选择中心点,选择规则为易于计算即可,比如车体的坐标系原点可以选择其底部平面的中点,雷达的坐标系原点可以选择其激光发射器的中心点
通常情况下,需要设置坐标系的部件一般为传感器、车轮和机械臂上的舵机等等
生成和导出URDF包
给模型的装配体配置完坐标系后就可以进行生成和导出URDF包
配置模型的URDF:
soildworks -> 工具 -> File -> Export as URDF
- 如上图所示,默认情况下通常会将车体设置成模型的父Link,如名为base
- 然后再延伸出其他子Link,比如左车轮为wheel_left_front, 激光传感器为laser等
- 如主车体base,通过wheel_left_front_joint关节,连接wheel_left_front左前轮
- 整体的节点结构如下:
base
-> wheel_left_front_joint -> wheel_left_front
-> wheel_right_front_joint -> wheel_right_front
-> wheel_left_back_joint -> wheel_left_back
-> wheel_right_back_joint -> wheel_right_back
-> laser_joint -> laser
-> camera_joint -> camera
- 此处需要注意的是
Link Components
设置中的部件不能同时被两个Link所选择
上图为左前轮的urdf配置
此处需要注意的是
Joint Type
通常有两种设置continue
和fixed
像轮子这种需要转动的就设置
continue
,像雷达相机这种固定的就设置为fixed
完成所有配置后,点击左侧栏的
Preview and Export...
导出URDF包Joint配置,其包含坐标系位置与姿态、转轴和限位等
- Link配置,其包含重心、惯性和颜色等
此处配置可以都选用默认参数,不进行修改
更详细的配置可以参考我们导出的ROS模型包里面的模型定义
位于ailibot_model_solidworks/ailibot_model_origin/urdf/ ailibot_model.urdf
最终点击
Export URDF and Meshes
后就会生成一个ROS包参考的ROS包位于ailibot_model_solidworks/ailibot_model_origin
演示视频
- 网站视频如果看不清,可以点视频到哔哩哔哩查看高清版本
参考资料
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号