从零开始学习VIO笔记 --- 第五讲:滑动窗口算法实践:【逐行手写求解器】
一. 知识回顾
1.1 最小二乘求解器
- 信息矩阵 H 不满秩,那求解的时候如何操作呢?
- 使用 LM 算法,加阻尼因子使得系统满秩,可求解,但是求得的结果可能会往零空间变化。
- 添加先验约束,增加系统的可观性。比如 g2o tutorial 中对第一个pose 的信息矩阵加上单位阵 H[11]+ = I ;
- orbslam,svo 等等求 mono BA 问题时,fix 一个相机 pose 和一个特征点,或者 fix 两个相机 pose,也是为了限定优化值不乱飘。那代码如何实现 fix 呢?
- 添加超强先验,使得对应的信息矩阵巨大(如,1015),就能使得∆x = 0;
- 设定对应雅克比矩阵为 0,意味着残差等于 0. 求解方程为(0 + λI) ∆x = 0,只能 ∆x = 0;
1.2 单目 Bundle Adjustment 求解代码讲解
上一讲的作业中,也有BA 求解; 但这儿使用图优化模型构建最小二乘问题,再优化(类似 g2o框架)