第一章 緒論
1.1 研究動機與背景
第一章 緒論
1.1 研究動機與背景
近年來由於科技不斷的進步,智慧型機器人已經不是早期只會在電影中出現 的幻想,而是全世界所積極研究發展的重點產業之一。智慧型機器人在執行各式 各樣的任務之前,必須要能夠知道自己周遭的環境、自己在環境中的哪個位置、
以及目標在何方,意即一個智慧型機器人必須要具備一些基礎的導航(navigation) 能力才有辦法順利地執行任務。
智慧型機器人所需具備的基礎導航功能可大致上區分為三個主要的領域:定 位(Localization)、地圖建立(Mapping)、及路徑規劃(Path Planning),如圖 1.1 所示。
圖 1.1、機器人導航領域
其中定位與地圖建立是一體兩面的問題,要建立出可靠的地圖需要機器人精準之 位置,而要得到機器人在環境中的位置又必須有正確之環境地圖,這使得機器人
2
定位技術與地圖建立技術互為前提,但如果機器人處於一未知環境中,既沒有地 圖也沒有自己的位置時,機器人便無法行動。為解決此一問題,即有『即時定位 與建圖(Simultaneous Localization and Mapping,SLAM)』[1][2]技術的發展,而近 年來國內外頂尖的研究單位與學術機構也非常重視此一議題。『即時定位與建圖』
一詞是1995 年在 International Symposium on Robotics Research (ISRR)研討會中首 次被提出[3],且當時就已經有很多學術團體發表了一些初步的研究成果[4][5][6]。
SLAM 被重視後,大家紛紛開始深入研究並將其應用到各個領域,像是建立建築 物內的平面圖[7][8],或是建立三維的立體環境資訊[9][10],以及搭配 GPS 建立 出戶外實際的地圖[11][12]等。
SLAM 的問題主要有兩種解決方法:一種是由 Smith 及 Cheeseman 提出,使 用延展性卡爾曼濾波器(Extended Kalman Filter, EKF)為基礎的EKF-SLAM演算法 [13],另一種則是由 Montemerlo 等人所提出,透過粒子濾波器(Particle Filter, PF) 所實現的FastSLAM 演算法。EKF-SLAM 是將機器人的里程計資訊以及感測器所 量測到的環境資訊輸入至延展性卡爾曼濾波器的共變異數矩陣中,並藉由不斷的 [16][17],用 Geese PSO 調整模糊理論參數[18],提升 EKF-SLAM 在高度不確定 性的環境下執行時的強健性。雖然 EKF-SLAM 經過各式改良後有較好的成效,
但普遍上還是有兩種缺點:複雜的運算以及誤差容忍度過低[19]。機器人在執行 SLAM 任務的過程中會透過環境感測器偵測其周圍的環境資訊,並利用這些資訊 完成EKF-SLAM 中的修正步驟,調整整個 EKF 的共變異數矩陣。但這個步驟的 計算量會隨著地圖資訊不斷的增加而導致共變異數矩陣大小呈現二次方的指數
3
成長,當環境地圖擁有成千上萬個資訊時,運算量勢必會對系統造成極大的負擔。
而且EKF 對於錯誤的資料關聯容忍度相當低,當 EKF 把環境中的特徵對應到錯 誤的地標時,會造成系統產生極大的誤差,甚至會導致 EKF 無法收斂,這也是 最常導致EKF-SLAM 失敗的主因[20]。
FastSLAM 則是目前解決 SLAM 問題較為熱門的方法,它是由 Murphy[21]
所提出的 RBPF(Rao-Blackwellised Particle Filter)架構演化而生,作法上係利用 RBPF 將 SLAM 的問題分解成定位與建圖兩個問題。定位的部分是使用粒子濾波 器,建圖部分則是以EKF 處理。跟 EKF-SLAM 不同之處是在於 FastSLAM 讓每
一個地標都使用自己的 EKF 運算,避免矩陣過於龐大而造成運算的負擔。
FastSLAM 目前大致上可分為兩種版本:FastSLAM1.0[22]與 FastSLAM2.0[23]。
其中最大的差別是在 FastSLAM1.0 只用了最基本的粒子濾波器去估測機器人的 位置,而 FastSLAM2.0 則是加進了 EKF 的概念,將非線性的移動模型線性化,
並使用 EKF 改良定位的精確度,因此在機器人的定位上比 FastSLAM1.0 更加的 準確。雖然FastSLAM2.0 看似遠優於 FastSLAM1.0,但 FastSLAM2.0 仍有個潛在 的問題:執行時間。因為 FastSLAM2.0 在更新機器人位置的階段時引入了 EKF 的運算,跟直接使用里程計更新機器人位置的FastSLAM1.0 比起來,需要花費更 多時間。尤其是當地標越來越多的時候,時間的差異就會越來越大。為解決該些 問題,鄧宏志[24]提出使用雙層的粒子濾波器架構並結合粒子群最佳化法(PSO) 的SLAM,在機器人定位部分使用 PSO 結合 PF 的架構,藉由 PSO 具有的快速搜
尋能力讓粒子能夠快速且精準的收斂,而在建立地圖的部分則使用 PF 取代
FastSLAM 的 EKF,並將 PF 中的預測步驟加以改良,以提升建圖的準確度。陳 雨政[25]提出分離更新式 FastSLAM,將機器人狀態及地標狀態的更新分離,先利 用環境資訊更新完所有的粒子狀態後,才更新各粒子中的地標,藉此改善機器人 狀態預測的階段。
此外,以往的SLAM 通常都是用雷射測距儀(Laser Range Finder)當作環境感 測器,能夠快速地取得精準的環境資料為其優點,而缺點就是其造價昂貴,且只
4
能擷取單一平面的資訊。但隨著科技的進步,視覺感測器也不斷地發展,也因為 視覺感測器能夠包含更加豐富的立體環境資訊,因此漸漸地開始有人利用視覺感 測器來執行SLAM 的任務。Davison 等人透過延展性卡爾曼濾波器開發即時性的 單眼視覺 SLAM(MonoSLAM)[26],能夠不需要控制輸入即可對自由移動的攝影 機進行自我定位及建立地圖,但使用單眼攝影機在計算影像深度時,攝影機的狀 態估測必須夠精準,否則會造成影像深度有嚴重的誤差。而Paz 等人則利用雙眼 視覺完成SLAM 的任務[27],使用雙眼視覺的好處在於計算影像深度上變得簡單,
而且不用依靠攝影機的狀態估測,但因為特徵的深度與影像中的座標位置並不是 線性關係,當特徵在遠距離時,在景深的計算上會有較大的誤差。最新的V-SLAM 則是使用RGB 攝影機再加上深度攝影機(RGBD camera)[28],其好處在於深度攝 影機是使用紅外線感測距離,並不需要繁瑣的計算,對光線的干擾程度也很小,
因此在最近的幾年內被廣泛應用在SLAM 中[29][30]。
綜合以上各點,本論文將針對即時定位與建圖演算法進行改良及探討,提出 以 FastSLAM 2.0 為 基 礎 的 加 速 型 SLAM(Computationally Efficient SLAM, CESLAM),並使用 RGBD 攝影機-Kinect 完成 V-SLAM 的任務。