博客
关于我
ROS学习笔记十:URDF详解
阅读量:462 次
发布时间:2019-03-06

本文共 1515 字,大约阅读时间需要 5 分钟。

Unified Robot Description Format,简称为URDF(标准化机器人描述格式),是一种用于描述机器人及其部分结构、关节、自由度等的XML格式文件。

一、URDF语法规范

参见:

二、URDF教程

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

2.1 基础模型

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

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

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

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

2.2 添加机器人尺寸

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

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

为所有关节应用尺寸:

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

2.3 添加运动学参数

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

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

同理,joint1的旋转轴是:

应用到我们的URDF中:

继续使用check_urdf检查语法错误。

2.4 图形化显示URDF模型

如果你希望以图形的方式来查看它,那么可以使用urdf_to_graphiz命令工具:

$ urdf_to_graphiz my_robot.urdf

此命令将生成两个文件:my_robot.gv 和 my_robot.pdf。可以使用 evince 打开:

$ evince my_robot.pdf

然后即可看到图形化的URDF:

三、更多示例

参见:

参考:

转载地址:http://tmsyz.baihongyu.com/

你可能感兴趣的文章
MySQL Cluster与MGR集群实战
查看>>
multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded
查看>>
mysql cmake 报错,MySQL云服务器应用及cmake报错解决办法
查看>>
Multiple websites on single instance of IIS
查看>>
mysql CONCAT()函数拼接有NULL
查看>>
multiprocessing.Manager 嵌套共享对象不适用于队列
查看>>
multiprocessing.pool.map 和带有两个参数的函数
查看>>
MYSQL CONCAT函数
查看>>
multiprocessing.Pool:map_async 和 imap 有什么区别?
查看>>
MySQL Connector/Net 句柄泄露
查看>>
multiprocessor(中)
查看>>
mysql CPU使用率过高的一次处理经历
查看>>
Multisim中555定时器使用技巧
查看>>
MySQL CRUD 数据表基础操作实战
查看>>
multisim变压器反馈式_穿过隔离栅供电:认识隔离式直流/ 直流偏置电源
查看>>
mysql csv import meets charset
查看>>
multivariate_normal TypeError: ufunc ‘add‘ output (typecode ‘O‘) could not be coerced to provided……
查看>>
MySQL DBA 数据库优化策略
查看>>
multi_index_container
查看>>
mutiplemap 总结
查看>>