泰勒展開(kāi)式和EKF的關(guān)系

最近在細(xì)讀SEBASTIAN THRUN大神的Probabilistic Robotics。

無(wú)知的我現(xiàn)在才知道有這么一本神書(shū)。很多不懂的細(xì)節(jié)都在書(shū)里面有詳細(xì)的說(shuō)明。

相見(jiàn)恨晚+慚愧

在這里,會(huì)不定期更新學(xué)習(xí)筆記。(文章內(nèi)容圖片基本都來(lái)自上述的書(shū))

今天寫(xiě)一寫(xiě)泰勒展開(kāi)式在EKF(Extended KF)的作用。

為什么要用泰勒展開(kāi)式?

首先,KF 是處理線性問(wèn)題的基于貝葉斯濾波的濾波器。

KF本來(lái)就是為了處理線性高斯系統(tǒng)的濾波器。

用KF的基本條件就是,接受了馬爾科夫假設(shè)和噪聲是滿(mǎn)足高斯分布的假設(shè)。

或者換句話說(shuō)就是,只有接受了貝葉斯濾波的馬爾科夫假設(shè)和噪聲是滿(mǎn)足高斯分布的假設(shè), KF才會(huì)產(chǎn)生效果。當(dāng)然沒(méi)有這個(gè)假設(shè),KF會(huì)運(yùn)行,但是沒(méi)有效果罷了。

KF的5大公式中的理念就是,置信度利用均值和方差表示。像粒子濾波器之類(lèi)的,就不需要特別的均值和方差等參數(shù)去表示噪聲的特性,所以也叫非參數(shù)濾波器

那么,話說(shuō)回來(lái),為了處理非線性的問(wèn)題,從KF 衍生出了EKF。

EKF的基本形態(tài)

基本的KF:

x= Ax_{t-1}+? Bu_t + \varepsilon_t

z =Cx_t + \delta_t

對(duì)比基本的KF,可以看出,EKF把 Ax_{t-1}+? Bu_t \ 的部分用g(u_t,x_t-1) 來(lái)代替, Cx_t 也是一樣用 h(x_t) 代替。 那么這里表現(xiàn)的含義是?

-狀態(tài)轉(zhuǎn)移方程不再是線性的了。

那么不線性對(duì)使用KF有啥影響?

KF對(duì)噪聲的假設(shè)就是,噪聲一定要屬于正態(tài)分布。也就是說(shuō),對(duì)于一個(gè)狀態(tài)來(lái)說(shuō),不停的采樣N次的時(shí)候,這個(gè)狀態(tài)的分布應(yīng)該是鐘型曲線。KF的狀態(tài)轉(zhuǎn)移又是線性的。那么正態(tài)分布經(jīng)的狀態(tài)經(jīng)過(guò)線性變化之后,出現(xiàn)的分布圖其實(shí)還是線性的。 如下圖(a)。

但是當(dāng)狀態(tài)轉(zhuǎn)移方程不再是線性了, 那么經(jīng)過(guò)非線性變換的狀態(tài)的分布就不再屬于正態(tài)分布了。如下圖(b)。

KF和EKF的根本問(wèn)題

那么KF的理論的基本假設(shè)(噪聲是正態(tài)分布)就會(huì)崩塌。為了滿(mǎn)足KF的基本假設(shè),就需要一種方法把非線性的狀態(tài)轉(zhuǎn)移方程轉(zhuǎn)化為線性方程。

他就是, 泰勒展開(kāi)式 (其實(shí)泰勒展開(kāi)式東西我們初中高中好像就學(xué)過(guò),一直不知道有啥用)

泰勒公式

泰勒公式的作用就是,當(dāng)求一個(gè)非線性的f(x)很困難的時(shí)候,可以利用這個(gè)x的1,2......N階導(dǎo)數(shù)來(lái)近似這個(gè)值。(感覺(jué)也是初高中數(shù)學(xué)。。)

所以利用泰勒公式的特性對(duì)g,h函數(shù)進(jìn)行求導(dǎo)數(shù),用此方法來(lái)近似實(shí)際的值。注意: 如果g,h的函數(shù)的參數(shù)多,那么為了找出每個(gè)參數(shù)(狀態(tài))對(duì)函數(shù)的影響,則需要對(duì)每個(gè)參數(shù)(狀態(tài))進(jìn)行求偏導(dǎo)數(shù)。

這里利用的是一階泰勒展開(kāi)式。

那么泰勒公式里面的x是啥?在機(jī)器人或者無(wú)人車(chē)的定位里面,x就是state。x可以是pose, 可以是position。反正x只是一個(gè)狀態(tài)或者一堆狀態(tài)。

