ROS学习六、TF坐标系转换(1)
前言
- 前言
- tf树
- tf包
移动机器人涉及位姿的变换,比如关节间的相对位姿,关节与传感器的相对位姿,多机器人之间的相对位姿等。
ROS使用TF(TransForm)来处理坐标系间的位姿变换。
tf树ROS中机器人的每个link都与一个frame对应,即每个关节有一个坐标系。这些坐标系形成了一个树形结构,tf tree。tf树是一种多叉树结构,包含系统中所有的坐标系frame,并将相邻frame采用父子节点的形式连接。
(由上图可知父节点可以有多个子节点,子节点只有一个父节点)
tf树结构的好处显而易见:相邻坐标系之间的位姿变换相对直观,容易获取;而不相邻节点间的位姿变换,也可以通过中间节点的位姿变换计算得到。
tf包查看当前的tf树:
rosrun rqt_tf_tree rqt_tf_tree
查看两个frame之间的变换关系(frame间必须有一条通路):
rosrun tf tf_echo firstframe secondframe
将当前tf树导出到pdf中:
rosrun tf view_frames
显示所有frames:
rostopic echo /tf
# 或者
rosrun tf tf_monitor