论文部分内容阅读
随着国家经济与科技不断发展与进步,应工业、农业和军事等行业的需求,自主移动机器人的研究刻不容缓。实时定位与地图构建技术的出现很好的解决了机器人在未知环境下的定位和建图问题,是21世纪机器人领域发展最快的十大技术之一。无论是现在炙手可热的无人车,还是家居生活中使用越来越多的扫地机器人等,要求使用过程中机器人自身能够精确定位并且准确捕捉移动过的轨迹尤为重要。现在常见的SLAM(Simultaneous Localization and Mapping)算法在位姿估计、回环检测和后端优化等方面仍存在较多问题。基于这个现状,为了提高机器人自主定位与建图的精度,本文提出改进的基于RGB-D传感器的移动机器人的实时定位与地图创建的算法,提高了机器人姿态计算精度,同时降低了机器人在实际运动过程中遇到突发问题导致丢帧从而引起定位失败的风险,增加了算法整体的鲁棒性。首先,在传统的SLAM算法中,计算机器人位姿时,采用当前帧与前一帧之间的匹配位姿估计,当前一帧由于噪声影响出现位姿误差比较大时,导致以后的帧的位姿估计与实际帧的位姿相差较大,导致移动机器人定位失败。为了减少这个问题给移动机器人定位的精度带来的影响,本文提出了引入匹配图的方法,该匹配图由帧关键点与关键帧组成。将采集到的第一帧设置成关键帧,将该帧与提取出的帧关键点对匹配图初始化。之后计算当前帧位姿时,提取当前帧的关键点,将这些关键点与匹配图的帧关键点利用PnP(Perspective-n-Point)算法来计算当前帧的位姿,并且不断更新匹配图,不断判断匹配图中的帧关键点与当前帧的距离,如果距离过远,删除这些帧关键点,并且将匹配之后的当前帧的帧关键点加入到匹配图中。通过引入匹配图的方法,提高了机器人姿态计算精度,增大了SLAM算法的鲁棒性。在优化计算机器人姿态时,本文采用基于关键帧位姿的图优化。常见的基于关键帧位姿的图优化SLAM在进行回环检测时常采用随机检测等算法,回环检测效率低。本文采用一种基于K叉树词典的回环检测算法,减少了回环检测的时间,增进了检测效率,提高了回环检测的准确性。同时本文充分利用基于K叉树词典的回环检测算法检索高效的优点,创新性的设计了丢帧回环检测算法,降低了机器人在实际运动过程中遇到突发问题导致丢帧从而引起定位失败的风险,提高了算法的鲁棒性。最后,基于Ubuntu平台,对所设计的SLAM算法进行了仿真实验。分别对采用匹配图的SLAM算法与未采用匹配图的SLAM算法进行仿真对比实验,可以看出改进的SLAM算法能够更加精确的构建房间地图,进而验证了本文引入匹配图算法的优异性。同时对采用丢帧回环检测的SLAM算法与未采用丢帧回环检测的SLAM算法进行了仿真对比实验,通过两者的运动估计轨迹和真实运动轨迹比较,证明了本文提出改进的SLAM算法能够实现移动机器人的精准定位功能,同时验证了采用丢帧回环检测的SLAM算法对移动机器人实际运动过程中丢帧问题的鲁棒性。并最后完成了验证实验,通过判断绝对轨迹误差的均方根误差值是否在厘米级别,验证了该算法能够满足移动机器人定位精度的要求,证明了算法的可行性。