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的漂移,以此来实现信息融合,只不过:

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

2)互补滤波融合的都是来自传感器的信息(最起码我们当年比赛时是这样的),例如陀螺仪和加速度计的值;而kalman滤波可以通过对系统建立数学模型(状态方程)得出一种被融合的信息,即预测值;另一个被融合的信息就是传感器获得的原始信息,即观测值,一般有较大毛刺,噪声严重,那么问题来了,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滤波简介 Kalman滤波是一种线性滤波与预测方法,原文为:A New Approach to Linear Filtering and Prediction Problems.文章推导很 ...

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

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

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

    http://www.cnblogs.com/jcchen1987/p/4371439.html

  4. kalman滤波原理

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

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

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

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

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

  7. kalman滤波

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

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

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

  9. Kalman滤波学习

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

随机推荐

  1. JavaSe:UncaughtExceptionHandler

    Java中,出现对于异常的处理,通常是使用try{}catch()来捕获处理的.但是在使用trycatch时,未必会将所有的异常都捕获到,所以方法声明时可以有throws xxxException. ...

  2. Python datatime 格式转换,插入MySQL数据库

    Python datatime 格式转换,插入MySQL数据库 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-11-2 ...

  3. 17082 两个有序数序列中找第k小(优先做)

    17082 两个有序数序列中找第k小(优先做) 时间限制:1000MS  内存限制:65535K提交次数:0 通过次数:0 题型: 编程题   语言: G++;GCC;VC Description 已 ...

  4. mac与centos下redis的安装与配置

    前言 最近在用redis,下面简单写一下mac和centos下redis的安装与配置方法. 安装 mac下面 安装命令:brew intall redis 运行命令:brew services sta ...

  5. Python 安装包的导入

    1.安装适合的pip python安装pip的命令: python -m pip install --upgrade pip安装Python包,的确是pip最为方便了,简单快捷,因为它直接是从pypi ...

  6. java.lang.StringBuilder和java.lang.StringBuffer (JDK1.8)

    这两个类都是继承自AbstractStringBuilder,AbstractStringBuilder有两个成员属性 char[] value; int count; 前者用于存储字符串,后者用于统 ...

  7. Win10关闭某程序的通知的方法

    一.点击右下角的通知图标. 二.点击所有通知. 三.点击系统 四.点击通知和操作 五.下拉,看到:获取来自这些发送者的通知 六.关闭自己想关闭通知的程序即可.

  8. Delete 命令详解

    cp:复制文件 /cp -r:复制目录  /bin/cp -f: 复制文件并覆盖已有文件(写命令的绝对路径/bin/)  /cp /ect/passwd .:将其他文件复制到当前目录  /-n :不要 ...

  9. lesson - 1 笔记 网络连接 /putty 密钥登陆

    ---笔记 一.网络连接配置 1. 查看电脑ip 地址: ifconfig -a  2. 自动获取ip 地址: dhclient   默认BOOTPROTO=dhcp  和真机同一网段 3. 手动配置 ...

  10. 小白的Python之路 day4 json and pickle数据标准序列化

    一.简述 我们在写入文件中的数据,只能是字符串或者二进制,但是要传入文件的数据不一定全是字符串或者二进制,那还要进行繁琐的转换,然后再读取的时候,还要再转回去,显得很麻烦,今天就来学习标准的序列化:j ...