论文部分内容阅读
随着社会往信息化和智能化的方向发展,各行各业对智能移动机器人的需求与日俱增。“勇气号”和“机遇号”火星车成功登陆火星,军用移动机器人在伊拉克战场上得到应用,这些事件说明智能移动机器人逐渐进入普通民众的视野。“自主导航”是智能移动机器人领域的一个重要研究方向,而同时定位与地图创建(SimultaneousLocalization and Map Building,SLAM)又是机器人实现自主导航要解决的核心问题。SLAM问题是指把智能移动机器人放在未知环境中,机器人增量式地创建未知环境的连续地图,同时确定它在地图中的位置。由于SLAM问题的解法可以使机器人实现真正的自主导航,因此,在过去十几年中SLAM问题逐渐成为移动机器人领域的研究热点。论文对同时定位与地图创建问题的解决方法和相关的数据关联、地图模型进行了研究,对基于卡尔曼滤波器的SLAM方法、基于粒子滤波器的SLAM方法、SLAM数据关联以及SLAM地图模型进行了比较深入的研究,具体内容如下。应用扩展卡尔曼滤波器(EKF)解决非线性系统的SLAM问题时,线性预测和更新会导致很大的偏差甚至使算法发散,针对EKF的线性化误差问题提出了两种改进方案——逐步增量法和平均斜率法。逐步增量法通过逐步吸收观测量预测值和实际观测值之间的偏差来减少线性化误差,而平均斜率法通过修正卡尔曼增益来减少线性化误差。将平均斜率法和EKF结合,提出了平均扩展卡尔曼滤波器(MEKF),仿真实验表明,MEKF在全状态SLAM应用中的估计精度明显优于现有的几种卡尔曼滤波器,并且MEKF的计算效率很高。FastSLAM算法采用Rao-Blackwellise粒子滤波器递推估计路径和地图,而粒子滤波器的计算量较大,为了进一步提高FastSLAM算法的计算效率,本文提出了快速卡尔曼SLAM算法,继承FastSLAM算法的优点即采用分解估计架构,机器人位姿采用MEKF或Unscented卡尔曼滤波器(UKF)递推估计,地图中观测到的特征用EKF更新。提出的快速卡尔曼SLAM算法在保证估计精度的同时大大降低了计算复杂度,为复杂环境下实时解决SLAM问题提供了一种有效方法。对于非线性非高斯系统的SLAM问题,粒子滤波器是一类可行的解法,FastSLAM2.0算法是一种经典的粒子滤波SLAM算法,然而,它存在“粒子退化”和“粒子耗尽”问题,为了改进粒子集的性能、提高算法的综合性能,提出了三种改进方法。第一种方案是将FastSLAM 2.0算法与遗传算法相结合,提出了遗传快速SLAM算法,针对FastSLAM 2.0算法的特点,设计了一种改进的遗传算法来兼顾各个粒子的权值和粒子集的多样性。第二种方案是将辅助边缘粒子滤波器(AMPF)与分解SLAM架构相结合,提出了辅助边缘快速SLAM算法,用AMPF估计机器人的位姿,设计了与AMPF和分解SLAM架构均兼容的采样方法和粒子数据结构,在分解SLAM架构下用EKF估计地图。第三种方案仍然将AMPF与分解SLAM架构相结合,然而,整个SLAM过程中仅维持一份地图,粒子集仅用来表示机器人在某一时刻的位姿,简化了算法在逻辑上的复杂性。仿真实验和’Victoria Park Dataset’实验表明,在以上三种改进的粒子滤波SLAM算法中,辅助边缘快速SLAM算法的估计精度和稳定性最好,并且,在粒子数量合理时它可以满足实时性要求。对SLAM中的数据关联过程提出了两处改进措施——局部关联策略和动态关联策略,其中,局部关联策略用来提高数据关联过程的计算效率,动态关联策略用来消除观测噪声和动态特征对数据关联过程的影响。针对联合相容分支定界算法(JCBB)和最近邻算法(NN)的弱点,分别结合局部关联策略、动态关联策略对联合相容分支定界算法和最近邻算法进行了改进,提出了优化联合相容分支定界算法(Optimized JCBB,OJCBB)和动态联合最近邻算法(Dynamic Joint Nearest Neighbor,DJNN),其中,DJNN的实现简单方便,并且,DJNN在准确度和计算复杂度两方面的性能都比较好,因此,提出的动态联合最近邻算法有较大的应用价值。稀疏特征地图是SLAM领域中常用的环境模型,然而,它只能用来提高定位精度,不能给机器人提供足够的环境信息。从观测信息的物理意义出发,提出了全局观测地图模型(GOMM),采用位移准则、特征准则和量程准则提取必要的观测信息,然后对观测信息进行去噪、转换,并结合观测信息的物理意义和机器人位置估计的不确定性获取环境的全局密集地图。对基于全局观测地图模型的EKF-SLAM算法(GOE-SLAM)进行了实验验证,结果表明,GOE-SLAM创建了可信的全局密集地图,并且GOE-SLAM的计算效率与EKF-SLAM相当,因而,全局观测地图模型在SLAM领域中具有较强的实用价值。最后,对全文进行了总结,并且展望了进一步的研究方向。