什么是 不变扩展卡尔曼滤波(Invariant Extended Kalman Filter)?
不变扩展卡尔曼滤波(Invariant Extended Kalman Filter)是一种在 Lie Group 上定义估计误差,并利用 Group-Affine 动力学简化误差传播的对称性感知状态估计器。
快速了解
| 规范文档 | 官方规范 |
|---|
工作原理
通过群乘法定义估计误差
对群状态 X 与估计 X_hat,右不变误差可以写成 X X_hat^-1,左不变误差可以写成 X_hat^-1 X。对数映射把局部群误差转换到 Lie Algebra 坐标,协方差就在该切空间中表示;预测则通过群增量与估计做 Composition,而不是直接相加全局坐标。
左右不变约定会改变 Jacobian、Adjoint 映射、噪声注入和量测残差。混用两套公式可能得到可编译的代码,却让协方差落在错误切空间坐标中。
利用 Group-Affine 误差动力学
Barrau 与 Bonnabel 的稳定性分析给出一类不变误差自主、误差对数满足精确线性微分方程的系统。它减少误差传播对估计轨迹的依赖,并为局部稳定性提供比通用 EKF 更强的分析基础。
该结论有明确条件,并不普遍成立。Bias Augmentation、标定状态、时变重力、接触切换或任意观测函数都可能破坏严格 Group-Affine 结构,或要求构造更大的群并重新推导不变量测。
验证几何、可观测性与一致性
GTSAM 的 EKF Variants 文档明确区分 Manifold、Lie Group 与 Invariant Filter,并展示不同预测契约。这一点很关键:Retract-Based EKF 可以保持状态位于流形上,却不一定具有与状态无关的不变误差动力学。
应测试图表边界附近的 Exp/Log、Adjoint 与 Jacobian 恒等式、左右残差符号、噪声坐标和协方差传输;再用 Monte Carlo NEES、创新统计、不可观方向和大初值误差测试一致性。在一个导航模型上更稳定,不代表能直接迁移到另一个群或传感器模型。
主要特点
- 在 Lie Group 上表示状态,并在切空间中表示不确定性
- 通过群乘法定义左不变或右不变估计误差
- 对 Group-Affine 系统可获得与状态无关的误差动力学
- 显式使用指数、对数、伴随与 Retract 运算
- 要求量测和噪声模型与选定不变坐标一致
- 不同于普通 Manifold EKF,也不同于迭代 EKF
常见用途
- 包含旋转、速度与位置状态的惯性导航
- SE(2) 或 SE(3) 上的机器人位姿估计
- 足式机器人接触辅助状态估计
- 使用对称误差坐标的 SLAM 方案
- 大姿态或位姿初值误差下的一致性研究
示例
Loading code...常见问题
不变 EKF 与标准 EKF 有什么区别?
标准 EKF 通常直接相减坐标,并围绕估计轨迹线性化动力学;InEKF 通过 Lie Group 乘法定义误差。对 Group-Affine 动力学,它的不变误差可以不依赖估计轨迹演化。
InEKF 与 Iterated EKF 是同一种方法吗?
不是。InEKF 利用状态空间对称性和 Lie Group 误差坐标;Iterated EKF 反复重线性化一次非线性量测更新。两者都可能缩写为 IEKF,因此实现中应写完整名称或使用 InEKF 区分。
使用 Quaternion 就能让 EKF 具有不变性吗?
不能。Quaternion 避免了 Euler Angle 的局部奇异图表,但不变性还取决于群误差、Group-Affine 系统结构、协方差坐标、噪声注入和量测模型。只做 Quaternion Normalize 并不充分。
应选择左不变误差还是右不变误差?
需要根据动力学、量测对称性、坐标系约定,以及哪种误差能得到更简单或自主的动力学决定。该选择会改变残差、Adjoint、Jacobian 与协方差解释,不能随意混用。
如何测试 InEKF?
应验证群运算恒等式和有限差分 Jacobian,测试坐标系变换与分支边界,运行 Monte Carlo 一致性指标,检查不可观方向,并在相同模型、数据、初值和调参下与标准 Manifold EKF 比较。