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

多元正态分布

协方差矩阵,为正定对称矩阵。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. CentOS 下开启PHP错误提示

    我也是傻逼,一直在找图片无法上传的原因,这么久了才意识到自己没有在Linux系统的服务器下开启错误提示. 正文 默认模式下的apache是没有开启错误语法提示的,修改php.ini文件.不同的安装,p ...

  2. awk中引用shell变量执行替换的脚本

    遇到问题: 现在有两个脚本,我想 将file1中的内容按file2来匹配 [root@154 home]# cat file1 3-1-1 POTV=1,POTA=0,POTP=2 1-4-76 PO ...

  3. 十二条Linux运维面试必备经典笔试/面试题

    1.Linux设置环境变量 暂时的:export MYNAME="new name" echo $MYNAME new name 永久的:通过改变/etc/profile实现 EG ...

  4. Bug等级判断标准

    测试的问题大致可分为以下几个类型:致命问题严重问题一般问题轻微问题 判断标准如下1.致命问题:造成系统崩溃.死机.死循环,导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等问题.如:代 ...

  5. ASP.NET没有魔法——ASP.NET MVC 模型验证

    在前面的文章中介绍了用户的注册及登录功能,在注册用户时可以通过代码的形式限制用户名及密码的格式,如果不符合要求那么就无法完成操作,如下图: 该功能的原理是Identity基于的Entity Frame ...

  6. 01_Python入门

    Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程 ...

  7. Mysql基础安装,初视篇

    mysql 跟所有的数据库软件一样分为  服务端和客户端: 下载:在官网里面选择 download 社区版本,mysql,社区版本 安装: win环境下: 第一步:解压文件出来 第二步:在bin文件下 ...

  8. spring boot + vue + element-ui全栈开发入门——前端列表页面开发

     一.页面 1.布局 假设,我们要开发一个会员列表的页面. 首先,添加vue页面文件“src\pages\Member.vue” 参照文档http://element.eleme.io/#/zh-CN ...

  9. UCS业务知识介绍

    企业融合网关是集路由.交换.防火墙.VPN.IP PBX等功能于一体的综合性设备,满足企业语音.数据.网络安全等业务需求. UCS融合网关设备则是设备厂商在企业融合网关的基础上进一步提出的融合通信设备 ...

  10. 一步一步从原理跟我学邮件收取及发送 11.完整的发送示例与go语言

    经过了这个系列的前几篇文章的学习,现在要写出一个完整的 smtp 邮件发送过程简直易如反掌.    例如我们可以轻松地写出以下的纯 C 语言代码(引用的其他C语言文件请看文末的 github 地址): ...