www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 玩轉(zhuǎn)嵌入式
[導(dǎo)讀]說(shuō)到卡爾曼濾波,想必很多讀者都用過(guò),或者聽(tīng)說(shuō)過(guò),是一種應(yīng)用非常廣泛的濾波算法。在網(wǎng)上看了不少與卡爾曼濾波相關(guān)的博客、論文,要么是只談理論、缺乏感性,或者有感性認(rèn)識(shí),缺乏理論推導(dǎo)。能兼顧二者的少之又少,直到看到了國(guó)外的一篇博文,講的非常詳細(xì),今天跟大家分享一下。

說(shuō)到卡爾曼濾波,想必很多讀者都用過(guò),或者聽(tīng)說(shuō)過(guò),是一種應(yīng)用非常廣泛的濾波算法。


在網(wǎng)上看了不少與卡爾曼濾波相關(guān)的博客、論文,要么是只談理論、缺乏感性,或者有感性認(rèn)識(shí),缺乏理論推導(dǎo)。能兼顧二者的少之又少,直到看到了國(guó)外的一篇博文,講的非常詳細(xì),今天跟大家分享一下。

以下是原博文翻譯內(nèi)容:

一、什么是卡爾曼濾波?
你可以在任何含有不確定信息的動(dòng)態(tài)系統(tǒng)中使用卡爾曼濾波,對(duì)系統(tǒng)下一步的走向做出有根據(jù)的預(yù)測(cè),即使伴隨著各種干擾,卡爾曼濾波總是能指出真實(shí)發(fā)生的情況。

連續(xù)變化的系統(tǒng)中使用卡爾曼濾波是非常理想的,它具有占用內(nèi)存小的優(yōu)點(diǎn)(除了前一個(gè)狀態(tài)量外,不需要保留其它歷史數(shù)據(jù)),并且速度很快,很適合應(yīng)用于實(shí)時(shí)問(wèn)題和嵌入式系統(tǒng)。

在Google上找到的大多數(shù)關(guān)于實(shí)現(xiàn)卡爾曼濾波的數(shù)學(xué)公式看起來(lái)有點(diǎn)晦澀難懂,這個(gè)狀況有點(diǎn)糟糕。實(shí)際上,如果以正確的方式看待它,卡爾曼濾波是非常簡(jiǎn)單和容易理解的,下面我將用漂亮的圖片和色彩清晰的闡述它,你只需要懂一些基本的概率和矩陣的知識(shí)就可以了。


二、我們能用卡爾曼濾波做什么?
用玩具舉例:你開(kāi)發(fā)了一個(gè)可以在樹(shù)林里到處跑的小機(jī)器人,這個(gè)機(jī)器人需要知道它所在的確切位置才能導(dǎo)航。


我們可以說(shuō)機(jī)器人有一個(gè)狀態(tài) ,表示位置和速度:
注意這個(gè)狀態(tài)只是關(guān)于這個(gè)系統(tǒng)基本屬性的一堆數(shù)字,它可以是任何其它的東西。在這個(gè)例子中是位置和速度,它也可以是一個(gè)容器中液體的總量,汽車(chē)發(fā)動(dòng)機(jī)的溫度,用戶手指在觸摸板上的位置坐標(biāo),或者任何你需要跟蹤的信號(hào)。

這個(gè)機(jī)器人帶有GPS,精度大約為10米,還算不錯(cuò),但是,它需要將自己的位置精確到10米以內(nèi)。樹(shù)林里有很多溝壑和懸崖,如果機(jī)器人走錯(cuò)了一步,就有可能掉下懸崖,所以只有GPS是不夠的。

或許我們知道一些機(jī)器人如何運(yùn)動(dòng)的信息:例如,機(jī)器人知道發(fā)送給電機(jī)的指令,知道自己是否在朝一個(gè)方向移動(dòng)并且沒(méi)有人干預(yù),在下一個(gè)狀態(tài),機(jī)器人很可能朝著相同的方向移動(dòng)。當(dāng)然,機(jī)器人對(duì)自己的運(yùn)動(dòng)是一無(wú)所知的:它可能受到風(fēng)吹的影響,輪子方向偏了一點(diǎn),或者遇到不平的地面而翻倒。所以,輪子轉(zhuǎn)過(guò)的長(zhǎng)度并不能精確表示機(jī)器人實(shí)際行走的距離,預(yù)測(cè)也不是很完美。

