VIO后端,后端有两种方法,一种是非线性优化,另一种是滤波,这两种有啥区别呢?其实这里面的知识还挺多的。
在数学上两者都是从full Bayesian推导的,我们都知道Kalman filter的无偏估计是要求系统是线性的,而且噪声是高斯的。对于非线性和噪声非高斯的系统如slam,需要线性近似,即EKF。这是有线性误差的,对于非线性优化其实也有线性误差的。因此我认为滤波和非线性优化两种方法,如果在约束条件相同的条件下,两者在数学上是等价的。
区别呢?
滤波一直在维护一个状态变量(所有优化变量)的协方差矩阵。
对于msckf,imu进行预计分得到pose的先验信息,和imu的先验协方差(和非线性优化一样):
对协方差矩阵进行更新。假设imu和camera的整个协方差为:
imu更新结束之后,当新的camera的状态来临的时候,需要对这个协