ROS之URDF模型

1.所有的URDF/Xacro文件都会以以下两个标签作为开头。所有在< robot>标签后的内容都是在定义我们的组件,而整个文件会以< /robot>标签结束(注:robot中的name可以自己根据具体内容进行自命名,如下面的为base)。

<? xml version="1.0"? >
<robot name="base" xmlns:xacro="http://ros.org/wiki/xacro">

2.在URDF语言中,机器人都会由各个部件(Link)通过关节(Joint)连接而成。用< link> tag描述各个部件,< joint> tag描述各个关节。用< parent>和< child>描述关节连接的部件。

3.常用tag:

<visual>:用来描述模块的视觉效果
<geometry>:用来描述模块的形状和大小
<origin>:用来描述模块的位置

4.在属性部分,我们通过property定义变量,包括变量名和值,如:

<property name="base_size_x" value="0.30"/>

在给变量赋值时,请注意以下几点:

a.长度使用的单位是米
b.角度使用的单位是弧度
c.当指定x,y,z参数时,x轴指向的是机器人的正前方,y轴指向的是机器人的左方,z轴指向的是机器人的上方。
d.当给旋转变量r,p,y(roll,pitch,yaw)赋值时,参数roll表示的是围绕x轴旋转的角度,参数pitch表示的是围绕y轴旋转的角度,而参数yaw表示的是围绕z轴旋转的角度。

5.Xacro:我们可以把Xacro理解成为针对URDF的扩展性和配置性而设计的宏语言。例如我们可以将轮子定义成一个宏,这样就可以用它来定义每一个轮子,而不需要重复写。

6.base_footprint的主要作用就是用来定义底座离地面的距离,机器底座一般用base_link表示。

7.robot_state_publisher节点:该节点会读入机器人模型里定义的几何形状信息,并发布一系列变换来建立起机器人的tf树。

8.joint_state_publisher节点:这个可选的节点经常被用于在rviz中测试URDF模型。注意:当机器人的关节处于真实的硬件驱动的控制之下时,joint_state_publisher实际上将不在被使用,因为它会和驱动发布的真实关节位置发生冲突。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值