粗麦百科 网站地图

当前位置: 首页 常识

卡尔曼滤波算法原理流程(轻松理解卡尔曼滤波)

100人浏览   2024-11-14 10:09:31


笔者此前学习和实现卡尔曼滤波花费了很多时间,其实想要理解其原理并不算很复杂。

只是简单套用卡尔曼滤波的公式,而没有系统理解公式里面每个变量的缘来,不去理解卡尔曼滤波器的迭代过程和原理,在实现和调试系统的时候无疑是会找不着北的。

本文是一篇翻译,只是笔者为了加深理解,重新组织了一些内容,并没有完全按照原文翻译。

一个简单的场景

假设我们开发了一台无人机(假设它的名字是Eva),想要用它来在城市中送快递,Eva身上有一些传感器。

可以让我们知道它的速度v(比如三维空间中沿x,y,z各轴的速度大小),同时Eva身上还有GPS系统、气压计等设备,可以获知它的位置p(比如经纬度,海拔等),也就是说我们可以实时观测Eva的状态。

那么我们可以把Eva的某一个时刻的状态表示为一个向量:

不确定性和相关性

虽然我们比较肯定Eva此时的状态,但是无论如何系统总是会存在误差的,无论是计算上,还是传感器的检测上,所以我们只能认为当前状态是当前真实状态的一个最优估计。

那么我们不妨认为Eva的当前状态服从一个高斯分布,如下图所示:

预测下一个位置的系统状态和系统误差

Ok,接下来我们需要通过Eva当前的状态,运用一些物理学的知识来预测它的下一个状态,通过简单的物理学知识,通过k-1时刻的位置和速度,可以推测下一个时刻的状态为:

写成矩阵形式就是:

此处的Fk就是状态转移矩阵。Eva的系统误差通过协方差矩阵Pk来表示,根据协方差矩阵的性质:

那么我们所预测的Eva下一个时刻的状态误差为:

考虑系统内部控制

为了能让Eva到达任何地方,毫无疑问我们需要对它进行控制,比如加速和减速,假设某个时刻我们施加给Eva的加速度是a,那么下一时刻的位置和速度则应该为:

因此我们的状态预测方程更新为:

Ok,新方程中的Bk我们称为状态控制矩阵,而uk称为状态控制向量,含义很明显,前者表明的是加速减速如何改变Eva的状态,而后者则表明控制的力度大小和方向。

考虑系统外部影响

但是,外界可能有很多影响因素,导致我们对Eva实施控制的时候并不总是如我们所愿,有时候会逆风,有时候则是顺风。

在此我们猜测外部的不确定因素对Eva造成的系统状态误差wk服从均值为0高斯分布wk∼N(0,Qk),至此我们就能得到Kalman滤波中完整的状态预测方程:

因为wk为0,所以有的文章可能会忽略不写,但是如果明确知道均值不为零的是时候,就需要注意了,这要看实际应用时候的场景,理解了它的原理,就能对各部分的变化有深入体会。

此时应该观测到什么?

前面我们通过Eva的上一个状态,对它的当前状态做了缜密的预测,此时我们要考虑我们事先安装在Eva身上的各种传感器应该能够观测到什么?

Eva当前的状态和我们观测到的传感器数据应该具备特定的关系,假设这个关系通过矩阵表示为Hk,如下图所示:

在此前对Eva所做的预测状态下,我们应该观测到传感器的观测值为:

因此我们就完成了对观测值的预测,预测其结果服从如下高斯分布:

考虑实际观测的结果

好的,我们不仅推测了Eva当前的状态,还推测了我们应该观测到的传感器数据,但是现实和理想之间必然是存在差距的,我们预测的观测结果和实际的观测结果可能如下图所示:

上图中的zk表示实际观测的结果,但是观测的结果肯定也是不准确的,所以我们认为其观测噪声vk是一个均值为0,协方差矩阵为Rk的高斯分布,即:

其实也就是说我们对Eva的观测值服从高斯分布,Eva真实的情况应该存在以zk为椭圆心的椭圆内,即观测结果服从高斯分布:

终于来到了最关键的一步:卡尔曼滤波需要做的最重要的最核心的事就是融合预测和观测的结果,充分利用两者的不确定性来得到更加准确的估计。

通俗来说就是怎么从上面的两个椭圆中来得到中间淡黄色部分的高斯分布,看起来这是预测和观测高斯分布的重合部分,也就是概率比较高的部分。

两个高斯概率密度函数的乘积

一维的高斯分布通过高斯概率密度函数来表示,在坐标轴上画出来是一个类似草帽的形状。

下面给出两个高斯概率密度函数相乘的直观的结果。

