[关闭]
@kokerf 2017-11-16T03:30:43.000000Z 字数 10200 阅读 1446

Kalman Filter

算法

这是一篇卡尔曼滤波器的笔记。在后文中对卡尔曼滤波器进行简单介绍,重点放在证明推导上。

首先给出卡尔曼滤波器的五个关键方程:


前两个为计算预测的置信度。称为卡尔曼增益。这里的是状态变量的先验估计(预测)值,而是后验估计值。是状态变量先验误差的协方差,是后验误差协方差。这五个方程中的前两个是预测步骤,后三个是测量更新步骤。

1. 假设

卡尔曼滤波器对系统的状态进行预测和矫正,首先我们需要给出系统的模型以及其观测模型。卡尔曼滤波器假设被估计的系统是线性动态系统。这个系统会受到噪声的影响,而这些噪声假设都是独立的零均值的高斯白噪声。

1.1 系统模型

系统模型描述系统真实状态是如何随时间转移的。卡尔曼滤波器通过系统模型去预测下一时刻的状态。这里给出线性系统的模型如下:


系统在时刻的真实状态取决于上一时刻的状态,系统的控制输入以及噪声。为了简化,这里的控制输入可以省略,并不影响卡尔曼滤波的过程。

1.2 观测模型

观测模型描述了测量变量和系统状态之间的关系。卡尔曼滤波器通过观测模型去矫正预测的状态。


实际的测量取决于时刻的系统状态。矩阵描述了在没有噪声影响下(传感器)测量和系统实际状态之间的关系。而实际情况往往会有噪声的存在,这里用表示。

1.3 噪声模型

在系统模型和观测模型中都会受到噪声的影响。这里的噪声假设都是独立的零均值的高斯白噪声。这里的随机变量服从:


它们的协方差也就是随机变量的二阶矩:

2. 测量更新过程

卡尔曼增益是卡尔曼滤波器中十分关键的一个参数矩阵。假设我们已经有测量更新方程如下:


在已有预测(先验)值的情况下,用新的测量值对预测进行矫正。这里我们需要求出增益矩阵。我们期望估计得到的系统状态和实际的状态之间的误差越小越好,估计的后验误差为:

我们给出优化方程为最小化后验估计误差的期望

把状态更新方程和测量方程代入有:

我们可以计算后验误差的协方差矩阵:

由于观测误差和状态变量是相互独立的,所以他们联合分布的期望都为,即有

后验误差的协方差矩阵可以展开为:

这里可以看到,后验估计误差协方差矩阵的迹就等于后验估计误差的均方误差,也就是

这里等同于找到一个使得的迹最小。为计算得到,把优化方程对做一阶偏导数,取偏导值为位置处的就是我们所求的最优的解。

对其迹求一阶偏导有:


这里涉及对矩阵的迹求偏导,可以参考The Matrix Cookbook。这里用到的矩阵迹的偏导公式有:

考虑都是对称阵,从而有:

令式子,解得卡尔曼增益:

代入得:

也就是卡尔曼滤波中的误差协方差更新方程:

3. 预测过程

上一部分已经对对测量更新(矫正)部分的三个公式进行了推导。接下来我们看预测过程的两个公式。

首先我们看状态转移方程


当我们知道前一时刻的状态,可以推算得到当前时刻的状态。我们计算当前状态的期望:

以及协方差:

计算协方差的时候,由于系统状态和误差是不相关的,所以他们联合分布的期望都是,这里直接略去了。这里计算的是预测的置信度,也就有卡尔曼滤波器中预测步骤的两个公式

4. 误差分析

我们有先验误差

\begin{equation}
\mathbf{\check e}_k \equiv \mathbf{\check x}_k - \mathbf x_k\label{eq:error_prior}
\end{equation}

以及中的后验误差

代入,把代入,有:


,所以只要,则对就有。也就是说假设初始状态的后验估计是真值,那么卡尔曼滤波之后的步骤就都是无偏的。

我们计算误差向量的二阶距,也就是得到误差的协方差:


假设,有

由于系统误差、观测误差和状态变量是相互独立的,所以他们联合分布的期望都为,上述两式就给出了卡尔曼滤波器中的误差预测方程以及误差更新方程:

这里需要注意的是卡尔曼滤波的初值。如给给的初值和真值一致,那么系统观测误差就是无偏的,也就算滤波稳定的。但是这样的初值很难得到。如果系统是一致完全可控和一致完全可观的话,那么卡尔曼滤波就是一致渐进稳定的,也就是说这种情况下随意选取的初值不会影响最终的估计值。


Reference

  1. Tutorial: The kalman filter
  2. An Introduction to the Kalman Filter
  3. Understanding the basis of the kalman filter via a simple and intuitive derivation
  4. State Estimation for Robotics
  5. Robot Localization and Kalman Filters
  6. The Matrix Cookbook
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注