SLAM~Unscentedカルマンフィルタ

はじめに

UKF(Unscented kalman filter)では無損変換(Unscented Transform)の線形化手法を利用し、つまり(2*n次元+1)個Sigma Pointの線形回帰に基づき、確率変数の非線形関数を線形化する。確率変数の拡張を考慮するので、この線形化は拡張カルマンフィルタEKFで使用するテイラー級数線形化より比較的正確に状態推定できる他、EKFと違い、状態・観測ヤコビアン行列を求める必要でなく、但しEKFと同様にUKFも予測と更新の手順から時系列の状態推定を行う。状態変数、観測変数ともガウス分布に当てるのがカルマンフィルタKFの共通特徴という。またガウス分布に当てないパーティクル(和文粒子、英文Particle)フィルタPFがある。そもそもガウス分布に従う確率変数の非線形関数はガウス分布にならないから、EKF、UKFよりPFの方が精度よく、ROSのSLAM Gmappingアルゴリズムに組まれている。

Unscented Kalman Filter

状態空間モデル

状態モデル(状態方程式)
xt=Fxt1+But1+qt1=[1000010000100000][xt1yt1ψt1vt1]+[Δtcosψt10Δtsinψt100Δt10][vt1ψt1]+qt1

観測モデル(観測方程式)
zt=Hxt+rt=[10000100][xtytψtvt]+rt

予測ステップ

χt1=(xt1,xt1+γt1,xt1γt1)ˉχt=g(ut,χt1)ˉxt=2ni=0w[i]mˉχ[i]tˉt=2ni=0w[i]c(ˉχ[i]tˉxt)(ˉχ[i]tˉxt)T+Rtˉχt=(xt,xt+γt,xtγt)ˉZt=h(ˉχt)ˆzt=2ni=0w[i]mˉZ[i]tSt=2ni=0w[i]c(ˉZ[i]tˆzt)(ˉZ[i]tˆzt)T+Qtˉx,zt=2ni=0w[i]c(ˉχ[i]tˉxt)(ˉZ[i]tˆzt)T

更新ステップ

Kt=ˉx,ztS1txt=ˉxt+Kt(ztˆzt)t=ˉtKtStKTt

参考文献

Probabilistic Robotics/Sebastian Thrun, Wolfram Burgard and Dieter Fox.

ロボット・ドローン部品お探しなら
ROBOT翔・電子部品ストア