主要参考这篇论文 Horn B K P. Closed-form solution of absolute orientation using unit quaternions[J]. JOSA A ...
构造函数 主要分两部分,回环检测,以及GlobalBundleAdjustment LoopClosing中的关键帧都是LocalMapping中送过来的:送过来一帧,就检查一帧。 因此我们需要在KeyFrameDataBase中寻找与mlpLoopKeyFrameQueue相似的闭环候选帧。主要过程包括: 寻找回环候选帧,检查候选帧连续性 计算Sim 闭环 地图点融合,位姿图优化 。 一. De ...
2017-02-26 12:16 0 3030 推荐指数:
主要参考这篇论文 Horn B K P. Closed-form solution of absolute orientation using unit quaternions[J]. JOSA A ...
ORB-SLAM是一种基于ORB特征的三维定位与地图构建算法(SLAM)[1]。该算法由Raul Mur-Artal,J. M. M. Montiel和Juan D. Tardos于2015年发表在IEEE Transactions on Robotics。ORB-SLAM基于PTAM架构,增加了 ...
ORB-SLAM程序提供了运行Monocular、Stereo和RGBD数据的程序。编译成功后,可以通过运行TUM的标准数据来验证程序是否成功。如果想自己测试一些数据,可以通过OpenCV提供的接口调起电脑的摄像头。 个人认为,ORB-SLAM是一个完整的单目SLAM实现,集合了当前流行 ...
ORB主要借鉴了PTAM的思想,借鉴的工作主要有Rubble的ORB特征点;DBow2的place recognition用于闭环检测;Strasdat的闭环矫正和covisibility graph思想;以及Kuemmerle和Grisetti的g2o用于优化。 首先需要了解ORB-SLAM ...
ORB-SLAM作为单目SLAM,其精度很大程度上决定于帧与帧之间的位姿优化的是否准确。因此优化(optimization)在ORB-SLAM里面扮演了很重要的角色。这一小节探讨一下ORB-SLAM里用到的优化。 ORB-SLAM选用g2o作为图优化的方法,关于g2o可以参考http ...
LocalMapping作用是将Tracking中送来的关键帧放在mlNewKeyFrame列表中;处理新关键帧,地图点检查剔除,生成新地图点,Local BA,关键帧剔除。主要工作在于维护局部地图,也就是SLAM中的Mapping。 1. 处理新关键帧:ProcessNewKeyFrame ...
最近在读ORB-SLAM的代码,虽然代码注释算比较多了,但各种类和变量互相引用,看起来有点痛苦。索性总结了一下Tracking部分的代码结构,希望能抓住主要思路,不掉坑里。 作者的程序分为两种模式:SLAM模式和Localization模式。SLAM模式中,三个线程全部都在工作,即在定位也在建图 ...
上一篇提到,无论在单目、双目还是RGBD中,追踪得到的位姿都是有误差的。随着路径的不断延伸,前面帧的误差会一直传递到后面去,导致最后一帧的位姿在世界坐标系里的误差有可能非常大。除了利用优化方法在局部和 ...