但需要注意的是,x不是一個(gè)特定的值。(個(gè)人覺(jué)得這個(gè)概念很重要,因?yàn)橐婚_(kāi)始的總會(huì)把x當(dāng)做一個(gè)值,所以一直不明白 \mu 到底是啥東西)

x是有特定的概率密度函數(shù)下隨機(jī)生成的值。但是,我們需要參數(shù)去表示p(x)。

所以一般利用平均值 \mu 和方差 \sigma^2 。

那么回到EKF繼續(xù)說(shuō)明泰勒展開(kāi)的作用。

非線性的函數(shù)g(x)如果沒(méi)有做過(guò)任何處理的話,會(huì)生成下圖中的左上圖中的灰色的概率分布。可能他有一定的規(guī)律,或者沒(méi)有~? 但是能明顯看出來(lái)的內(nèi)容就是,他的分布不是正態(tài)分布。

對(duì)非線性的g(x)發(fā)動(dòng)技能:泰勒展開(kāi)!

非線性的g(x)被強(qiáng)制轉(zhuǎn)化為有正態(tài)分布特性的線性方程。泰勒展開(kāi)式的\mu是下圖(右下)p(x)的平均值。

對(duì)x-1進(jìn)行泰勒展開(kāi)

利用導(dǎo)數(shù)求近似的時(shí)候,注意是只對(duì)xt-1求偏導(dǎo)

利用泰勒一級(jí)展開(kāi)就是如下。

根據(jù)狀態(tài)轉(zhuǎn)移方程prediction階段的泰勒展開(kāi)

這里求出的 g(u_t,x_t-1)? 是x的預(yù)測(cè)值,標(biāo)記為 \bar{x} 。

\bar{x}求出來(lái)之后,利用多變量正態(tài)分布概率密度函數(shù),求x的平均值和方差。

xt和 xt_預(yù)測(cè)值的多變量正態(tài)分布函數(shù)

那么這個(gè)時(shí)間節(jié)點(diǎn)上, x_t? 就可以利用平均值和方差來(lái)表示。

R_t? 是方差。什么的方差?

x和之前求出來(lái)的 \bar x? 的方差。但是 R_t 數(shù)值上應(yīng)該等于什么?據(jù)我以前的知識(shí),是狀態(tài)方程本身的噪聲的的方差。(但是現(xiàn)在還不確定,以后弄明白了再更新。)

G_t? 是狀態(tài)轉(zhuǎn)移方程的偏導(dǎo)數(shù)。如果state 是vector, 那么 G_t? 就是一個(gè)矩陣。這矩陣叫Jacobian 矩陣,雅克比矩陣。

但是x的置信度還是個(gè)問(wèn)題。

所以通過(guò) p(z_t,x_t)? 來(lái)驗(yàn)證x的置信度。(也就是bayesian 理論)

計(jì)算p(z_t,x_t) 其實(shí)就是計(jì)算z_t,x_t? 這兩個(gè)隨機(jī)變量的概率分布。 也就是說(shuō),他們可以利用多變量正態(tài)分布概率密度函數(shù)來(lái)求解.

多變量正態(tài)分布概率密度函數(shù)

多變量正態(tài)分布概率密度函數(shù)的別的形態(tài)

(假設(shè)測(cè)量方程也是非線性的)就像對(duì)狀態(tài)轉(zhuǎn)移方程進(jìn)行泰勒展開(kāi)一樣,對(duì)非線性的測(cè)量方程,也要進(jìn)行泰勒一級(jí)展開(kāi)。跟上面狀態(tài)轉(zhuǎn)移方程的展開(kāi)式同一個(gè)意義,故不再解釋。

測(cè)量方程泰勒展開(kāi)

將 z_t, x_t (2個(gè)變量)代入多變量正態(tài)分布概率密度函數(shù)中,可以得到下面的公式。

那么,作為上面這個(gè)公式輸入的的Qt是什么?Ht是什么?

Q_t? 是方差。什么的方差?測(cè)量方程本身的系統(tǒng)方差。

H_t? 是測(cè)量方程的偏導(dǎo)數(shù)。如果state 是vector, 那么 H_t? 就是一個(gè)矩陣。這個(gè)矩陣叫Jacobian 矩陣,雅克比矩陣。

寫(xiě)了一點(diǎn)關(guān)于泰勒展開(kāi)式在EKF的作用。

還需解決的問(wèn)題:

KF系列的濾波器中,協(xié)方差到底是起什么作用的?

EKF線性化的部分因?yàn)槭墙疲俏覀儚谋疚牡谝粡垐D的(b)的左上圖可以看出,明顯EKF為了線性化而放棄了精準(zhǔn)度。那么有什么更好的方法去擬合非線性的狀態(tài)(測(cè)量)方程呢?

繼續(xù)學(xué)習(xí),下次再更新~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容