SE2(3) Based Exact IMU Pre-Integration

文献1基于 SE2(3) 自同构指数函数引入了一种新的 IMU 预积分公式。该方法确保了 IMU 数据的高精度整合,可以有效增强快速旋转运动和延长积分时间下 SLAM 系统的跟踪性能。

1. IMU 固有补偿 - IMU intrinsic compensation

文献1作者首先要在 IMU 预积分阶段之前添加 IMU 固有补偿。当在视觉惯性 SLAM 系统中使用 IMU 信息时,通常会将原始加速度计和陀螺仪测量值建模为

(1.a)aˇt=at+bat+nat(1.b)ωˇt=ωt+bωt+nωt

仅考虑测量噪声密度(即 n)和偏差 (bias) b。受加速度偏置 bat 和陀螺仪偏置 bωt 以及加性噪声 nanω 的影响,模型 (1.a)(1.b) 简单且有用,可为具有工厂校准内在特性的器件提供良好的近似值。然而,对于低成本的消费级惯性传感器来说,它可能会产生有损校准的结果,因为这些传感器会表现出明显的轴对齐误差和比例因子误差。受2的启发,通过引入 IMU 内在建模来扩展 IMU 模型 (1.a)(1.b)

(2.a)aˇt=SαMαat+bat+nat(2.b)ωˇt=SωMαωt+Aωat+bωt+nωt

其中,ωt=Cωωt 是加速度计和陀螺仪之间的旋转矩阵。我们将 SαSω 定义为缩放效应的对角矩阵,MαMω 是对应于失准小角度的下单位三角矩阵,并令 Aω 为完全填充的倾斜矩阵。上述所有特性都可以通过执行广泛采用的 Kalibr 3来获得。扩展模型的使用可以参考这里 how to use scale-misalignment result ?

2. IMU 预积分 - IMU pre-integration

按照上一节的方法,我们对 IMU 轴偏差和比例因子进行补偿,并使用符号 ω¯ta¯t 表示有偏差但无噪声、无歪斜和比例校正的 IMU 测量值。在以下章节中,我们去掉或保留下标 t ,以简化符号,或强调变量的时间依赖性。

