论文部分内容阅读
同时定位与地图创建(SLAM)是移动机器人在未知环境中实现自主导航和环境探索的前提和基础,具体是指把智能移动机器人置于未知环境中,机器人在移动过程中可根据位姿估计和传感器数据进行自身定位,同时创建增量式地图。 全景视觉传感器不仅具有普通视觉传感器信息量大、直观性好和采样周期短等优点,而且还具备全向360°的感知范围,应用于SLAM中时,视觉路标可在其视野范围内停留更长的时间,增强对路标的连续观测和跟踪能力。本文主要针对基于全景视觉的移动机器人SLAM方法展开研究,具体研究内容包括: 首先,对全景视觉移动机器人的SLAM问题所涉及到的数学模型进行定义和分析,包括:全景视觉系统成像模型、SIAM系统模型、坐标系统模型、运动模型、观测模型和环境地图模型等,为后续研究建立了良好的基础。 其次,研究全景图像的特征提取与匹配算法。在阐述SIFT和SURF算法原理的基础上,对比了两者对全景图像进行特征提取和匹配的效果,实验结果验证了两者的有效性,且SURF算法的特征提取与匹配时间约为SIFT算法的一半,能更好的满足SLAM的实时性需求,故本文采用SURF算法对SLAM实验中全景图像进行特征提取和匹配。针对SURF算法对全景图像提取的过程中出现的无效区域和错误匹配的问题,提出了无效区域预处理和基于最长公共子序列的自然路标提纯的剔除算法,实验结果表明剔除算法可提高稳定路标提取的准确性,且降低了运算时间,验证了本文所提出剔除方法的可行性和鲁棒性。 再次,研究小尺度室内环境的全景视觉移动机器人 SLAM算法。以卡尔曼滤波算法作为理论基础,首先介绍了标准EKF-SLAM算法,并分析其不足,在此基础上,将无迹卡尔曼滤波(UKF)算法引入全景视觉机器人SLAM问题,用于克服EKF因线性化带来的截断误差,避免了Jacobian矩阵的计算,提高了滤波的精度(对任意非线性模型可以达到二阶精度),并简化了运算的复杂度。在标准UKF-SLAM中,由于每个时刻都需要重新计算Sigma点,而Sigma点的计算需要计算协方差矩阵的平方根,但在标准UKF-SLAM算法中传递的却依然是整个协方差矩阵本身,针对此不足,本文提出了采用平方根滤波方法、在迭代更新过程中直接传递协方差矩阵平方根的基于全景视觉移动机器人的改进平方根UKF-SLAM算法,该算法由于使用了平方根滤波,可以确保协方差矩阵的非负定性,并保证算法的数值稳定性,同时算法的估计精度也得到一定程度的提高。通过仿真实验对改进的UKF-SLAM算法和标准EKF-SLAM和UKF-SLAM算法进行了比较分析,结果表明改进UKF-SLAM算法精度更高,且满足全景视觉移动机器人 SLAM系统实时性要求。最后通过小尺度的室内真实环境实验,验证了本文所提算法的可行性和鲁棒性。 最后,研究大尺度室外环境的全景视觉移动机器人SLAM算法。以粒子滤波算法作为理论基础,首先介绍了粒子滤波算法的基本原理,然后阐述了全景视觉移动机器人FastSLAM算法结构,并对其不足进行分析,传统FastSLAM算法会面对粒子的退化问题,重采样在一定程度上可以减小退化,但却带来了粒子贫化问题,最终导致滤波发散,进而影响机器人位姿估计和创建地图的精度。针对传统FastSLAM算法的这个不足,本文将粒子群优化算法引入到全景视觉移动机器人FastSLAM算法中,该方法既可发挥粒子滤波适用任意非线性系统的优点,还增加了在粒子的预估时考虑到个体粒子和群体粒子共同的影响,从而获得更接近真实系统状态分布的预测,提高了全景视觉移动机器人FastSLAM预测过程的粒子采样效率,减少了准确估计全景视觉机器人位姿和创建地图所需的粒子数,提高了SLAM的精度,降低了算法的计算量和运行时间,并很好的解决了粒子的贫化问题。通过仿真实验对改进FastSLAM算法和传统FastSLAM算法进行了比较分析,结果表明,本文算法与传统FastSLAM方法相比,能在相同的粒子数时获得更高的全景视觉机器人定位和创建地图的精度。最后通过大尺度的室外真实环境实验,验证了本文所提算法的可行性和鲁棒性。