对比标准的高斯概率密度函数,相乘的结果是一个乘了特定系数的新的高斯概率密度函数(这个系数在后面的演示代码中会计算),并且我们可以求解得到这个新的高斯分布的均值和方差分别为:

通过matlab我们可以计算两个高斯概率密度函数的乘积,以及通过上述公式计算得到的新的高斯概率密度函数,以下是相关的代码和运行截图:

clear allx=-1:0.01:2.5;mu0 = 0.3;mu1 = 0.8;sigma0 = 0.2;sigma1 = 0.5;sigma0_sq = 0.04;sigma1_sq = 0.25;y1=normpdf(x,mu0,sigma0);y2=normpdf(x,mu1,sigma1);y3=y1.*y2;k = sigma0_sq / (sigma0_sq + sigma1_sq);mu = (mu0*sigma1_sq + mu1*sigma0_sq) / (sigma0_sq + sigma1_sq);sigma = sqrt((sigma0_sq * sigma1_sq) / (sigma0_sq + sigma1_sq));scale = (1.0 / (sqrt(2*pi*(sigma0_sq + sigma1_sq)))) * exp(-1.0 * ((mu0-mu1)^2/(2.0 * (sigma0_sq + sigma1_sq))));y4 = normpdf(x,mu,sigma);% * scale;figure;plot(x,y1,x,y2,x,y3, x, y4,'MarkerSize',20,'LineWidth',5);grid;tip1 = sprintf('(\\mu_0,\\sigma_0) = (%.4f, %.4f)', mu0, sigma0);tip2 = sprintf('(\\mu_1,\\sigma_1) = (%.4f, %.4f)', mu1, sigma1);tip3 = '(\mu_0,\sigma_0)*(\mu_1,\sigma_1)';tip4 = sprintf('(\\mu^\\prime,\\sigma^\\prime) = (%.4f, %.4f)', mu, sigma);legend({tip1, tip2, tip3, tip4});


运行截图:

图中蓝色和橙色两个波形的直接乘积是黄色这个波形,而它其实可以通过紫色的波形乘上一个系数得到,也就是前面代码中的scale这个变量,计算公式在上面的已经提供。

如果在计算y4(紫色的波形)的时候乘上这个系数,你会发现它的波形就和黄色的波形(y3)完全重合了。把对应行稍作修改即可:

y4 = normpdf(x,mu,sigma) * scale;


大家可以自行复制代码进行实验。

新的高斯分布

那么我们把关注点放在这个乘积中这个新的高斯概率密度函数,其实它就描述了一个新的高斯分布,这正是卡尔曼滤波想要的最优估计。在新的均值和方差计算公式中,我们令:

那么可以得到:

将它们写成矩阵形式就是:

前面我们已经得到了预测结果和观测结果服从的两个高斯分布,如下:

所以我们可以进行如下推导,来得到卡尔曼滤波对当前状态(基于预测和观测的)最优估计的计算方程:

好的,两边化简下,注意K可以展开,于是可以得到(是的,易得):

此处的K′就是传说中的卡尔曼增益:

实际实现时的计算步骤

在实际使用卡尔曼滤波的时候,计算的步骤一般为(这里把下标去掉了,因为在实现的时候,即使下标不一样,我们用的其实就是一个变量,注意和前面的方程进行比对):

上面的y是测量余量(measurement residual),S是测量余量协方差矩阵。

最重要的是,我们要时刻关注不断迭代的系统变量,分别是系统的状态:x,其误差协方差矩阵:P,和卡尔曼增益:K。

在实际应用时,对Q和R的选择要依据实际情况来定,可以不断调试来寻找一个最优解,也可以是可变的,只要最终效果能够更好。


