若已知參考點(landmarks)的坐標,則狀態向量中不必含有xL, 從而實現的僅為機器人在已知環境中的定位,求解大大減少(狀態向量維度僅為運動狀態)。若想實現完整SLAM,必須將xL加入狀態向量中。
擴展卡爾曼濾波(EKF)相對於卡爾曼濾波,可以進一步求解非線性問題(通過在目標點附近做泰勒展開的一級近似),但是依然建立在輸入噪聲和測量噪聲均為高斯的前提下。高斯噪聲的好處是它的e指數形式使得高斯與高斯的卷積、乘法結果依然是高斯,從Bayes理論推導出的EKF結果中,我們只用計算高斯分布的期望mu和協方差sigma)
n 維擴展卡爾曼濾波
1. Prediction (motion) model:
xt = Atxt-1 + Btut + εR
xt:t時刻,n維狀態空間向量;
xt-1:t-1時刻,n維空間狀態向量;
ut:t時刻輸入,將狀態從xt-1變換到xt;
εR:輸入誤差。
依據motion model,我們可以得出期望和協方差滿足:
μt(prior)= Atμt-1 + Btut
Σ(prior)= AtΣt-1AtT + Rt
對於線性模型,直接帶入At Bt Rt就行,而對於非線性模型,我們需要求運動方程對輸入(V = )的導數,或者運動方程對狀態(G = )的導數。
例如對於控制左右兩排車輪速度(r,l)從而實現小車狀態(x,y,θ)改變的運動方程,At為3*3矩陣,Bt為3*2矩陣,Rt為3*3矩陣,對於Rt,我們是不能直接知道的,我們只知道r和l的誤差,得到的是2*2的協方差矩陣,通過VΣcontrolVT可以得到相應的3*3矩陣