對無跡卡爾曼濾波 UKF 和粒子濾波 PF 的理解

2021-09-28 22:33:57 字數 1528 閱讀 4062

對無跡卡爾曼濾波(ukf)的總結:

ekf通過在工作點附近進行一階泰勒展開來線性化非線性的運動方程和觀測方程。這樣的線性近似在高度非線性的情況下存在較大誤差。而ukf換了乙個線性化的思路。1)選取2n+1個點(sigma點),n為狀態向量的維度。為每個sigma點分配權重。2)用取樣的點計算出下一狀態的均值和方差。公式如下所示:

μ y=

∑iwi

g(xi

)σy=

∑iwi

(g(x

i)−μ

y)(g

(xi)

−μy)

t\begin_=\sum_ w_ \mathbf\left(\mathbf_\right)} \\ =\sum_ w_\left(\mathbf\left(\mathbf_\right)-\boldsymbol_\right)\left(\mathbf\left(\mathbf_\right)-\boldsymbol_\right)^}\end

μy​=∑i

​wi​

g(xi

​)σy

​=∑i

​wi​

(g(x

i​)−

μy​)

(g(x

i​)−

μy​)

t​x

i\mathbf_

xi​為取樣點,wiw_

wi​為權重值,μ

y\mu_

μy​為計算出的狀態量均值,σ

y\sigma_

σy​為對應的方差。

3)後續的操作就與kf是一致的了。

ukf用選取的有限個取樣點去近似**和測量狀態量的高斯分布。這樣的近似方法使ukf無需計算雅克比矩陣。相對於ekf的單點線性化,ukf的近似誤差會更小一點。

主要的操作是

1)如何選取取樣點?

2)如何給取樣點分配權重?

示例**:

ukf-c++

參考**:

概率機械人——擴充套件卡爾曼濾波、無跡卡爾曼濾波

無跡卡爾曼濾波-1

這篇文章講述了ekf誤差產生的原因。

無跡卡爾曼濾波-2

再談ekf與ukf——先驗線性化與後驗線性化

對粒子濾波(pf)的總結:

ukf用少數點來近似狀態分布。但它依然在卡爾曼濾波對系統的線性、高斯假設下。當系統的線性程度很差的時候,卡爾曼濾波的效果也不會太好。而且卡爾曼濾波很難實現全域性定位。所以它主要用於位置追蹤。粒子濾波屬於無引數濾波,它沒有具體的得到後驗結果的函式,其思路是用粒子集近似系統狀態的分布。所以它可以近似任何系統狀態分布。這樣的特性也為它處理全域性定位和機械人綁架問題奠定了基礎。

粒子濾波的主要步驟如下:

1.用運動模型更新粒子集的**狀態。

2.用觀測模型計算每個粒子的權重。

3.重取樣粒子,使粒子集向權重大的粒子靠攏。

4.用粒子集的均值狀態量來表徵機械人的狀態。

其中決定粒子濾波效能的關鍵步驟就是重取樣。所以重取樣的策略需要慎重考究。

參考**:

概率機械人——粒子濾波

無跡卡爾曼濾波 1

無跡卡爾曼濾波 unscented kalman filter 中需要用到無跡變換。維基百科中對unscented transform的描述如下 為了理解unsecnted transform首先考慮乙個問題 x為服從正態分佈的一維隨機變數,y是隨機變數x的函式分布,那麼隨機變數y的期望和方差是多少...

卡爾曼濾波和粒子濾波最直白的解釋

卡爾曼濾波本來是控制系統課上學的,當時就沒學明白,也蒙混過關了,以為以後也不用再見到它了,可惜沒這麼容易,後來學計算機視覺和影象處理,發現用它的地方更多了,沒辦法的時候只好耐心學習和理解了。一直很想把學習的過程記錄一下,讓大家少走彎路,可惜總也沒時間和機會,直到今天。我一直有乙個願望,就是把抽象的理...

關於卡爾曼濾波和粒子濾波最直白的解釋

相信所有學習卡爾曼濾波的同學首先接觸的都是狀態方程和觀測方程,學過控制系統的同學可能不陌生,否則,先被那兩個看起來好深奧的公式給嚇跑了,關鍵是還不知道他們究竟是幹什麼的,什麼是狀態,什麼是觀測。如果再看到後面的一大串遞迴推導增益,實在很暈很暈,更糟糕的是還沒整明白的時候就已經知道卡爾曼濾波其實已經不...