• 沒有找到結果。

相關研究回顧

第一章 緒論

1.2 相關研究回顧

自走式機器人定位問題是要求得機器人在移動環境中的姿態(Pose),即機器 人的位置與朝向角,(x,y,θ)值,其定義如圖 1-1 所示。其中朝向角定義為機器

人正前方與座標系x軸的夾角。

X Y

Robot Θ

O x

y

Oc (x,y,Θ) Heading dirction

圖 1-1 機器人姿態定義

使 用 里 程 計 (odometer) 的 資 訊 來 達 成 機 器 人 自 我 定 位 的 方 法 稱 作 dead-reckoning。由輪型機器人兩個輪子個別轉動的圈數,並可將其轉換成機器 人左右輪個別的線性移動距離,加上已知的前一時刻的位置與朝向角資訊,便可 以估測出機器人目前所在的位置。不過,里程計會受到輪子打滑與路面不平的影 響,使得從里程計得到的機器人移動距離與實際上機器人的移動情形不一致,並 且由此所造成的機器人位置估測誤差是不斷地累積的,所以 dead-reckoning 只適 合在短距離移動的機器人應用中。為使機器人在更長距離的移動中能持續地自我 定位,加入其它感測器的使用,以及一套有效的絕對位置定位演算法是必要的。

在以地圖為基礎的定位方法中,以內建的全域地圖與外部環境感測器的測量 資料來決定機器人的姿態。機器人將由感測器得到的局部地圖與全域地圖做比對 (Map-matching),以全域地圖為基準來修正目前機器人的姿態。在相關文獻中,

外部環境感測器可以是影像感測器(Image sensor)[1]、超音波感測器(Ultrasonic sensor)[2]或雷射掃描儀(Laser scanner)等。在這些感測器中,雷射掃描儀因有高 精確度的優點,所以廣泛的被運用。使用雷射掃描儀為感測器而產生的定位演算 法 可 以 依 用 來 比 對 的 資 料 型 態 不 同 而 分 成 point-based 定 位 演 算 法 [3] 與 feature-based 定位演算法[4]。Point-based 定位演算法比較連續兩筆掃描資料,運 用最小平方法得到點對點(Point-to-point)的最佳對應關係,並以此推算機器人的

姿態。另一方面,feature-based 定位演算法則從掃描的距離資料中擷取環境特徵,

如牆壁或牆角,將擷取出的特徵和全域地圖比對來得到機器人的姿態。

本論文設計的定位系統將使用 feature-based 的地圖比對方法,以環境中的牆 面作為環境特徵,從雷射掃描的距離資料擷取出代表牆面的線段並與環境地圖比 對並由比對結果來估測機器人的朝向角。與 point-based 的方法比較,feature-based 方法的比對結果其精確度較高,這是因為 feature-based 方法是以掃描資料整體的 形狀(如代表牆面的形狀)作為地圖比對的依據,而 point-based 方法則是個別的去 比對每一筆距離資料,又個別的距離資料會受到量測誤差的影響,降低了比對結 果的正確性,所以 point-based 方法的比對結果並不如 feature-based 方法來得精 確。不過,point-based 方法可以使用在非多邊形(Non-polygonal)為主的環境中,

而本論文使用的 feature-based 方法則只能運用在多邊形(Polygonal)為主的環境 中。

另外有些研究以在環境中設置地標的方式,透過感測器對地標的量測來得到 機器人在環境中的姿態資訊。因此必須要先記錄所設置之地標在環境中的位置,

則機器人對於地標的量測資料才能成為有用的定位資訊。文獻[5]採用影像處理 的方式,在環境中設置特定顏色圖案的地標,讓機器人上的影像感測器能在環境 中辨認出此地標,並對地標做量測來得到機器人的姿態資訊。文獻[6]則以圓柱 狀的物體作為地標設置在環境中,並使用雷射掃描儀作為感測器來辨認圓柱狀地 標的幾何形狀。辨認出地標後便可得到機器人的姿態資訊。

許多的研究以機率理論來解決機器人定位問題。目前以機率理論發展出來的 機器人定位演算法中,主要有卡曼濾波器(Kalman Filter)演算法[7]和 MCL(Monte Carlo Localization)演算法[8]。因為機器人在對其所在位置做估測時存在著不確定 性,為了要將此不確定性以數學來表示,所以需要以機率理論來作為定位演算法 的理論基礎。另外,機器人在估測其所在位置時,必需將裝在機器人上的感測器 所得到資訊作為輸入,經過定位演算法處理後才能估測出機器人之所在位置。不 過,感測器在做測量時必定存在著量測誤差,而量測誤差雜訊經常是複雜的且不

