卡爾曼濾波原理及實現

前一段時間,做項目研究了一下卡爾曼濾波,並且在項目當中實現了一個物體跟蹤的功能,所以,藉着新鮮勁兒,本次博客對卡爾曼濾波進行一次整理。

  • 卡爾曼濾波是什麼
  • 卡爾曼濾波能做什麼
  • 卡爾曼濾波的工作原理
  • 舉個栗子

卡爾曼濾波是什麼

卡爾曼濾波適用於估計一個動態系統的最優狀態。即便是觀測到的系統狀態參數含有噪聲,觀測值不準確,卡爾曼濾波也能夠完成對狀態真實值的最優估計。網上大多數的教程講到卡爾曼的數學公式推導,會讓人很頭疼,難以把握其中的主線和思想。所以我參考了國外一位學者的文章,講述卡爾曼濾波的工作原理,然後編寫了一個基於OpenCV的小程序給大家做一下說明。下面的這個視頻請大家先直觀地看看熱鬧吧~
角度跟蹤視頻

卡爾曼濾波能做什麼

假設我們手頭有一輛DIY的移動小車。這輛車的外形是這樣的:
這裏寫圖片描述
這輛車可以在荒野移動,爲了便於對它進行控制,需要知道它的位置以及移動速度。所以,建立一個向量,用來存儲小車的位置和速度

xk=(p,v)xk→=(p→,v→)
其實,一個系統的狀態有很多,選擇最關心的狀態來建立這個狀態向量是很重要的。例如,狀態還有水庫裏面水位的高低、鍊鋼廠高爐內的溫度、平板電腦上面指尖觸碰屏幕的位置等等這些需要持續跟蹤的物理量。好了,迴歸到正題,小車上面安裝了GPS傳感器,這個傳感器的精度是10米。但是如果小車行駛的荒野上面有河流和懸崖的話,10米的範圍就太大,很容易掉進去進而無法繼續工作。所以,單純靠GPS的定位是無法滿足需求的。另外,如果有人說小車本身接收操控着發送的運動指令,根據車輪所轉動過的圈數時能夠知道它走了多遠,但是方向未知,並且在路上小車打滑車輪空轉的現象絕對是不可避免。所以,GPS以及車輪上面電機的碼盤等傳感器是間接地爲我們提供了小車的信息,這些信息包含了很多的和不確定性。如果將所有這些信息綜合起來,是否能夠通過計算得到我們更想要的準確信息呢?答案是可以的!
這裏寫圖片描述

卡爾曼濾波的工作原理

1.先驗狀態估計

以之前我們創建的狀態變量爲例,

x=[pv]x→=[pv]
,首先是依據第k-1次卡爾曼估計(後驗估計)的協方差矩陣進行遞推,再與外界在這次更新中可能對系統造成的不確定的影響求和得到。

2.後驗估計(量測更新)

到此,利用xk^xk^=

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章