张国良, 姚二亮, 林志林, 徐慧. 融合直接法与特征法的快速双目SLAM算法[J]. 机器人, 2017, 39(6): 879-888. DOI: 10.13973/j.cnki.robot.2017.0879
引用本文: 张国良, 姚二亮, 林志林, 徐慧. 融合直接法与特征法的快速双目SLAM算法[J]. 机器人, 2017, 39(6): 879-888. DOI: 10.13973/j.cnki.robot.2017.0879
ZHANG Guoliang, YAO Erliang, LIN Zhilin, XU Hui. Fast Binocular SLAM Algorithm Combining the Direct Method and the Feature-based Method[J]. ROBOT, 2017, 39(6): 879-888. DOI: 10.13973/j.cnki.robot.2017.0879
Citation: ZHANG Guoliang, YAO Erliang, LIN Zhilin, XU Hui. Fast Binocular SLAM Algorithm Combining the Direct Method and the Feature-based Method[J]. ROBOT, 2017, 39(6): 879-888. DOI: 10.13973/j.cnki.robot.2017.0879

融合直接法与特征法的快速双目SLAM算法

Fast Binocular SLAM Algorithm Combining the Direct Method and the Feature-based Method

  • 摘要: 为了实时得到搭载双目相机的机器人准确的3维位姿状态和环境信息,提出一种融合直接法与特征法的双目SLAM(同时定位与地图创建)算法.该算法主要分为4个线程:跟踪线程、特征提取线程、局部建图线程和闭环线程.跟踪线程通过最小化图像光度误差,获取双目的初始位姿估计和特征对应关系,而后通过最小化局部地图点的重投影误差,得到更为准确的机器人位姿估计.特征提取线程负责提取关键帧的关键点和描述子,能够保证待处理的关键帧较多时不影响后续局部建图线程的执行.局部建图线程管理局部地图,执行局部BA(光束平差法),优化局部关键帧位姿和局部地图点的位置,提高SLAM的局部一致性.闭环线程通过对关键帧的闭环检测和优化,提高SLAM的全局一致性.另外利用闭环线程处理机器人被绑架后重回已探测环境的定位问题.KITTI数据集、TUM数据集以及采集的双目数据实验表明,本文算法相对于ORB-SLAM2算法,在保证定位精度的同时,有效提高了相机位姿的输出帧率,并且在机器人被绑架的情况下,能够得到更为丰富的姿态信息和环境信息.

     

    Abstract: To obtain the accurate 3D poses of the robot with a binocular camera and the surroundings information in real time, a binocular SLAM (simultaneous localization and mapping) algorithm combining the direct method and the feature-based method is proposed. The proposed algorithm comprises four threads:tracking thread, feature extraction thread, local mapping thread and loop closing thread. In the tracking thread, the initial pose estimation of the binocular camera and the feature alignment are obtained by minimizing image photometric errors. A more accurate pose estimation is obtained by minimizing reprojection errors of local map points. In the feature extraction thread, the keypoints and the descriptors are extracted to guarantee that the subsequent local mapping thread runs smoothly when processing more keyframes. In the local mapping thread, the local map is settled, and the local BA (bundle adjustment) is implemented for the optimization of the local keyframe poses and the local map point locations to improve the local consistency of SLAM. In the loop closing thread, the loop detection and the loop optimization for keyframes are executed, to enhance the global consistency of SLAM. Besides, the localization problem is settled for a kidnaped robot returning to its previous detected environment in the loop closing thread. The experiments on KITTI datasets, TUM datasets and the collected binocular data show that, the proposed algorithm ensures the precise localization and the output of camera pose at a higher frame rate comparing with ORB-SLAM2 algorithm, and also brings more information of the poses and environment when the robot is kidnaped.

     

/

返回文章
返回