solidworks2021导出urdf
文章目录
- 一、背景描述
- 二、solidworks配置
- 1. 插件配置
- 2. 模型设置
- 2.1 模型预处理
- 2.2 模型导出配置
- 三、urdf 验证
一、背景描述
近期需要“造轮子” —— 重新拾起 urdf 导入ros环境,以大学时期参加的船赛作品"Rover" 作为模型案例整理记录一下,也是致敬那段和实验室小伙伴一起打比赛的时光。
二、solidworks配置
1. 插件配置
通过solidworks 导出urdf 需要对应版本 solidworks_urdf_exporter 插件 ,插件下载完后,直接点击运行傻瓜式安装即可。
插件安装完毕,重启solidworks在 选项——插件 这一栏里会出现 SW2URDF
一栏,如下图所示表示solidworks可以识别到该插件。
2. 模型设置
关于solidworks如何建模,本文便不再赘述,详细可参看solidworks课程。下面即以大学期间船赛模型进行导出urdf操作。
2.1 模型预处理
urdf (Unified Robot Description Format) 即统一机器人模型描述文件格式,使用XML格式描述了一系列关节与连杆的相对关系、惯性属性、几何特点和碰撞模型。现在通过soliworks进行建模,模型有了,对于urdf来说他需要的是各关节、连杆之间的相对关系,插件支持默认,但对于复杂的模型默认生成的位置关系通常不准确或不正确,所以在导出urdf文件时,我们需要先生成 基准轴、参考坐标系,进而生成想要的urdf文件。
2.1.1 生成基准轴
生成基准轴是为了确定urdf中旋转关节的旋转轴,添加基准轴时确保 基准轴——选择 这一栏处于激活状态,然后点击对应待添加轴线的关节,如(圆柱面),软件自动会生成该基准轴。以此添加所有待添加的基准轴。
2.1.2 生成坐标系
生成坐标系是为了确定urdf文件中各关节的坐标系位置。与生成基准轴类似, 根据 激活坐标系 的不同栏状态分别确定 坐标系原点 、坐标系X轴、坐标系Y轴,注意:模型中的坐标系朝向是否正确,若方向反了可根据对应栏左侧的双向按键调整正反。
坐标原点 可能会因为自定义位置不支持选点,需要额外先 插入——参考几何体——点 进行点的插入。
进行完基准轴和坐标系的建立后,如下图所示。
2.2 模型导出配置
依次点击 工具——Tools——Export as urdf 进行urdf配置。
下图是对 基坐标系 base_link
的配置:
- 红框:自定义坐标系的名称;
- 蓝框:对应的坐标系 (根据步骤2.1建立的坐标系进行选择);
- 绿框:对应坐标系所包含的零部件;
- 黄框:基于该坐标系下存在多少个子坐标系;
以左前涵道控制为例,下图是对 子坐标系 left_front_duct_link
的配置:
- left_front_duct_link : 自定义子坐标系名称;
- Joint Name : 自定义子坐标系与父坐标系连接的关节名称 (left_front_duct_joint);
- Reference Coordinate System:对应的坐标系 (根据步骤2.1建立的坐标系进行选择);
- Joint Type:关节类型;(
fixed
:刚性连接,如螺纹连接;continous
:连续转轴,如车轮;revolute
:指定范围转轴,如舵机;prismatic
:线性移动连接,如滑轨); - 其他:与上面类似,如对应坐标系所含零部件以及基于该坐标系下存在多少个子坐标系;
所有关节均指定完成后,点击Preview and Export
进行导出预览。
可以检查对应坐标系的配置是否与所设一直,不一致可进行修改,然后点击next
直至生成指定功能包如rover
。
三、urdf 验证
将生成的功能包,放到rover_ws/src
路径下进行编译,然后进行查看,可以通过rviz获取rover模型状态。
mkdir -p rover_ws/src
mv rover rover_ws/src
cd rover_ws
catkin_make
roslaunch rover display.launch