王 望 許 凱 顏 瑾 西安石油大學(xué)電子工程學(xué)院 710065
?
基于擴展卡爾曼的SLAM問題研究
王 望 許 凱 顏 瑾 西安石油大學(xué)電子工程學(xué)院 710065
【文章摘要】
移動機器人是目前的研究熱點,而同時定位與地圖創(chuàng)建是機器人研究領(lǐng)域難點,是實現(xiàn)機器人在未知環(huán)境下自主導(dǎo)航的前提。目前,對于機器人在已知地圖的自主定位已經(jīng)有了多種解決辦法,但是隨著工業(yè)的發(fā)展和人類探索領(lǐng)域的擴大,在一些對人有危害性的作業(yè)現(xiàn)場(如有毒氣體檢測、礦山開采,災(zāi)難搶險等)或者不適合人類工作的地域(如海洋和海底探測、星際探險等),人們希望機器人能夠代替人類工作,實現(xiàn)難以獲得機器人工作的環(huán)境信息和定位信息。而移動機器人的同時定位與地圖創(chuàng)建SLAM則能夠較好的解決這個問題。
【關(guān)鍵詞】
擴展卡爾曼;SLAM;移動機器人
SLAM(Simultaneous Localization And Mapping)是移動機器人構(gòu)建環(huán)境地圖同時進(jìn)行自身定位的過程。SLAM中,在沒有任何先驗信息的情況下,移動機器人結(jié)合里程儀等外部測量設(shè)備檢測外界的環(huán)境特性,在線估測平面內(nèi)的運行軌跡和所有環(huán)境特征的定位。
圖1 仿真結(jié)果
卡爾曼濾波器估計用線性隨機差分方程描述的離散時間過程的狀態(tài)變量,廣泛應(yīng)用于定位、創(chuàng)建地圖和導(dǎo)航等算法上。但如果被估計的過程和(或)觀測變量與過程的關(guān)系是非線性的,那么將期望和方差線性化的卡爾曼濾波器稱作擴展卡爾曼濾波器(Extended Kalman Filter),簡稱EKF。
在EKF-SLAM中,地圖是一個巨大的傳感器向量集和路標(biāo)狀態(tài)。EKF通過預(yù)測和校正過程確定地圖。為了獲取真實的測量值,EKF過程中有一個路標(biāo)初始化的步驟,新觀測的路標(biāo)會被添加到地圖中。路標(biāo)初始化由逆觀測函數(shù)及其雅可比進(jìn)行計算。
在EKF-SLAM中,地圖由一個使用平均值和狀態(tài)向量協(xié)方差矩陣的高斯變量P表示:
4.1地圖初始化
初始時刻地圖中沒有路標(biāo),因此n=0。通常將當(dāng)前的機器人位姿作為初始位置:,
4.2機器人運動狀態(tài)的預(yù)測
在EKF中,設(shè)x為狀態(tài)向量,u為控制向量,n為擾動向量,那么可以將時間更新函數(shù)表示為:。
在SLAM問題中移動機器人的狀態(tài)是隨時間改變的,因此狀態(tài)向量的每部分都有不同的表示:
4.3地圖中路標(biāo)的觀測值
在EKF中,設(shè)y是包括噪聲的測量值,h()是觀測函數(shù),v是測量噪聲,路標(biāo)觀測值由EKF一步步處理。觀測值僅僅依賴于機器人位置及狀態(tài)R,傳感器狀態(tài)S和路標(biāo)狀態(tài)。假設(shè)已經(jīng)觀測到路標(biāo),定義觀測函數(shù):
在這些等式中,式7和8為觀測更新均值和協(xié)方差矩陣,式9和10組成了濾波器的更新在測量路標(biāo)時,這些等式會迭代應(yīng)用。
運用MATLAB進(jìn)行仿真,圖1中深色的橢圓形表示校正的誤差范圍,藍(lán)色實心點集表示每一個時刻k對路標(biāo)的預(yù)測值,綠色實心點表示機器人預(yù)定軌跡,綠色圓圈表示對路標(biāo)的后驗觀測結(jié)果,紅色星號表示預(yù)置路標(biāo)。清晰的顯示了移動機器人同時定位與地圖創(chuàng)建過程。
由仿真結(jié)果可知應(yīng)用基于EKF進(jìn)行同時定位與地圖創(chuàng)建,EKF能夠準(zhǔn)確地跟蹤機器人的位置,SLAM可以完成機器人的同時定位與地圖構(gòu)建的,同時可以看出,如何在大規(guī)模環(huán)境下提高SLAM算法的準(zhǔn)確度和實時性是下一步研究工作的重點。