什么是 误差状态卡尔曼滤波(Error-State Kalman Filter)?
误差状态卡尔曼滤波(Error-State Kalman Filter)是一种扩展卡尔曼滤波形式:用非线性模型传播名义状态,同时估计局部误差状态及其协方差。
快速了解
| 规范文档 | 官方规范 |
|---|
工作原理
一致地传播名义状态与局部误差
名义状态遵循完整非线性运动学,误差均值与协方差则使用 delta_x_(k+1) = F_k delta_x_k + G_k w_k 等线性化动力学。位置和速度误差可采用加法,姿态通常采用从左侧或右侧复合的小旋转。所有 Jacobian、噪声映射和残差都必须遵循同一约定。
Solà 的 ESKF 推导区分真实状态、名义状态与误差状态,并给出局部和全局角误差下的 IMU 传播。该构造让扰动保持较小,却不会把较大的初始误差自动变成局部线性问题。
注入校正后变换并重置协方差
量测更新先估计误差 delta_x_hat。实现随后把校正复合到名义状态,将保存的误差均值重置为零,并用重置 Jacobian 把协方差变换到新的切空间。只把误差向量清零、却让协方差停留在旧坐标中,会造成滤波不一致,有限姿态校正时尤其明显。
符号、乘法顺序、四元数排列、坐标系方向和角度归一化都是算法公开契约。左扰动与右扰动都可以成立,但两者的 Jacobian 和注入公式不能混用。
验证可观测性、离散化与统计一致性
Hager 与 Bryne 的全球导航对比表明,经典与不变 ESKF 在坐标、误差定义和轨迹依赖性上不同。因此 ESKF 不会自动成为 Invariant EKF,Multiplicative EKF 也是专门的姿态误差构造,而不是所有误差状态滤波器的同义词。
应测试静止、恒定转速、偏置、坐标变换、延迟量测和大初始误差场景;报告 Innovation 白噪声性、NIS、有真值时的 NEES、协方差特征值、重置行为和积分步长敏感性。轨迹 RMSE 较低但协方差过度自信,仍属于估计失败。
主要特点
- 把非线性名义轨迹与局部线性误差状态分开
- 以最小切空间表示姿态扰动
- 量测更新后把估计误差注入名义状态
- 切空间改变后必须执行协方差重置变换
- 支持高频惯性传播与低频辅助量测融合
- 仍受线性化、噪声、坐标系和可观测性约束
常见用途
- GNSS 与 IMU 组合导航
- 视觉惯性与激光惯性里程计
- 机器人位姿、速度和传感器偏置估计
- 绝对定位间歇可用时的飞行器或水下导航
- 包含流形姿态的嵌入式状态估计
示例
Loading code...常见问题
误差状态卡尔曼滤波与普通 EKF 有什么区别?
普通 EKF 可以直接估计完整状态;ESKF 传播非线性名义状态,并把 Gaussian 估计放在它周围的局部误差上。校正后,ESKF 会注入误差并重置局部坐标。两者本质上仍是一阶 Gaussian 近似。
ESKF 为什么要重置误差状态?
估计扰动复合进名义状态后,如果继续保留相同非零误差,就会重复计算本次校正。重置会重新居中局部坐标,重置 Jacobian 则把协方差正确搬到新的切空间。
ESKF 一定比 EKF 更准确吗?
不一定。较小的局部误差和正确的流形复合可以改善线性化与表示,但精度仍取决于初始化、可观测性、动力学、噪声、时间同步、离散化和 Jacobian。应在同一模型与测试协议下比较。
误差状态卡尔曼滤波与不变 EKF 相同吗?
不同。两者都可使用局部误差,但不变 EKF 选择左不变或右不变群误差,并且只有兼容的 Group-Affine 系统才具备特殊自主或 Log-Linear 性质;经典 ESKF 仍可能依赖轨迹。
ESKF 实现应测试哪些内容?
应测试坐标系与单位约定、静止和恒定运动、偏置恢复、有限姿态注入、重置协方差、缺失与延迟量测、大初始误差、Innovation 统计、NEES、协方差正定性以及积分间隔敏感性。