简明扼要的介绍下不同滤波方案的联系和区别,重点突出ESKF。

一、几种滤波的共同点:

1.本质上都是概率的运算,最核心的思想是贝叶斯概率,也就是先验问题与后验问题的定义与其概率计算;

2.各算法的推导过程和最终形态以及求解公式,本质上都离不开KF的经典5大公式;具体可参考贺博的”卡尔曼滤波 -- 从推导到应用“系列。

3.无论是否迭代,kF系列算法都基于马尔科夫假设,也就是只与上一帧数据进行参比计算,因此其结果精确性与稳定性相比最新的一些算法或后端图优化来说,还是有一些逊色。

二、区别:

1.KF主要是针对线性估计

2. EKF通过对目标函数的二阶泰勒式子进行截断来使非线性的内容线性化,从而完成非线性估计,但其截断误差会影响结果,持续下去也会发散;

3. UKF通过对目标函数的分布进行特征点采样,采用高斯的 σ 原则,选取特征点来模拟分布;

4. PF则是与目标函数本身关系不大,使用大量的粒子描述原目标函数的分布,经过权重筛选和重采样,不断将模拟的结果作为分布的结果输入,获得滤波的结果;

5. ESKF是一种间接的滤波法,它不是对目标函数求解,而是对系统误差状态求解,最后和名义状态进行合并,得到实际状态。

6. 计算复杂度:EKF由于雅克比矩阵的计算,其复杂度相对较高,时间消耗大,而UKF消耗受限于关键点的选取,PF除了受限于粒子数目外,还受限于采样方法;ESKF与KF是计算比较快的算法。

三、ESKF介绍:

1. ESKF的核心思想是把系统状态分为三类:

a. True State(Ground Truth):真值,指系统实际的运行状态,一般我们会在系统中假定某种输入为真值。(这一条在非线性KF系列滤波通用);
b. Nominal State:名义状态,指系统的变化情况或变化趋势。例如IMU的各轴向加速度对时间的积分可以认为是各轴向距离上的变化,一般在系统中我们认为它是非线性(这一条也是我们在非线性KF中的强关注点);
c. Error State:误差状态,真值与名义状态的差值,这个值也是非线性变化的。例如在IMU、激光、毫米波的系统中,我们可以假定激光的数据为真值,用其他两种来做融合,结果与激光做RMSE,这就可以认为是一种误差状态。
那么我们可以将任意一个状态变化过程,分割为名义变化过程和误差项,即真值为名义变化过后的结果与误差值的叠加。

2. ESKF的步骤如下:

a. 对IMU数据进行积分,获得名义状态X,注意这个X并没有考虑噪声,所以必然引入了累计误差;
b. 利用KF算法估计Error State,包括状态更新和测量更新,这个过程是考虑了噪声的,而且由于这个误差状态的方程式近似线性的,直接使用KF就可以;
c. 利用Error State修正Nominal State,获取“真值”;
d. 重置Error State,等待下一次更新;
3. 使用ESKF的优势:

a. Error State中的参数数量与运动自由度是相等的,避免了过参数化引起的协方差矩阵奇异的风险;
b. Error State总是接近于0,Kalman Filter工作在原点附近。因此,远离奇异值、万向节锁,并且保证了线性化的合理性和有效性;
c. Error State总是很小,因此二阶项都可以忽略,因此雅可比矩阵的计算会很简单,很迅速;
d. Error State的变化平缓,因此KF修正的频率不需要太高。

参考:

