第五章 實驗結果
5.3 EKF-SLAM 初步測試實驗
為了驗證機器人於走廊環境中移動時之定位功能,實驗過程以手動遙控機器 人沿 2.8x1.2 公尺的矩形路徑,繞行五圈,實驗場景及行走範圍如圖 5-7,圖中虛 線為行走之矩形範圍。使用以第三章為基礎之 EFK-SLAM 演算法,建立出環境 特徵地圖及定位出機器人的座標。(47)式為 odometer 計算機器人位置之算式,Δx 代表在取樣時間Δt內,x 方向所移動的距離,Δ 代表在取樣時間y Δt內,y 方向 所移動的距離,Δθ 代表在取樣時間Δt內,機器人所旋轉的角度,vl、vr 分別為 左、右輪的轉速,d 為兩個輪子之間距,θ 為機器人的朝向角。所估測到之特徵
點位置及機器人行走軌跡結果如圖 5-8(b),並將 odometer 所記錄的軌跡繪製如圖 5-8(a),圖中(0,0)位置為起點,而圖中的三角形位置代表繞行五圈後的終點位置 所在。
d vl t vr
vr t vl
y
vr t vl
x
)
*(
sin 2 *
)
*(
cos 2 *
)
*(
Δ −
= Δ
Δ +
= Δ
Δ +
= Δ
θ
θ θ
(47)
在圖 5-8(b),虛線代表牆面位置,所估測到的特徵點均落在虛線附近,由於 在實際環境中,能擷取到的環境特徵點亦是分佈在牆面上,代表演算法中對特徵 點的位置估測正確。因為在實驗過程中是以人工手動的方式遙控機器人沿矩形行 走,因此繞行軌跡應是近似相同位置的矩形軌跡,圖 5-8(a)是直接記錄 Odometer 的數值所繪製的軌跡,由於機器人行走可能產生的誤差影響,記錄出來的矩形軌 跡逐漸偏離初始的矩形位置,繞行五圈後的終點位置與起始點有 0.5 公尺以上的 誤差,且會愈來愈大。而圖 5-8(b)EKF SLAM 所估測出的軌跡即較為正確,在初 始矩形位置附近,繞行五圈後的終點位置與起始點有 0.25 公尺左右的誤差。此 結果證明出定位演算法是可行的,並有一定程度的修正僅用 Odometer 定位所出 現的誤差。
圖 5-7 實驗場景
圖 5-8 繞行移動之實驗結果 5.4 定位參考點轉換之測試實驗
使用第四章之參考點轉換策略,讓機器人在走廊環境下自主運動較長距離,
主要內容為在走廊上來回行走:機器人往前行走 5 公尺處,旋轉 180 度後往回走 10 公尺,再旋轉 180 度後行走 5 公尺,最後回到起始點,用此實驗來驗證參考 點能順利的轉換,並同時定位出機器人的位置及建立環境特徵點地圖。
圖 5-9 為實驗結果,圖 5-9(a)~(c)圖為實驗過程中移動軌跡及特徵點估測之演進,
起點為(0,0),三角形代表特徵點建立的位置,數個橢圓形代表各特徵點的 Uncertainty分佈。(a)圖代表機器人走至 2 公尺處的位置,此時較近的特徵點開始 被建立在地圖上,但 Covariance 還很大;(b)圖代表已繞過 5 公尺處回到 0.5 公尺 左右的位置,此時不僅遠處的特徵點被建立了出來,特徵點的 covariance 也因為 多次的估測而收斂變小;(c)圖代表機器人已走回原點,並將路徑中的所觀測到 的特徵點地圖建立出來;(d)圖中的虛線代表牆面的位置,可確認特徵點均落在 牆面附近。
此實驗利用了參考點建立與轉換的策略,到了新的地點則建立新的參考點,
回到舊的區域則利用舊的參考點,圖 5-9 之(d)圖中的五個紅色三角形即代表了在 此實驗中共建立了 5 個參考點。
(b) SLAM演算法估測之軌跡與環境徵點位置 (a) Odometer所記錄之軌跡 (m) (m)
Wall surface
圖 5-9 來回行走之實驗結果
圖 5-10 為其中一次來回行走實驗中在四個位置之特徵點比對的擷圖,圖中 (a)為在 0.5 公尺處之比對結果,此時的參考點影像即為起點 0 公尺處之影像 Ref_01;圖中(b)為在 2.5 公尺之結果,此時因距離 Ref_01 超過 2 公尺了,故新 增一參考點 Ref_02 作為新的比對基準參考點;圖中(c)為移動到 5 公尺處後沿原 路繞回-0.5 公尺處時之擷圖,此時因為附近已有之前已建立過的參考點 Ref_01,
故不需再建立新的參考點,而從資料庫中取出 Ref_01 做為比對的基準;圖中(d) 為移動至-2 公尺處之擷圖,因此地區尚未來過,故新增參考點 Ref_04 為比對的 基準。
表 5-2 為五種不同距離之來回行走實驗之誤差結果,如 case 5 為機器人從起 點出發,向前行走 15m 後原地旋轉 180 度,再走 15m 回到起點,移動共 30m 的 距離後即記錄機器人此刻所估測出的位置座標,並與機器人之 ground truth 座標 比對,計算其位置誤差。
(a) (b) (c) (d) (m) (m)
(m) (m)
圖 5-10 Ref_01 等在 caption 中說明來回行走實驗中參考轉換之結果
表 5-2 來回行走之實驗結果誤差
Case 1 Case 2 Case 3 Case 4 Case 5
10m 15m 20m 25m 30m Error
x y θ x y θ x y θ x y θ x y θ Exp1 0.01 0.03 2 0.06 0.01 0 0.08 0.08 2 0.1 0.01 1 0.07 0.03 3 Exp2 0.09 0.01 3 0.09 0.01 2 0.12 0.02 2 0.12 0.03 2 0.09 0.04 1 Exp3 0.08 0 1 0.08 0.02 2 0.1 0.06 0 0.07 0.03 2 0.1 0.05 1 Exp4 0.07 0 2 0.1 0.03 1 0.15 0.04 3 0.06 0.03 2 0.15 0.05 8 Exp5 0.05 0.01 4 0.11 0.02 3 0.1 0.02 1 0.1 0.05 2 0.09 0.01 5 Average 0.06 0.01 3 0.9 0.02 2 0.11 0.04 2 0.09 0.03 2 0.1 0.04 4 上述實驗結果證實了各參考點間均能正確的轉換,經 30 公尺的行走距離後 位置的平均誤差為 0.11m,驗證了本參考轉換之演算法能讓機器人定位行走更長 的距離並建立出環境特徵點地圖。
圖 5-11 為機器人之 looping 實驗結果,於 8*10 公尺大小空間中以一 8 字型 之封閉路徑移動,用以證實機器人對環境地圖的建立,在起點之地圖與繞行一圈 後回到起點附近之地圖能夠銜接的上。
圖 5-11 機器人 8 字型移動之實驗結果
(m)
此實驗共建立了 12 個參考點,並有 145 個特徵點被建立於地圖上。經 5 次相同 的實驗,量測機器人回到原點後的距離誤差,x 方向平均誤差為 0.16m、y 方向 平均誤差為 0.06m。
5.5 機器人室內導航之情境展示實驗
本實驗之目的為驗證機器人在室內之長距離移動時,能夠同時定位出機器人 本身的位置,建立出環境地圖,並證實機器人能藉由定位系統的幫助,達成自主 式移動之巡航能力。實驗中機器人從一房間內為起點,開始主動走出房間並在走 廊中移動到遠處 23 公尺處走廊盡頭事前已設定好的目標點,接著以一三角形軌 跡迴轉後,沿原路回到原本的房間內。
圖 5-12 為實驗過程之記錄結果,其中菱形點代表特徵點的位置,藍線為定 位系統所記錄下的移動軌跡,紅色三角形為移動過程中所建立的參考點位置,而 紫線則為實際上房間及走廊上的牆壁位置。在機器人開始移動之前,先預設好五 個目的地座標點作為機器人導航時依序要經過的地方:座標(0,-4)為房間內的起 點,機器人首先開始主動的朝向第一個目標點(0,0)移動,穿越房後到達位於走廊 上的第一個目標點(0,0);接著旋轉 90 度後沿著走廊上行走,朝向第二個目標點 (0,21)前進;在走廊盡頭有較寬的空間,機器人依序走向三個目標點(0,21),(2,22), (0,23),沿一個三角形軌跡移動迴轉;轉向,走回先前的目標點(0,0),最後穿越 房門走回起點。全程除了預先設定好的目標點座標外,均是機器人主動的定位本 身的位置,並自主式的移動到目標地點。
在本次實驗中,機器人從房間內開始移動後,即一直重覆的運行 SLAM 演 算法,即時的定位出機器人的所在座標,讓機器人可得知如何移動到目標點,使 其能成功的走出房間並到達遠處的目標點位置;而環境特徵點地圖亦同時能建立 出來,在圖 5-12 中可發現特徵點大都落在兩側的牆面上;在移動的過程中,依 照參考點建立及轉換的策略,成功的延長機器人的定位範圍,本次實驗共建立了 17個參考點,如圖 5-11 中的三角形位置。圖 5-13 顯示實驗過程擷取之照片,其
中(a)為機器人開始出發之位置,(b)為機器人正走出房門,(c)為走出房間後轉向 朝走廊移動,(d)為走廊上行走之途中,(h)為機器人走至最遠之 23 公尺處,(g) 為機器人從走廊回程,正轉向房間方向,(f)為機器人正走進房門,(e)為回到起 點,完成一次的巡航任務。
沿著設定好的數個目的地依序前進,是機器人導航中的基本情境,本實驗完 成了此情境的展示,並且能建立環境地圖,讓機器人就算是到了未知的地點,亦 能定位出自身的位置,證實了本論文所設計的機器人定位方法能夠幫助機器人達 成室內導航的功能。
圖 5-12 走廊移動實驗結果 (m)
圖 5-13 實驗擷圖 5.6 討論
本論文主要是使用基於全向式影像及參考點轉換的定位方法:使用一套基於 全向式影像特性的特徵點辨識方法,偵測環境中的特徵;定位方式是設定一參考 點影像為基準,機器人移動後所擷取到的畫面與參考點影像作比較,以此方法定 位出機器人自身的位置並建立出參考點周遭環境特徵點之地圖。
其中定位參考點之建立與轉換策略為最主要的特色,此方法能讓機器人的定 位範圍距離延長,解決了因為機器人移動的愈遠,與參考點影像所能比對到的特 徵點變少的問題。本方法與[6]所使用的 Visual reference scan matching 方法類似,
利用建立新的參考點來延長可定位的距離,但本論文與[6]不同的地方在於使用 的攝影機為全向式攝影機,利用全向式影像的 360 度視角,可對參考點影像作重 覆的使用。
[6]中因為其攝影機的視角有限,故旋轉角度超過限定值時則需要再建立一 個新的參考點,若機器人走回之前走過的地點時,仍需再次建立新的參考點。本 研究中因使用的是全向式的影像,即使機器人旋轉了 180 度,仍可與參考點影像 成功的比對出相同的特徵點,故以此特性設計一參考點轉換的策略,將所有已建 立的參考點相關資料均存入資料庫中,當機器人走回到舊地區時不用再建立新的 參考點,而從資料庫中取出已有的資訊來使用即可,就好像每個參考點都有其監
(a) (b) (c) (d)
(e) (f) (g) (h)
測區域那樣。本論文所使用之方法可減少參考點建立的數量,並能重覆使用已存 在資料庫中的參考點影像及其特徵點資訊,也因此能讓EKF-SLAM 中State vector 及 Covariance matrix 不會一直持續的增大,降低 EKF-SLAM 最常見之複雜度持 續增加的問題所造成的影響。
上述之實驗證實了影像處理及定位演算法的可行性,亦驗證了參考點轉換的 策略無誤,並以最後情境模擬實驗證實本論文所設計的機器人定位方法能夠幫助 機器人達成室內導航的功能。
第六章 結論與未來展望
本論文完成了使用全向式攝影機之機器人定位設計與實驗,基於 EKF SLAM 之演算法,以全向式攝影機對環境做觀測,在機器人移動的同時,能夠建立出環 境地圖並定位出機器人的位置。
本論文完成了使用全向式攝影機之機器人定位設計與實驗,基於 EKF SLAM 之演算法,以全向式攝影機對環境做觀測,在機器人移動的同時,能夠建立出環 境地圖並定位出機器人的位置。