map
map坐标系是一个世界固定坐标系,其Z轴指向上方。相对于map坐标系的移动平台的姿态,不应该随时间显著移动。map坐标系作为长期的全局参考是很有用的,但是跳变使得对于本地传感和执行器来说,其实是一个不好的参考坐标。使用Gmapping建图时,建图起始点被设为map的原点(如下图)
base_link
机器人本体坐标系,与机器人中心重合,也有的成为base_footprint。图中中心所有箭头指向的位置是base_link,机器人启动后静止时,base_link的左边是odom,也就是黄线的另一端(图1的map对应的黄线)
odom
里程计坐标系(odom或者odom_combined),odom 坐标系是一个世界固定坐标系。在odom 坐标系中移动平台的位姿可以任意移动,没有任何界限。这种移动使得odom 坐标系不能作为长期的全局参考。然而,在odom 坐标系中的机器人的姿态能够保证是连续的,这意味着在odom 坐标系中的移动平台的姿态总是平滑变化,没有跳变。在一个典型设置中,odom 坐标系是基于测距源来计算的,如车轮里程计,视觉里程计或惯性测量单元。odom 坐标系作为一种精确,作为短期的本地参考是很有用的,但偏移使得它不能作为长期参考。
如图,是机器人向前移动了一段距离的坐标系,可以看出odom与base_link之间的距离增大了一些,但是继续向前移动时,他们之间的距离在一定范围变动。因为odom是通过传感器测量,然后经过某些算法的计算得到的系统的估计值。
自定义(传感器坐标系or其他)
如图,laser_link激光雷达的坐标系,激光雷达的安装点,其与base_link的tf为固定的(安装在底盘上的)。
wheel1_link,wheel2_link左右轮坐标系,同上
当机器人获得地图上的一个点(坐标系map)作为目标导航点,然后转换到odom坐标系下,传感器测量值读取转换到base_link(安装在机体上的器件与base_link存在固定的转换关系),base_link转换到odom
相关参考
https://www.ros.org/reps/rep-0105.html#id5
https://blog.csdn.net/qq_39203385/article/details/81518210