热门标签 | HotTags
当前位置:  开发笔记 > 大数据 > 正文

卡尔曼_卡尔曼滤波(2)线性卡尔曼滤波

先来对比一下卡尔曼滤波和递归最小二乘法的整个算法过程:卡尔曼滤波算法形式非常接近。可见相比递推最小二乘法,卡尔曼就是相当于在两次迭代之间多了一步系统的状

先来对比一下卡尔曼滤波和递归最小二乘法的整个算法过程:

fa1aa1a2b7b6b3caa77cba7f93d712cb.png

卡尔曼滤波算法

9cd4e02807a929b36a147191fd09b5e1.png

形式非常接近。可见相比递推最小二乘法,卡尔曼就是相当于在两次迭代之间多了一步系统的状态转移,也就是

这一项。 其实,卡尔曼滤波就是递推最小二乘法的一种特殊情况,卡尔曼滤波也是去通过最小化方差来求得最优的估计值。

卡尔曼滤波的更新过程为

第1步,首先,

已知,然后由
算出
,再由
算出
,有了这些参数后,结合观测值
就能估计出
,再利用
更新
;第2步.....
471684cfa4746ad3c3a6b3dc897a86af.png

过程噪声和观测噪声是均值为零的高斯白噪声过程,而且ω和υ是互不相关的。其中

是系统干扰方差矩阵,是对称非负定矩阵,
是观测噪声方差矩阵,δ是狄拉克函数,即
ab3852a60afadbf6a34f61ee2e34e4b5.png

卡尔曼滤波器与我们前面讨论过的线性递归最小二乘滤波器非常相似。 但是递归最小二乘更新静态参数的估计,而卡尔曼滤波器能够更新和估计不断变化的状态。 卡尔曼滤波器的目标是对该状态进行概率估计并使用两个步骤实时更新它:预测和纠正。

为了使这些想法更具体,让我们考虑一个估计车辆一维位置的问题。从时间k减1时的初始概率估计开始,我们的目标是使用一个运动模型,该模型可以从车轮里程计或惯性传感器测量中得出,以预测我们的新状态。然后,我们将使用GPS导出的观测模型来修正时间k时的车辆位置预测。每个分量、初始估计、预测状态和最终校正状态都是随机变量,我们将通过它们的平均值和协方差来指定。这样,我们可以将卡尔曼滤波器视为一种融合来自不同传感器的信息的技术,以产生某种未知状态的最终估计,同时考虑到运动和测量中的不确定性。

f5edc97193d1c95d31dab6623d0eb8fa.png

对于卡尔曼滤波算法,我们可以用以下方法编写运动模型:

时间步k的估计是时间步k减去1的估计,控制输入和一些零平均噪声的线性组合。输入是影响系统状态演变的外部信号。例如,在自动驾驶车辆的情况下,这可能是用于加速和变换车道的车轮扭矩。

接下来,我们还需要定义一个线性测量模型。最后,我们需要一个和以前一样的测量噪声和一个过程噪声,它代表着我们对线性动力系统是正确的确信度,换句话说,我们对控制输入的影响有多不确定。

97170a17d1dfddba56d30235ead65376.png

一旦我们建立了系统,我们就可以使用一种与递归最小二乘视频中讨论的方法非常相似的方法。但有一点不同,这次我们将分两步完成。

首先,我们使用过程模型来预测我们的状态,记住,我们现在通常谈论自上一个时间步骤以来演变的演化状态和非状态参数,并将传播我们的不确定性。

第二,我们将使用我们的测量,根据我们的测量残差以及我们的最佳收益来修正预测。最后,我们将使用增益将状态协方差从我们的预测传播到我们的修正估计。

在我们的记数法中,

表示在特定时间步的一个修正的预测,而
表明在合并测量之前有一个预测。如果你以前使用过卡尔曼滤波器,你可能也看到过它分别用
来表示修正的以及
来表示预测的量。
9e46f369803aa44b4402a9ba84e97c77.png

让我们回顾一下。我们从状态的概率密度开始,时间步k减去1的参数,我们将其表示为多元高斯。然后,我们使用线性预测模型预测时间步骤k的状态,并随着时间传播平均值和不确定性(协方差)。最后,利用我们的概率测量模型,我们通过我们的最佳增益矩阵k将我们测量的信息与先前的预测进行最佳融合,从而纠正我们的初始预测。我们的最终结果是我们在时间步骤k时状态的更新概率估计。

c63b78b9f9e009f485f824e408766ad2.png

下面以一个小例子来应用一下卡尔曼滤波

再次考虑自动驾驶车辆估计其自身位置的情况。 我们的状态向量将包括车辆位置及其一阶导数。 我们的输入将是一个标量加速度,可能来自控制系统,命令我们的汽车向前或向后加速。 对于我们的测量,我们假设我们能够直接使用类似GPS接收器的方式确定车辆位置。 最后,我们将如下定义噪声方差。(公式有误,应该为

)
a5bdf3c9ed3a1a22e4918da219ce591a.png

