创建一个urdf机器人_ROS探索总结(二十三)——解读URDF

本文详细介绍了ROS中的URDF(统一机器人描述格式),包括其语法规范、组件结构、如何创建基础模型、添加尺寸和运动学参数,以及如何使用工具进行图形化显示和验证。通过实例和步骤指导,帮助读者理解并掌握URDF模型的构建。
摘要由CSDN通过智能技术生成

Unified Robot Description Format,统一机器人描述格式,简称为URDF。ROS中的urdf功能包包含一个URDF的C++解析器,URDF文件使用XML格式描述机器人模型。

1URDF语法规范

2组件

URDF由一些不同的功能包和组件组成,下图描述了这些组件之间的联系。

3URDF教程

如下图所示,本节将创建一个如下图所示结构的机器人模型。

3.1基础模型

上图所示是一个树形机器人模型,我们先从机器人的整体结构出发,不考虑过多的细节,可以将机器人通过如下的URDF表示:

上边的URDF模型定义了机器人的4个环节(link),然后定义了三个关节(joint)来描述环节之间的关联。

ROS为用户提供了一个检查URDF语法的工具:

$ sudo apt-get install liburdfdom-tools

安装完毕后,执行检查:

check_urdf my_robot.urdf

如果一切正常,将会有如下显示:

robot name is: test_robot

———- Successfully Parsed XML —————

root Link: link1 has 2 child(ren)

child(1):link2

child(2):link3

child(1):link4

3.2添加机器人尺寸

在基础模型之上,我们为机器人添加尺寸大小。由于每个环节的参考系都位于该环节的底部,关节也是如此,所以在表示尺寸大小时,只需要描述其相对于连接的关节的相对位置关系即可。URDF中的域就是用来表示这种相对关系。

例如,joint2相对于连接的link1在x轴和y轴都有相对位移,而且在x轴上还有90度的旋转变换,所以表示成域的参数就如下所示:

为所有关节应用尺寸:

再次使用check_urdf检查通过后继续下一步。

3.3添加运动学参数

如果我们为机器人的关节添加旋转轴参数,那么该机器人模型就可以具备基本的运动学参数。

例如,joint2围绕正y轴旋转,可以表示成:

同理,joint1的旋转轴是:

应用到我们的URDF中:

便忘记使用check_urdf检查语法错误。

3.4图形化显示URDF模型

我们现在已经完成了一个简单的URDF模型创建,ROS提供了相应的工具可以让URDF图像化显示出来。

$ urdf_to_graphiz my_robot.urdf

然后打开生成的pdf文件,即可看到图形化的URDF:

4示例

5调试工具

5.1验证工具

上文已经提到了URDF语法检查工具check_urdf,在indigo版本的ROS中,执行如下命令即可:

rosrun urdfdom check_urdf /tmp/pr2.urdf

检查结果如下:

5.2可视化工具

上文同样提到的URDF可视化工具urdf_to_graphiz,在indigo版本额ROS中属于liburdfdom-tools包中的一个工具,可以使用如下命令安装:

sudo apt-get install liburdfdom-tools

可视化工具的使用方法:

urdf_to_graphiz pr2.urdf

结果如下所示:

参考链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值