GPS 傳感器告訴了我們一些狀態(tài)信息,我們的預(yù)測(cè)告訴了我們機(jī)器人會(huì)怎樣運(yùn)動(dòng),但都只是間接的,并且伴隨著一些不確定和不準(zhǔn)確性。但是,如果使用所有對(duì)我們可用的信息,我們能得到一個(gè)比任何依據(jù)自身估計(jì)更好的結(jié)果嗎?回答當(dāng)然是YES,這就是卡爾曼濾波的用處。

三、卡爾曼濾波是如何看到你問(wèn)題的
下面我們繼續(xù)以只有位置和速度這兩個(gè)狀態(tài)的簡(jiǎn)單例子做解釋。

我們并不知道實(shí)際的位置和速度,它們之間有很多種可能正確的組合,但其中一些的可能性要大于其它部分:


卡爾曼濾波假設(shè)兩個(gè)變量(位置和速度,在這個(gè)例子中)都是隨機(jī)的,并且服從高斯分布。每個(gè)變量都有一個(gè)均值 μ,表示隨機(jī)分布的中心(最可能的狀態(tài)),以及方差 ,表示不確定性。


在上圖中,位置和速度是不相關(guān)的,這意味著由其中一個(gè)變量的狀態(tài)無(wú)法推測(cè)出另一個(gè)變量可能的值。下面的例子更有趣:位置和速度是相關(guān)的,觀測(cè)特定位置的可能性取決于當(dāng)前的速度:


這種情況是有可能發(fā)生的,例如,我們基于舊的位置來(lái)估計(jì)新位置。如果速度過(guò)高,我們可能已經(jīng)移動(dòng)很遠(yuǎn)了。如果緩慢移動(dòng),則距離不會(huì)很遠(yuǎn)。跟蹤這種關(guān)系是非常重要的,因?yàn)樗鼛Ыo我們更多的信息:其中一個(gè)測(cè)量值告訴了我們其它變量可能的值,這就是卡爾曼濾波的目的,盡可能地在包含不確定性的測(cè)量數(shù)據(jù)中提取更多信息!

這種相關(guān)性用協(xié)方差矩陣來(lái)表示,簡(jiǎn)而言之,矩陣中的每個(gè)元素 表示第 i 個(gè)和第 j 個(gè)狀態(tài)變量之間的相關(guān)度。(你可能已經(jīng)猜到協(xié)方差矩陣是一個(gè)對(duì)稱矩陣,這意味著可以任意交換 i 和 j)。協(xié)方差矩陣通常用“ ”來(lái)表示,其中的元素則表示為“ ”。



四、使用矩陣來(lái)描述問(wèn)題
我們基于高斯分布來(lái)建立狀態(tài)變量,所以在時(shí)刻 k 需要兩個(gè)信息:最佳估計(jì) (即均值,其它地方常用 μ 表示),以及協(xié)方差矩陣 。

(1)

(當(dāng)然,在這里我們只用到了位置和速度,實(shí)際上這個(gè)狀態(tài)可以包含多個(gè)變量,代表任何你想表示的信息)。接下來(lái),我們需要根據(jù)當(dāng)前狀態(tài)(k-1 時(shí)刻)來(lái)預(yù)測(cè)下一狀態(tài)(k 時(shí)刻)。記住,我們并不知道對(duì)下一狀態(tài)的所有預(yù)測(cè)中哪個(gè)是“真實(shí)”的,但我們的預(yù)測(cè)函數(shù)并不在乎。它對(duì)所有的可能性進(jìn)行預(yù)測(cè),并給出新的高斯分布。


我們可以用矩陣 來(lái)表示這個(gè)預(yù)測(cè)過(guò)程:


它將我們?cè)脊烙?jì)中的每個(gè)點(diǎn)都移動(dòng)到了一個(gè)新的預(yù)測(cè)位置,如果原始估計(jì)是正確的話,這個(gè)新的預(yù)測(cè)位置就是系統(tǒng)下一步會(huì)移動(dòng)到的位置。那我們又如何用矩陣來(lái)預(yù)測(cè)下一個(gè)時(shí)刻的位置和速度呢?下面用一個(gè)基本的運(yùn)動(dòng)學(xué)公式來(lái)表示:


現(xiàn)在,我們有了一個(gè)預(yù)測(cè)矩陣來(lái)表示下一時(shí)刻的狀態(tài),但是,我們?nèi)匀徊恢涝趺锤聟f(xié)方差矩陣。此時(shí),我們需要引入另一個(gè)公式,如果我們將分布中的每個(gè)點(diǎn)都乘以矩陣 A,那么它的協(xié)方差矩陣 會(huì)怎樣變化呢?很簡(jiǎn)單,下面給出公式:

結(jié)合方程(4)和(3)得到:

