前言
视觉、IMU融合的优势:
1、视觉可以帮助IMU消除积分漂移和校正IMU的Bias;
2、借助IMU可以帮助视觉系统提升输出频率;
3、IMU可帮助单目解决尺度不可观的问题,帮助双目减少尺度上的累计漂移;
4、IMU可帮助视觉系统提升鲁棒性;
鉴于以上方面,决定从VI融合入坑SLAM,于是最近开始精读VINS-Mono源码,想着制作个流程框图帮助自己和刚入门的小伙伴们一起梳理代码整体逻辑与流程框架。
综述
VINS-Mono算法的优点主要在于以下方面:
1、鲁棒的初始化过程;
2、带imu-camera外参校准和imu校准的紧耦合方式;
3、在线重定位和四个自由度的全局姿态图优化;
4、姿态图可以保存,重加载,并和局部姿态图进行合并。
VINS-Mono的节点与话题如下:
![](https://img-blog.csdnimg.cn/a2570a657001444ab65a14727c02a6cd.png)
![](https://img-blog.csdnimg.cn/2445eb259b3541dc866c6968af36f89f.png)
feature_tracker部分:
主要实现的功能:
1、读取相机参数和配置参数;
2、获取图像帧,进行特征提取和光流跟踪;
3、按照事先设定的频率满足要求的特征点信息(坐标,速度等)发布出去,以便RVIZ和vins-estimator接收
代码流程框图:
![](https://img-blog.csdnimg.cn/4a9b114bc85f403198ba95b3c8c2568b.png)
高清流程框图PDF版可从如下链接获得
VINS-Mono源代码详细流程框图(1)-feature-tracker部分https://download.csdn.net/download/weixin_50578602/86947089