AMCL是蒙特卡洛自适应定位。
输入给AMCL的有/tf、/scan、/map,其中输入的tf有base_frame到odem_frame,输出的tf有base_frame到map_frame。
下图是AMCL的原理:
第一个框图是纯粹的里程计定位,会通过里程计的信息,算出base和odem之间的偏移,这种情况下默认map和odem是绑在一起的,会存在累计误差,随着里程的增加,误差增加,漂移也就越大。
第二个框图的蒙特卡洛自适应定位通过对比当前地图和激光雷达扫描到的地图,去修正,把当前的漂移不到map和odometry之间。