第五章 實驗結果
5.3 ESLAM 雲端實驗結果
為了驗證本論文所提出以雲端運算為基礎之 ESLAM 架構能夠提升運算效率,
本論文實驗一:使用 1 台個人電腦(規格同表 5.1)比較在相同環境下有無多執行緒 平行化版 ESLAM 演算法執行 SLAM 任務,所使用的地圖大小為 500 500 pixels,
地圖含有 16 個點狀地標,每種版本所使用的粒子數均為 30 顆粒子,所模擬機器 人移動的路經均相同且固定,移動距離為每次 10 pixels,旋轉角度為每次 15 度,
所回傳的機器人移動資訊帶有高斯雜訊。
圖 5.4 為有無多執行緒版 ESLAM 執行一次 SLAM 任務的結果,每次 SLAM 任務為執行 100 次動作,包含前進與原地旋轉,每次動作間執行 5 次 SLAM 演算 法的疊代,每一時刻機器人的真實位置構成機器人真實路徑由粉紅色點表示,所 有 SLAM 均固定且相同,每一時刻預測的機器人位置則以灰色點表示,代表定位 結果,資料取自粒子群中權重最大的粒子,聚集的綠色點代表粒子,真實機器人 以黃色圓圈表示,幾乎被綠色粒子覆蓋,藍色線段為雷射測距儀之模擬。地標由 黑色點表示,地標大小為 1 pixel,為方便辨識,以咖啡色圓圈標記,不影響 SLAM 模擬,所預測的地標位置以紅色圓圈標記,即為建圖結果。
(a)無多執行緒版本 (b)有多執行緒版本
圖 5.4、實驗一:有無多執行緒版 ESLAM 演算法的模擬結果
如圖 5.4 所示,無論有無多執行緒版本 ESLAM 模擬結果很相近,由圖上幾 乎看不出差異,因此表 5.11 為兩種版本定位誤差比較、建圖誤差比較與執行時間 比較,均為執行 10 次 SLAM 任務後統計的平均數據,可看出兩種版本的 SLAM 無論在定位或建圖誤差結果都差不多,而相較於無多執行緒版本,有多執行緒版 本所花費的計算時間較少。
表 5.11、實驗一:有無多執行緒版 ESLAM 演算法的模擬結果 SLAM algorithms 無多執行緒版本 有多執行緒版本
定位誤差(pixel) 129.08 127.01 定位誤差 RMSE(pixel) 0.40 0.46
建圖誤差(pixel) 19.28 18.81 建圖誤差 RMSE(pixel) 0.50 0.57 執行時間(s) (地標數:16) 51.46 47.07
以上結果說明將 ESLAM 演算法平行化後的執行結果與為平行化前相同,因 此本論文實驗二:使用 6 台個人電腦(規格同表 5.2)建立一小雲端平台,模擬在不 同地標數目下單機版與雲端版 ESLAM 演算法執行 SLAM 任務的執行時間,所使 用的地圖大小為 500 500 pixels,地圖分別含有 50、100、150、200、250 個點狀 地標,每種演算法所使用的粒子數均為 30 顆粒子,所模擬機器人移動的路經均 相同且固定,移動距離為每次 10 pixels,旋轉角度為每次 15 度,所回傳的機器 人移動資訊帶有高斯雜訊。
圖 5.5 為模擬不同地標數下執行一次 SLAM 任務的結果,每次 SLAM 任務為 執行 100 次動作,包含前進與原地旋轉,每次動作間執行 5 次 SLAM 演算法的疊 代,每一時刻機器人的真實位置構成機器人真實路徑由粉紅色點表示,所有 SLAM 均固定且相同,每一時刻預測的機器人位置則以灰色點表示,代表定位結 果,資料取自粒子群中權重最大的粒子,聚集的綠色點代表粒子,真實機器人以 黃色圓圈表示,幾乎被綠色粒子覆蓋,藍色線段為雷射測距儀之模擬。地標由黑
58
色點表示,地標大小為 1 pixel,為方便辨識,以咖啡色圓圈標記,不影響 SLAM 模擬,所預測的地標位置以紅色圓圈標記,即為建圖結果。
(a)地標數:50 (b)地標數:100
(c)地標數:150 (d) 地標數:200
(e) 地標數:250
圖 5.5、實驗二:單機與雲端版 ESLAM 演算法的模擬結果
如圖 5.5 所示,為了比較單機與雲端版 ESLAM 演算法的執行時間,所有設 計的點狀地標地圖,對於兩種版本之 ESLAM 演算法每次模擬均能準確建立出相 符的地標數,表 5.12 為兩種版本 ESLAM 各執行 10 次 SLAM 任務後統計的平均 數據,分別比較不同地標數的單機與雲端版 ESLAM 之執行時間,圖 5.6 為將表 5.12 以長條圖表示,總時間為執行 1 次 SLAM 任務的平均時間,未平行化部分執 行時間為執行 ESLAM 演算法中機器人狀態預測(根據移動資訊)與重新取樣的執 行時間,平行化部分執行時間為執行 ESLAM 演算法中機器人狀態預測(根據感測 資訊)、資料關聯、粒子狀態更新與地標更新與新增的執行時間,傳輸時間則為客 戶端與伺服器端之前傳輸資料的時間。
無論單機或是雲端版 ESLAM 均有一段因為執行重新取樣步驟或是其他相同 步驟的未平行化部分執行時間,此段時間在單機或是雲端版本所花費的時間幾乎 相同,而平行化部分執行時間,可看出沒有平行化的單機版與有平行化雲端版之 間的差異,此外,可以看到單機版本的執行時間中傳輸時間幾乎沒有,而雲端版 本中隨著地標數目增加,粒子內的資訊也相對增加,每次在客戶端與伺服器端的 傳輸量也增加,進而形成一段傳輸時間。但隨著地標數目增加到一定程度,可看 出當平行化架構下 ESLAM 演算法所減少的運算時間大於所產生的傳輸時間,雲 端版本的 ESLAM 相對於單機版則有較高的執行效率。
60
本論文實驗三:使用 6 台個人電腦(規格同表 5.2)建立一小雲端平台,模擬在 不同粒子數下單機版與雲端版 ESLAM 演算法執行 SLAM 任務的執行時間,所使 用的地圖大小為 500 500 pixels,地圖含有 150 個點狀地標,每種演算法所使用 的粒子數分別為 30、60、90、120、150 顆粒子,所模擬機器人移動的路經均相 同且固定,移動距離為每次 10 pixels,旋轉角度為每次 15 度,所回傳的機器人 移動資訊帶有高斯雜訊。
表 5.13 為兩種版本 ESLAM 各執行 10 次 SLAM 任務後統計的平均數據,分 別比較不同地標數的單機與雲端版 ESLAM 之執行時間,圖 5.7 為將表 5.13 以長 條圖表示,總時間為執行 1 次 SLAM 任務的平均時間,未平行化部分執行時間為 執行 ESLAM 演算法中機器人狀態預測(根據移動資訊)與重新取樣的執行時間,
平行化部分執行時間為執行 ESLAM 演算法中機器人狀態預測(根據感測資訊)、
資料關聯、粒子狀態更新與地標更新與新增的執行時間,傳輸時間則為客戶端與 伺服器端之前傳輸資料的時間。
實驗三中無論單機或是雲端版 ESLAM 均有一段因為執行重新取樣步驟或是 其他相同步驟的未平行化部分執行時間,此段時間在單機或是雲端版本所花費的 時間幾乎相同,而平行化部分執行時間,可看出沒有平行化的單機版與有平行化 雲端版之間的差異,此外,可以看到單機版本的執行時間中傳輸時間幾乎沒有,
而雲端版本中隨著粒子數目增加,所使用的 ESLAM 架構並沒有平行化更多伺服 器端來運算,使得客戶端與伺服器端的傳輸量也增加,進而形成一段傳輸時間。
但隨著粒子數目增加到一定程度,可看出當平行化架構下 ESLAM 演算法所減少 的運算時間小於所產生的傳輸時間,雲端版本的 ESLAM 相對於單機版則有較低 的執行效率。
62
在真實環境中,障礙物地標多是連續,而非單純點狀地標,如圖 5.8 (a)所示,
黑色區域為環境資訊,在此地圖下模擬每次所抓取的環境地標數目不同,無法以 相同基準做比較,本論文實驗四:設計一類似真實環境地圖,所使用的地圖大小 為1150 750 pixels,所設計的地圖含有 209 個點狀地標,如圖 5.8 (b)所示,灰色 區域仍為環境資訊,所模擬的機器人只會針對黑色地標執行 SLAM 任務,使用 6 台個人電腦(規格同表 5.2)所建立之雲端平台,模擬單機版與雲端版 ESLAM 演算 法執行 SLAM 任務的執行時間,每種演算法所使用的粒子數均為 30 顆粒子,所 模擬機器人移動的路經均相同且固定,移動距離為每次 10 pixels,旋轉角度為每 次 15 度,所回傳的機器人移動資訊帶有高斯雜訊。
圖 5.9 為模擬執行一次 SLAM 任務的結果,每次 SLAM 任務為執行 132 次動 作,包含前進與原地旋轉,每次動作間執行 5 次 SLAM 演算法的疊代,每一時刻 機器人的真實位置構成機器人真實路徑由粉紅色點表示,所有 SLAM 均固定且相 同,每一時刻預測的機器人位置則以灰色點表示,代表定位結果,資料取自粒子 群中權重最大的粒子,聚集的綠色點代表粒子,真實機器人以黃色圓圈表示,幾 乎被綠色粒子覆蓋,藍色線段為雷射測距儀之模擬。
表 5.14 為上述環境下單機與雲端版 ESLAM 執行時間的比較,圖 5.10 為表 5.14 內數據所畫的長條圖,可看出單機與雲端版 ESLAM 在未平行化部分的執行 時間差不多,而雲端版 ESLAM 平行化部分所減少的執行時間大於傳輸所花的時 間,使得雲端版 ESLAM 花費較少執行時間。
64
(a)真實環境地圖
(b)仿真實環境地圖
圖 5.8、實驗四:模擬所用的環境地圖
表 5.14、實驗四:仿真實環境單機與雲端版 ESLAM 執行時間比較 版本
未平行化部分 執行時間(s)
平行化部分執
行時間(s) 傳輸時間(s) 總時間(s) 單機版 10.60 134.04 0.54 145.18 雲端版 10.67 31.80 83.55 126.01
圖 5.9、實驗四:仿真實環境下 ESLAM 模擬結果
圖 5.10、實驗四:仿真實環境單機與雲端版 ESLAM 執行時間長條圖
0 20 40 60 80 100 120 140 160
單機版 雲端版
傳輸時間(s)
平行化部分執行時間(s)
未平行化部分執行時間(s)
66