热门文章
  • 1八月十三是什么日子(军史上的今天|8月13日——淞沪会战)

    1937年8月13日淞沪会战爆发中日近百万军队血战淞沪战至最艰难阶段为掩护大部队撤离中国军队第88师262旅524团副团长谢晋元率400余孤军坚守四行仓库以寡敌众顽强抵抗四天四夜与此同时法国神父饶家驹设立南市难民区保护了大批中国难民为后来南京安全区的设立带来启发淞沪会战1937年8月13日至11月1

    2有关清明节的知识(“清明碰闰月,上坟三注意”要注意什么呢?)

    清明是传统的春祭节日,在清明扫墓祭祀、缅怀祖先,不仅有利于弘扬中华的孝道亲情,而且还能促进家族成员乃至民族的凝聚力和认同感,所以从古至今,清明节都是非常重要的一个节日。而今年的清明节和往年都不一样,因为今年清明处于闰二月,而在古人的认识中,闰二月属于一个霉运,在这个月做大部分的事情,都要格外注意,避

    3愉快假期朋友圈文案(“向生活请个假,周末愉快呀”)

    1²º²⁴/₁₁.₂₄ᴴᴬᵛᴱ ᴬ ᴳᴼᴼᴰ ᵀᴵᴹᴱ生活简简单单,日子温温柔柔,与万事言和,与独处相安,自行,自醒,自清,自爱,用好的心情去承揽今日好的运气。2²⁰²⁴/₁₁.₂₄♡Morning日子渺小重复,却很幸福。用心感受生活,心里有爱,每一天都是幸福的起点。3²⁰²⁴/₁₁.₂₄* ੈ✩‧

    4炒粉的家常做法,每个人都能学会

    海鲜炒粉干口味:★ ★ ★ ★ ★营养:★ ★ ★ ★★美感:★ ★ ★ ★ ★操作:★ ★ ★ ★ ☆配料:平阳粉干半扎、虾适量、墨鱼干适量、五花肉适量、胡萝卜适量、香菇7朵、包菜半个、鸡蛋1个、生抽一匙、白糖少许、盐适量、鸡精一匙、鲍鱼汁一匙烹饪步骤:1.虾去虾须清洗干净再去内脏(用虾干更好吃哦

    5煲鱼汤的做法大全(砂仁陈皮鲫鱼汤丨美食)

    为大家推荐一道靓汤:砂仁陈皮鲫鱼汤。原料:新鲜鲫鱼200克,砂仁3克,陈皮6克,生姜、葱、油、精盐适量。做法:1.将鲜鲫鱼刮去鳞、鳃,剖腹去内脏,用清水洗净,沥干水分待用。2.砂仁研末,塞入鱼腹内,用线缝合,置油锅慢火煎至两面微黄后放入砂锅。3.砂锅加适量水,大火烧开,放入陈皮、姜片、葱段,用文火炖

    6神司马懿技能介绍(三国杀神司马懿到底算不算四害?)

    在三国杀这个游戏里,除了魏蜀吴群四大势力之外,神这个势力就比较独特了。因为当玩家选出神势力武将之后,就可以自由选择魏蜀吴群四大势力。官方在当年设计这些神武将的时候,通常情况下也都是根据他们一生里最有名的事件或战役来设计对应的技能。比如说神赵云,长坂坡七进七出声名远扬,所以他的技能濒死和脱离濒死都能摸

    7五岳山在哪个省份(中国五岳是哪几座山?)

    ·一、东岳泰山。位于山东省泰安市,海拔1545米。古以来泰山就是中国文化的象征之一,被誉为"五岳之首"和"天下第一山",因其雄伟的气势和丰富的文化历史而闻名。泰山的自然景观包括奇峰、深谷、瀑布等,而人文景观则涵盖了岱庙、红门宫等古迹,展现了中华民族的精神象征。·二、西岳华山。位于陕西省渭南市华阴市,

    8上饶旅游必去十大景点(上饶旅游必打卡的十大景点)

    最值得去的十个旅游景区。说说上饶旅游必打卡的十大景点!1. 去灵山风景名胜区,体验瀑布王国的壮丽,感受大自然的鬼斧神工。2. 去三清山,登上道教名山之巅,感受云雾缭绕的仙境。3. 去龟峰,探秘奇峰怪石的世界,感受大自然的鬼斧神工。4. 去葛仙山,体验道教文化的博大精深,感受人间仙境的宁静祥和。5.

    9口味重,敌不过好处多!但这几类人吃了反伤身

    大蒜、洋葱、香葱等,是很多菜品中的“配角”,因其“独特”的味道,喜欢的人,不管烹调什么都喜欢加一点,但也有不少人对它们敬而远之~不过,小编想告诉大家,这些葱类蔬菜可不仅仅是菜肴中的调味品,甚至有研究称它们对降低某些癌症风险有好处。葱类食物,或能成为“防癌帮手”?洋葱、大葱、香葱、大蒜、韭菜、蒜苗都属

    10花卷馒头的做法大全(8款家常做法)

    一直很喜欢做各种花式馒头,但是太复杂的造型又来不了,所以花卷和简单的馒头倒是做了很多次,家人也都特别喜欢吃。女儿更是表示以后不要再买馒头花卷了,哈哈,这大概是“厨娘”听到的最好点评了。这里豆妈就分享几款自己经常做到的花式馒头和花卷的做法,希望能对爱吃馒头花卷的你有所启发。首先馒头和花卷都是需要发面的
最新推荐
  • 地板瓷为什么渗脏(为什么你家的瓷砖总是显脏?)

    瓷砖选错,家务翻倍!刚拖完地,瓷砖上却总浮着一层灰蒙蒙的印子?明明买了“耐脏色”,结果头发丝、水渍反而更扎眼?甚至花大价钱铺的砖,邻居却问“是不是出租房同款”?别急着怀疑自己的审美,90%的瓷砖显脏问题,其实从你走进建材市场时就注定了!作为从业10年的装修老司机,今天掏心窝子分享一套“傻瓜式选砖法”

    木地板为什么感到舒服(客厅铺木地板,真是舒服美观)

    很多屋主在新房装修的时候,会考虑在卧室铺木地板,但是客厅地面装修的时候,常常会纠结客厅到底铺不铺木地板,担心防水性差、容易起拱缩缝、难以打理?美观客厅作为家中会客、观影和休闲的场所,是适合一家人相处的空间。客厅铺装木地板,有以下几个好处:1.风格百搭:木地板能够搭配多种百变的家居风格,让更整体家装风

    什么植物最好养活夏天(适合夏天养的绿色植物!)

    夏天就要到了,气温越来越高,很多植物的生长陷入了停滞,进入了休眠,这让很多喜欢养花的人苦恼不已。其实有些植物非常适合夏天养,不但颜值高,生命力强还能驱蚊。下面推荐6种适合夏天养的驱蚊植物,把它们养好能做到一举多得!会提高自己的生活质量,也能美化家居。一、七里香七里香是一种既能观花又能观叶的美丽植物,

    甩干桶为什么甩不干(洗衣机脱水甩不干怎么回事)

    洗衣机脱水不干。洗衣机脱水不干可能有以下原因:·脱水转速选择不当。洗衣机的脱水转速通常是根据衣物种类和质地而设定的。如果选择低于所需的脱水转速会导致衣物过于湿润甚至没有干燥。如果选择高于所需的脱水转速可能会损坏衣物纤维或变形。·衣物放置不均匀。如果衣物堆积在一起或者不平衡地分布在鼓中,洗衣机就无法进

    霓虹灯是什么灯条(LED霓虹灯发光字)

    产品说明PRODUCT MANUALLED霓虹灯发光字是一种新型发光字。与传统霓虹灯字相比,它更亮、更实用、更安全。霓虹灯字是由底板、LED灯带和硅胶条组成。底板多为亚克力、PVC,灯带颜色可选择。常用于咖啡厅、服装店、餐厅、室内装饰等。适用范围PRODUCT APPLICATION商场、专卖店展柜

    退税是什么意思简单点(究竟什么是退税?)

    究竟什么是退税?退税,顾名思义,是指纳税人在符合规定的条件下,可以向国家申请返还部分已缴纳的税款。在很多国家,退税通常指的是旅行者在境外购物后,可以在离境时向海关申请退还部分消费税。退税制度作为一种激励措施,可以促进消费,吸引更多的国际游客和购物者。不同国家和地区的退税规定及操作方式有所不同。一般情

    养花为什么要换盆(6种花赶紧换盆,土都吃完了)

    6种花赶紧换盆,土都吃完了,再不换就饿死!培养花卉亦应如同悉心照料幼儿一般,需留心呵护并适时为它们提供新的栖息地。随着春季的临近,植物们似被注入了活力,生长势头强劲,甚至耗尽了花盆中所有的土壤,迫切需要更加宽敞的居所以充分吸收营养,否则可能会因营养不良而衰弱。风雨兰风雨兰作为一种普遍的观赏植物,拥有

    泡芽种子为什么换水(水稻浸种催芽的方法步骤)

    咱农民种水稻,都知道浸种催芽是水稻种植的关键步骤。这一步做好了,后面的活儿才能更顺当。今天,我就跟大家伙儿说说这水稻浸种催芽的方法步骤,用咱农民的大白话,让大家都能听明白。一、选种首先啊,得选好种子。种子得选那种颗粒饱满、没有病虫害的,这样的种子发芽率高,长出来的秧苗也壮实。选好了种子,咱们就可以开

    红木什么木质最好(红木家具哪种材质最好)

    #红木家具哪种材质最好#以下是一些比较好的红木家具材质: 1. 黄花梨:- 特点:黄花梨又名降香黄檀,坚硬细密,色泽华丽,花纹优美,尤其是其呈现鬼脸状的花纹更是备受推崇。它还有迷人的香气,木质稳定性好,不易变形。在明清时期,黄花梨是制作硬木家具的主要材料。- 价值:黄花梨生长周期长,现存数

    柴油着火用什么灭火器(你真的“会用”灭火器吗?)

    无论是企业、学校、医院、工厂、仓库或者其它可能会发生火患的地方,消防设施都无处不在,其中便于移动携带可用来消灭初期火灾的灭火器自然必不可少,很多人都知道灭火器的使用步骤,但是却并不了解各种灭火器所适用的火灾场景,只有了解了每一种灭火器所针对的火灾环境,使用起来才能灭火得当,也能最大限度减少火灾损失。

网站内容来自网络,如有侵权请联系我们,立即删除!
Copyright © 粗麦百科 琼ICP备2024032622号-16