卡尔曼滤波简介

Posted Young_Gy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了卡尔曼滤波简介相关的知识,希望对你有一定的参考价值。

卡尔曼滤波是一种在不确定状况下组合多源信息得到所需状态最优估计的一种方法。本文将简要介绍卡尔曼滤波的原理及推导。

什么是卡尔曼滤波

首先定义问题:对于某一系统,知道当前状态 Xt ,存在以下两个问题:

  1. 经过时间 t 后,下个状态 Xt+1 如何求出?
  2. 假定已求出 Xt+1 ,在 t+1 时刻收到传感器的非直接信息 Zt+1 ,如何对状态 Xt+1 进行更正?

这两个问题正是卡尔曼滤波要解决的问题,形式化两个问题如下:

  1. 预测未来
  2. 修正当下

下面,将以机器人导航为例,从预测未来修正当下两个角度介绍卡尔曼滤波器。

卡尔曼滤波的原理

问题场景如下:一个机器人,我们想知道它实时的状态 x⃗  ,同时也想做到预测未来修正当下这两件事。

其状态 x 表示为一维大小为2的向量,元素分别表示位置信息与速度信息:

x⃗ =[pv]

可是状态 x 不一定是精准的,其不确定性用协方差表示:

Pk=[ΣppΣvpΣpvΣvv]

预测未来

只考虑自身状态

只考虑自身状态的情况下,根据物理公式,可得:

pkvk=pk1+Δt=vk1vk1

用矩阵表示如下:

x̂ k=[10Δt1]x̂ k1=Fkx̂ k1

在状态变化的过程中引入了新的不确定性,根据协方差的乘积公式可得:

Cov(x)Cov(Ax)=Σ=AΣAT

x̂ kPk以上是关于卡尔曼滤波简介的主要内容,如果未能解决你的问题,请参考以下文章

如何使用卡尔曼滤波器预测测量之间的 gps 位置

在扩展卡尔曼滤波器中计算状态空间模型和测量模型的雅可比矩阵

C语言实现简单卡尔曼滤波

卡尔曼滤波器中预测矩阵和测量协方差矩阵之间的混淆

关于卡尔曼滤波

卡尔曼滤波器基本应用/学习 - 代码似乎很慢