摘要
在未知先验环境下,移动机器人的自身定位是自主导航的核心和基础。基于粒子滤波的MCL算法存在着粒子退化、处理能力方面难以达到实时要求以及计算量较大等问题。提出一种基于改进的粒子滤波MCL算法,在SR-CKF设计的提议分布基础上添加EKF扩展为多提议分布粒子滤波算法。为解决因忽略当前时刻观测信息导致的粒子退化问题,在设计的提议分布中,加入系统当前时刻的观测信息,并以相对的比率对粒子进行采集,使粒子收敛于观测似然较高的区域中。利用KLD重采样来估计当前时刻粒子在系统下状态空间的分布情况,并通过在线调整机制对下一时刻粒子数目进行调整,以达到减小计算量的目的。根据Matlab仿真对比实验可以看出,改进后算法的均方根误差减小至1.947 cm,运行时间缩短了29.7%,有效的粒子百分比达到82.6%,平均粒子数为70.47,减弱了粒子退化问题从而达到精准定位的效果。最后通过ROS机器人开源操作系统对算法的有效性和可行性进行进一步验证分析。
-
单位电子信息工程学院; 长春理工大学