ROS中通过RVIZ可视化机器人导航情况,其中,URDF(Unified Robot Description Format)是统一的机器人描述文件,此类文件通过HTML格式定义机器人模型(Robot Model)的相关信息,如:连杆、关节名称,运动学参数、动力学参数、可视化模型、碰撞检测模型等。
例如下面的URDF文件定义了机器人头部关节:
<joint name="head_swivel" type="continuous">
<parent link="base_link"/>
<child link="head"/>
<axis xyz="0 0 1"/>
<origin xyz="0 0 0.3"/>
</joint>
当机器人比较复杂时,URDF文件会很长,不可能全部手动定义。那么如何快速建立URDF文件来描述自己的机器人?
ROS目前在SolidWorks中提供了自动生成URDF文件的插件。官网地址[:http://wiki.ros.org/sw_urdf_exporter]
安装成功后,SW中会多出一个SW2URDF插件,勾选启用:
![](https://img.haomeiwen.com/i9082831/a4bc81f02b21ebf9.png)
3D模型建立完后,点击菜单栏里file->Export as URDF
![](https://img.haomeiwen.com/i9082831/5bcf6f403dee1eca.png)
进入URDF配置界面,在左侧URDF Exporter中输入连杆名称,选择属于该连杆的模型文件,子连杆数。这里简单的将除激光雷达意外部分全部定义为base_link, 它将有1个子连杆(雷达)。
![](https://img.haomeiwen.com/i9082831/3e5397805abb725a.png)
这时base_link下会多出一个Empty_link,点击编辑。
![](https://img.haomeiwen.com/i9082831/40a7bb2a626c1d9c.png)
给连杆起名为laser_link,关节名称为laser_link_joint,选择激光雷达3d模型,没有子连杆,然后点击Preview and Export...
![](https://img.haomeiwen.com/i9082831/4011a35987a9c6da.png)
随后会出现窗口设置具体连杆关节参数,可直接跳过。
![](https://img.haomeiwen.com/i9082831/b4f03e79c7fd983f.png)
完成后, 会生产一个URDF package,里面launch文件夹中有display.launch,可以直接在ROS中运行。
![](https://img.haomeiwen.com/i9082831/2577cd6312723f3e.png)
SW 2014下生产的launch文件运行可能会报以下错误:
![](https://img.haomeiwen.com/i9082831/248912e73ad16be7.png)
原因是路径有误,没有robots文件夹,生产的urdf文件在urdf文件夹中,手动修改即可。
另外可能出现找不到3d模型文件的错误,原因是meshes文件夹中模型文件后缀大小写和urdf文件中不匹配,手动修改匹配即可。
![](https://img.haomeiwen.com/i9082831/66bee37d475dfc6c.png)
这是运行display.launch文件后rviz中的显示效果:
![](https://img.haomeiwen.com/i9082831/5e1982209164997b.png)
网友评论