容易將它對測量資訊所造成的影響消除。在機率理論中將雜訊以隨機變數 (Random Variable)來表示,所謂的隨機變數即是它在每一時刻的數值皆是隨機 的,並以機率密度函數(Probability Density Function)來表示,所以以量測雜訊的 機率密度函數來當作感測器的感測誤差模型,便可以處理感測誤差所造成的影 響。而這是以機率理論來建構機器人定位演算法的另一個主要原因。由以上的這 些原因,不難看出為何以機率統計的方法來解決機器人定位問題會如此重要了。

卡曼濾波器(Kalman Filter)演算法利用了目前機器人的感測器量得的資訊以 及機器人目前的位置來推測機器人在下一時刻的位置,以達成機器人的自我定 位。所以我們可以發現在使用卡曼濾波器演算法來解決機器人自我定位問題時,

我們必須要有機器人的運動模型(Motion Model)以及感測器的感測誤差模型 (Measurement Model)才能對機器人的位置進行估測。在卡曼濾波器演算法中假設 所使用的機率模型為高斯分佈(Gaussian Distribution),亦即常態分佈(Normal Distribution),而後經過遞迴的運算來估測出機器人的位置狀態。卡曼濾波器定 位演算法其優點為精確度高且收斂速度快,而缺點為使用的機率模型必須是高斯 機率分佈,若不是高斯分佈,則其估測結果的準確度將會降低。

MCL 演算法,亦即以粒子濾波器(Particle Filter)理論為基礎產生的機器人定 位演算法,是以取樣(Sampling)的方式(Sample-based)來表示機器人姿態的機率密 度函數,並給予每一個取樣點(Sample)或稱為粒子(Particle)一個機率值,隨後再 加入感測器的資訊對每一個粒子給予不同的權重(Weight),最後再對所有的取樣 點重新取樣(Resampling),而重新取樣後得到的新的一組取樣點將成為下一個循 環的開始。所以 MCL 的定位演算法以不斷地取樣、給予取樣點權重以及重新取 樣的方式來對機器人的位置狀態做估測與修正。MLC 定位演算法的優點在於能 夠表示具有多種或不同的機率密度函數,這是因為 MLC 演算法是以取樣的方式 來表示機器人姿態的機率密度函數。

將卡曼濾波器與 MCL 這兩種定位演算法做比較,可以發現卡曼濾波器定位 演算法只適用於機率模型為高斯分佈(Gaussian distribution)或接近於高斯分佈的

系統,而 MCL 演算法則可以適用與具有多種或不同機率模型之系統中。不過,

從另一方面來看,只要卡曼濾波器演算法其使用的機率模型接近高斯分佈,則其 所得到的位置狀態(State)估測結果將會比 MLC 演算法要來得精確,而且機率模 型愈接近高斯分佈,使用卡曼濾波器演算法得到的位置狀態估測結果將會愈精 確。雖然卡曼濾波器演算法比 MCL 演算法還要早被提出,但是兩種用來定位的 演算法各有其長處,所以個別皆有不少的專家、學者在進行研究與運用來解決機 器人的自我定位問題,甚至持續地提出許多改良的法方。

不論是粒子濾波器演算法或卡曼濾波器演算法,皆是以 Bayesian filter 為基 本架構發展而來的。在 Bayesian filter 演算法中,主要分成兩個步驟,分別是預 測(Pridict)和更新(Update)。因此,在以粒子濾波器演算法或卡曼濾波器演算法來 解決機器人定位問題的過程中,也可被分成預測階段(Prediction)與感測器資訊更 新階段(Measurement update),如圖 1-2 所示。

在 Prediction 階段,定位演算法利用 odometer 的資料來對機器人的位置資訊 做預測。不過以 odometer 的資料來估測機器人的位置,會因為路面不平或輪子 打滑的影響而產生誤差,並且誤差會隨著機器人的移動而持續累積。所以在 Update 階段時,必須依靠其它感測器得到的資訊來對在 Prediction 階段預測出的 機器人位置做修正,如此才能正確地估測出機器人的位置。而在 Update 階段所 使用的感測器一般來說大部分是影像感測器、超音波感測器或雷射掃描儀等。

圖 1-2 : 基於 Bayesian filter 之定位演算法架構圖[9]

Odometry

Sensors