ROS tf包的作用理解—Apple的学习笔记

    如图传感器到障碍物的距离是(0.3,0.0,0.0),然后(?,?,?)是机器到障碍物的距离如何计算?

传感器可以看做一个坐标系。

机器可以看做一个坐标系。

障碍物可以看做一个点。

    Tf包就是把某个点在某一个坐标系的坐标转换为另外一个坐标系的坐标。障碍物在传感器坐标中已经有了。因为2个坐标直接是有联系的。比如base_link(机器)指向传感器的向量为(0.1,0.0,0.2),所以就可以算出障碍物在机器坐标系中的坐标为(0.4,0.0,0.2)。

    Tf包的发送端主要子坐标在父坐标中的关系。而接受端接收父子坐标转换数据及传感器障碍物数据,并且合并生成父(机器)坐标系中的坐标。

然后我一开始不明白,有了x,y偏移已经能够说明子坐标在父坐标中的位置了,为什么还要添加旋转呢?后来想起来这不仅仅描述位置,他描述的是位姿。比如2个人隔了一个座位,都面朝南坐着。和2个人隔了一个座位,一个面朝南,一个面朝东南。则需要用旋转来表示了。所以位姿是平移加旋转来表示的。

你可能感兴趣的:(ROS tf包的作用理解—Apple的学习笔记)