论文部分内容阅读
同时定位与地图构建算法(Simultaneous Localization and Mapping,SLAM)是指移动机器人在未知环境中通过自身携带的传感器实现同时定位与位姿估计并构建出环境地图的一种技术。随着这项技术的快速发展,已在日常生活、救援救灾、国防工业等多个领域得到了广泛应用。目前,针对移动机器人同时定位与建图的相关问题已经形成了许多成熟的解决方案,但是对于机器人长时间独自探索大规模场景的情况,仍然存在很多难以解决的问题。因此,多机器人协作建图已成为当下的热门研究课题之一,通过机器人间的协同作用不仅可以提高定位建图效率,而且增强了整体系统的智能性和鲁棒性。多机器人协作建图系统中的机器人不仅需要完成各自的SLAM过程,还将传输自身获取的环境信息,并对局部子地图进行重叠区域判定和地图融合,最终得到具有一致性的全局三维地图实现共享。本文主要研究基于视觉-深度信息的SLAM算法、局部子地图间的重叠区域判定以及三维稠密地图的融合算法等相关问题。本文的主要研究内容如下:(1)研究了基于RGB-D信息的SLAM方法框架,分别从前端视觉里程计、后端优化、回环检测和地图构建四个模块进行分析,并对每个模块进行了理论推导。首先通过RGB-D相机采集未知场景下的彩色信息和深度信息,前端视觉里程计采用基于特征点法的ORB算法进行图像帧间的特征提取与匹配,并使用迭代最近点(ICP)方法求解相邻图像间的相机运动,后端优化采用位姿图优化方法,回环检测部分通过词袋模型(Bo W)减少漂移误差,最后生成稠密的三维点云地图。(2)针对机器人局部子地图间的重叠区域判定问题,本文设计了一种基于相遇情况识别的高效判定方法。首先采用基于深度卷积神经网络的YOLO-v3算法作为机器人间的识别方案,判断两机器人是否相遇,若发生相遇即可明确局部地图间已出现重叠,能够进行地图传输和融合。若未能识别则进行关键帧传输,采用视觉词袋法进行基于相似性判断的局部地图间重叠区域判定。这种重叠区域判定方法具有良好的实时性和鲁棒性,明确了进行机器人间局部地图传输和融合的时刻。(3)针对传统三维地图融合算法实时性较差、精度较低的问题,本文提出了一种基于低维度局部特征描述子的三维地图融合算法。首先通过Harris 3D算法进行关键点提取,然后设计了一种基于空间分布直方图(SDH)的三维特征描述子编码关键点周围的特征信息,采用Kd-Tree算法进行径向最近邻搜索完成特征匹配,并使用RANSAC算法进行优化,最后通过3D-ICP算法实现三维地图的融合。实验证明,本文设计的低维度局部特征描述子具有良好的描述性和优越的快速性,基于该描述子进行三维地图融合具有良好的融合效果,能够满足实际应用的精度要求。(4)本文在Ubuntu系统下完成了多机器人协作建图系统的整体设计,并对本文提出的算法进行了实验验证和性能测试。首先验证了本文搭建的RGB-D SLAM系统的可行性并进行了性能测试;然后验证了机器人相遇时的重叠判定方法即机器人间的相互识别算法;之后对本文提出的基于低维度局部特征描述子的三维地图融合算法进行了性能测试,并与SHOT描述子进行对比,验证了本文算法的实时性和准确性;最后对整体系统进行验证,能够完成多机器人协作建图的任务要求,得到具有一致性的全局三维地图。