ROS Navigation中的TF树与AMCL功能包的关系
一、ROS Navigation中的TF树
- base_link:固定在机器人本体上的坐标系,随着机器人的运动而运动。
- map:固定的世界坐标系,作为全局参照。
- odom:里程计坐标系,是一个world-fixed坐标系,机器人的位姿在里程计坐标系上是没有任何约束的。里程计坐标系的建立通常有一些里程计数据源,例如视觉里程计,轮速计,惯性测量单元等。
详细解释参见链接
根据机器人模型的描述文件,base_link坐标系又有许多分支,根据机器人种类的不同,常见有并联和串联两种形式。
二、各TF坐标系与AMCL功能包的关系
在AMCL的官方说明链接中,Publishes the transform from odom (which can be remapped via the ~odom_frame_id parameter) to map.其发布了里程计坐标系odom到map坐标系的变换
如图所示,初始化时,map坐标系和odom坐标系是重合的,机器人运动一段时间后,到达下图所示的位置,其真实移动距离为10m,而由于里程计的误差,根据里程计提供的数据显示,机器人在这一段时间内沿x轴正向移动了12m。单纯的里程计定位因此会带来误差,而AMCL会将里程计推算出的位姿与真实位姿之间的误差,通过里程计坐标系漂移的形式补偿回去,即机器人在里程计坐标系下位移仍然为12m,只是在这一过程中,里程计坐标系 odom本身相对于map坐标系漂移了-2m,如图所示。因此,可以说,AMCL通过雷达与地图的匹配关系,提供了从odom坐标系到map坐标系的变换。
官网中也解释了这一点: