2016-11-14 79 views
1

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

回答

1

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

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

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

EKF近似的主要问题是,当我们使用近似来更新测量步骤后的分布时,它倾向于使得到的协方差P太低。它的行为就像线性方式的“工作”一样。实际更新将略微偏离线性逼近,不太好。这些少量的过度自信随着KF迭代而增加,并且必须通过向Q添加一些虚构的过程噪声来抵消。