1、Main 主线程
在Demo的主线程中,我们大致需要完成:1、参数的输入和判断;2、构建Slam类;3、循环获取数据发送给Slam系统;4、结束循环并释放Slam系统;5、按需决定是否保存相关信息
2、System类
System就是Slam类,主要完成:1、Slam系统的构建;2、输入数据的接收和发送给Track类;3、作为顶层接收Track发送的Reset信号,完成Atlas、Map等重启;4、提供Slam关闭接口;5、提供数据保存接口
3、Track类
Track作为Slam系统中重要的一个类负责完成:1、数据的接收;2、调用Fram构建帧;3、完成数据的匹配跟踪等;4、负责判断新的关键帧,MapPoint等生成;5、重定位;6、Reset等功能
4、Frame类
5、Atlas类
Atlas类作为较顶层的类,会管理如Map等类。负责进行顶层的信息转发和统一管理
6、Map类
7、KeyFrame类
8、MapPoint类
9、LocalMap类
LocalMap管理局部数据,负责局部的BA优化,MapPoint的生成、融合、冗余处理,KF的BOW调用计算、共视关系更新、冗余处理,KF的挑选送入LoopClose类等
10、LoopClosing类
LoopClose类主要完成数据的融合全局回环检测有的数据修正,冗余Mp和Kf的处理。