0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

卡尔曼滤波家族

硬件攻城狮 来源:硬件攻城狮 2024-01-14 14:29 次阅读

最近在看 《概率机器人》,觉得关于贝叶斯滤波器确实也可以稍作总结,于是就写了这篇卡尔曼滤波家族。

本文对于扩展卡尔曼滤波、无迹卡尔曼滤波仅仅做了一些简要介绍,不再想上次的文章那样做详细地推导了。但只要看过之前写的卡尔曼滤波,相信这篇文章对于你来说也是很好理解的。

本文配图均来自《概率机器人》

扩展卡尔曼滤波

假设状态转移概率和测量概率分别由非线性函数g和h控制,而不再是一个线性变换:

7b8d3ac6-b28a-11ee-8b88-92fbcf53809c.png

这种情况下,由于线性变换的关系不在了,因此概率分布也不再是高斯分布。整个系统不再有闭式解,这是最让人头疼的。

而EKF的主要思想就是线性化:通过一个在高斯函数的均值处与非线性函数g相切的线性函数来近似g。

7b941530-b28a-11ee-8b88-92fbcf53809c.png

线性化的主要优点就是效率,一旦对g和h进行了线性化,KEF和KF就是等效的。

EKF采用一阶泰勒展开的方式来进行线性化,其根据g的值和斜率构造一个函数g的线性近似函数:

7baff73c-b28a-11ee-8b88-92fbcf53809c.png

7bb40598-b28a-11ee-8b88-92fbcf53809c.png

同理,将测量函数h线性化,有

7bb79f50-b28a-11ee-8b88-92fbcf53809c.png

最后,整个EKF算法的流程如下:

1. 运动更新:

7bbafb28-b28a-11ee-8b88-92fbcf53809c.png

2. 测量更新

7bc7c344-b28a-11ee-8b88-92fbcf53809c.png

很显然,EKF 能否成功应用取决于两个因素:

1. 被近似的函数的局部非线性化程度;

2. 概率分布自身的不确定度(协方差)。

7bcfd390-b28a-11ee-8b88-92fbcf53809c.png

7be7fb96-b28a-11ee-8b88-92fbcf53809c.png

7bec6992-b28a-11ee-8b88-92fbcf53809c.png

7c04a46c-b28a-11ee-8b88-92fbcf53809c.png

上两图就明确展示了非线性函数在近似点非线性程度越高、概率分布本身越不确定,所得到的近似结果就越差。此时,采用扩展卡尔曼滤波的效果往往很差,甚至会导致发散。

无迹卡尔曼滤波

不同于EKF使用线性化来近似非线性函数,UKF通过无损变换来近似一个高斯分布,它通过使用加权统计线性回归过程来实现随机线性化。

7c096754-b28a-11ee-8b88-92fbcf53809c.png

下面就介绍些UKF无损变换的思想。

7c0e7d8e-b28a-11ee-8b88-92fbcf53809c.png

7c12d122-b28a-11ee-8b88-92fbcf53809c.png

将以上过程分别代入到运动更新和测量更新中就可以得到无迹卡尔曼滤波了。

运动更新

7c26d762-b28a-11ee-8b88-92fbcf53809c.png

测量更新

7c2a7962-b28a-11ee-8b88-92fbcf53809c.png

7c2e0f96-b28a-11ee-8b88-92fbcf53809c.png

以上就是扩展卡尔曼滤波和无迹卡尔曼滤波的全过程了。只要明白了贝叶斯滤波或者卡尔曼滤波器,这两个扩展都是信手拈来。

SLAM中,KEF往往比UKF使用得更广。我个人浅见,主要原因有一下几点:


1. UKF是一种抽样近似,无可避免地导致计算量较大;

2. 只有在高度不线性的情况下(或方差很大),UKF才有明显的优势;

3. UKF的优势主要集中在开环的情况下,但SLAM中更常使用回环检测这样的闭环来消除误差;

4. 如果建图与定位分开,UKF在建图过程中的作用可能会大些(开环的情况下);在定位中,用其来提高运动模型作用不大,观测模型中准确地和地图进行匹配对定位精度影响更大。

信息滤波

信息滤波(IF)是卡尔曼滤波的对偶滤波算法,二者的不同在于对高斯分布的表示方式。

信息滤波以正则参数来表示高斯分布,由一个信息矩阵和信息向量组成。

7c31760e-b28a-11ee-8b88-92fbcf53809c.png

该式在一些情况下会比矩参数(卡尔曼滤波中均值和协方差分别是一阶矩和二阶矩)的表示更加简洁。例如,信息滤波下高斯分布的负对数为

7c727c30-b28a-11ee-8b88-92fbcf53809c.png

对应的信息滤波算法和扩展信息滤波算法如下。

信息滤波算法

