Kalman Filter 卡爾曼濾波調參的實用方法和經驗有哪些?

包括Q,R,初值。乃至如何處理非白雜訊等。乃至EKF,UKF,PF等的調參方法和經驗。乃至教訓,亦或者只是吐槽。。。


推薦一本很厚、但很偏工程的書吧:

Fundamentals of Kalman Filtering: A Practical Approach

鏈接:Paul Zarchan, Howard Musoff: 9781624102769: Amazon.com: Books


如果理解卡爾曼濾波是怎麼來的,就會發現其實很多參數是跟模型強相關的,所謂經驗可能就是把模型建準確吧。


我只用過KF 說一點我的經驗。KF濾波過程其實可以分為兩步。第一步瞬態過程 一般是用於濾波器初始工作狀態 這個時候要求濾波器有快速收斂的能力 因此初始P陣設置儘可能大些。這樣通過比較大的P陣迭代出的濾波增益也比較大 濾波器能夠更快的響應輸入信號的變化。第二步 穩態過程 當P陣進入穩態之後 會收斂到一個最小P陣 也就是最小的估計方差陣 這就是KF最優的估計性能 對應此時的濾波增益也是最優的。與你初始設置的P陣無關 只與你的模型QR有關。如果你想讓KF工作在最優的狀態 QR一定要建准。如果穩態期間 輸入信號有變化 最好能在QR中體現出來 這樣出來的濾波效果是最好的。


看過kf的證明,也看過很多文章,調過很久,最後發現主要還是靠試……


kf穩態後頻域為低通濾波,從初始狀態到穩態要注意系統的收斂時間。

所以調參數是一個追求平衡的過程,p,q,r都要調試。

p的初值決定了初始增益的大小,可以決定初始收斂速度。

r決定了穩態的雜訊,小了初始增益大,但是穩態容易引入雜訊。

q小了增益也小,因為這時依賴模型。

kf調試本質上是追求系統的收斂和卡爾曼濾波本身收斂過程的平衡點。數學上很難從理論上追求最優解,因此要手動調試。

有一本神作,paul zarchan的卡爾曼濾波,這本書比較工程,在卡爾曼濾波的專著中是獨一無二的存在


說實話,我告訴你一個方法,歸一化你最開始的模型,那麼你所有的狀態幾乎都在-1和1之間,這樣你的P陣就會非常整齊和直觀


Q表示對模型的信任程度,R表示對量測的信任程度,卡爾曼濾波是在模型和量測之間進行均衡。


只要模型建准了,可以把參數帶入變數,卡爾曼濾波是可以自己」調參「的。

唯一的問題就是矩陣會比較大,70多階的矩陣是常事。不過這都不是問題。


推薦閱讀:

為什麼非線性系統線性化一定要在平衡位置?
有哪些關於控制理論或應用(非線性控制、最優控制、估計、優化、機器人等等)方面的網路公開課推薦?
人工智慧這麼火熱,控制工程看得到未來嗎?
怎樣確定滑模變結構系統滑模面的參數?
在生產線上給工業機器人編程是怎樣的體驗?

TAG:機器人 | 自動控制 | 濾波演算法 | 卡爾曼RudolfKalman | 卡爾曼濾波KalmanFilter |