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

你可能感兴趣的文章
Netty工作笔记0020---Selectionkey在NIO体系
查看>>
Netty工作笔记0021---NIO编写,快速入门---编写服务器
查看>>
Netty工作笔记0022---NIO快速入门--编写客户端
查看>>
Vue踩坑笔记 - 关于vue静态资源引入的问题
查看>>
Netty工作笔记0024---SelectionKey API
查看>>
Netty工作笔记0025---SocketChannel API
查看>>
Netty工作笔记0026---NIO 网络编程应用--群聊系统1---编写服务器1
查看>>
Netty工作笔记0027---NIO 网络编程应用--群聊系统2--服务器编写2
查看>>
Netty工作笔记0028---NIO 网络编程应用--群聊系统3--客户端编写1
查看>>
Netty工作笔记0029---NIO 网络编程应用--群聊系统4--客户端编写2
查看>>
Netty工作笔记0030---NIO与零拷贝原理剖析
查看>>
Netty工作笔记0031---NIO零拷贝应用案例
查看>>
Netty工作笔记0032---零拷贝AIO内容梳理
查看>>
Netty工作笔记0033---Netty概述
查看>>
Netty工作笔记0034---Netty架构设计--线程模型
查看>>
Netty工作笔记0035---Reactor模式图剖析
查看>>
Netty工作笔记0036---单Reactor单线程模式
查看>>
Netty工作笔记0037---主从Reactor多线程
查看>>
Netty工作笔记0038---Netty模型--通俗版
查看>>
Netty工作笔记0039---Netty模型--详细版
查看>>