第五章 實驗結果
5.6 EKF-SLAM 機器人室內長距離移動實驗
本實驗中,機器人依本論文所設計之定位系統與地圖接合演算法,運行於一 長距離的環境,驗證定位系統估測機器人於此環境之估測精度與地圖建立之結果,
整體實驗環境大小約為 16m X 6.65m,依建築格局被劃分為兩個區間,如圖 5.24 所示。本實驗機器人之運行環境如圖 5.24 所示,整個環境由兩個區間所構成,
機器人於此環境中之運動方式是以事先設定好的數個環境座標做為機器人的行 動準則,大體上機器人運行的方式是先繞行區間 1 一圈,建立區間 1 的環境資訊,
接著進入區間 2,完成地圖建立後重新繞行區間1,接著再繞區間 2,最後繞行 區間 1 後完成本實驗,整個機器人移動路徑之總長度約為 82.8 公尺。依本論文 所設計之定位系統,機器人行進於各區間所執行的各項步驟詳述如下。
令機器人在環境中設定的行進中繼點位置如圖 5.24 所標 A~G,機器人從原 點開始運行,沿途依序經過點 A -> B -> C -> D -> A 建立完區間1的地圖,依區 域地圖算建立的範圍做判斷,區間1會得到 5 個區域地圖,其特徵點分佈(區域 地圖建立之結果)如圖 5.25 中(a)~(e),其中機器人從位置D到位置A時,由重合 區域偵測的判定區域地圖(e)以及區域地圖(a)為重合區域,機器人地圖狀態屬於 重合地圖的類型,此時地圖融合演算將(d)(e)(a)三個地圖資訊結合,而完成區間 1的環境地圖,接著,機器人往區間 2 的方向前進,當機器人從 A -> B 時,機 器人使用的地圖資訊屬於已建立之地圖資訊,機器人會使用先前建立好之特徵點
0 20 40 60 80 100
0 2 4 6 8 10 12 14 16 18 20
step
s
圖 5.24 長距離實驗環境配置圖
資料庫,做為定位系統之環境資訊,修正機器人狀態向量並且持續更新該段區域 的特徵點狀態。接著,機器人從 B -> E,機器人由已建立過之地圖範圍進入未到 達過的環境,故依演算法之設計開啟新的區域地圖,機器人由位置B->E 進入區 間 2 的環境,依移動位置順序 E -> F -> G -> H -> E 繞行區間 2,依區域地圖路徑 範圍的判斷結果,區間 2 由 5 個區域地圖所構成,其特徵點分佈(區域地圖建立 之結果)如圖 5.26 中(a)~(e)所示。至此,機器人完成所有環境的的圖建立。接著,
機器人從 E ->B 回到區間1的區域,然後依行走順序 B -> C -> D -> A -> B 重複 區間1,再從 B -> E 走至區間 2,並依 E -> F -> G -> H -> E 再一次繞行區間2,
最後再繞行區間1兩圈,依序為 E -> B -> C -> D -> A -> B ->C -> D -> 原點,完 成本次實驗。在實驗進行中,當機器人處於建構地圖的狀態時,其最高的運動速 度限制在 10 cm/s;而當機器人進入使用地圖資訊的階段後,其最高的運動速度 則放寬至 14 cm/sec。與其他實驗時採用較快之速度比較,本實驗之機器人運動 速度放慢是因為實驗環境不同而做的調整。由於定位系統依賴由環境中偵測到之 特徵點對機器人狀態進行修正,修正的方式是以每次影像中與資料庫比對成功的 特徵點資訊作為輸入,為避免本實驗之環境在某些區段能夠獲得之特徵點數量較 為稀少所可能造成之誤差,實用中採用較慢的速度來提高定位演算的次數,並確 保能得到較為精確的特徵點資訊。
圖 5.25 室內長距離實驗區間 1 建立之區域地圖
圖 5.27 展示機器人繞行此環境之特徵點地圖與區域地圖之路徑範圍,其為 機器人實際運行時各種資訊的結合,圖中左側青色的大圓點為原點之位置,是機 器人開始運行的起點所在,黃色箭頭為機器人實際運行時在環境地圖的位置,箭 頭尖端為機器人所處的二維座標點,箭頭方向代表當時機器人的朝向角,藍色箭 頭則為機器人運動方向,箭頭長度代表速度與角速度總值的強度,格線做為地圖 環境的距離參考線,由隔線所構成的方格對應實際環境大小為 90cm X 90cm,而
圖 5.26 室內長距離實驗區域 2 建立之區域地圖
黑色點為具有距離資訊的特徵點,但不做為定位系統的特徵點,青色點則做為定 位系統的輸入資訊,用以修正機器人狀態向量,而每一個灰色大圓的範圍是機器 人判斷該使用哪一個區域地圖之依據,當機器人位置落在圓形範圍內時,機器人 選擇對應的區域地圖做定位系統的演算法,而當區域之間有所重疊時,則依 4.4 所述以特徵點符合數量的比較,來決定是否要切換區域地圖的使用。
圖 5.28 為機器人運行之環境特徵點地圖與實際環境配置之結合圖,圖中 藍色點為帶有距離的特徵點,其不為定位系統所使用,而紅色點則為定位系統 所使用的環境資訊,藍色線段為定位系統估測的機器人移動軌跡。
圖 5.27 長距離運行機器人建立之環境地圖
圖 5.28 長距離機器人運行實驗結果與實際環境配置之對照圖
表 5.8 為機器人於本實驗在室內環境行進約 82.8 公尺後原點附近之位置,表 中分別詳列機器人環境中實際位置與定位系統估測之狀態資訊,以及估測和實際 情況之誤差數值,實驗結果顯示,機器人經過長距離運行,透過環境資訊以定位 系統修正,在機器人回到原點附近估測結果與實際環境位置的差距,平均 X 方 向誤差為 7.21 公分,平均 Y 方向誤差為 7.16 公分,平均角度差則為 1.64 度,圖 5.29 則以直條圖呈現機器人實際與估測狀態資訊之差異。
表 5.8 長距離實驗機器人實際與估測之狀態資訊
Ground truth EKF Estimation Error x(cm) y(cm) (°) x(cm) y(cm) (°) x(cm) y(cm) (°)
Experiment 1 -16.26 1.587 96.80 -24.39 -0.22 95.54 8.13 1.80 1.26 Experiment 2 -15.06 -10.73 97.30 -3.59 -3.98 93.46 -11.47 -6.75 3.85 Experiment 3 -1.25 -2.628 92.20 3.74 -12.48 91.03 -4.99 9.86 1.17 Experiment4 14.28 -13.01 92.80 7.29 4.33 92.83 7.00 -17.34 -0.03 Experiment5 -5.80 -5.20 90.00 -1.33 -5.17 91.91 -4.48 -0.03 -1.91
(a) 二維座標誤差
(b)
圖 5.29 室內長距離實驗座標誤差之直條圖
5.7 討論
從實驗的過程以及結果中可以看到使用影像作為環境資訊擷取的限制以及 不足之處。在機器人移動路徑的選擇上,因為 Kinect 感測裝置取得的影像如同 一般單眼攝影機,所取得的畫面僅有一個面向的資訊,因影像特徵點擷取並無法 抵抗大幅的視角變化,使得機器人在重複行進於相同的環境時必頇在相似的路徑 上移動,比方說像直線長廊的環境,兩側的牆上取得的特徵點在去與回的行走方
0 5 10 15 20
1 2 3 4 5
cm
order
X error(cm) Y error(cm)
0 2 4 6
1 2 3 4 5
degree
order
Angle error
式所得到的特徵有相當大的差異,若以地圖建構的方式分別建立去與回所得到的 特徵點,會因為誤差的存在而讓建構出來的環境無法完全吻合,而若以地圖使用 的方式拿對應區域地圖的特徵點訊息來使用,卻又會因為特徵點匹配的成功率低 下而無法有效的修正機器人狀態。
在影像環境資訊擷取的限制上,在環境重複性高或是單調色彩的環境是使用 影像特徵會有較多疑慮的地方,這些環境這會使特徵點匹配的結果錯誤或是沒有 環境特徵可以使用,像是整面白色牆壁的房間或走廊,在以影像特徵點作為環境 資訊建立上就會有所困難,特徵點數量稀少的結果,像是在 5.6 的實驗,在圖 5.30 中 a 所標記的實線圓圈的部分就因為所得到的環境特徵點數量稀少,而影響後續 環境建立的準確度(這裡特徵點稀少的原因主要是因為機器人行進方向與 Kinect 距離感測的接收上難以得到牆上的特徵點深度資訊,因為本論文所使用的特徵點 為帶有三維座標資訊的特徵點,無法得到距離資訊的影像特徵點會被捨棄,使得 該段特徵點數量稀少)。而圖 5.30 中 b 所標記的虛線圓圈的部分,則是因為日光 燈在的地面反射所擷取的特徵,這類的特徵點的不穩定性高,是應該要被去除的 部分。
圖 5.30 標記影像特徵點對實驗結果影響之不穩定部分