对应的运动方程和测量方程为

7c7dbe10-b28a-11ee-8b88-92fbcf53809c.png

对应的信息滤波算法为:

7c816646-b28a-11ee-8b88-92fbcf53809c.png

对比信息滤波算法和卡尔曼滤波,二者在计算复杂度上有很大的不同。


信息滤波中运动更新涉及矩阵求逆,计算量大;但在卡尔曼滤波中运动更新只涉及状态向量的一部分。

而信息滤波中测量更新是增量的,而KF的测量更新涉及矩阵求逆而较为困难。这也展示了二者的特性是对偶的。

扩展信息滤波算法

7c84ba9e-b28a-11ee-8b88-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    4325

    浏览量

    62529
  • 卡尔曼
    +关注

    关注

    0

    文章

    21

    浏览量

    12169
  • 滤波算法
    +关注

    关注

    2

    文章

    88

    浏览量

    13718

原文标题:卡尔曼滤波家族

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    卡尔滤波

    卡尔滤波的估计值能很好的逼近真实值,我的疑惑是,这和滤波有什么关系,请高手介绍下卡尔算法是如
    发表于 07-04 22:57

    卡尔滤波有哪些应用

    卡尔滤波风力发电机中的风速估计,转速估计甚至扭矩估计都设计到卡尔滤波,如果只是单一传感变量的
    发表于 07-12 06:00

    卡尔滤波简介

    在这里我就不介绍卡尔的数学推算了,网上的数学推导一抓一大把,如果想了解推导过程的小伙伴可以去大佬的博客。如果你是想直接简单运用卡尔滤波
    发表于 02-28 14:24

    卡尔滤波器原理

    离散卡尔滤波器1960年,卡尔发表了他著名的用递归方法解决离散数据线性滤波问题的论文[Kal
    发表于 07-14 13:03 0次下载

    卡尔滤波器原理简介

    这是关于卡尔滤波的一份相当不错的资料,详细的剖析了卡尔滤波原理
    发表于 12-15 14:19 60次下载

    卡尔滤波学习及应用

    卡尔滤波的学习与应用。
    发表于 04-13 15:15 7次下载

    卡尔滤波讲解

    卡尔滤波讲解,感兴趣的小伙伴们可以瞧一瞧。
    发表于 08-23 17:56 14次下载

    卡尔滤波算法

    卡尔滤波算法
    发表于 12-17 17:22 52次下载

    一文看懂mpu6050卡尔滤波程序

    本文开始阐述了卡尔滤波的概念,其次阐述了卡尔滤波的性质与
    发表于 03-09 08:57 7.4w次阅读
    一文看懂mpu6050<b class='flag-5'>卡尔</b><b class='flag-5'>曼</b><b class='flag-5'>滤波</b>程序

    几种最优估计和卡尔滤波原理的学习课件免费下载

    本文档的主要内容详细介绍的是几种最优估计和卡尔滤波原理的学习课件免费下载包括了:1 卡尔滤波
    发表于 05-09 08:00 22次下载
    几种最优估计和<b class='flag-5'>卡尔</b><b class='flag-5'>曼</b><b class='flag-5'>滤波</b>原理的学习课件免费下载

    卡尔滤波原理及应用

    卡尔滤波原理及应用-黄小平
    发表于 06-09 14:37 0次下载

    扩展卡尔滤波的原理

    在很多实际工程问题当中,非线性系统占大多数,而卡尔提出来的卡尔滤波器是一种针对线性系统的估计算法[1]。 为了解决这一问题,Schmid
    的头像 发表于 08-12 10:06 5607次阅读
    扩展<b class='flag-5'>卡尔</b><b class='flag-5'>曼</b><b class='flag-5'>滤波</b>的原理

    卡尔滤波(KF)与扩展卡尔(EKF)

    卡尔滤波是一种高效率的递归滤波器(自回归滤波器), 它能够从一系列的不完全包含噪声的测量(英文:measurement)中,估计动态系统的
    发表于 05-10 17:51 3次下载

    浅析卡尔滤波

    在 飞行器姿态计算 中,卡尔滤波是最常用的姿态计算方法之一。今天就以目前的理解讲以下卡尔滤波
    的头像 发表于 06-14 10:44 2041次阅读

    什么是卡尔滤波?卡尔滤波的作用是什么

    一、什么是卡尔滤波? 你可以在任何含有不确定信息的动态系统中使用卡尔滤波,对系统下一步的走向
    的头像 发表于 08-08 09:39 6947次阅读
    什么是<b class='flag-5'>卡尔</b><b class='flag-5'>曼</b><b class='flag-5'>滤波</b>?<b class='flag-5'>卡尔</b><b class='flag-5'>曼</b><b class='flag-5'>滤波</b>的作用是什么