五、外部控制量
我們并沒(méi)有捕捉到一切信息,可能存在外部因素會(huì)對(duì)系統(tǒng)進(jìn)行控制,帶來(lái)一些與系統(tǒng)自身狀態(tài)沒(méi)有相關(guān)性的改變。

以火車(chē)的運(yùn)動(dòng)狀態(tài)模型為例,火車(chē)司機(jī)可能會(huì)操縱油門(mén),讓火車(chē)加速。相同地,在我們機(jī)器人這個(gè)例子中,導(dǎo)航軟件可能會(huì)發(fā)出一個(gè)指令讓輪子轉(zhuǎn)向或者停止。如果知道這些額外的信息,我們可以用一個(gè)向量 來(lái)表示,將它加到我們的預(yù)測(cè)方程中做修正。

假設(shè)由于油門(mén)的設(shè)置或控制命令,我們知道了期望的加速度 ,根據(jù)基本的運(yùn)動(dòng)學(xué)方程可以得到:


以矩陣的形式表示就是:



稱為控制矩陣, 稱為控制向量(對(duì)于沒(méi)有外部控制的簡(jiǎn)單系統(tǒng)來(lái)說(shuō),這部分可以忽略)。讓我們?cè)偎伎家幌?,如果我們的預(yù)測(cè)并不是100%準(zhǔn)確的,該怎么辦呢?

外部干擾

如果這些狀態(tài)量是基于系統(tǒng)自身的屬性或者已知的外部控制作用來(lái)變化的,則不會(huì)出現(xiàn)什么問(wèn)題。

但是,如果存在未知的干擾呢?例如,假設(shè)我們跟蹤一個(gè)四旋翼飛行器,它可能會(huì)受到風(fēng)的干擾,如果我們跟蹤一個(gè)輪式機(jī)器人,輪子可能會(huì)打滑,或者路面上的小坡會(huì)讓它減速。這樣的話我們就不能繼續(xù)對(duì)這些狀態(tài)進(jìn)行跟蹤,如果沒(méi)有把這些外部干擾考慮在內(nèi),我們的預(yù)測(cè)就會(huì)出現(xiàn)偏差。

在每次預(yù)測(cè)之后,我們可以添加一些新的不確定性來(lái)建立這種與“外界”(即我們沒(méi)有跟蹤的干擾)之間的不確定性模型:


原始估計(jì)中的每個(gè)狀態(tài)變量更新到新的狀態(tài)后,仍然服從高斯分布。我們可以說(shuō) 的每個(gè)狀態(tài)變量移動(dòng)到了一個(gè)新的服從高斯分布的區(qū)域,協(xié)方差為 。換句話說(shuō)就是,我們將這些沒(méi)有被跟蹤的干擾當(dāng)作協(xié)方差為 的噪聲來(lái)處理。


這產(chǎn)生了具有不同協(xié)方差(但是具有相同的均值)的新的高斯分布。


我們通過(guò)簡(jiǎn)單地添加 得到擴(kuò)展的協(xié)方差,下面給出預(yù)測(cè)步驟的完整表達(dá)式:


由上式可知,新的最優(yōu)估計(jì)是根據(jù)上一最優(yōu)估計(jì)預(yù)測(cè)得到的,并加上已知外部控制量的修正。

新的不確定性上一不確定性預(yù)測(cè)得到,并加上外部環(huán)境的干擾。

好了,我們對(duì)系統(tǒng)可能的動(dòng)向有了一個(gè)模糊的估計(jì),用 來(lái)表示。如果再結(jié)合傳感器的數(shù)據(jù)會(huì)怎樣呢?

六、用測(cè)量值來(lái)修正估計(jì)值
我們可能會(huì)有多個(gè)傳感器來(lái)測(cè)量系統(tǒng)當(dāng)前的狀態(tài),哪個(gè)傳感器具體測(cè)量的是哪個(gè)狀態(tài)變量并不重要,也許一個(gè)是測(cè)量位置,一個(gè)是測(cè)量速度,每個(gè)傳感器間接地告訴了我們一些狀態(tài)信息。


注意,傳感器讀取的數(shù)據(jù)的單位和尺度有可能與我們要跟蹤的狀態(tài)的單位和尺度不一樣,我們用矩陣 來(lái)表示傳感器的數(shù)據(jù)。


我們可以計(jì)算出傳感器讀數(shù)的分布,用之前的表示方法如下式所示:


卡爾曼濾波的一大優(yōu)點(diǎn)就是能處理傳感器噪聲,換句話說(shuō),我們的傳感器或多或少都有點(diǎn)不可靠,并且原始估計(jì)中的每個(gè)狀態(tài)可以和一定范圍內(nèi)的傳感器讀數(shù)對(duì)應(yīng)起來(lái)。


