博客
关于我
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/

你可能感兴趣的文章
nginx负载均衡器处理session共享的几种方法(转)
查看>>
nginx负载均衡的5种策略
查看>>
nginx负载均衡的5种策略(转载)
查看>>
nginx负载均衡的五种算法
查看>>
Nginx负载均衡(upstream)
查看>>
nginx转发端口时与导致websocket不生效
查看>>
Nginx运维与实战(二)-Https配置
查看>>
Nginx部署_mysql代理_redis代理_phoenix代理_xxljob代理_websocket代理_Nacos代理_内网穿透代理_多系统转发---记录021_大数据工作笔记0181
查看>>
Nginx配置Https证书
查看>>
Nginx配置ssl实现https
查看>>
Nginx配置TCP代理指南
查看>>
Nginx配置——不记录指定文件类型日志
查看>>
nginx配置一、二级域名、多域名对应(api接口、前端网站、后台管理网站)
查看>>
Nginx配置代理解决本地html进行ajax请求接口跨域问题
查看>>
nginx配置全解
查看>>
Nginx配置参数中文说明
查看>>
Nginx配置后台网关映射路径
查看>>
nginx配置域名和ip同时访问、开放多端口
查看>>
Nginx配置多个不同端口服务共用80端口
查看>>
Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
查看>>