卡尔曼滤波简介

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

什么是卡尔曼滤波

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

相关文章

来自专栏AI研习社

用 TensorFlow 实现物体检测的像素级分类

雷锋网 AI 科技评论按:本文作者 Priyanka Kochhar 从事数据科学十多年,现在在运营一家深度学习咨询公司,她曾帮助多家创业公司完成人工智能解决方...

12520
来自专栏PaddlePaddle

全连接层&目标函数

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

精华 | 几种梯度下降方法对比【收藏】

我们在训练神经网络模型时,最常用的就是梯度下降,这篇博客主要介绍下几种梯度下降的变种(mini-batch gradient descent和stochasti...

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

CS231n课程笔记翻译:图像分类笔记(下)

用于超参数调优的验证集 k-NN分类器需要设定k值,那么选择哪个k值最合适的呢?我们可以选择不同的距离函数,比如L1范数和L2范数等,那么选哪个好?还有不少选择...

37280
来自专栏大数据文摘

机器都会学习了,你的神经网络还跑不动?来看看这些建议

在很多机器学习的实验室中,机器已经进行了上万小时的训练。在这个过程中,研究者们往往会走很多弯路,也会修复很多bug,但可以肯定的是,在机器学习的研究过程中,学到...

11200
来自专栏数据科学与人工智能

【应用】 信用评分:第7部分 - 信用风险模型的进一步考虑

以满足科学模型开发的主要标志 - 严谨性,可测试性,可复制性和精确性以及可信度 - 考虑模型验证以及如何处理不平衡数据非常重要。 本文概述了可用于满足这些标志的...

11230
来自专栏小小挖掘机

推荐系统遇上深度学习(一)--FM模型理论和实践

1、FM背景 在计算广告和推荐系统中,CTR预估(click-through rate)是非常重要的一个环节,判断一个商品的是否进行推荐需要根据CTR预估的点击...

2.5K100
来自专栏云时之间

什么是过拟合?

各位小伙伴们大家好,很高兴能够和大家继续讨论机器学习方面的问题,今天想和大家讨论下关于机器学习中的监督学习中的过拟合的问题,以及解决过拟合的一些方法。 在正式...

39880
来自专栏mwangblog

蚁群算法规划路径

蚁群算法可以用于路径规划,在本例中,地形矩阵用0表示无障碍物、用1表示有障碍物,机器人从1x1处走到10x10处,使用蚁群算法找最短路径。

61120
来自专栏PPV课数据科学社区

数据咖小课堂:R语言十八讲--(补充)处理缺失值

? 缺失值处理在数据分析中是关键的一步,而且是开始的关键一步,我们对于数据的缺失处理直接影响模型的准确性. 1.产生的原因: 调查者忘记回答了,拒绝回答,不完...

31980

扫码关注云+社区

领取腾讯云代金券