【问题标题】:Why calculate jacobians in ekf-slam为什么在 ekf-slam 中计算雅可比
【发布时间】:2016-11-14 08:01:05
【问题描述】:

我知道这是一个非常基本的问题,但我想知道为什么我们要在 EKF-SLAM 中计算雅可比矩阵,我已经非常努力地理解这一点,这不会那么难,但我想知道它。我想知道是否有人可以帮助我。

【问题讨论】:

    标签: robotics kalman-filter slam


    【解决方案1】:

    卡尔曼滤波器在线性系统上运行。这些步骤并行更新两个部分:状态x 和误差协方差P。在线性系统中,我们通过Fx 预测下一个x。事实证明,您可以将Fx 的精确协方差计算为FPF^T。在非线性系统中,我们可以将x 更新为f(x),但是我们如何更新P?有两种流行的方法:

    1. 在EKF中,我们在x处选择f()的线性近似,然后使用常用的方法FPF^T
    2. 在 UKF 中,我们构建了 x 与协方差 P 的分布的近似值。近似值是一组称为 sigma points 的点。然后我们通过真实的f(sigma_point) 传播这些状态,并测量结果分布的方差。

    您关心的是 EKF(案例 1)。什么是函数的良好线性逼近?如果你放大曲线,它开始看起来像一条直线,斜率是函数在该点的导数。如果这听起来很奇怪,请查看Taylor series。多变量等价称为雅可比行列式。所以我们在x 处评估f() 的雅可比矩阵,得到F。现在是Fx != f(x),但只要我们对x 所做的更改很小(足够小到我们近似的F 在前后不会有太大变化)就可以了。

    EKF 近似的主要问题是,当我们在测量步骤之后使用近似来更新分布时,它往往会使得到的协方差P 过低。它就像以线性方式“工作”的校正一样。实际的更新将与线性近似略有不同,并且不是那么好。这些少量的过度自信随着 KF 的迭代而累积,必须通过向Q 添加一些虚构的过程噪音来抵消。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-24
      • 1970-01-01
      • 2020-07-14
      • 2018-02-07
      • 1970-01-01
      • 2020-12-28
      相关资源
      最近更新 更多