资讯详情

我所理解的卡尔曼滤波——公式推导与应用

卡尔曼滤波-公式推导与应用

  • 1.什么是卡尔曼滤波器
  • 2.卡尔曼滤波的数学推导
    • 2.1 状态方程和测量方程
    • 2.2 卡尔曼滤波过程
  • 3 卡尔曼滤波器应用

1.什么是卡尔曼滤波器?

以卡尔曼滤波为例。

如果有一个小机器人可以在草地上自由移动。为了实现导航,机器人需要知道自己在哪里。那么这个小机器人怎么知道自己在哪里呢?有两种方法:

  1. 运动学计算是根据起始位置和自身运动来获取自己的位置信息的。
  2. 根据自己携带的传感器测量自己的位置信息,如GPS。

所以,现在有一个问题。无论是根据运动计算还是使用传感器信息,位置信息都不可避免地存在误差。机器人应该相信哪些数据?是的,或者,如何根据这两个数据来确定自己的位置?最简单的方法是取平均值,但这种方法合理吗?为什么每个项目的重量都是0.5.显然这种方法不合适。

既然取平均值的方式不合理,该怎么办?卡尔曼滤波器解决了这个问题!

2.卡尔曼滤波器的数学推导

2.1 状态方程和测量方程

首先假设我们知道线性系统为 (1) x k = A x k ? 1 B u k ? 1 w k ? 1 x_k = Ax_{k-1} Bu_{k-1} w_{k-1} \tag{1} xk=Axk?1 Buk?1 wk 1​(1) 其中 x x x 是系统的状态向量,大小为n*1列。 A A A为转换矩阵,大小为 n ∗ n n*n n∗n。 u u u为系统输入,大小为 k ∗ 1 k*1 k∗1。 B B B是将输入转换为状态的矩阵,大小为 n ∗ k n*k n∗k。随机变量 w w w为系统噪声。

这里说句题外话,什么是状态方程?说的通俗一点,就是。根据上一时刻的状态及控制量来预测当前时刻的状态,当然,这个过程中不可避免的存在误差。

系统的为 (2) z k = H x k + v k z_k=Hx_k+v_k\tag{2} zk​=Hxk​+vk​(2) z z z是测量值,大小为 m ∗ 1 m*1 m∗1, H H H也是状态变量到测量的转换矩阵。大小为 m ∗ n m*n m∗n。随机变量 v v v是测量噪声。

那什么又是测量方程呢?就是根据此刻的状态量及噪声得到的测量值的过程。另一方面测量方程也表明,测量值是由我们的状态值确定的。

对于状态方程中的系统噪声 w w w和测量噪声 v v v,假设服从如下多元高斯分布,并且 w w w, v v v是相互独立的。其中 Q Q Q, R R R为噪声变量的协方差矩阵。 在这里插入图片描述

2.2 卡尔曼滤波过程

在此,我们设 x k ^ ′ \hat{x_k}' xk​^​′为预测值()、 x k ^ \hat{x_k} xk​^​为估计值(即)、 z k ^ \hat{z_k} zk​^​是测量值的预测(即,)。则三者的关系为 (3) x k ^ = x k ^ ′ + K ( z k − z k ^ ) = x k ^ ′ + K ( z k − H x k ^ ′ ) \hat{x_k} = \hat{x_k}'+K(z_k-\hat{z_k})=\hat{x_k}'+K(z_k-H\hat{x_k}') \tag{3} xk​^​=xk​^​′+K(zk​−zk​^​)=xk​^​′+K(zk​−Hxk​^​′)(3)

其中, ( z k − H x k ^ ′ ) (z_k-H\hat{x_k}') (zk​−Hxk​^​′)称之为残差,也就是预测的和你实际测量值之间的差距。如果这项等于0,说明预测和测量出的完全吻合。

这个公式说明什么呢?他的意思就是

从这个公式可以看出,。还有一个问题就是系数 K K K的确定。

××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

首先来看一下之间协方差 (4) P K = E ( e k e k T ) = E [ ( x k − x k ^ ) ( x k − x k ^ ) T ] P_K = E(e_ke_k^T) = E[(x_k-\hat{x_k})(x_k-\hat{x_k})^T] \tag{4} PK​=E(ek​ekT​)=E[(xk​−xk​^​)(xk​−xk​^​)T](4) 将公式3中的估计值带入可得 (5) P K = E [ ( x k − x k ^ ′ − K ( z k − z k ^ ) ) ( x k − x k ^ ′ − K ( z k − z k ^ ) ) T ] = E [ ( x k − x k ^ ′ − K ( H x k + v k − H x k ^ ′ ) ) ( x k − x k ^ ′ − K ( H x k + v k − H x k ^ ′ ) ) T ] = E [ ( ( I − K H ) x k − x k ^ ′ − K v k + K H x k ^ ′ ) ( ( I − K H ) x k − x k ^ ′ − K v k + K H x k ^ ′ ) T ] = E [ ( ( I − K H ) ( x k − x k ^ ′ ) − K v k ) ( ( I − K H ) ( x k − x k ^ ′ ) − K v k ) T ] P_K = E[(x_k-\hat{x_k}'-K(z_k-\hat{z_k}))(x_k-\hat{x_k}'-K(z_k-\hat{z_k}))^T] \\ = E[(x_k-\hat{x_k}'-K(Hx_k+v_k-H\hat{x_k}'))(x_k-\hat{x_k}'-K(Hx_k+v_k-H\hat{x_k}'))^T] \\ = E[((I-KH)x_k-\hat{x_k}'-Kv_k+KH\hat{x_k}')((I-KH)x_k-\hat{x_k}'-Kv_k+KH\hat{x_k}')^T] \\ = E[((I-KH)(x_k-\hat{x_k}')-Kv_k)((I-KH)(x_k-\hat{x_k}')-Kv_k)^T] \tag{5} PK​=E[(xk​−xk​^​′−K(zk​−zk​^​))(xk​−xk​^​′−K(zk​−zk​^​))T]=E[(xk​−xk​^​′−K(Hxk​+v 标签: 120i角位移传感器meas60角位移传感器meas

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台