Ros通过Solidworks转换成URDF机器人描述文件
2017-05-25 16:18
453 查看
URDF文件,是ROS系统中的,一种机器人的描述文件。全称:Unified Robot Description Format [align=left]它以HTML的形式定义一个机器人。包含的内容有:连杆、关节名称,运动学参数、动力学参数、可视化模型、碰撞检测模型等。[/align] [align=left]那么,如何建立URDF文件呢?[/align] [align=left]一)初级篇[/align] [align=left]ROS目前提供了solidworks转URDF的插件,叫做sw_urdf_exporter[/align] [align=left]可以从我们的附件中下载[/align] [align=left]当然,你的源文件现在在Pro-E中,这个问题不大,可以用IGS或者STEP等格式转换成SolidWorks可以打开的格式(装配体的相对位置还在,但装配关系会丢掉)。之后就可以继续操作了。[/align] [align=left]这个真的简单易用,你安装好SolidWorks后,再安装这个插件,重新打开SW,你就会发现里面多了一个叫做SW2URDF的插件,勾选启用之。[/align] [align=left]如上图操作之后就可以进入这个插件的界面:[/align] [align=left]如上图所示,你可以设置每个连杆、关节名称、对应的模型文件、属性、旋转轴、参考坐标系(可以采用自己预先定义的坐标系,也可以自动生成)等。[/align] [align=left]当你设置好所有连杆后,点击Preview and Export,便会自动生成各坐标轴(如果没有自己预先指定的话)[/align] [align=left]之后会弹出让你具体设置连杆与关节参数的界面:[/align] [align=left]结束之后,便会生成一个package,包含launch文件,每个连杆STL文件,URDF文件,纹理(没用过)。[/align] [align=left]这个package是可以直接在ROS中运行的。效果如图:[/align] [align=left](我好像少设置了一个关节)[/align] [align=left]二)进阶篇/强迫症篇[/align] [align=left]上面初级篇可能存在几个问题:[/align] 模型无纹理(只能指定整个零件颜色,零件无纹理) 在双臂机器人(树状结构)上经常出错 不能用于并机器人(闭链结构) 可视化模型与碰撞模型相同 容易引入不必要的误差(参数完全不符合设计参数,pi的引入等) 所以,进阶篇简单说说怎么自己写一个一看就很厉害的URDF。 首先,要了解URDF文件的书写格式: 以上几个是我平时会用到的URDF内容。其实很简单,只需要按照html的tag来写每部分的内容即可。包括相应模型文件的位置等。 之后就可以开始动手写了。这个难度不大,我就直接说如何解决上面提到的几个问题吧: 模型无纹理(只能指定整个零件颜色,零件无纹理) ROS的URDF目前只支持两种格式的模型文件,STL与DAE。我们都知道,STL文件只记录了文件的三维坐标信息,没有纹理信息。DAE则是另一种xml格式的模型文件,可以包含文件的纹理等信息。所以我们的关注点就在于如何从SolidWorks等3D建模软件中导出纹理的dae文件。 我尝试过无数种方法后,最终确定的一条有效方法如下: 在双臂机器人(树状结构)上经常出错 自己写就好了,但是对于多臂机器人,如果每条臂构型一样的话,可以考虑采用xacro格式来写,这样可以大大减少工作量。 例如,我写的这个SDA5F机器人的模型文件,两条臂采用的是同一个xacro文件。 不能用于并机器人(闭链结构) 将闭链的其中一个关节描述成mimic_joint,转换成串联或树状结构。 可视化模型与碰撞模型相同 URDF可以单独指定可视化模型与碰撞模型。我们正好对两者有不同的需求: 可视化模型:尽量精细、漂亮,最好与实际机器人尺寸相同; 碰撞模型:尽量精简、可以适当大于机器人尺寸。 所以,在自己写URDF的时候可以充分利用这一特性。 容易引入不必要的误差(参数完全不符合设计参数,pi的引入等) 因为在写URDF的时候,我们需要指定不同连杆之间的初始相对位置。如果两者的坐标系存在姿态偏差的话,我们就会引入弧度值,尤其是无理数3.141592654的引入。 这时候有两种做法: a) 在blender中将所有连杆的坐标系设置成同向(所有关节0°时),这样你在URDF中装配的时候就没有pi了; b) 采用xacro可参数化的特点,定义一个常数变量pi=3.14159265359(甚至更高精度都可以),这样既精简又可靠。 最后,秀一波我做的SDA5F模型: http://www.mezbw.com/article-1309-1.html |
1 支持 |
相关文章推荐
- ROS机器人Diego 1#制作(十六)创建机器人的urdf模型描述文件
- ROS Learning-033 (提高篇-011 URDF)如何使用SolidWorks软件导出URDF机器人模型文件 — 00 给SolidWorks软件安装 sw_urdf_exporte
- 从solidWorks导出机器人URDF文件
- ros urdf 文件格式描述
- ROS中rviz添加urdf文件显示机器人模型
- ROS:机器人描述(URDF、XACRO)
- 【ROS学习】Solidworks模型转化为URDF文件格式+三连杆机械臂示例+逆运动学
- <ROS> 机器人描述--URDF和XACRO
- 4. 如何使用SolidWorks软件导出URDF机器人模型文件
- 自定义URDF机器人模型时,编译urdf文件时,提示Error: Error reading end tag. at line 72 in /build/urdfdom-UJ3kd6/urd
- 通过javaBean反射转换成mybatis映射文件
- (一)ROS中新建机器人模型(urdf格式)并用rviz显示
- 用ROS制作我们的机器人小车: URDF简介
- 通过游戏手柄控制机器人(ROS,Twist)
- ROS下通过MoveIt控制UR5机器人的运动
- Solidworks 2016中导出URDF文件
- ros参数解析,机器人模型文件等概念理解
- JPGE文件如何通过FineReader转换成可编辑文本
- SolidWorks生成URDF文件,并配置
- ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse