1.从ros_vio.cc入 main(),
2.创建SLAM系统,ORB_SLAM2::System SLAM
进入system(system.cc line211):创建关键帧数据库、创建地图、创建用于可视化的Drawer.
初始化Tracking线程:从设置文件中,装载相机参数,Load ORB参数。
初始化Local Mapping线程并launch:获得局部窗口大小。
初始化LoopClosing线程并launch
初始化Viewer线程并launch
设置线程之间的指针。
3.在 main()中参数设置ConfigParam,再:
数据对齐:imu数据与读取的RGB数据
4.在在 main()中开始Track.line173: SLAM.TrackMonoVI();输入图像数据和IMU数据及对应的时间戳,输出相机位姿。当跟踪失败时,输出为空。
先检查模式:如果当前处于定位模式,等待直到Local Mapping结束,将只跟踪设为1,定位模式(localization)设为0.
再进入tracking中的GrabImageMonoVI():
如果没有初始化或者目前还没有图片时,使用Frame(参数少一个)(Frame.cc line 416),否则使用Frame(参数多一个)(Frame.cc line143):
其中,少一个参数的Frame,(scale level info ???