流程以具体的数据流为依据,具体进入到哪个类看上方横线。
预处理
将对程序的初始化,和数据的初始化,统称为预处理。
------------------------------------------------主函数--------------------------------------------------------
1.检查输入参数数量是否足够
2.将输入的程序运行参数进行读取保存
3.加载所有的图像序列
(1)加载图像序列、imu序列,并将图像和IMU进行开始时间的对齐。
(2)读取畸变矫正参数
4.构建名为SLAM的Systeam类,通过Systeam的构造函数对SLAM的初始化,具体在构造函数中的操作如下。
------------------------------------------------Systeam-----------------------------------------------------
System::System(…):
(1)读取配置文件
(2)加载词典
(3)创建关键帧数据库
(4)创建多地图
(5)依次实例化以mpLocalMapper为名的Tracking类、以mpLocalMapper为名的LocalMapping类、以mpLoopCloser为名的LoopClosing类。同时分别对应的线程,追踪线程不创建,因为追踪线程就是主线程,也就是最开始的main函数线程。
注:线程间的访问通过获取类