第一章 緒論
1.1 研究背景與動機
近年來,基於現代人講求效率的需求,逐漸地興起機器代替人力的趨勢。透 過模擬人類行為或思想的機器,用以取代或協助人類達成任務,不僅省時又可 大幅降低人力成本。隨著科技的發達,數位產品逐漸融入生活之中。機器人技 術已經被廣泛的應用於日常生活中,例如: 負責居家環境整理的清潔機器人、
因應老齡化社會的健康照護型機器人、工廠裡進行刷漆和組裝的工業機器人、
執行救災任務的軍用機器人、取代傳統手術的達文西機器人手術等,機器人已 在無形中與人類的生活息息相關。因此,機器人相關議題亦愈來愈受到重視,
其中包含了影像辨識、影像追蹤、機器人定位、路徑規劃、路徑追蹤以及地圖 建置…等相關研究。
本篇論文主要研究的項目即為路徑規劃,從已知的地圖環境中,根據不同的 標準條件,如最短時間或最短距離等,規劃出一條從起始點至終點具備最佳化 效果且避免與障礙物碰撞的可行路徑。除了機器人的行走路線之外,生活中亦 有許多結合路徑規劃的應用,如 google map、行車導航紀錄器以及行動裝置 app…等,這些裝置和現代人的生活密不可分,由此可見路徑規劃之重要性。目 前已經有許多實現路徑規劃的演算法,例如勢場法(potential field method )[1]、
A*演算法[2]、D*演算法[3],以及許多智慧型演算法,例如基因演算法(Genetic Algorithm)[4]、類神經網路法(artificial neural networks approach )[5]、蟻群最佳 化演算法(Ant Colony Optimization)[6]…等。既有的路徑規劃演算法各有其優缺 點,以下將分別說明。
2
勢場法的基本概念為使用一個虛擬的能量場,使得機器人會被目標位置所吸 引,並且與障礙物互相排斥,其數學表示式簡潔易懂容易實現。優點為計算量 少且有即時避障的效果,但是在處理凹型障礙物(concave obstacles)或較複雜的 環境時,常使得機器人陷入區域最佳解,無法到達目的地。而且當向量場互相 抵消的狀況發生時,會造成機器人無法判斷下一個路徑方向,使得路徑規劃失 敗。
A* algorithm 演算法主要是使用啟發式的成本運算方式來搜尋節點,使得搜 尋具有方向性,優點為運算簡單、方便實作,執行速度快,具有相當不錯的表 現,但在凹形障礙物的環境中,容易在凹型障礙物的區域範圍內做過多不必要 的搜尋。且規劃出來的路徑可能會太靠近障礙物,容易造成機器人移動上的碰 撞。
Dijkstra’s Algorithm 是根據地圖中每個相鄰節點的距離作為評估的成本資訊,
進行貪婪搜尋。優點是規劃出來的路徑一定是最短路徑,且具有局部修復 (Locally repairing)的特性,可以利用感測器偵測環境中之動態障礙物,若有障 礙物出現於原先所規劃的路徑上時,則重新進行路徑規劃。缺點則是當地圖深 度變大時,會產生效率降低的問題。
基因演算法是根據生物學中進化論「適者生存,不適者淘汰」所發展出來的 演算法。將路徑比擬成染色體,在染色體分裂的過程中,優良的基因會不斷的 遺傳下去,經過「複製」、「交配」、「突變」…等步驟,逐漸演化出最佳解。對 於解決最佳化問題亦有不錯的表現,但其演化過程步驟繁複,計算上較為費時,
不利於即時系統的運作。
3
類神經網路法的適應性強,可以接受不同種類的變數當輸入,對於未知的輸 入亦可得到正確的輸出,但是類神經網路以迭代的方式更新閥值,由於計算量 龐大,且訓練過程中需要以試誤法得到適當的神經元個數,較缺乏實用性。
螞蟻演算法已成功地應用於旅行銷售員(Traveling Salesman Problem, TSP)等 相關路徑規劃議題[7][8][9],在機器人路徑規劃的實現具有良好結果[10],其概 念為模仿螞蟻覓食時在路徑上留下費洛蒙,使得其它螞蟻得以遵循前進而產生 最短路徑所發展出之演算法。其演算法在處理最佳化的問題時可以快速收斂至 最佳解,因此,本論文將以螞蟻演算法為基礎,以實現最佳路徑規劃。在第二 章將有蟻群最佳化演算法更詳細的說明。
本論文的研究目標為透過螞蟻演算法規劃出一條最佳路徑,也就是從起始點 到終點之間最短距離的路徑。雖然前面提到螞蟻演算法收斂迅速且可找到最佳 解,但當遇到凹型障礙物的環境時,卻也容易有伴隨著陷入區域最佳解的問題 產生[11][12]。為了解決此區域解的問題,本論文提出了一種改良型螞蟻最佳化 演算法,針對費洛蒙的更新部分,新增了兩個更新機制,可以幫助螞蟻在搜尋 過程中具有開發新路徑的能力,降低追隨同一路徑的機會,進而減少傳統螞蟻 群演算法中區域解的狀況發生,並且確實提升最短路徑規劃之準確度。實驗最 後更將所提出之演算法以全硬體電路方式實現於 FPGA 晶片上,同時搭配 LTM 觸碰面板模組,以建立真實的人機介面,完成一個可以實際操控的智慧型嵌入 式系統,以驗證所提出之改良型螞蟻演算法應用於最短路徑規劃之實用性。
4
1.2 論文架構
本論文共分為七章,第二章介紹螞蟻演算法的由來和原理,以及改良型螞蟻 演算法的作法。第三章介紹基於螞蟻演算法應用於路徑規劃的實現,包含了問題 描述、地圖描述以及詳細的演算法流程。第四章主要介紹本論文所使用的硬體設 計平台 DE2-70 多媒體開發平台。第五章將介紹螞蟻演算法實現於 DE2-70 之硬體 架構,以及針對各個硬體模組做詳細介紹。第六章為模擬與實驗結果,包含軟體 模擬結果、軟硬體之效能比較和實際應用於 LTM 觸碰面板之實驗結果。最後,
第七章為結論。