2017拜拜啦,怎么过元旦呢?当然是果断呆实验室过。。。

应该是大二的时候首次听说kalman,一直到今天早上,我一看到其5条“黄金公式”,就会找各种理由放弃,看不懂呀。。。但是研究lidar定位需要以此为基础,故立志掌握,然后集中精力看了一天,我发现我居然看懂了。。。作为白巧克力的忠实粉,所以果断先攻读Ta关于kalman的两篇blog,照着第一篇blog的公式推导,虽然没全部推出来,但是对5条公式的来源大致了解了,然后跑了第二篇blog的matlab实例,对照5条公式,感觉明白了什么。。。然后又接着看了授之以渔老师的blog,跑了62楼的matlab代码(源码重复了一遍,删除一半),自己又尝试将K值改为常数并调节常数K的大小(0~1之间),看了效果,然后觉得终于理解了kalman滤波,详细的不赘述,只把自己认为的关键的点Mark下来:

1.所谓kalman滤波本质就是加权信息融合,跟freescale两轮车的互补滤波原理是一样的,即利用两种信息(信息1的毛刺大但是无漂移,而信息2的毛刺小但是漂移严重(类似于无反馈的开环系统以及没有闭环检测的Odometry))之间的偏差error来周期性地消除信息2的漂移,以此来实现信息融合,一般为:

信息2 = 信息2 + K * (信息1 - 信息2)

其中,K就是加权的权重,kalman滤波与互补滤波的不同体现在:

1)权重K不是固定值,在每一次迭代中都由复杂的公式推导计算而来,相较于互补滤波,其权重不用人工调节而且根据黄金公式计算的权重K还是最优权重,kalman的牛逼之处一方面就体现在这个K的计算上

2)互补滤波融合的都是来自传感器的信息(最起码我们当年比赛时是这样的),例如陀螺仪和加速度计的值;而kalman滤波可以通过对系统建立数学模型(状态方程)得出一种被融合的信息,即预测值;另一个被融合的信息就是传感器获得的原始信息,即观测值,一般有较大毛刺,噪声严重(但是通过系统模型的状态方程求信息2的过程,跟陀螺仪积分求信息2的过程,很相似)。那么问题来了,kalman怎么融合两种传感器的信息,没有数学模型,参数A,B,C怎么求?容我我再研究研究。。。//TODO

2.K值(0~1)与预测值协方差的大小正相关,协方差P越小,说明预测值的不确定度越小,越准确,最终结果就偏向预测值多一些,反之亦然。PS,将两位大大blog中代码K值改为常数后,在0~1的范围内调节其值可以很直观的验证K值的作用。

3.按照“授之以渔”公式里的参数来说,整个kalman的参数一共A,B,C,Q,R,其中A,B,C是系统数学模型的参数,Q和R分别是系统和测量噪声的方差,其值越大说明系统预测或测量就相应地越不靠谱。

4.“授之以渔”的blog中将白巧克力提的预测值和估计值用了一个符号代替,并且统称为估计值,所以两位大大的blog中的黄金公式好像不大一样,我又查了查其他资料,好像两种说法都有,再看看,这两种说法其实是一个意思,总结一下——“授之以渔”中更新之前的估计值和对应的协方差,就是白巧克力说的“预测值”以及“预测值和真实值之间的协方差”。

-------------------------------------------------------- 分割线 --------------------------------------------------------

不查不知道,一查吓一跳,上文中的TODO,居然是多传感器信息融合的知识,目前的任务不涉及多传感器信息融合,先放着吧。。。