1.  Joan Sol`a. Quaternion kinematics for the error-state KF. Sep 12, 2016.

2. 机器人运动估计——IMU运动方程与ESKF原理介绍(下) - 古月居 (guyuehome.com)

KF、EKF、UKF、ESKF、PF对比相关推荐

  1. INS/GNSS组合导航(四)卡尔曼滤波比较之KF/EKF/UKF/PF

    1.摘要 卡尔曼滤波自1960年代发表至今,在各个时间序列估计领域尤其是位置估计.惯性导航等得到了广泛的应用,后续逐渐演化出EKF.UKF以及PF,本文重点对比KF.EKF与UKF及PF的差异及演化来 ...

  2. 滤波器方法(贝叶斯/EKF/UKF/ESKF/MSCKF)

    1. 背景概述 移动机器人.无人机或者无人船等是不能够像工业机器人利用关节处的力矩传感器和编码器的读数直接进行位姿的解算的,抛开工业机械设计制造及其装配时带来的误差,移动机器人.无人机或者无人船等内置 ...

  3. 运动目标跟踪(一)--搜索算法预测模型之KF,EKF,UKF

    这里先总体介绍下,原文转自: http://www.cnblogs.com/gaoxiang12/p/5560360.html 任何传感器,激光也好,视觉也好,整个SLAM系统也好,要解决的问题只有一 ...

  4. 运动目标跟踪(五)--搜索算法预测模型之PF,KF,EKF,UKF比较总结

     http://blog.sina.com.cn/s/blog_7dc49c690100t9dv.html [转载] 之前一直在做移动机器人定位算法.查来查去,发觉粒子滤波算法(又叫MC算法)应该 ...

  5. 自动驾驶算法-滤波器系列(二)—— 卡尔曼滤波简介及其变种(EKF、UKF、PF)介绍

    KF&EKF&UKF&PF 1. 基础知识概要 协方差矩阵 多维高斯分布 状态空间表达式 2. 什么是卡尔曼滤波器 3. 五个重要的公式 公式介绍 公式推导过程 4. 卡尔曼滤 ...

  6. 了解卡尔曼滤波器4--非线性状态估算器(EKF,UKF,PF)

    一般来说,我们希望我们的生活是线性的,就像这条线,这可能表示成功.收入或者幸福.但实际上,生活并不是线性的,它充满了起伏,有时甚至更复杂. 如果您是工程师,您经常会需要处理非线性系统,为了帮助您,我们 ...

  7. 【老生谈算法】matlab实现EKF UKF PF三种算法对比源码——EKF UKF PF算法

    EKF UKF PF三种算法对比 matlab程序 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]EKF-UKF-PF三种算 ...

  8. 常见滤波汇总(KF、EKF、UKF和PF)

    1.KF 无人驾驶技术入门(十三)| 手把手教你写卡尔曼滤波器 2.EKF 无人驾驶技术入门(十八)| 手把手教你写扩展卡尔曼滤波器 3.PF 无人驾驶技术入门(二十)| 手把手教你用粒子滤波实现无人 ...

  9. 卡尔曼滤波算法原理(KF,EKF,AKF,UKF)

    卡尔曼滤波算法原理(KF,EKF,AKF,UKF) 主要是KF.EKF.UKF算法公式推导,直接看公式会比较枯燥,建议推导一下. 新增文章卡尔曼运动模型公式推导CTRV+CTRA,主要是EKF的CTR ...

  10. KF、EKF、ESKF的区别与联系

    目录 背景 贝叶斯滤波系列 KF.EKF.ESKF的原理与区别 贝叶斯滤波 卡尔曼滤波(KF,Kalman Filter) 扩展卡尔曼滤波(EKF,Extended Kalman Filter) Er ...

最新文章

  1. Go语言中的Struct
  2. openGL光照要点总结
  3. QT中Qpixmap与QImage的转化
  4. 神经网络可视化,真的很像神经元!
  5. 最健康的睡眠时间究竟是多少?
  6. C++(11)--编程实践1-经典养成类游戏简单实践
  7. 网络故障处理手册大全
  8. springmvc重定向到另一个项目_SpringMVC结合Ajax、请求转发重定向、视图解析器
  9. android系统音效均衡方案
  10. 基于javaEE的超市库存管理系统
  11. 计算机科学给稿费多少,科学网—千字千元的稿费标准高吗? - 籍利平的博文
  12. iphone8 android传文件,如何从iPhone或Android将数据传输到新的iPhone 8
  13. bd-rate的计算
  14. 倒计时不到1天!iPhone 11系列起售价预测,或将成为新的“真香机”
  15. css画出wifi图标,css3实现wifi信号逐渐增强效果实例
  16. 数字化转型:留给企业的时间不多了!
  17. VBA从多张工作簿(workbooks)中多张工作表(worksheets)同一位置提取数据
  18. vue 文件上传组件封装
  19. 实验四 对等网的组建
  20. Linux——计划任务(Crontab)

热门文章

  1. 英语四六级写作救命万能表达
  2. 通讯录——java课程设计
  3. 窄带物联网(NB-IoT)科技的关键技术是什么?
  4. 一阶shelf IIR数字滤波器的设计和实现
  5. KONG和KONGA部署及配置
  6. 实现strncmp函数
  7. 车辆管理系统设计C++代码
  8. webrtc bbr
  9. Java如何打印九九乘法表
  10. RVM切换ruby版本