一、整体框架
本系列的文章主要解释DVO-SLAM的Tracking和闭环检测部分,首先从benchmark_slam.cpp这个文件入手,整个算法框架如下:
配置好相关参数后,程序循环读取数据集中的图片,开始运行算法,如下图所示:
整个算法流程如下:
(1) 配置相关参数,读取所有的rgb图及其对应深度图的保存路径
(2) 创建KeyframeTracker对象
(3) 循环读取数据
(3.1) 加载图片
(3.2) 将图片及其时间戳传给KeyframeTracker对象,返回该图片对应的相机位姿
(3.3) 保存相机位姿
(4) 全局进行一次闭环检测,进一步完善位姿图,再对位姿图进行优化。
二、KeyframeTracker对象的创建
主函数中创建了KeyframeTracker对象,程序进入keyframe_tracker.cpp文件,这个文件中包含了KeyframeTracker对象的所有接口,KeyframeTracker对象主要包括两部分ÿ