基于自适应多提议分布粒子滤波的蒙特卡洛定位算法
2016-09-29罗元庞冬雪张毅苏琴
罗元 庞冬雪 张毅 苏琴



摘要:针对基于Cubature粒子滤波的蒙特卡罗定位(CMCL)算法存在的计算量大、实时处理能力较差的问题,提出一种基于自适应多提议分布粒子滤波的蒙特卡罗定位(AMPD-MCL)算法。该算法利用Cubature卡尔曼滤波和扩展卡尔曼滤波改进提议分布,融入当前观测信息,减弱粒子退化现象;重采样部分采用Kullback-Leibler距离(KLD)采样,根据粒子在状态空间的分布状况,在线调整下一次滤波迭代所需粒子数,从而减小计算量。仿真实验验证了自适应多提议分布粒子滤波(AMPD-PF)的有效性;同时在机器人操作系统(ROS)上进行实验,结果表明改进算法的平均定位精度达到19.891cm,定位所需粒子数稳定在60,定位时间为45.543s,较CMCL算法在定位精度上提高了71.03%,时间缩短了63.10%。实验结果表明,AMPD-MCL算法减小了定位误差,能实时在线调整粒子数,有效减少了算法计算量,提高了实时处理能力。
关键词:蒙特卡洛定位;多提议分布;Cubature卡尔曼滤波;扩展卡尔曼滤波;Kullback-Leibler距离采样;机器人操作系统
中图分类号:TP242.6
文献标志码:A
0引言
移动机器人定位[1]利用先验环境地图信息、前一时刻位姿估计以及传感器的观测信息,经过一系列的处理和变换,产生对当前位姿的估计,从而确定其在工作环境中所处位置。基于粒子滤波[2]的蒙特卡罗定位(Monte Carlo Localization, MCL)算法是以先验分布代替后验分布进行采样,并结合观测似然函数来评估每个粒子的重要性权重,忽略了当前移动机器人环境的观测信息对其状态估计的修正作用,使预测粒子集分布在观测似然函数的尾部,因此导致粒子集退化问题。……
