卡尔曼滤波简介

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

什么是卡尔曼滤波

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

  1. 经过时间

后,下个状态

如何求出?

  1. 假定已求出

,在t+1t+1时刻收到传感器的非直接信息

,如何对状态

进行更正?

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

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

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

卡尔曼滤波的原理

问题场景如下:一个机器人,我们想知道它实时的状态

,同时也想做到预测未来修正当下这两件事。

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

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

预测未来

只考虑自身状态

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

用矩阵表示如下:

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

考虑外部状态

外部状态,这里以加速度为例,引入变量

同时,环境仍然存在我们无法刻画的误差,以

表示,最终的预测公式如下:

从上述式子可见:

  1. 新的最优估计之前最优估计之前最优估计}}的预测加上已知的外界影响已知的外界影响}}的修正。
  2. 新的不确定度预测的不确定度加上环境的不确定度

修正当下

我们已得到

,下面要通过观测到的测量值

进行更新。

因为

的数据尺度不一定相同,例如

包含了笛卡尔的坐标信息,使用radar得到的

则包含极坐标信息。所以首先应该把两者放在相同的尺度下去比较,尺度转换使用Hk\mathbf{H}_k将预测信息转化为测量信息的尺度。

这样一来,便得到测量尺度上的两个分布:

  1. 测量值的分布
  1. 预测值变换后的分布

下面一个问题就是如何用这个两个分布组成新的分布。

简单的一维情况如下:

总结

预测未来

修正当下

卡尔曼滤波需要内存少,计算速度快,适合实时性情况与嵌入式设备的需要。

参考

  1. How a Kalman filter works, in pictures
  2. Kalman Filter For Dummies

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏真皮专栏

Aggregation Model : Blending , Bagging , Boosting

比如现在有一支股票,你不知道是跌还是涨。你有T个friends,每一个friend对应的建议分别是g1,g2,g3...gn,那么你应该怎么选择建议?

932
来自专栏机器之心

教程 | 如何使用TensorFlow构建、训练和改进循环神经网络

选自SVDS 作者:Matthew Rubashkin、Matt Mollison 机器之心编译 参与:李泽南、吴攀 来自 Silicon Valley Dat...

2789
来自专栏新智元

图解神经网络机器翻译原理:LSTM、seq2seq到Zero-Shot

【新智元导读】这篇刊登在 blog.statsbot.co 上的博文,通过对 LSTM、BRNN、seq2seq、Zero-Shot Translation 和...

33810
来自专栏人工智能

用循环神经网络进行文件无损压缩:斯坦福大学提出DeepZip

选自斯坦福大学 作者:Kedar Tatwawadi 机器之心编译 参与:李泽南、黄小天 神经网络不仅可以分析、识别特征,提出预测,还可以压缩文件。斯坦福大学的...

18910
来自专栏数据派THU

为何RNN能够在众多机器学习方法中脱颖而出?(附指南)

来源:机器人圈 作者:BaymaxZ 本文长度为5000字,建议阅读20分钟 本文介绍RNN的重要性和先进性,并详细阐释几种用于深度学习中的RNN模型。 近年来...

1875
来自专栏机器之心

EMNLP 2018 | 结合通用和专用NMT的优势,CMU为NMT引入「语境参数生成器」

神经机器翻译(NMT)无需单独训练或调整系统的任何部分就可以直接建模源语言到目标语言的映射。这使得 NMT 快速发展,并在许多大规模环境中成功应用 (Wu et...

891
来自专栏深度学习之tensorflow实战篇

RNN与LSTM之间的介绍和公式梳理

最近在整理tensorflow,经常用到RNN与lSTM,故整理如下: -RNN:循环神经网络(Recurrent Neural Networks) -...

5406
来自专栏开源FPGA

基于FPGA的中值滤波算法实现

         在这一篇开篇之前,我需要解决一个问题,上一篇我们实现了基于FPGA的均值滤波算法的实现,最后的显示效果图上发现有一些黑白色的斑点,我以为是椒盐...

2008
来自专栏人工智能头条

深度学习和自然语言处理中的Attention和Memory机制

2295
来自专栏AI科技评论

干货 | 元旦,一起NLP!(下)

0.Roadmap 1. 模型 | 语言模型与词嵌入 2. 模型 | LSTM 3. 盘点 | 那些顶级会议 4. 模型 | Seq2Seq 和 Attenti...

3385

扫码关注云+社区