從測(cè)量到的傳感器數(shù)據(jù)中,我們大致能猜到系統(tǒng)當(dāng)前處于什么狀態(tài)。但是由于存在不確定性,某些狀態(tài)可能比我們得到的讀數(shù)更接近真實(shí)狀態(tài)。


我們將這種不確定性(例如:傳感器噪聲)用協(xié)方差 表示,該分布的均值就是我們讀取到的傳感器數(shù)據(jù),稱之為 。

現(xiàn)在我們有了兩個(gè)高斯分布,一個(gè)是在預(yù)測(cè)值附近,一個(gè)是在傳感器讀數(shù)附近。


我們必須在預(yù)測(cè)值(粉紅色)和傳感器測(cè)量值(綠色)之間找到最優(yōu)解。

那么,我們最有可能的狀態(tài)是什么呢?對(duì)于任何可能的讀數(shù) ,有兩種情況:(1)傳感器的測(cè)量值;(2)由前一狀態(tài)得到的預(yù)測(cè)值。如果我們想知道這兩種情況都可能發(fā)生的概率,將這兩個(gè)高斯分布相乘就可以了。


剩下的就是重疊部分了,這個(gè)重疊部分的均值就是兩個(gè)估計(jì)最可能的值,也就是給定的所有信息中的最優(yōu)估計(jì)。

瞧!這個(gè)重疊的區(qū)域看起來(lái)像另一個(gè)高斯分布。


如你所見(jiàn),把兩個(gè)具有不同均值和方差的高斯分布相乘,你會(huì)得到一個(gè)新的具有獨(dú)立均值和方差的高斯分布!下面用公式講解。

七、融合高斯分布
先以一維高斯分布來(lái)分析比較簡(jiǎn)單點(diǎn),具有方差 和 μ 的高斯曲線可以用下式表示:


如果把兩個(gè)服從高斯分布的函數(shù)相乘會(huì)得到什么呢?


將式(9)代入到式(10)中(注意重新歸一化,使總概率為1)可以得到:


將式(11)中的兩個(gè)式子相同的部分用 k 表示:


下面進(jìn)一步將式(12)和(13)寫(xiě)成矩陣的形式,如果 Σ 表示高斯分布的協(xié)方差, 表示每個(gè)維度的均值,則:


矩陣 稱為卡爾曼增益,下面將會(huì)用到。放松!我們快要完成了!

八、將所有公式整合起來(lái)
我們有兩個(gè)高斯分布,預(yù)測(cè)部分 ,和測(cè)量部分 ,將它們放到式(15)中算出它們之間的重疊部分:


由式(14)可得卡爾曼增益為:


將式(16)和式(17)的兩邊同時(shí)左乘矩陣的逆(注意 里面包含了 )將其約掉,再將式(16)的第二個(gè)等式兩邊同時(shí)右乘矩陣 的逆得到以下等式:


上式給出了完整的更新步驟方程。 就是新的最優(yōu)估計(jì),我們可以將它和 放到下一個(gè)預(yù)測(cè)和更新方程中不斷迭代。


九、總結(jié)
以上所有公式中,你只需要用到式(7)、(18)、(19)。(如果忘了的話,你可以根據(jù)式(4)和(15)重新推導(dǎo)一下)

我們可以用這些公式對(duì)任何線性系統(tǒng)建立精確的模型,對(duì)于非線性系統(tǒng)來(lái)說(shuō),我們使用擴(kuò)展卡爾曼濾波,區(qū)別在于EKF多了一個(gè)把預(yù)測(cè)和測(cè)量部分進(jìn)行線性化的過(guò)程。
文章來(lái)源于電子工程專輯。

關(guān)注微信公眾號(hào)『玩轉(zhuǎn)嵌入式』,后臺(tái)回復(fù)“128”獲取干貨資料匯總,回復(fù)“256”加入技術(shù)交流群。

精彩技術(shù)文章推薦



01

|頭文件中,#include使用引號(hào)“”和尖括號(hào)<>有什么區(qū)別?


02

|數(shù)據(jù)安全很重要,如何保證數(shù)據(jù)的有效性?嵌入式常用的校驗(yàn)算法介紹


03

|C語(yǔ)言,動(dòng)態(tài)展示經(jīng)典排序算法


04

|插入排序:最直觀的排序算法


免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(chē)(EV)作為新能源汽車(chē)的重要代表,正逐漸成為全球汽車(chē)產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車(chē)的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車(chē)的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車(chē) 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車(chē)場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周?chē)娮釉O(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