现在继续介绍核心贡献:一种新颖、精确的 IMU 预积分公式,基于矩阵李群 SE2(3) 自同构的指数函数。我们首先对系统的无噪声运动学进行建模如下: (3){R˙=R(ω¯bω)p˙=vv˙=R(a¯ba)+g 其中 (R˙,p˙,v˙) 是 IMU 坐标系的旋转、位置和速度的一阶导数,g 表示重力矢量,两者均相对于世界固定坐标系表示。我们还定义了偏差 b˙ω=τωb˙a=τa 的随机游走。我们可以使用 SE2(3) 李群中的扩展位姿来表示 IMU 位姿,使得状态为 ξ=[Rpv010001] 并且状态 ξ 的运动学可以使用 SE2(3)​ 的自同构来表示4 (4)ξ˙=(GD)ξ+ξ(UB+D) 其中, U=[ω0a000000],G=[00g000000],D=[000000010],B=[(bω)0ba000000]

假设 ti1 是上一帧图像 Fi1 的预积分开始时间。我们定义 tj 为帧 Fi1 和帧 Fi 之间任意 IMU 测量的时间戳,并让 tj 为其后续 IMU 测量的时间戳,这样小积分时间 δ=tjtj 。设 ξtj 为时间瞬间 tj 的扩展姿态。给定 (4) 并假设 UB 在积分时间 δ 内恒定,则精确积分为 (5)ξtj=exp(δ(GD))ξtjexp(δ(UB+D)) 假设在时间 tjti1 之间有 N 组 IMU 测量值,我们可以得出 (6)ξtj=exp((s=0Nδs)(GD))ξti1s=0Nexp(δs(UsBs+D)) 定义 T=s=0Nδs ,并重新排列 (6) 得到 (7)ξti11exp(T(GD))ξtj=s=0Nexp(δs(UsBs+D)) 左边的指数等于 (8)exp(T(GD))=[I12T2gTg0100T1](8) 代入 (7)(7) 的左侧成分与 5 中方程 (33) 的中间部分完全相同,右侧是我们新推导出的预积分项,其中每个指数都可以展开为 (9)exp(δs(UsBs+D))=[exp(δs(ωsbωs))J2(asbas)J1(asbas)0100δs1] 其中,参考6SO(3) 中雅可比的闭式解, (10)θ=ω~,ω~=ωsbωs(11)J1=δsI+1θ2(1cos(δsθ))ω~+1θ3(δsθsin(δsθ))(ω~)2(12)J2=12δs2I+1θ3(δsθsin(δsθ))ω~+1θ4(12δs2θ2+cos(δsθ)1)(ω~)2 迭代预积分的最终结果为 (13){ΔRtjti=ΔRtjtiexp(δj(ωbωj))Δptjti=Δptjti+δjΔvtjti+ΔRtjtiJ2(ajbaj)Δvtjti=Δvtjti+ΔRtjtiJ1(ajbaj) 请注意,在欧拉积分方案下,雅可比项 J1J2 简化为 J1=δsIJ2=12δs2I

在实际应用中,无噪声项是不可用的,因此用相应的估计值代替,用 ()^ 符号表示。然后,考虑到前一个估计值的不确定性和测量噪声,需要将处理协方差传播问题。误差项定义如下

(14)eij=[(eijΔR),(eijΔp),(eijΔv),(eijbω),(eijba)](15.a)eijΔR=log(ΔRtjtiΔR^tjti)N(0,ΣijR)R3(15.b)eijΔp=Δp^tjtiΔptjtiN(0,Σijp)R3(15.c)eijΔv=Δv^tjtiΔvtjtiN(0,Σijv)R3(15.d)eijΔbω=b^ωjbωjN(0,Σijbω)R3(15.e)eijΔba=b^ajbajN(0,Σijba)R3

由此推导出预积分项演化的矩阵表示

(16)eij=Ajeij+Bjnj

其中,

(17)A=[exp(δj(ω^jb^wj))00δjI0ΔR^tjti(J^2(a^jb^aj))IδjID1ΔR^tjtiJ^2ΔR^tjti(J^1(a^jb^aj))0ID2ΔR^tjtiJ^1000I00000I]B=[δjI000D1ΔR^tjtiJ^200D2ΔR^tjtiJ^10000δjI0000δjI],nj=[nωjnajτωjτaj]

D1=ΔR^tjti(δj2ω^jb^ωj2(((ω^jb^ωj)(a^jb^aj))+(ω^jb^ωj)(a^jb^aj))(18)+2δj2ω^jb^ωj4(((ω^jb^ωj))2(a^jb^aj)(ω^jb^ωj)))(19)D2=ΔR^tjtiω^jb^ωj4δj2(ω^jb^ωj)(a^jb^aj)(ω^jb^ωj)

这里的 ω^a^ 是有偏差、有噪声和内在补偿的 IMU 测量值。

3. 工程实现

根据上文中的公式与推到,易将具有 IMU 固有补偿 (scale-misalignment 模型) 和自同构指数函数的 IMU 预积分公式移植到 VINS 系列开源算法中。个人的代码实现见 LSXiang/VINS-Fusion : This is an extended version of VINS-Fusion and migrates to ROS2, adding RGB-D mode, IMU preintegration in the form of SE2(3), line features and gpu acceleration




Reference


  1. Yifu Wang, Yonhon Ng, Inkyu Sa, Alvaro Parra, Cristian Rodriguez, Tao Jun Lin, Hongdong Li. “MAVIS: Multi-Camera Augmented Visual-Inertial SLAM using SE2(3) Based Exact IMU Pre-integration”. arXiv preprint arXiv:2309.08142 ↩︎ ↩︎

  2. J. Rehder, J. Nikolic, T. Schneider, T. Hinzmann, and R. Siegwart, “Extending kalibr: Calibrating the extrinsics of multiple imus and of individual axes,” in 2016 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2016, pp. 4304–4311. ↩︎

  3. P. Furgale, J. Rehder, and R. Siegwart, “Unified temporal and spatial calibration for multi-sensor systems,” in 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2013, pp. 1280–1286. ↩︎

  4. P. van Goor, T. Hamel, and R. Mahony, “Constructive equivariant observer design for inertial navigation,” arXiv preprint arXiv:2308.11124, 2023. ↩︎

  5. C. Forster, L. Carlone, F. Dellaert, and D. Scaramuzza, “On-manifold preintegration theory for fast and accurate visual-inertial navigation,” IEEE Transactions on Robotics, pp. 1–18, 2015. ↩︎

  6. Nikolay Atanasov: Sensing & Estimation in Robotics Lecture 12: SO(3) and SE(3) Geometry and Kinematics ↩︎