四、D++演算法應用於移動機器人之實驗 結果
4.1 靜態環境
圖五十八為一個具迷宮地形的靜態環境,移動機器人需從地圖右下 角尋找到地圖右上角的移動路徑。地圖中具有某些死路,讓機器人無法 輕易地從起點直接走到終點。因此本實驗之目的為探討D++演算法對於應 用在實際環境中,避免區域解的執行成效。圖五十九展示了機器人在此 靜態環境的實際航行情形;而圖六十為電腦端顯示機器人航行的監視畫 面。在這個例子中,移動機器人的偵測範圍為5個方格,每個方格為30×30 公分。這個例子有利於我們了解D++演算法如何有效地應用在實際的移動 機器人導航問題,且展示了D++演算法具有脫離或避開區域解的能力。
73
圖五十八、一個迷宮地形的靜態環境
(a) (b) (c)
(d) (e) (f)
圖五十九、移動機器人航行在圖五十八之地形環境的實際情形(偵測範 圍為 3 格)
Goal
Star t
74
(a) (b) (c)
(d) (e) (f)
圖六十、使用偵測範圍為 3 格的機器人航行實驗監視畫面
圖六十一展示了使用了偵測範圍為20格、在相同靜態環境(圖五十八)
的移動機器人航行過程監視畫面; 圖六十一的例子雖然設定了20格的偵 測範圍,但實際上因為移動機器人的紅外線感測器僅能偵測前左右的障 礙物,且範圍僅有3~5格左右,因此並無法提供20格偵測範圍內的正確環 境資訊。所以將圖六十一的結果與圖六十的結果作比較,我們可以看到 移動機器人最後的航行路線並無不同。圖六十二為同樣使用了偵測範圍 為20格、在相同靜態環境的移動機器人航行過程監視畫面;與圖六十一 不同的是,這次環境資訊為已知的。將圖六十二的結果與圖六十一的結 果作比較,我們可以看到圖六十二的航行路線便避開了一開始的區域 解,直接往最短路徑的方向前進。
75
(a) (b) (c)
(d) (e) (f)
圖六十一、使用偵測範圍為 20 格的機器人航行實驗監視畫面
(a) (b) (c)
(d) (e) (f)
圖六十二、使用偵測範圍為 20 格、且已知環境資訊的機器人航行實驗監 視畫面
76 4.2 動態環境
圖六十三~圖六十五展示了移動機器人航行在一個動態環境的實驗 結果。在本實驗中機器人的偵測範圍設定為 5 格,且該環境因為具有一 個向機器人靠近的移動物體,所以環境資訊為不斷變動的。由本實驗的 結果我們可以看到,由於移動機器人應用 D++演算法,而 D++演算法具 有極短周期的區域搜尋特性,因此移動機器人能不斷地更新環境資訊,
並快速地進行相對應的動作。所以移動機器人在移動物體尚未靠近前,
便先行轉向,繞開了移動物體已抵達目的地。故由此實驗可驗證 D++演 算法由於具有處理動態環境的優秀能力,相較於一次性的全域路徑規劃 法(如 Dijkstra、A*等)而言,更適合實際的移動機器人的應用上。
圖六十三、一個動態環境試驗(障礙物由上至下移動) 目的地
起點 移動障
礙物
77
(a) (b) (c)
(d) (e) (f)
圖六十四、移動機器人航行在動態環境的實際情形(偵測範圍為 5 格)
(a) (b) (c)
(d) (e) (f)
圖六十五、使用偵測範圍為 5 格於動態環境的機器人航行實驗監視畫面
78