Catalogue
VINS-Mono整体架构
架构
ROS基础
整体代码流程图
前端
处理图片流程
这里的cur_img
实际上是上一帧,只是它在这里是这样定义而已。
- 假设第一帧跟踪了5个点
- 第二帧,跟踪到了0,1,2,4号点,另外有新的特征点5
- 可以看到,特征点0,1,2,4同时被第一帧和第二帧观测到,因此被观测次数是2
- ...
直方图均衡化
代码中是直接调用Opencv函数来处理的,用来增强对比度
- 参数越大,对比度越大,噪点越多
光流跟踪
也是直接调用Opencv函数
异常点剔除——基础矩阵法
也是直接调用Opencv函数
特征点提取
也是直接调用Opencv函数
前端发布消息
根据时间戳挑选观测数据
getMeasuments()
挑选策略
前端视觉+IMU联合优化
简单来说,就是使用IMU数据来给视觉提供初始位姿,来进行跟踪
IMU预积分
- 根据两帧图像之间的所有IMU数据,来计算IMU约束(预积分)
- 然后计算IMU预积分误差
residual
,下图黄色框部分
IMU预积分误差的协方差矩阵
IMU预积分误差协方差更新公式
协方差更新变化过程
第0帧
第1帧
...
第20帧
IMU预积分误差的雅可比更新变化过程