0. MSCKF中的 零空间的作用是什么
一句话描述:MSCKF中,视觉残差(如特征点重投影误差)的雅可比矩阵会被投影到其零空间的正交补空间上,更新仅作用于可观测部分,抑制了零空间中的虚假修正。
在MSCKF(Multi-State Constraint Kalman Filter)中,零空间(null space)的核心作用是维持系统可观测性,通过数学手段消除状态估计中因运动或观测不足导致的不可观测维度的影响,从而提升滤波器的鲁棒性和估计精度。以下是具体解析:
1. 可观测性问题与零空间的关联
• 问题背景:在VIO(视觉惯性里程计)中,IMU和视觉的联合估计存在某些不可观测的状态(如绝对位置和全局航向)。这些状态在滤波器更新时可能导致信息矩阵的秩亏缺,进而引入虚假信息(spurious information),破坏估计的一致性。
• 零空间的作用:零空间对应系统不可观测的方向(如3D平移和绕重力轴的旋转)。MSCKF通过显式投影到这些方向的补空间,避免在更新步骤中引入虚假信息。
2. MSCKF中的具体实现
• 观测模型投影:在MSCKF中,视觉残差(如特征点重投影误差)的雅可比矩阵会被投影到其零空间的正交补空间上。数学上,通过构造一个投影矩阵
P
\mathbf{P}
P(通常基于QR分解或SVD),将残差
r
\mathbf{r}
r和雅可比
H
\mathbf{H}
H 投影为:
r
null
=
P
T
r
,
H
null
=
P
T
H
\mathbf{r}_{\text{null}} = \mathbf{P}^T \mathbf{r}, \quad \mathbf{H}_{\text{null}} = \mathbf{P}^T \mathbf{H}
rnull=PTr,Hnull=PTH
这样,更新仅作用于可观测部分,抑制了零空间中的虚假修正。
• FEJ(First Estimate Jacobian)的配合:MSCKF结合FEJ技术,固定线性化点以避免不同状态估计间的雅可比不一致性,进一步保证零空间投影的有效性。
3. 为什么需要零空间投影?
• 防止信息冗余:IMU预积分和视觉观测可能对同一状态(如位姿)提供重复约束,零空间投影避免双重计数。
• 保持一致性:未投影的更新可能导致滤波器过度自信(协方差过小),零空间投影确保协方差与真实不确定性匹配。
• 应对退化运动:在缺乏激励(如匀速运动)时,某些维度不可观测,零空间投影可自适应地忽略这些方向。
4. 对比其他方法
• 与优化方法的区别:基于优化的VIO(如VINS-Mono)通过边缘化隐式处理不可观测性,而MSCKF通过零空间投影显式控制。
• 与OC-KF的关系:Observability-Constrained KF(如OKVIS)同样修正雅可比,但MSCKF的投影更侧重数值稳定性。
5. 实例说明
• 场景:无人机悬停时,平移不可观测但滤波器可能因噪声误修正位置。零空间投影会阻止平移方向的更新,仅更新可观测的姿态和速度。
总结来说,MSCKF中的零空间投影是通过线性代数手段剥离不可观测维度,确保滤波器仅在可观测子空间中操作,从而提升SLAM系统的理论一致性和实际精度。这一技术是MSCKF区别于传统EKF的关键创新之一。