论文部分内容阅读
为了在未知环境中进行导航,移动机器人需要构建环境地图并且同时定位自身在地图中的位置,像这样同时解决这两个问题的过程就称为同步定位与地图构建(Simultaneously Localization And Mapping,SLAM)。基于RGB-D传感器的SLAM也被称为RGB-D SLAM,是当前移动机器人研究领域的一个重要课题。RGB-D SLAM算法分为前端和后端两部分,前端算法对RGB-D图像进行特征检测与描述符提取,对提取到的描述符进行特征匹配,根据匹配结果估算运动变换并进行优化;后端算法根据前端算法的结果构建位姿图,然后进行闭环检测与位姿图优化,最终根据得到的最优相机位姿进行相机定位与三维地图环境重建。当前RGB-D SLAM算法的主要问题包括:首先,当前算法的效率低,不能满足实时要求;然后,当前算法的精度较低,误差较大,计算出的机器人位姿和运动轨迹通常会偏离真实值,并且随着时间增长偏离值会越来越大。针对现有算法存在的问题,本文对基于Kinect相机的RGB-D SLAM算法提出了以下改进方法:(1)在特征检测与描述符提取阶段使用基于ORB的特征检测和描述符提取方法,即使用ORB方法进行特征检测与描述符提取,并对深度信息不合法的特征点进行过滤。(2)在特征匹配阶段使用基于FLANN的增强特征匹配方法,即使用基于FLANN的KNN方法进行双向特征匹配,并且使用单应性矩阵变换对匹配结果进行优化。(3)在运动变换估计阶段使用改进RANSAC的运动变换估计方法,以得到更精确的inliers匹配点对。(4)在运动变换优化阶段使用基于GICP的运动变换优化方法,该方法基于高精度的GICP算法进行点云配准,使用inliers生成的点云进行GICP点云配准并对失败的情况做了退化处理,并且对RANSAC失败的情况做了退化处理,以提高点云配准的速度和精度。本文使用Freiburg提供的标准测试数据集对改进算法进行了测试与对比分析,并使用自己录制的实际环境测试数据和基于Dr Robot X80机器人的实际环境进行测试。实验结果表明本文所提出的RGB-D SLAM算法改进方法不仅能够满足实时性需求,而且能够极大地减小算法误差,提高算法精度,由此也证明了本文所提出的RGB-D SLAM算法改进方法的正确性。