码农生活告一段落,继续。。。。

多元正态分布

协方差矩阵,为正定对称矩阵。det表示行列式

协方差反应随机样本变量各分量之间的相关性。

当变量的假设模型不一致时,不适合用高斯滤波。

叠加高斯噪声的线性假设

联立1,2式可得状态转移概率

测量值

卡尔曼滤波

初始置信度

1、 其中贝叶斯滤波中的后验概率bel(x)由均值和协方差表示。整个算法流程就是在对二者不停的做迭代计算。

2、 可以看出增益系数K由前验概率中的协方差以及测量系数、测量误差这三者来决定。

3、 均值的更新需要用的测量值zt,协方差的更新只与上次协方差以及本次增益系数有关。

推导过程太繁复,略过不看了。

扩展卡尔曼滤波

式3.2与3.5

由如下两式代替

1、状态转移函数以及测量概率函数由原来的线性假设变为了非线性假设,但误差还是符合正态分布。

2、但是整体的后验概率将不符合高斯分布(正态分布),用原来的贝叶斯滤波将不会有闭环解(closed-form solution),所以扩展卡尔曼滤波只能计算近似解。

3、扩展卡尔曼滤波通过对函数的泰勒展开来逼近线性函数。

泰勒展开

偏导公式:

在上一次的均值处对做泰勒展开有:

算法描述

对比KF,可以发现原来的A、B、C由G、H代替。

实际考虑

1、多模型考虑。有时候,会用到多个模型对状态进行估计,这些模型没有相互冲突。此时可采用对模型加权的方式进行处理。称为多假设(扩展)卡尔曼滤波(Multi-Hypthesis (Extended) Kalman Filter,MHEKF),其中的加权系数为似然估计。

2、局部非线性化,局部线性化程度高,泰勒展开越逼近真实结果,滤波效果越好。

3、不确定性(方差),当状态的不确定性(方差)很大时,经过非线性函数的变换,结果容易扩散,得到的概率密度函数更加扭曲。

4、比之泰勒展开更加高级的另两种方式,一种是无迹卡尔曼滤波(Unscented KF,UKF),它通过使用加权统计线性回归过程实现随机线性化(机器学习);另一种是矩匹配(moments mathching),它仅通过对后验分布的真实均值与方差来计算。

下一步将用matlab进行模拟。

probabilistic robotics_Kalman filter(一)的更多相关文章

  1. probabilistic robotics_bayes filter

    贝叶斯滤波 执行测量后的后验概率: 执行测量前的先验概率: 执行测量后的后验概率推导 根据式2.23的推导方式 可推出 假定xt是complete,即xt可以完全决定测量结果,那么则有2.56式: 带 ...

  2. django 操作数据库--orm(object relation mapping)---models

    思想 django为使用一种新的方式,即:关系对象映射(Object Relational Mapping,简称ORM). PHP:activerecord Java:Hibernate C#:Ent ...

  3. 卡尔曼滤波—Simple Kalman Filter for 2D tracking with OpenCV

    之前有关卡尔曼滤波的例子都比较简单,只能用于简单的理解卡尔曼滤波的基本步骤.现在让我们来看看卡尔曼滤波在实际中到底能做些什么吧.这里有一个使用卡尔曼滤波在窗口内跟踪鼠标移动的例子,原作者主页:http ...

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

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

  5. 基于粒子滤波的物体跟踪 Particle Filter Object Tracking

    Video来源地址 一直都觉得粒子滤波是个挺牛的东西,每次试图看文献都被复杂的数学符号搞得看不下去.一个偶然的机会发现了Rob Hess(http://web.engr.oregonstate.edu ...

  6. 海量信息库,查找是否存在(bloom filter布隆过滤器)

    Bloom Filter(布隆过滤器) 布隆过滤器用于测试某一元素是否存在于给定的集合中,是一种空间利用率很高的随机数据结构(probabilistic data structure),存在一定的误识 ...

  7. Java Bloom filter几种实现比较

    英文原始出处: Bloom filter for Scala, the fastest for JVM 本文介绍的是用Scala实现的Bloom filter. 源代码在github上.依照性能测试结 ...

  8. url去重 --布隆过滤器 bloom filter原理及python实现

    https://blog.csdn.net/a1368783069/article/details/52137417 # -*- encoding: utf-8 -*- ""&qu ...

  9. Skip List & Bloom Filter

    Skip List | Set 1 (Introduction)   Can we search in a sorted linked list in better than O(n) time?Th ...

随机推荐

  1. struts2.xml的配置问题

    1.<package namespace="/"></package> namespace决定访问action的路径: 如果省略,将代表任意路径: 2.&l ...

  2. Codeforces B. Divisiblity of Differences

    B. Divisiblity of Differences time limit per test 1 second memory limit per test 512 megabytes input ...

  3. R-FCN论文翻译

    R-FCN论文翻译 R-FCN: Object Detection viaRegion-based Fully Convolutional Networks 2018.2.6   论文地址:R-FCN ...

  4. nodejs建立websocket通信

    依赖模块 nodejs-websocket 服务端 const ws = require('nodejs-websocket'); console.log('开始建立连接...'); const se ...

  5. c#写的热键注册程序

    玩网页游戏挂机,又不想让别人看见你电脑的运行.所以写了个后台运行的程序. 先谁HotKey注册类,用来调用com组件来显示与隐藏窗体: using System; using System.Colle ...

  6. BZOJ 4129: Haruna’s Breakfast [树上莫队 分块]

    传送门 题意: 单点修改,求一条链的mex 分块维护权值,$O(1)$修改$O(S)$求mex...... 带修改树上莫队 #include <iostream> #include < ...

  7. 小甲鱼OD学习第3讲

    这次我们的任务是破解这个过期的软件,效果如图所示 我们通过阅读代码,知道这个程序的执行流程如图中注释所示 观看下图注释所示 这是失败的提示代码 这是成功的提示代码 最后我们可以得出结论,成功破解软件的 ...

  8. 反反爬虫 IP代理

    0x01 前言 一般而言,抓取稍微正规一点的网站,都会有反爬虫的制约.反爬虫主要有以下几种方式: 通过UA判断.这是最低级的判断,一般反爬虫不会用这个做唯一判断,因为反反爬虫非常容易,直接随机UA即可 ...

  9. JSP基础使用

    一.JSP简介 JSP(Java Sever Pages):是为了能让 Java 在 Web 页面运行的一种语言. 在JSP中包括两种主要内容: 1. HTML.JS语言(静态内容).由客户端浏览器负 ...

  10. Linux中的 awk查找日志中的相关记录

    假设要在 api.log.201707201830 文件中,(此文件的多个字段数据以不可见字符^A(键盘上按下Ctrl+V+A)分隔),要输出第70个字段: awk -F '^A' '{print $ ...