kalman滤波原理的更多相关文章

  1. kalman滤波

    kalman滤波原理(通俗易懂) 1. 在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”.跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一个人的名字,而跟他们不同的是,他是个现代人 ...

  2. 理解Kalman滤波的使用

    Kalman滤波简介 Kalman滤波是一种线性滤波与预测方法,原文为:A New Approach to Linear Filtering and Prediction Problems.文章推导很 ...

  3. Kalman滤波器原理和实现

    Kalman滤波器原理和实现 kalman filter Kalman滤波器的直观理解[1] 假设我们要测量一个房间下一刻钟的温度.据经验判断,房间内的温度不可能短时大幅度变化,也就是说可以依经验认为 ...

  4. 终于理解kalman滤波

    2017拜拜啦,怎么过元旦呢?当然是果断呆实验室过... 应该是大二的时候首次听说kalman,一直到今天早上,我一看到其5条"黄金公式",就会找各种理由放弃,看不懂呀...但是研 ...

  5. 目标跟踪之卡尔曼滤波---理解Kalman滤波的使用预测

    Kalman滤波简介 Kalman滤波是一种线性滤波与预测方法,原文为:A New Approach to Linear Filtering and Prediction Problems.文章推导很 ...

  6. 【滤波】标量Kalman滤波的过程分析和证明及C实现

    摘要: 标量Kalman滤波的过程分析和证明及C实现,希望能够帮助入门的小白,同时得到各位高手的指教.并不涉及其他Kalman滤波方法. 本文主要参考自<A Introduction to th ...

  7. (二). 细说Kalman滤波:The Kalman Filter

    本文为原创文章,转载请注明出处,http://www.cnblogs.com/ycwang16/p/5999034.html 前面介绍了Bayes滤波方法,我们接下来详细说说Kalman滤波器.虽然K ...

  8. 透过表象看本质!?之三——Kalman滤波

    数据拟合能够估计出数据变化的趋势,另外一个同等重要的应用是如何利用这一趋势,预测下一时刻数据可能的值.通俗点儿说,你观察苍蝇(蚊子,蜜蜂)飞了几秒,你也许会想“它下一个时刻可能在哪儿”,“呈现出什么样 ...

  9. Kalman滤波学习

    两个过程: 预测过程和更新过程 1.基本原理 2.IMU应用Kalman滤波求角速度. https://github.com/jjundot/MPU6050_Kalman

随机推荐

  1. MybatisGenerator生成SSM的dao层

    官网下载 mybatis generator 下载generator的release版本mybatis-generator-core-1.4.0-bundle.zip https://github.c ...

  2. JavaScript 之 定时器

    JavaScript 里面有两个定时器:setTimeout() 和 setInterval() . 区别: setTimeout():相当于一个定时炸弹,隔一段时间执行,并且只会执行一次就不在执行了 ...

  3. CSS3实现0.5px边框

    用CSS设置边框宽度为0.5px,可以使边框看起来更加细腻,特别是在移动端,设计师会有这样的要求. 但遗憾的是,大多数Android手机并不能识别0.5px.因此我们可以使用CSS3来变通的实现0.5 ...

  4. git使用.gitignore文件忽略相关文件上传

    在使用git时,有些文件是不需要上传到仓库中的,比如idea/eclipse相关的文件,编译后的文件(target目录)等. 可以使用.gitignore文件进行配置.在git本地仓库创建.gitig ...

  5. JVM 入门指南

    一.什么是JVM? JVM: JVM是Java Virtual Machine的缩写,中文翻译为Java虚拟机.JVM 可以看作一台抽象的计算机,如同真实的计算机一样,它有自己的指令集和各种运行时区域 ...

  6. Django 初识之安装下载以及模型目录简介

    Django 一.web应用 web应用什么 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件 应用程序有两种模式 ...

  7. Kali下安装Java环境

    <-----教你在Kali下安装Java环境-----> 1. 下载1.8u121的JAVA JDK 下载地址:http://java.sun.com/javase/downloads/i ...

  8. Tomcat管理

    Tomcat日志 /data/env/tomcat8546/logs/catalina.out echo "" > catalina.out Tomcat配置文件 /data ...

  9. 牛客NOIP暑期七天营-提高组5

    A:deco的abs. 水题,先%,然后相邻两个数min()一下差值. #include<bits/stdc++.h> #define ll long long using namespa ...

  10. cmds系统归并缓慢的处理过程 2017-2-16

      检查反应较慢的时间段,数据库整体运行情况,从awr报告总看看是否有异常   以上是两个节点的等待事件排行,其中发现cursor: pin S wait on X等待事件类型是并行,切较高,开始分析 ...