gmapping和AMCL的区别

粒子

AMCL的粒子只包括位姿和权重,需要大量的粒子才能较好描述机器人位姿。gmapping的粒子包括轨迹、地图、权重,粒子过多会占用很大的内存。

AMCL的粒子在初始化时,各粒子的位姿是不同的,是均值参数加高斯噪声; gmapping粒子初始化时,粒子的位姿都是相同的。 所以说AMCL更符合撒粒子的逻辑。

AMCL的粒子数不是固定的,有最小和最大粒子数。在定位过程中,KLD采样会动态减少粒子数;gmapping的粒子数一直是固定的。

AMCL的提议分布是运动模型,分布的特点是又扁又宽; gmapping的提议分布是运动模型又加入了最近的观测,分布特点是小的尖峰。

AMCL的粒子权重是似然域模型改变,gmapping是通过scan match

AMCL输出的位姿是所有粒子加权平均后的结果; gmapping是输出得分最高的粒子