ROS中的坐标系

ROS中的坐标系

在ROS中坐标系总是3维的,而且遵循右手法则,Z轴用拇指表示,X轴用食指表示,Y轴用中指。X轴指向前方,Y轴指向左方,Z轴指向上方。研究坐标系绕某轴旋转时,也是用右手法则,右手握住坐标轴,大拇指 的方向朝着坐标轴朝向的正方向,四指环绕的方向定义沿着这个坐标轴旋转的正方向。


在Rviz中,默认X轴是红色、Y轴时绿色、Z轴是蓝色,也就是XYZ对应RGB。


机器人的朝哪走是向前,这是由陀螺仪和码盘决定的。

机器人中的坐标系

机器人自身坐标系一般用base_link表示,所在位置为原点,朝向的方向为X轴正方向,左方为Y轴正方向,头顶是Z轴正方向。

base_footprint坐标系,原点为base_link坐标系原点在地面的投影,只有Z值有变化

earth坐标系适用于多个机器人的环境,先不讨论了

如果想使用其他坐标系,必须使用tf包对其与map坐标系进行转换,比如下面三个坐标系都有直接或间接的转换:

如果没有经过转换,就会报错,例如:

For frame [tag_9]: No transform to fixed frame [/map]. TF error: [Could not find a connection between ‘map’ and ‘tag_9’ because they are not part of the same tree.Tf has two or more unconnected trees.]
tag_9没有向固定坐标系map的转化,不在tf树上。