了解tf

来源:互联网 发布:收据打印软件自定义 编辑:程序博客网 时间:2024/05/21 21:34

本文主要内容参考自ROS wiki,在加入了自己的一些理解的同时,也对原文进行了适当的修改。原文使用Creative Commons Attribution 3.0,本文使用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议协议,若使用本文,请自觉遵守相关协议。

tf是一个可以让用户实时追踪多个坐标系的功能包。tf通过一个实时缓存的树结构来维护坐标系之间的关系,可以让用户任何时间点完成两个坐标系之间点、向量之间的转换。

tf

主要功能

一个典型的机器人系统通常会有许多随着时间改变的3D坐标系,例如世界坐标系、基座坐标系、抓手坐标系、头部坐标系等等。tf会实时追踪所有的这些坐标系,并且可以解决类似于下面的这些问题:

  • 头部坐标系在5秒之前相对于世界坐标系的位置是什么?
  • 抓手对象相对于基座的位姿是什么?
  • 目前极坐标系在地图中的位姿是什么?

NOTE:位姿是指机器人的位置和姿态信息,位置通常使用欧拉坐标x、y、z表示,而姿态信息通常使用r(roll)、p(pitch)、y(yaw),即分别在x、y、z旋转的角度,有时为了方便计算机处理也使用四元数(x,y,z,w)来表示。

tf可以运行在分布式系统中。这就意味着关于机器人坐标系的所有信息对于系统中所有ROS组件都是可见的。也就是说在转换系统中不存在中心服务器,任何一个节点都可发布转换关系。

在导航功能包中的应用

导航功能包需要知道传感器、轮子和关节的位置,因为机器人在导航过程中需要计算其各个组件与墙壁等障碍物的相对位置,这样的话才可以避免碰撞。在ROS中,我们可以使用tf功能包来完成这部分工作。正如上面所说的,它可以帮助我们管理坐标系,在机器人导航的过程中,tf会为我们处理这些坐标系的关系。

参考资料

  • ROS.org:tf
  • ROS机器人程序设计,机械工业出版社

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一个月宝宝异常兴奋不睡觉怎么办 四个月宝宝晚上兴奋不睡觉怎么办 20个月宝宝半夜惊醒哭闹怎么办 小孩吃了氨茶碱兴奋不睡觉怎么办 孩子在学校被同学撞鼻骨折怎么办 孩子在学校无意致使同学受伤怎么办 9个月的宝宝吃坏东西腹泻怎么办 8个月发烧到38度怎么办 1岁半宝宝鼻塞发烧38度6怎么办 八个月的宝宝发热38度怎么办 八个月宝宝发热在38度怎么办 8个月孩子发烧38度怎么办 6个月孩子发烧38度多怎么办 7个月孩子发烧38度怎么办 小明上课总是东张西望你该怎么办 初中二年级贪玩游戏说不听怎么办 孩子上课经常和别的同学说话怎么办 小孩五年级了上课坐不住怎么办 孩子老是纠结小事抓不住重点怎么办 没文化不懂教不了孩孑怎么办 孩孑学习不好老师不让上课怎么办 5个月婴儿睡得少怎么办 教育案例——幼儿爱打小报告怎么办 上班的时候同事老是爱插话怎么办 孕晚期右侧卧睡觉宝宝好动怎么办 乐扣玻璃碗盖子长霉怎么办 乐扣保鲜盒密封圈有异味怎么办 8个月的宝宝不吃饭怎么办 宝宝十一个月了不爱吃饭怎么办 一岁八个月宝宝不爱吃饭怎么办 14个月的宝宝不爱吃饭怎么办 宝宝一岁多又黑又瘦又小该怎么办? 15个月宝宝偏瘦该怎么办 早期肺癌手术后身体瘦该怎么办 4个月婴儿的眼里有触摸糊怎么办 七个月宝宝断奶不喝奶粉怎么办 2个月的宝宝抓头怎么办 4岁宝宝吃东西一点都不认真怎么办 猫吐了白色黏液或泡沫怎么办 六个月的宝宝拉肚子老不好怎么办 小狗狗呕吐后拉肚子带血怎么办