通俗理解kalman filter原理
【哲学思想】即使我们对真相(真值)一无所知,我们任然可以通过研究事物规律,历史信息,当前观测而能尽可能靠近真相(真值)。
【线性预测模型】温度的变化是线性规律的,已知房间温度真值每小时上升1度左右(用协方差R来描述高斯白噪),但具体上升1度多少不得而知。
【线性观测模型】人用温度计读取房间温度真值时有观测误差,总是读出高出0.3度左右(用协方差Q来描述高斯白噪),但具体高出0.3度多少不得而知。
【输入】在t时,房间温度真值不知道,最优估值是25度。
【估值的观测值】小明为了方便直接忽略了预测噪声,估计t+1时刻的温度为26度(不准确的,因为没有考虑到预测噪声,并且基于的值也不是真值)。但是小明又幻想,真值为26度的房间,温度计读出的温度是要高0.3度左右的,由于小明不知道观测噪声具体是多少,所以就直接使用0.3度,于是小明预测出了t+1时刻估值的观测值为26.3度。
【真值的观测值】t+1时刻到了,小明拿出温度计测量房间的温度,已知观测值总是比真值多0.3度左右,因为有观测噪声Q,所以我们任然无法得知真值。但我们确实得到了真值的观测值,小明读出温度计的温度为26.8度。
【动态信息融合】这时小明为难了,自己预测的是26.3度,观测到的是26.8度。【创新1】两个都是靠近真值,小明不知道用哪个才好?于是小明决定融合这两个数据得到一个最优估值。【创新2】但是如何决定融合的程度呢?小明想到了用K和1-K来描述两个数据的权重。最简单的各取0.5的权重,这样简单又方便。【创新3】但是爱思考的小明想衡量K=0.5的合理性,那么用什么来衡量最优估计靠近真值的程度呢?对了,小明想到了均方差,就用这个。那么当K在0-1间变化的时候,最优估值的均方差也会变化,这表明K与均方差之间存在某种约束关联。小明在进一步研究后建立起了一个微分方程。这样小明就求出了最合理的K值,并且取名为kalman gain,当K取kalman gain时,最优估值是xx,对应均方差最小为xx。
【输出】最终小明宣布,t+1时的最优估值是xx度,该值的可信度(均方差)是xx。
【解放】小明意识到自己只需要知道上一时刻的最优估值和当前时刻的真值观测值,并且在已知预测和观测模型的前提下,就能计算出当前时刻的最优估值。于是小明动手写了一个计算机程序计算并存储最优估值。虽然小明从脑力劳动中解放出来了,但是观测数据仍然需要小明的手动输入。又过了一段时间小明购买了电子温度计,将其连接到计算机,计算机自动获取当前真值观测值(假设观测误差任然存在),于是小明又从这个体力劳动过程中解放了。
【应用】提供一种在粗糙的世界中尽可能靠近柏拉图理想世界的可能性。
【拓展到机器人SLAM】已知机器人与路标上一时刻最优估计位姿,当前传感器测量的机器人与路标位姿,机器人运动模型传感器模型。如何利用这些信息估算出当前时刻最靠近真值的最优位姿?
【拓展到非线性系统】Tayor展开打通了线性系统与非线性系统。
通俗理解kalman filter原理的更多相关文章
- 无人驾驶技术之Kalman Filter原理介绍
基本思想 以K-1时刻的最优估计Xk-1为准,预测K时刻的状态变量Xk/k-1,同时又对该状态进行观测,得到观测变量Zk,再在预测与观之间进行分析,或者说是以观测量对预测量进行修正,从而得到K时刻的最 ...
- kalman filter卡尔曼滤波器- 数学推导和原理理解-----网上讲的比较好的kalman filter和整理、将预测值和观测值融和
= 参考/转自: 1 ---https://blog.csdn.net/u010720661/article/details/63253509 2----http://www.bzarg.com/p/ ...
- [Math]理解卡尔曼滤波器 (Understanding Kalman Filter) zz
1. 卡尔曼滤波器介绍 卡尔曼滤波器的介绍, 见 Wiki 这篇文章主要是翻译了 Understanding the Basis of the Kalman Filter Via a Simple a ...
- [Math]理解卡尔曼滤波器 (Understanding Kalman Filter)
1. 卡尔曼滤波器介绍 卡尔曼滤波器的介绍, 见 Wiki 这篇文章主要是翻译了 Understanding the Basis of the Kalman Filter Via a Simple a ...
- 举个例子去理解vuex(状态管理),通俗理解vuex原理,通过vue例子类比
通俗理解vuex原理---通过vue例子类比 本文主要通过简单的理解来解释下vuex的基本流程,而这也是vuex难点之一. 首先我们先了解下vuex的作用vuex其实是集中的数据管理仓库,相当于数 ...
- Redis Hyperloglog的原理及数学理论的通俗理解
redis中有一种数据格式,hyperloglog,本文就此数据结构的作用.redis的实现及其背后的数学原理作一个整理.当然本文不包含任何数学公式,而是希望用直观的例子帮大家理解. 主要内容如下: ...
- 详解Kalman Filter
中心思想 现有: 已知上一刻状态,预测下一刻状态的方法,能得到一个"预测值".(当然这个估计值是有误差的) 某种测量方法,可以测量出系统状态的"测量值".(当然 ...
- 理解Kalman滤波的使用
Kalman滤波简介 Kalman滤波是一种线性滤波与预测方法,原文为:A New Approach to Linear Filtering and Prediction Problems.文章推导很 ...
- 卡尔曼滤波器 Kalman Filter (转载)
在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”.跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一个人的名字,而跟他们不同的是,他是个现代人! 卡 尔曼全名Rudolf Emil ...
随机推荐
- 在vi中使用perltidy格式化perl代码
格式优美的perl代码不但让人赏心悦目,并且能够方便阅读. perltidy的是sourceforge的一个小项目,在我们写完乱七八糟的代码后,他能像变魔术一样把代码整理得漂美丽亮,快来体验一下吧!! ...
- Ajax.ActionLink 用法
Ajax.ActionLink 用法 Ajax 属性的ActionLink方法可以创建一个具有异步行为的锚标签. ActionLink方法的第一个参数指定了链接文本,第二个参数是要异步调用的操作的名称 ...
- 二叉树(8)----第一个二叉树K层节点和二进制部分K叶节点层,递归和非递归
1.二进制定义 typedef struct BTreeNodeElement_t_ { void *data; } BTreeNodeElement_t; typedef struct BTreeN ...
- 通过SqlClr制作Sql自动化批量执行脚本
原文:通过SqlClr制作Sql自动化批量执行脚本 通过SqlClr制作Sql自动化批量执行脚本 在与同事一起做项目时,看到同事用sqlclr做批量执行脚本,感觉挺新奇的就上网搜集资料自己模仿跟做了个 ...
- REST 测试工具
两款 REST 测试工具 用CURL命令行测试REST API 无疑是低效率的,这里把最近使用的两款 Chrome 插件总结下 POSTMAN 简单易用 REST Console 功能强大 使用的话用 ...
- 给Angularjs配上Requirejs
给Angularjs配上Requirejs 需要考虑的事情: 1.js.css.template都按需加载,js主要就controller: * js和css都可以用requirejs和它的插件解决, ...
- Reactive Extensions
Rx提供了一种新的组织和协调异步事件的方式,极大的简化了代码的编写.Rx最显著的特性是使用可观察集合(Observable Collection)来达到集成异步(composing asynchron ...
- MFC圆角背景移动边角底色毛刺解决方案
CRect rc; Graphics graphics(pDC->m_hDC); GetClientRect(&rc); CRgn m_rgn; if (m_pBgImage) { gr ...
- python包
有个伟人说过: python的学习很大一部分取决与你对第三方包的熟悉和掌握程度! virtualenv virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够: ...
- C#集合基础与运用
C#集合基础与运用 C#集合基础与运用 1. 集合接口与集合类型............................................... 1 (1) 集合的命名空间..... ...