线性卡尔曼滤波器

当您使用卡尔曼滤波器跟踪对象时,您使用一系列的检测或测量来构建对象运动的模型。物体的运动是由物体状态的演变来定义的。卡尔曼滤波是一种估计目标轨迹的递归优化算法。过滤器是递归的,因为它使用前一个状态更新当前状态,使用可能在间隔期间进行的测量。一个卡尔曼滤波器合并这些新的测量数据,以保持状态估计尽可能准确。该滤波器是最优的,因为它最小化了状态的均方误差。您可以使用筛选器来预测未来状态或估计当前状态或过去状态。

状态方程

对于自动驾驶工具箱™中跟踪的大多数类型的对象,状态向量由一个、两个或三维位置和速度组成。

用牛顿方程开始的对象在运动x将这些方程转换成空间态形式。

x ¨ = f x ¨ = f = 一个

如果你把状态定义为

x 1 = x x 2 = x ˙ ,

你可以写牛顿的状态空间形式的法律。

d d t ( x 1 x 2 ] = ( 0 1 0 0 ] ( x 1 x 2 ] + ( 0 1 ] 一个

当您确信对象遵循这种类型的运动时,就可以使用线性动态模型。有时模型包括过程噪声在运动模型中反映不确定性。在这种情况下,牛顿方程有一个附加项。

d d t ( x 1 x 2 ] = ( 0 1 0 0 ] ( x 1 x 2 ] + ( 0 1 ] 一个 + ( 0 1 ] v k

vk是加速度的未知噪声扰动。只有噪声的统计数据是已知的。它被认为是零均值高斯白噪声。

可以将这种类型的方程扩展到多个维度。在二维中,方程有这种形式

d d t ( x 1 x 2 y 1 y 2 ] = ( 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 ] ( x 1 x 2 y 1 y 2 ] + ( 0 一个 x 0 一个 y ] + ( 0 v x 0 v y ]

右侧的4×4矩阵是状态转移模型矩阵。对于独立x -Y-运动,这个矩阵是块对角的。

当你转换到离散时间,你在时间间隔的长度上积分运动方程。在离散形式下,对于一个采样区间T中,状态表示变

( x 1 , k + 1 x 2 , k + 1 ] = ( 1 T 0 1 ] ( x 1 , k x 2 , k ] + ( 0 T ] 一个 + ( 0 1 ] v

数量xK + 1是在离散的时间的状态K + 1xk在较早的离散时间的状态,k。如果包含噪声,方程会变得更复杂,因为噪声的积分并不简单。

状态方程可以推广到

x k + 1 = F k x k + G k u k + v k

Fk是状态转移矩阵和Gk为控制矩阵。控制矩阵考虑作用在物体上的任何已知力。这两个矩阵都给出了。最后一项表示动态模型的类噪声随机扰动。假设噪声为零均值高斯白噪声。

用线性随机微分方程描述了具有输入噪声的连续时间系统。用线性随机微分方程描述了具有输入噪声的离散时间系统。状态空间表示是物理系统的数学模型,其中输入、输出和状态变量由一阶耦合方程关联。

计量模型

测量你观察你的系统是什么。测量取决于状态向量,但并不总是一样的状态向量。例如,在雷达系统中,测量可以是球面坐标诸如距离,方位和高程,而状态向量是笛卡尔位置和速度。对于线性卡尔曼滤波器,测量总是状态向量的线性函数,排除球形坐标。要使用球面坐标,使用扩展卡尔曼滤波。

测量模型假定在任何时间的实际测量是通过与所述当前状态

z k = H k x k + w k

wk表示当前时间步长的测量噪声。测量噪声也是具有协方差矩阵的零均值高斯白噪声所描述的k= E [NknkT]

线性卡尔曼滤波的方程

无噪音,动态方程

x k + 1 = F k x k + G k u k

同样地,测量模型没有测量噪声的贡献。在每个实例中,过程和测量噪声是未知的。只有噪声统计是已知的。该

