摘要

同时定位与建图(Simultaneous Localization and Mapping,SLAM)是机器人领域的研究热点,被认为是实现机器人自主运动的关键。传统的基于RGB-D摄像头的SLAM算法(RGB-D SLAM)采用SIFT(Scale-Invariant Feature Transform)特征描述符来计算相机位姿,采用GPU加速的siftGPU算法克服SITF特征提取慢的缺点,但多数嵌入式设备缺乏足够的GPU运算能力,使其应用性受到局限。此外,常规算法在闭环检测时效率较低,实时性不强。针对上述问题,提出了一种结合ORB(oriented FAST and rotated BRIEF)特征与视觉词典的SLAM算法。在算法前端,首先提取相邻图像的ORB特征,然后利用k近邻(k-Nearest Neighbor,kNN)匹配找到对应的最临近与次临近匹配,接着采用比值检测与交叉检测剔除误匹配点,最后采用改进的PROSAC-PnP(Progressive Sample Consensus based Perspective-N-Point)算法进行相机姿态计算,得到对相机位姿的高精度估计。在后端,提出了一种基于视觉词典的闭环检测算法来消除机器人运动中的累计误差。通过闭环检测增加帧间约束,利用通用图优化工具进行位姿图优化,得到全局一致的相机位姿与点云。通过对标准fr1数据集的测试和对比,表明了该算法具有较强的鲁棒性。