卡尔曼滤波简介

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

什么是卡尔曼滤波

首先定义问题:对于某一系统,知道当前状态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 条评论
登录 后参与评论

相关文章

来自专栏技术小站

吴恩达深度学习笔记2.2 logistic回归

863
来自专栏量化投资与机器学习

深度学习Matlab工具箱代码注释之cnnff.m

%%========================================================================= %...

2046
来自专栏机器之心

深度 | 通过NMT训练的通用语境词向量:NLP中的预训练模型?

选自 einstein.ai 机器之心编译 参与:Nurhachu Null、蒋思源 自然语言处理(NLP)这个领域目前并没有找到合适的初始化方法,它不能像计算...

3055
来自专栏奇点大数据

卷积神经网络对图片分类-下

接上篇:卷积神经网络对图片分类-中 9 ReLU(Rectified Linear Units) Layers 在每个卷积层之后,会马上进入一个激励层,调用一种...

27712
来自专栏深度学习计算机视觉

机器学习Adaboost算法

相关背景概念 一个概念如果存在一个多项式的学习算法能够学习它,并且正确率很高,那么,这个概念是强可学习的; 一个概念如果存在一个多项式的学习算法能够学习...

2285
来自专栏专知

【EMNLP2018】FAIR动态元嵌入:动态选择词嵌入模型

【导读】词嵌入已经彻底改变了自然语言处理(NLP)的世界。从概念上讲,词嵌入是一种语言建模方法,它将句子中的短语或单词映射到向量和数字。任何NLP应用程序的第一...

751
来自专栏fangyangcoder

Andrew Ng机器学习课程笔记(三)之正则化

http://www.cnblogs.com/fydeblog/p/7365475.html

481
来自专栏机器学习算法与Python学习

入门 | 什么是自注意力机制?

目前有许多句子表征的方法。本文作者之前的博文中已经讨论了 5 中不同的基于单词表征的句子表征方法。想要了解更多这方面的内容,你可以访问以下链接:https://...

1072
来自专栏企鹅号快讯

通俗理解神经网络中激活函数作用

推荐阅读时间8min~13min 主要内容:通俗理解激活函数,主要来自我在学习会的slides,讲解了激活函数的非线性能力和组合特征的作用 ? ? 下面我分别对...

2137
来自专栏机器之心

入门 | 神经网络训练中,Epoch、Batch Size和迭代傻傻分不清?

选自Medium 机器之心编译 参与:刘晓坤 你肯定经历过这样的时刻,看着电脑屏幕抓着头,困惑着:「为什么我会在代码中使用这三个术语,它们有什么区别吗?」因为它...

35911

扫码关注云+社区