z k = H k x k

你可以把这些方程为递归循环来估计状态演变以及如何在不确定性的状态组件如何演变。

过滤循环

先从状态的最佳估计,x0/0,国家协方差,P0/0。过滤器在一个连续的循环中执行这些步骤。

  1. 使用运动方程将状态传播到下一个步骤。

    x k + 1 | k = F k x k | k + G k u k

    传播协方差矩阵为好。

    P k + 1 | k = F k P k | k F k T + k

    下标符号K + 1 | K表明,该数量为最优估计值K + 1从step传播的stepk。这个估计通常被称为先验估计。

    然后在预测更新的时间测量。

    z k + 1 | k = H k + 1 x k + 1 | k

  2. 使用实际测量和预测的测量值之间的差异在更新的时间来纠正状态。矫正需要计算卡尔曼增益。要做到这一点,首先计算测量预测协方差(创新)

    年代 k + 1 = H k + 1 P k + 1 | k H k + 1 T + R k + 1

    然后卡尔曼增益

    K k + 1 = P k + 1 | k H k + 1 T 年代 k + 1 1

    并且从使用最优性条件的。

  3. 用测量法修正预测的估计值。假设估计值是预测状态和测量值的线性组合。修正后的估计值使用下标符号,K + 1 | K + 1。计算从

    x k + 1 | k + 1 = x k + 1 | k + K k + 1 ( z k + 1 z k + 1 | k )

    在哪里KK + 1是卡尔曼增益。修正状态通常被称为后验因为包含在测量之后它源自的状态的估计。

    更正状态协方差矩阵

    P k + 1 | k + 1 = P k + 1 | k K k + 1 年代 k + 1 K k + 1

    最后,可以根据修正后的状态计算度量。这不是对测量的修正,而是基于对状态的最佳估计而对测量结果的最佳估计。将其与实际测量结果进行比较,您就可以了解过滤器的性能。

该图总结了卡尔曼循环操作。

恒定的速度模型

线性卡尔曼滤波器包含一个内建的恒速线性运动模型。或者,您可以指定线性运动的转换矩阵。下一个时间步的状态更新是当前状态的一个线性函数。在这个滤波器中,测量值也是由测量矩阵描述的状态的线性函数。对于在三维空间中运动的物体,其状态由其在空间中的位置和速度来描述x- , -y- - - - - -,z坐标 - 。用于等速运动状态转移模型是

( x k + 1 v x , k + 1 y k + 1 v y , k + 1 z k + 1 v z , k + 1 ] = ( 1 T 0 0 0 0 0 1 0 0 0 0 0 0 1 T 0 0 0 0 0 1 0 0 0 0 0 0 1 T 0 0 0 0 0 1 ] ( x k v x , k y k v y , k z k v z , k ]

测量模型是状态矢量的线性函数。最简单的情况是,测量是状态的位置分量。

( x , k y , k z , k ] = ( 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ] ( x k v x , k y k v y , k z k v z , k ]

恒定加速度模型

线性卡尔曼滤波器包含一个内置的线性恒定加速度运动模型。可替换地,可以指定用于恒定加速度直线运动的转换矩阵。线性加速度的过渡模式是

( x k + 1 v x , k + 1 一个 x , k + 1 y k + 1 v y , k + 1 一个 y , k + 1 z k + 1 v z , k + 1 一个 z , k + 1 ] = ( 1 T 1 2 T 2 0 0 0 0 0 0 0 1 T 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 T 1 2 T 2 0 0 0 0 0 0 0 1 T 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 T 1 2 T 2 0 0 0 0 0 0 0 1 T 0 0 0 0 0 0 0 0 1 ] ( x k v x , k 一个 x , k y k v y , k 一个 y , k z k v z , k 一个 z , k ]

最简单的情况是,测量是状态的位置分量。

( x , k y , k z , k ] = ( 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ] ( x k v x , k 一个 x , k y k v y , k 一个 y , k z k v z , k 一个 y , k ]

另请参阅

对象