# UKF局部更新后协方差不再正定

> 原文链接：https://robotics.hellobike.com/pitfalls/2013-11-01-robotics-se-2000
> 频道：pitfalls | 更新日期：2013-11-01 | 标签：auto, stackexchange, kalman-filter
> 核心摘要：UKF只更新协方差子矩阵会破坏正定性，应使用完整协方差和完整雅可比进行测量更新。

# UKF局部更新后协方差不再正定

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Maintaining positive-definite property for covariance in an unscented Kalman filter update](https://robotics.stackexchange.com/questions/2000/maintaining-positive-definite-property-for-covariance-in-an-unscented-kalman-fil)（Robotics Stack Exchange #2000）

**状态**：已解决

## 问题

12维机器人状态的UKF在按传感器测量拆出协方差子矩阵更新后，协方差矩阵逐渐失去正定性，传入Cholesky分解时报非正定。

## 环境

状态估计 / EKF 滤波器

## 解决办法

1. 不要只抽取协方差子矩阵做测量更新；除非能确定相关状态条件独立，否则必须更新完整协方差矩阵。
2. 构造覆盖全部状态变量的完整雅可比矩阵，未被当前测量涉及的状态对应元素填0，让矩阵求逆传播创新修正。
3. 理论更新修正后，可在每次更新后令`P <- 1/2 P + 1/2 P^T`保持对称。
4. 必要时再令`P <- P + εI`，用很小的`ε`避免下溢和条件数恶化。

原问题作者：automatom；采纳答案作者：Josh Vander Hook。原内容依 CC BY-SA 4.0 授权，本页摘要同样依 CC BY-SA 4.0 授权。
:::

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #2000：Maintaining positive-definite property for covariance in an unscented Kalman filter update](https://robotics.stackexchange.com/questions/2000/maintaining-positive-definite-property-for-covariance-in-an-unscented-kalman-fil)