IMU Propagation

文章目录

  • 一、概述
  • 二、状态向量预测
  • 三、协方差预测
    • 方法一:先离散化,再求转移方程
    • 方法二:连续方程求解F,在求解 Φ \Phi Φ
  • 四、FEJ
  • 五、OC-EKF
  • 六、小结

一、概述

IMU Propagation利用两帧图像之间的IMU数据进行预测步骤,主要分为两部分内容:

  • 状态向量预测:直接根据mid-point或者RK4进行状态预测

  • 协方差预测:根据误差状态进行协方差更新

二、状态向量预测

Euler积分、Mid-Point积分、RK4、smsckf使用的方法(v、p使用RK4,q使用四元数零阶积分)
在这里插入图片描述

分析:

Euler方法精度最差,smsckf精度最高(只使用2个测试用例,结果存在一定偶然性)

计算时间复杂度:Euler积分

综上所述,使用smsckf使用的方法(v、p使用RK4,q使用四元数零阶积分)

方法:
IMU Propagation_第1张图片

三、协方差预测

四元数表示:q_i_w:w在i下的姿态

MSCKF论文一般使用JPL表示,即左手系,此时:[qv, qw]
在这里插入图片描述

我们是在IMU坐标系下添加扰动,所以使用左乘
在这里插入图片描述

方法一:先离散化,再求转移方程

先离散化,再求转移方程
IMU Propagation_第2张图片
过程噪声:
IMU Propagation_第3张图片
目标是计算:
在这里插入图片描述
IMU Propagation_第4张图片
IMU Propagation_第5张图片
误差状态转移方程:
在这里插入图片描述
其中 n \textbf{n} n为IMU传感器噪声,通过allen方差曲线标定得到。 x \textbf{x} x为误差状态变量。
IMU Propagation_第6张图片
协方差更新为:
在这里插入图片描述

其中Qd为离散时间噪声协方差
在这里插入图片描述

推到细节见:https://docs.openvins.com/propagation.html

方法二:连续方程求解F,在求解 Φ \Phi Φ

推导IMU误差状态的连续运动模型
在这里插入图片描述
根据线性微分方程的求解公式:
IMU Propagation_第7张图片
进而得到:
IMU Propagation_第8张图片

S-MSCKF代码采用这种实现。F和G如下:
IMU Propagation_第9张图片

四、FEJ

  • 旋转误差左乘改为右乘

  • 每个状态值使用其第一次的估计值,用x_k|k-1代替x_k|k
    通常EKF我们的状态转移矩阵连乘是不成立的:
    在这里插入图片描述

x_k|k-1代替x_k|k,这样可以保证下式成立
在这里插入图片描述

本质上就是使用每个状态的第一次估计值计算雅可比,对应到MSCKF中就是只是用传播的v和p计算雅可比,而不是用更新之后的v和p。代码中姿态也FEJ了。

IMU Propagation_第10张图片
IMU Propagation_第11张图片

分析:

  • 大多数情况加入FEJ会有比较好的RMSE精度提升,少数情况反而会变差,分析可能原因,FEJ若第一次估计的位姿并不准确,效果会变差,且滤波方法一次估计偏了,后续很难调回来

  • 这里用groundtruth进行初始化,所以起点是完全对齐的,RMSE结果更合理(原点对齐)

  • evo_rpe取得距离很近,小于1m,所以结果值很小,evo_ape进行了配准,结果会比真实好一些

五、OC-EKF

基本思想:强制修改Phi和H,使其满足观测矩阵零空间为4

观测矩阵M、右零空间N1
在这里插入图片描述
IMU Propagation_第12张图片

我们想要设计合适的Phi和H使得下式成立:
在这里插入图片描述

我们修改Phi和H
在这里插入图片描述

第k步零空间定义:
IMU Propagation_第13张图片
在这里插入图片描述

其中 f \textbf{f} f是特征位置的第一次估计,在第l步三角化得到。

要满足在这里插入图片描述
即下式成立:

IMU Propagation_第14张图片
得到:
在这里插入图片描述
在这里插入图片描述
后两项可求解这个最小化问题得到:
在这里插入图片描述
IMU Propagation_第15张图片
因此,根据拉格朗日乘数法得到闭式解:
在这里插入图片描述

H需要满足在这里插入图片描述
,即
IMU Propagation_第16张图片

如果特征用全局坐标系位置表示,在这里插入图片描述
上式可写为:
在这里插入图片描述

这是一个Au=0,同理,相当于上面最小化问题w=0,闭式解为
在这里插入图片描述

恢复测量Jacobian
在这里插入图片描述

IMU Propagation_第17张图片

分析:

  • OC_EKF对精度还是有一定提升的

六、小结

  1. 整体而言,FEJ和OC方法对一致性都有改善,但在实际使用过程中,个人更倾向于FEJ,前面提到实现相对简单,v和q直接替换第一次观测值即可,姿态上有些变换技巧(详情可以参见OpenVINS实现代码),但也比较好理解
  2. FEJ由于使用第一次的线性化点,可能存在线性化点离真实状态更远的情况,因此实际测试过程中精度未必会有提升;
  3. FEJ和OC虽然未必一定会提升精度,但对于滤波系统而言,可以让协方差更为合理,这对于需要合理置信度输出的系统而言还是有一定意义的。

你可能感兴趣的:(激光SLAM,ubuntu,算法)