1 定義
只要是存在不確定信息的動(dòng)態(tài)系統(tǒng),卡爾曼濾波就可以對(duì)系統(tǒng)下一步要做什么做出有根據(jù)的推測(cè)。即便有噪聲信息干擾,卡爾曼濾波通常也能很好的弄清楚究竟發(fā)生了什么,找出現(xiàn)象間不易察覺的相關(guān)性因此卡爾曼濾波非常適合不斷變化的系統(tǒng),它的優(yōu)點(diǎn)還有內(nèi)存占用較小(只需保留前一個(gè)狀態(tài))、速度快,是實(shí)時(shí)問(wèn)題和嵌入式系統(tǒng)的理想選擇。
2 應(yīng)用
比如跟蹤目標(biāo),但目標(biāo)的位置、速度、加速度的測(cè)量值往往在任何時(shí)候都有噪聲。卡爾曼濾波利用目標(biāo)的動(dòng)態(tài)信息,設(shè)法去掉噪聲的影響,得到一個(gè)關(guān)于目標(biāo)位置的好的估計(jì)。這個(gè)估計(jì)可以是對(duì)當(dāng)前目標(biāo)位置的估計(jì)(濾波),也可以是對(duì)于將來(lái)位置的估計(jì)(預(yù)測(cè)),也可以是對(duì)過(guò)去位置的估計(jì)(插值或平滑)。
3 卡爾曼濾波眼里的行人跟蹤問(wèn)題
下面是圖例公式的描述,初學(xué)同學(xué)可能有點(diǎn)蒙,建議去查一下卡爾曼濾波相關(guān)視頻(然后發(fā)現(xiàn)還是蒙/壞笑/,但每次的學(xué)習(xí)都會(huì)有新的發(fā)現(xiàn)/加油/)
下面是UP學(xué)習(xí)了不錯(cuò)文章作者Bzarg
一個(gè)包含位置信息和速度信息的狀 x=(p,v)
卡爾曼濾波假設(shè)兩個(gè)變量(在我們的例子里是位置和速度)都應(yīng)該是隨機(jī)的,而且符合高斯分布。如下圖
位置和速度是不相關(guān)的,這意味著我們不能從一個(gè)變量推測(cè)另一個(gè)變量。那么如果位置和速度相關(guān)呢?如下圖所示,人前往特定位置的可能性取決于它擁有的速度。
這不難理解,如果基于舊位置估計(jì)新位置,我們會(huì)產(chǎn)生這兩個(gè)結(jié)論:如果速度很快,人可能移動(dòng)得更遠(yuǎn),所以得到的位置會(huì)更遠(yuǎn);如果速度很慢,人就走不了那么遠(yuǎn)。
這種關(guān)系對(duì)目標(biāo)跟蹤來(lái)說(shuō)非常重要,因?yàn)樗峁┝烁嘈畔ⅲ阂粋€(gè)可以衡量可能性的標(biāo)準(zhǔn)。這就是卡爾曼濾波的目標(biāo):從不確定信息中擠出盡可能多的信息!
為了捕獲這種相關(guān)性,我們用的是協(xié)方差矩陣。簡(jiǎn)而言之,矩陣的每個(gè)值是第i個(gè)變量和第j個(gè)變量之間的相關(guān)程度(由于矩陣是對(duì)稱的,i和j的位置可以隨便交換)。我們用表示協(xié)方差矩陣,在這個(gè)例子中,就是
。
為了把以上關(guān)于狀態(tài)的信息建模為高斯分布(圖中色塊),我們還需要k時(shí)的兩個(gè)信息:最佳估計(jì)
(均值,也就是
,協(xié)方差矩陣
。(雖然還是用了位置和速度兩個(gè)變量,但只要和問(wèn)題相關(guān),卡爾曼濾波可以包含任意數(shù)量的變量)
接下來(lái),我們要通過(guò)查看當(dāng)前狀態(tài)(k-1時(shí))來(lái)預(yù)測(cè)下一個(gè)狀態(tài)(k時(shí))。這里我們查看的狀態(tài)不是真值,但預(yù)測(cè)函數(shù)無(wú)視真假,可以給出新分布:
我們可以用矩陣
表示這個(gè)預(yù)測(cè)步驟:
它從原始預(yù)測(cè)中取每一點(diǎn),并將其移動(dòng)到新的預(yù)測(cè)位置。如果原始預(yù)測(cè)是正確的,系統(tǒng)就會(huì)移動(dòng)到新位置。這是怎么做到的?為什么我們可以用矩陣來(lái)預(yù)測(cè)人下一刻的位置和速度?下面是個(gè)簡(jiǎn)單公式:
換成矩陣形式:
這是一個(gè)預(yù)測(cè)矩陣,它能給出人的下一個(gè)狀態(tài),但目前我們還不知道協(xié)方差矩陣的更新方法。這也是我們要引出下面這個(gè)等式的原因:如果我們將分布中的每個(gè)點(diǎn)乘以矩陣A,那么它的協(xié)方差矩陣會(huì)發(fā)生什么變化
把這個(gè)式子和上面的最佳估計(jì)
結(jié)合,可得:
外部影響
但是,除了速度和位置,外因也會(huì)對(duì)系統(tǒng)造成影響。比如模擬火車運(yùn)動(dòng),除了列車自駕系統(tǒng),列車操作員可能會(huì)手動(dòng)調(diào)速。在我們的機(jī)器人示例中,導(dǎo)航軟件也可以發(fā)出停止指令。對(duì)于這些信息,我們把它作為一個(gè)向量
,納入預(yù)測(cè)系統(tǒng)作為修正。假設(shè)油門設(shè)置和控制命令是已知的,我們知道火車的預(yù)期加速度a。根據(jù)運(yùn)動(dòng)學(xué)基本定理,我們可得:
把它轉(zhuǎn)成矩陣形式:
是控制矩陣,
是控制向量。如果外部環(huán)境異常簡(jiǎn)單,我們可以忽略這部分內(nèi)容,但是如果添加了外部影響后,模型的準(zhǔn)確率還是上不去,這又是為什么呢?
外部不確定性
但是,如果存在我們不知道的力量呢?當(dāng)我們監(jiān)控無(wú)人機(jī)時(shí),它可能會(huì)受到風(fēng)的影響;當(dāng)我們跟蹤輪式機(jī)器人時(shí),它的輪胎可能會(huì)打滑,或者粗糙地面會(huì)降低它的移速。這些因素是難以掌握的,如果出現(xiàn)其中的任意一種情況,預(yù)測(cè)結(jié)果就難以保障。這要求我們?cè)诿總€(gè)預(yù)測(cè)步驟后再加上一些新的不確定性,來(lái)模擬和“世界”相關(guān)的所有不確定性:
如上圖所示,加上外部不確定性后,
的每個(gè)預(yù)測(cè)狀態(tài)都可能會(huì)移動(dòng)到另一點(diǎn),也就是藍(lán)色的高斯分布會(huì)移動(dòng)到紫色高斯分布的位置,并且具有協(xié)方差
。換句話說(shuō),我們把這些不確定影響視為協(xié)方差
的噪聲。
這個(gè)紫色的高斯分布擁有和原分布相同的均值,但協(xié)方差不同。
我們?cè)谠缴霞尤?/p>
新的最佳估計(jì)是基于原最佳估計(jì)和已知外部影響矯正后得到的預(yù)測(cè)
新的不確定性是基于原不確定性和外部環(huán)境不確定性得到的預(yù)測(cè)
-
卡爾曼濾波
+關(guān)注
關(guān)注
3文章
162瀏覽量
24636
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論