

【Kalman】卡尔曼滤波
source link: https://www.guofei.site/2018/09/04/kalman.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【Kalman】卡尔曼滤波
2018年09月04日Author: Guofei
文章归类: 4-1-统计模型 ,文章编号: 409
版权声明:本文作者是郭飞。转载随意,但需要标明原文链接,并通知本人
原文链接:https://www.guofei.site/2018/09/04/kalman.html
什么是卡尔曼滤波?
你想对某一组指标进行预测,现在已经有两组不是很准的方案:
- 你已经有了预测方程,进而可以预测均值和方差(假设这一组指标)
- 测量某些指标,从而推断你的指标
这种情况非常适合Kalman滤波 卡尔曼滤波的的优点如下:
- 可以有效利用多个粗糙数据之间的关系,而单独面对这些数据你可能都无从下手。
- 卡尔曼滤波尤其适合动态系统。
- 它对于内存要求极低(它仅需要保留系统上一个状态的数据,空间复杂度O(1))。它运算很快,这使得它非常适合解决实时问题和应用于嵌入式系统。
step1
1. 预测部分
xk=Axk−1+Buk−1+wk−1xk=Axk−1+Buk−1+wk−1
其中,
xk−1xk−1是一个多维正态分布,代表系统状态
uk−1uk−1是对系统的控制量,
ww是多维正态分布,是系统噪声
如果仅仅使用预测迭代式进行迭代,预测误差会越来越大,最终没有意义。
2. 测量部分
zk=Hxk+vkzk=Hxk+vk
step2
这一步,分别使用以上两种模型去求随机变量zkzk
预测部分
在第k-1次迭代中,求得了xk−1∼N(x^k−1,Pk−1)xk−1∼N(x^k−1,Pk−1),带入预测公式,可以求得:
xk∼N(x^k,Pk)xk∼N(x^k,Pk)
带入zk=Hkxkzk=Hkxk
得到zk∼N(Hkxk,HkPkHTk)zk∼N(Hkxk,HkPkHkT)
(这里有个运算法则:多元正态分布乘以矩阵后,仍是多元正态分布,且均值和方差满足以上公式)
测量部分
zk∼N(z^k,Rk)zk∼N(z^k,Rk)
step3
现在有了两种方案得到的zkzk的分布,我们希望以此得到一个更准确的zkzk分布。
(这一步看到过有贝叶斯法、最小均方差、正态分布乘法法,都是等价的,这里用正态分布乘法进行推导)
N(u0,Σ0)×N(u1,Σ1)=N(u0+k(u1−u0),Σ0−KΣ0)N(u0,Σ0)×N(u1,Σ1)=N(u0+k(u1−u0),Σ0−KΣ0)
其中,K=Σ0(Σ0+Σ1)−1K=Σ0(Σ0+Σ1)−1(定理见于这里)
step2中已经得到:
zk∼N(Hkxk,HkPkHTk)zk∼N(Hkxk,HkPkHkT)
zk∼N(z^k,Rk)zk∼N(z^k,Rk)
如此,便可求出这次迭代中,两个信息都用到的最佳xkxk所对应的zkzk(记录这个最佳xkxk为x′kxk′,它也是下次迭代的输入)
Hkx^′k=Hkx^k+K(z−Hkx^k)Hkx^k′=Hkx^k+K(z−Hkx^k)
HkP′kHTk=HkPkHTk−KHpPkHTkHkPk′HkT=HkPkHkT−KHpPkHkT
其中,K=HkPkHTk(HkPkHTk+Rk)(−1)K=HkPkHkT(HkPkHkT+Rk)(−1)
5个核心公式
时间更新
x^′k=Ax^′k−1+Buk−1x^k′=Ax^k−1′+Buk−1
P′k=APk−1AT+QPk′=APk−1AT+Q
状态更新
Kk=P′kHT(HP′kHT+R)−1Kk=Pk′HT(HPk′HT+R)−1
x^k=x^′k+Kk(yk−Hx^′k)x^k=x^k′+Kk(yk−Hx^k′)
Pk=(I−KkH)P′kPk=(I−KkH)Pk′
参考资料
如何通俗并尽可能详细解释卡尔曼滤波? - 米开朗基罗赵的回答 - 知乎
Understanding the Basis of the Kalman Filter
Via a Simple and Intuitive Derivation
最后再提一句,有资料说,Kalman与HMM有一定的深刻联系,只不过HMM的隐变量是离散的。
您的支持将鼓励我继续创作!
Recommend
-
33
If you have already tried to understand Kalman filters , you may very likely have found yourself dumbfounded, as I was when I did. Yet Kalman filters are actua...
-
24
Kalman Filter(1) — The Basics Basics of self-driving car localisation
-
63
Kalman Filter(2) — Grid World Localisation Apply Basics to 2 Dimensional Space
-
10
这一周主要讲卡尔曼滤波 (Kalman Filter),视频讲得比较简略,slides 做得里也有不少错误。最后看了一些其他网站的文章和视频才有了比较深刻的理解。参考资料推荐在本文结尾。 卡尔曼滤波 KF 卡尔曼滤波可以从一系列包含噪音的观测数据中,估计...
-
5
Kalman滤波器数学原理与应用 Published at: 2013-08-29 | Reading: 2059 words ~5min | PV/UV: 7/6
-
5
©作者 | Doreen 01 问题描述 预先知道事物未来的状态总是很有价值的! √ 预知台风的路线可以避免或减轻重大自然灾害的损失。 √ 敌国打过来的导弹,如果能够高精度预测轨迹,就能有效拦截。 √ 操控无人机,需要知道下一刻...
-
5
Probabilistic Robotics 这篇心得主要根据Sebastian Thrun的Probabilistic Robotics课程的ppt来写。 注:Sebastian Thrun,德国波恩大学博士(1995年)。先后执教于CMU和Stanford。 http://robots.st...
-
9
June 28, 2022 ...
-
3
贝叶斯与卡尔曼滤波(1)--三大概率 贝叶斯滤波主要是通过概率统计的方法,主要是贝叶斯公式,对随机信号进行处理,减小不确定度 贝叶斯滤波处理的随机变量主要是一个随机过程。x1,x2,x3...
-
13
Finding Humor in Life’s Absurdity with Maira Kalman in Atomic Ideas
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK