# EKF-SLAM如何只沿地标垂直方向收缩协方差

> 原文链接：https://robotics.hellobike.com/pitfalls/2015-10-12-robotics-se-8202
> 频道：pitfalls | 更新日期：2015-10-12 | 标签：auto, stackexchange, mobile-robot, slam, kalman-filter, ekf
> 核心摘要：在EKF-SLAM中先做常规更新，再用新旧协方差椭圆的平行/垂直轴重建近似协方差。

# EKF-SLAM如何只沿地标垂直方向收缩协方差

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[EKF-SLAM: Shrink covariance matrix on one direction](https://robotics.stackexchange.com/questions/8202/ekf-slam-shrink-covariance-matrix-on-one-direction)（Robotics Stack Exchange #8202）

**状态**：有绕过办法

## 问题

移动机器人EKF-SLAM检测到具有方向的地标时，希望位置估计只沿地标垂直方向修正，并让协方差也只在该方向收缩。

## 环境

SLAM 建图与定位系统 · 状态估计 / EKF 滤波器

## 解决办法

1. 保存先验协方差为`P_old`。
2. 执行常规未限制方向的EKF更新，保存更新后协方差为`P_new`。
3. 给定地标方向`d`，计算`P_old`对应协方差椭圆各轴在方向`d`上的平行分量，选择长度最大的分量为`a_par`。
4. 计算`P_new`对应协方差椭圆各轴在方向`d`的垂直方向上的分量，选择长度最大的分量为`a_perp`。
5. 用`a_par`和`a_perp`重建修正后的协方差椭圆，并将其协方差矩阵保存为`P`；该方法为近似，但提问者表示效果较好。

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

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #8202：EKF-SLAM: Shrink covariance matrix on one direction](https://robotics.stackexchange.com/questions/8202/ekf-slam-shrink-covariance-matrix-on-one-direction)