第五章 實驗結果
5.2 ESLAM 模擬結果
ESLAM 模擬的目的是為了驗證本論文所提出的方法能提高同時定位與建圖 結果之準確度。模擬比較了 FastSLAM1.0、FastSLAM2.0、CESLAM 以及所改良 的 ESLAM 演算法。所使用的地圖大小為 500 500 pixels,地圖含有 16 個點狀地 標,每種演算法所使用的粒子數均為 30 顆粒子,為了比較不同 SLAM 的定位誤 差,所模擬機器人移動的路經均相同且固定,移動距離為每次 10 pixels,旋轉角 度為每次 15 度,所回傳的機器人移動資訊帶有高斯雜訊。
圖 5.1 為模擬 16 個地標各種 SLAM 演算法執行一次 SLAM 任務的結果,每 次 SLAM 任務為執行 100 次動作,包含前進與原地旋轉,每次動作間執行 5 次 SLAM 演算法的疊代,每一時刻機器人的真實位置構成機器人真實路徑由粉紅色 點表示,所有 SLAM 均固定且相同,每一時刻預測的機器人位置則以灰色點表示,
代表定位結果,資料取自粒子群中權重最大的粒子,圖 5.1 中聚集的綠色點代表 粒子,圖 5.1 中真實機器人以黃色圓圈表示,幾乎被綠色粒子覆蓋,藍色線段為 雷射測距儀之模擬。
圖 5.1 中包含的點狀地標由黑色點表示,地標大小為 1 pixel,為方便辨識,
以咖啡色圓圈標記,不影響 SLAM 模擬,所預測的地標位置以紅色圓圈標記,即 為建圖結果。圖 5.1 顯示出所改良的 ESLAM 演算法模擬結果相較於其他 SLAM 演算法,無論是在定位結果也就是路徑重合上,或是建圖結果也就是地標重合上,
均有較良好的結果。
圖 5.2 為模擬 70 個地標各種 SLAM 演算法執行一次 SLAM 任務的結果,每 次 SLAM 任務為執行 100 次動作,包含前進與原地旋轉,每次動作間執行 5 次 SLAM 演算法的疊代。圖 5.2 顯示出所改良的 ESLAM 演算法模擬結果相較於其 他 SLAM 演算法,無論是在定位結果也就是路徑重合上,或是建圖結果也就是地 標重合上,均有較良好的結果。
(a)FastSLAM1.0 (b)FastSLAM2.0
(c)CESLAM (d) ESLAM
圖 5.1、16 個地標各種 SLAM 演算法的模擬結果
50
表 5.3 與表 5.4 為模擬在 16 個地標執行 10 次 SLAM 任務後統計的平均數據,
每次 SLAM 任務為執行 100 次動作,包含前進與原地旋轉,每次動作間執行 5 次 SLAM 演算法的疊代,表 5.3 中定位誤差PE根據以下公式來運算:
100 100
2 2
, , , ,
1 1
ˆ ˆ
( ) ( )
E n R n R n R n R n
n n
P P x x y y
(5.1)(a)FastSLAM1.0 (b)FastSLAM2.0
(c)CESLAM (d) ESLAM
圖 5.2、70 個地標各種 SLAM 演算法的模擬結果
將 每 一 取 樣 點n1, 2,...,100中 機 器 人 真 實 位 置(xR n, ,yR n, )與 機 器 人 預 測 位 置 SLAM algorithms 定位誤差(pixel) 定位誤差 RMSE(pixel)
FastSLAM 1.0 603.73 2.53 FastSLAM 2.0 319.26 1.26 CESLAM 245.14 0.91 ESLAM 145.81 0.44
52
表 5.4、16 個地標各種 SLAM 演算法的建圖模擬結果 SLAM algorithms 建圖誤差(pixel) 建圖誤差 RMSE(pixel)
FastSLAM 1.0 97.92 2.32 FastSLAM 2.0 45.69 1.27 CESLAM 34.00 0.96 ESLAM 19.95 0.54
如表 5.3 與表 5.4 所示,所改良的 ESLAM 無論是在定位結果或是建圖結果 上,均有較低的誤差與較低的 RMSE 值。
表 5.5 與表 5.6 為模擬在 70 個地標執行 10 次 SLAM 任務後統計的平均數據,
每次 SLAM 任務為執行 100 次動作,包含前進與原地旋轉,每次動作間執行 5 次 SLAM 演算法的疊代:
表 5.5、70 個地標各種 SLAM 演算法的定位模擬結果 SLAM algorithms 定位誤差(pixel) 定位誤差 RMSE(pixel)
FastSLAM 1.0 261.88 0.96 FastSLAM 2.0 178.87 0.62 CESLAM 134.04 0.36 ESLAM 72.23 0.25
表 5.6、70 個地標各種 SLAM 演算法的建圖模擬結果 SLAM algorithms 建圖誤差(pixel) 建圖誤差 RMSE(pixel)
FastSLAM 1.0 180.34 1.38 FastSLAM 2.0 127.33 0.70 CESLAM 96.78 0.40 ESLAM 55.83 0.33
如表 5.5 與表 5.6 所示,所改良的 ESLAM 無論是在定位結果或是建圖結果 所示,當地標數少的時候 ESLAM 演算法所花費的時間雖然比 FastSLAM1.0 多,
但隨著地標數增加,ESLAM 所花費的時間反而較少,凸顯所改良的演算法之優
54
表 5.8 與表 5.9 為模擬在 209 個地標執行 10 次 SLAM 任務後統計的平均數據,
每次 SLAM 任務為執行 132 次動作,包含前進與原地旋轉,每次動作間執行 5 次 SLAM 演算法的疊代:
表 5.8、209 個地標各種 SLAM 演算法的定位模擬結果 SLAM algorithms 定位誤差(pixel) 定位誤差 RMSE(pixel)
FastSLAM 1.0 649.82 3.6 FastSLAM 2.0 418.1 2.22
CESLAM 288.44 1.16 ESLAM 152.99 0.55
(a)FastSLAM1.0 (b)FastSLAM2.0
(c)CESLAM (d) ESLAM
圖 5.3、209 個地標各種 SLAM 演算法的模擬結果
表 5.9、209 個地標各種 SLAM 演算法的建圖模擬結果 SLAM algorithms 建圖誤差(pixel) 建圖誤差 RMSE(pixel)
FastSLAM 1.0 1238.57 4.11 FastSLAM 2.0 802.79 2.74 CESLAM 517.65 1.27 ESLAM 266.27 0.55
如表 5.8 與表 5.9 所示,所改良的 ESLAM 無論是在定位結果或是建圖結果 上,均有較低的誤差與較低的 RMSE 值。
表 5.10 為在 209 個地標數目下執行各種 SLAM 演算法的執行時間比較,不 同地標數的地圖大小都一樣為 500 500 pixels,執行 10 次 SLAM 任務後統計的平 均數據,每次 SLAM 任務為執行 100 次動作,包含前進與原地旋轉,每次動作間 執行 5 次 SLAM 演算法的疊代。如表 5.10 所示,當地標數少的時候 ESLAM 演 算法所花費的時間雖然比 FastSLAM1.0 多,但隨著地標數增加,ESLAM 所花費 的時間反而較少,凸顯所改良的演算法之優勢,然而,相較於 CESLAM,改良的 ESLAM 犧牲些許運算時間,卻能得到更準確的定位與建圖結果。
表 5.10、209 個地標各種 SLAM 演算法的執行時間比較 SLAM algorithms 執行時間(s) (地標數:209)
FastSLAM 1.0 462.27 FastSLAM 2.0 966.90
CESLAM 140.13
ESLAM 250.58
56