ROS学习-URDF学习纪要

ROS的URDF间断的学习了,老是抓不住要领,现在又重新学习了一篇终于有点眉目,问题主要集中在<link>和<joint>的关系及其中的 <orign>标签的作用,现在记录下来,以防止再忘记。

1、总结归纳:

(1)默认就是所有link的初识joint的坐标系都在世界坐标系的原点坐标系,例如:坐标原点在圆柱的中心,长方体的中心等,坐标系满足右手法则,x轴指向屏幕左边、y轴从屏幕向外,Z轴指向上方, XYZ坐标轴,红色为X, 绿色为Y,蓝色为Z。

(2)link和joint定义robot骨架,如果我们仅仅添加更多的link元素到urdf中的话,解析器不知道该如何放置它们,所以,我们必须添加关节结点来制定link间的连接关系;

(3)link和joint中都有<origin>结点,其意义是不同的<link>中表明了可视化link结点原点在关联的joint原点坐标系的位置和朝向;而<joint>结点中的<origin>结点表明了该joint原点在其父joint坐标系中的位置和方向;

(4)定义urdf文件时,一般有一个类似base_link的固定坐标系,其中没有任何参数,默认就在世界坐标系原点,此时也同时有一个默认的joint结点与世界坐标系的位置和方向相同,该joint坐标系 就是base_link结点关联的joint坐标系,而后添加l一个ink结点和joint结点后,首先用joint结点中的<origin>信息,先旋转后平移,确定新添加的link关联的joint的坐标系(此坐标系与参考坐标系就有了一定的位置和旋转关系),此时新添加的link的中心原点就移动到该joint坐标系原点所在位置(此时link中没有origin结点),而后在link结点中添加<origin>结点,此时的变换参考坐标系是新生成的joint坐标系(此时link中心和joint原点重合),而后在参考坐标系下利用origin参数完成旋转和平移,此时可以利用rviz中的可视化处理(xyz分别是不同的颜色,此时的变换不改变joint坐标系的位置和方向),如果在添加下一个link和joint的话,新的joint的位置是相对与父link关联的joint的坐标系的变换,然后用同样的方法添加link就可以了。(可以认为joint与joint结点中定义的子link关联)。

(5)关于joint间的相对位置和角度关系,一般不存在旋转默认就是一样的或者存在90度等特殊角度的选择,至于xyz由于是可变的,可以找一个容易计算的特殊角度,先确定xyz,完成urdf的定义,当机器人运动起来后可以通过tf发布实时的位置关系,也就是说urdf中定义的joint关系只是莫个瞬间的joint位置关系。

(6)所有变换都是先旋转再平移.

(7)urdf文件加载后通过tf发布的是joint之间的坐标关系和link没有关系。


详细信息可以学习:http://blog.csdn.net/dulaiduwangduxing/article/details/45395665 

Learning URDF Step by Step


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值