SLAM_SLAM问题求解框架
1 SLAM问题求解框架
步骤说明:
- 构建误差函数(跟待求状态量有关的误差,视觉上:空间点的重投影误差/逆深度误差1/d,IMU的状态量:位置p,旋转q,速度v,加速计的bias,陀螺仪的bias);
- 计算上述误差相对于状态量的雅克比矩阵J;从而构建出信息矩阵H,然后使用LM/高斯牛顿等方法求解该最小二乘问题(对于非线性问题使用最小二乘,线性问题使用直接线性变换(如SVD/QR/PCG));
- 对于像SLAM这样的问题,信息矩阵具有稀疏性,故可采用舒尔补(schur)的方式进行矩阵变换,然后使用基于边际概率的滑动窗口算法,将丢弃变量所携带的信息传递给剩余变量,以保持优化的变量的个数保持在一定的范围内,从而求解出状态量的一个增量
;
- 对于像SLAM这样的问题,信息矩阵具有稀疏性,故可采用舒尔补(schur)的方式进行矩阵变换,然后使用基于边际概率的滑动窗口算法,将丢弃变量所携带的信息传递给剩余变量,以保持优化的变量的个数保持在一定的范围内,从而求解出状态量的一个增量
- 更新状态量(对于速度或位置,直接是加上增量;对于四元数表示的旋转q,是四元数乘法的方式;若是李群SO(3)表示旋转R的方式(3x3矩阵),则是点乘…。更新状态量的方式不同,意味着求解状态量雅克比矩阵J的方式不同);
- 用新的状态量,更新残差,更新雅克比矩阵…, 进行迭代,直到状态量达到最优。
2 求解中零空间变换问题
参考: 深蓝学院 VIO课程 贺一家,高翔,崔华坤
还没有评论,来说两句吧...