给定这个初始估计和我们的数据,在我们使用卡尔曼滤波器执行一个预测步骤和一个校正步骤之后,我们的校正位置估计是多少?

78b62a2becd0c7c08c3f0f6e830b3034.png

这是我们如何使用这些定义来解决我们的校正位置和速度估计。

d190dde47a83ec4d98490788b47c2dd7.png
6c4770fb7a6288824ea1b1e250bdf128.png

注意我们的最终校正状态协方差较小的事实。 这就是我们在结合位置测量后对汽车的位置更加确定。 这种不确定性的降低是因为我们的测量模型相当准确。 也就是说,测量噪声方差非常小。 尝试增加测量方差并观察最终状态估计会发生什么。

总而言之,卡尔曼滤波器类似于递归平方,但也增加了一个运动模型,定义了我们的状态随时间的演变。 卡尔曼滤波器分两个阶段工作:第一,使用运动模型预测下一状态,第二,使用测量校正该预测。

这有一篇翻译了国外的博客文章写得很好,可以看一下。

卡尔曼滤波器推导与解析 - 案例与图片 - 李小铭 - 博客园

参考:

https://blog.csdn.net/ethan_guo/article/details/80568254



推荐阅读
  • 如何改善汽车中的卫星导航体验?这里有一个新方案
    雷锋网按:不论是对用户还是导航系统的设计者,目前的卫星导航系统都不尽人意。本文介绍了一种提高准确性的办法。本文作者FlorianBousquet系是瑞士Thalwil的u-blox ... [详细]
  • 【转】强大的矩阵奇异值分解(SVD)及其应用
    在工程实践中,经常要对大矩阵进行计算,除了使用分布式处理方法以外,就是通过理论方法,对矩阵降维。一下文章,我在 ... [详细]
  • 自动驾驶中的9种传感器融合算法
    来源丨AI修炼之路在自动驾驶汽车中,传感器融合是融合来自多个传感器数据的过程。该步骤在机器人技术中是强制性的,因为它提供了更高的可靠性、冗余性以及最终的 ... [详细]
  • 了解供应链简单来说,供应链涉及一系列旨在向最终用户提供产品或服务的步骤。企业组织及其供应商之间始终存在一个网络,来生产特定产品并将其交付给最终用户。该网络包括不同的活动、人员、实体 ... [详细]
  • 机器学习如何看世界 对抗机器学习诠释人工智能和人类思维的不同
    接近,计算,极限,看,世界,对抗,机器,学习,诠释,人工智能,和, ... [详细]
  • 每日一书丨AI圣经《深度学习》作者斩获2018年图灵奖
    2019年3月27日——ACM宣布,深度学习之父YoshuaBengio,YannLeCun,以及GeoffreyHinton获得了2018年的图灵奖, ... [详细]
  • 简介时间同步是指以中心控制系统的标准时钟作为基准使各分布系统和终设备的时钟与中心控制系统时钟进行同步的过程。随着5G和工业5.0的到来,网络终端设备和网络业务的飞速增 ... [详细]
  • 本文介绍了一种通过设置主题(Theme)来实现快速启动的Android引导页,并详细说明了如何避免因不同屏幕分辨率导致的图片拉伸问题。 ... [详细]
  • 本文整理了 DedeCMS 中常用的标签分类及其具体应用方法,包括标题调用、导航调用、文章列表、子栏目调用、尾部信息调用等。 ... [详细]
  • 深入理解Select、Poll和Epoll
    本文详细介绍了三种常用的I/O多路复用技术:Select、Poll和Epoll。通过对比它们的工作原理和性能特点,帮助读者更好地选择适合的I/O模型。 ... [详细]
  • 【高德地图Android开发套件】详尽视频教程
    前两天参加了高德在北航举办的公开课,感觉非常不错。完成老师布置的作业之后,还顺利地拿到了高德开发者认证证书!!现在来跟大家分享一下,如何快速学习【高德地图AndroidSDK】的开发。一天包会!连 ... [详细]
  • 欢迎关注我们微信公众号,可以加入我们QQ人工智能行业交流群626784247.01在当前飞速发展的创新步伐中,科技似乎正在积极地解决人类最紧迫的难 ... [详细]
  • 联邦学习: 联邦场景下的时空数据挖掘
    不论你望得多远,仍然有无限的空间在外边,不论你数多久,仍然有无限的时间数不清。——惠特曼《自己之歌》1.导引时空数据挖掘做为智慧城市的重要组成部分,和我们的日常生活息息相关。如我 ... [详细]
  • 4G模组GPS定位功能使用说明
    1概述    高新兴(ME3630-W)和SIMcom4G模块(7600CE)均带有GPS定位功能,下面介绍两个模块GPS定位功能的使用。2GPS功能使用说明    GPS定位模式 ... [详细]
  • 书评:《卡尔曼滤波原理及应用——MATLAB仿真》《卡尔曼滤波原理及应用——MATLAB仿真》(简称《卡》)、《粒子滤波原理及应用——MA ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有