我知道这是一个非常基本的问题,但我想知道为什么我们要在 EKF-SLAM 中计算雅可比矩阵,我已经非常努力地理解这一点,它不会那么难,但我想知道它。我想知道是否有人可以帮助我解决这个问题。
问问题
302 次
1 回答
3
卡尔曼滤波器在线性系统上运行。这些步骤并行更新两个部分:状态x
和误差协方差P
。在线性系统中,我们预测下x
一个Fx
。事实证明,您可以计算Fx
as的精确协方差FPF^T
。在非线性系统中,我们可以更新x
为f(x)
,但我们如何更新P
?有两种流行的方法:
- 在 EKF 中,我们选择
f()
at的线性近似x
,然后使用通常的方法FPF^T
。 - 在 UKF 中,我们构建了
x
具有协方差的分布的近似值P
。近似值是一组称为sigma 点的点。然后我们通过我们的真实传播这些状态f(sigma_point)
,我们测量结果分布的方差。
您关心的是 EKF(案例 1)。什么是函数的良好线性逼近?如果你放大曲线,它开始看起来像一条直线,斜率是函数在该点的导数。如果这听起来很奇怪,看看泰勒级数。多变量等价称为雅可比行列式。所以我们评估f()
at的 Jacobian 矩阵x
来给我们一个F
. 现在Fx != f(x)
,但只要我们所做的更改x
很小(足够小以至于我们的近似值F
从之前到之后不会有太大变化)就可以了。
EKF 近似的主要问题是,当我们在测量步骤之后使用近似来更新分布时,它往往会使得到的协方差P
过低。它就像以线性方式“工作”的校正一样。实际的更新将与线性近似略有不同,并且不是那么好。这些少量的过度自信随着 KF 的迭代而建立,必须通过添加一些虚构的过程噪声来抵消Q
。
于 2017-01-15T06:59:21.617 回答