# 卡尔曼滤波冗余传感器更新结果异常

> 原文链接：https://robotics.hellobike.com/pitfalls/2016-05-31-robotics-se-9953
> 频道：pitfalls | 更新日期：2016-05-31 | 标签：auto, stackexchange, kalman-filter
> 核心摘要：将两个位置传感器观测矩阵纵向拼接后结果异常，原因是 HH^T 计算写错，应使用正确矩阵。

# 卡尔曼滤波冗余传感器更新结果异常

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[kalman filter with redundant sensors](https://robotics.stackexchange.com/questions/9953/kalman-filter-with-redundant-sensors)（Robotics Stack Exchange #9953）

**状态**：已解决

## 问题

提问者将两个 3D 位置传感器的观测矩阵纵向拼接为 `H`，计算 `S_k = R + HP_{k|k-1}H^T` 后认为创新交叉相关异常，增益矩阵出现换行等怪现象，静态系统常量测量下状态从 `[1,0,0]` 变成 `[0,0,1]`。

## 环境

一个机器人，两个基于不同物理原理的 3D 位置传感器；静态系统 `A = I_3`，`B = [0]`。

## 解决办法

1. 不要按原文中的错误结果使用 `HH^T`。
2. 重新计算 `HH^T`，正确结果的非零交叉项应对应两个传感器的相同坐标：第 1 与第 4、 第 2 与第 5、 第 3 与第 6 个量测相关。
3. 按正确的 `HH^T` 继续计算 `S_k` 和 `K`，该结果与提问者对冗余同坐标传感器的直觉一致。

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

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #9953：kalman filter with redundant sensors](https://robotics.stackexchange.com/questions/9953/kalman-filter-with-redundant-sensors)