將預(yù)測(cè)值和測(cè)量值進(jìn)行結(jié)合辜荠,對(duì)系統(tǒng)狀態(tài)進(jìn)行最優(yōu)估計(jì)的算法命锄。
在連續(xù)變化的系統(tǒng)中使用卡爾曼濾波是非常理想的妥衣,它具有占用內(nèi)存小的優(yōu)點(diǎn)(除了前一個(gè)狀態(tài)量外,不需要保留其它歷史數(shù)據(jù))铁蹈,并且速度很快,很適合應(yīng)用于實(shí)時(shí)問題和嵌入式系統(tǒng)菱魔。
根據(jù)k-1時(shí)刻的系統(tǒng)狀態(tài)預(yù)測(cè)k時(shí)刻系統(tǒng)狀態(tài)拄丰。
考慮外部因素控制的影響
外部因素會(huì)對(duì)系統(tǒng)進(jìn)行控制喜最,從而帶來一些與系統(tǒng)自身狀態(tài)沒有相關(guān)性的改變偎蘸。其中成為控制矩陣,
稱為控制向量瞬内,如果沒有外部控制迷雪,這部分可以忽略。
外部噪聲因素
在每次預(yù)測(cè)之后虫蝶,我們可以添加一些新的不確定性來建立這種與“外界”(即我們沒有跟蹤的干擾)之間的不確定性模型
小結(jié):
由上兩式可知章咧,新的最優(yōu)估計(jì)是根據(jù)上一最優(yōu)估計(jì)預(yù)測(cè)得到的,并加上已知外部控制量的修正能真。 而新的不確定性由上一不確定性預(yù)測(cè)得到赁严,并加上外部環(huán)境的干擾。
加入傳感器觀測(cè)數(shù)據(jù)
卡爾曼濾波的一大優(yōu)點(diǎn)就是能處理傳感器噪聲粉铐,我們的傳感器或多或少都有點(diǎn)不可靠疼约,并且原始估計(jì)中的每個(gè)狀態(tài)可以和一定范圍內(nèi)的傳感器讀數(shù)對(duì)應(yīng)起來。 從測(cè)量到的傳感器數(shù)據(jù)中蝙泼,我們大致能猜到系統(tǒng)當(dāng)前處于什么狀態(tài)程剥。但是由于存在不確定性,某些狀態(tài)可能比我們得到的讀數(shù)更接近真實(shí)狀態(tài)踱承。
傳感器早上用協(xié)方差表示倡缠,該分布的均值
是我們讀取到的傳感器數(shù)據(jù)。
于是我們得到兩個(gè)高斯分布茎活,一個(gè)是預(yù)測(cè)值附近昙沦,一個(gè)是傳感器讀數(shù)附近。把兩個(gè)具有不同均值和方差的高斯分布相乘载荔,得到一個(gè)新的具有獨(dú)立均值和方差的高斯分布盾饮。
結(jié)果如下,其中懒熙,K為卡爾曼增益丘损。
總結(jié):
我們可以用這些公式對(duì)任何線性系統(tǒng)建立精確的模型,對(duì)于非線性系統(tǒng)來說工扎,我們使用擴(kuò)展卡爾曼濾波徘钥,區(qū)別在于EKF多了一個(gè)把預(yù)測(cè)和測(cè)量部分進(jìn)行線性化的過程。
參考文章:
http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/
https://blog.csdn.net/u010720661/article/details/63253509