• 沒有找到結果。

第一章 緒論

1.3 研究動機

在 1-1 節中已針對本論文之路徑規劃與追蹤採取方式做一論述,並且在 1-2 節最後也提到了模糊控制的文獻回顧正適合用於本論文之研究。針對輪 型移動機器人動力學模型的高度複雜性和非線性特性,想要解決路徑追蹤之

8

問題時,模糊邏輯控制正是適合採取的方式。在不確定的工作環境中,要了 解輪子和地面之間的接觸並且準確地建模通常是一件困難的事情,在眾多的 控制法則中,模糊控制的方法善於解決具有非完整性和不確定性的非線性子 系統的交互作用之問題,也特別適用在缺乏精確完整的模型情況下,將人們 的經驗規則直接運用於輪型移動機器人的驅動控制中,而在本論文考慮機器 人操作環境已知之下則更加適用。傳統模糊推論系統中,規則個數可由專家 決定或藉由實際的操作規則訂定規則數目,然而在實務應用上,並沒有明顯 的規則可供機器人使用,甚至缺乏系統專家來決定規則的前提與結論,此時,

規則庫的決定就必須依靠輸入/輸出的範例與試誤法(trail an error)來尋找最 適當的網路大小,以決定輸入/輸出關係和其規則數目。為了克服模糊控制 器的此種缺點,近年來許多學者已嘗試將模糊控制器與其它智慧型學習法做 整合設計,以漸少設計成本、增加控制效率與結果之準度,如類神經網路 (Neural Network)即模仿生物神經系統的運作,藉由大量的運算單元(神經元) 和位於運算單元間的眾多連結所組成(如圖 1-12 所示),這些運算單元乃是 以平行且分散的方式所運作,此一設計可被用來處理各種需要大量資料運算 的應用,今日已經廣泛地被應用在各領域,包含理工領域、生物領域到管理 學門都可以看到類神經網路的相關研究。

圖 1-12 神經元示意圖

類神經網路相關論文如[15][16]利用倒傳遞類神經網路應用於路徑規劃

9

的自我學習,文獻[17]使用區塊式立體匹配與訓練倒傳遞類神經網路將影像 轉換為立體資訊於機器人之室外導航,文獻[18]在傳統的模糊類神經網路加 入派翠網路和遞迴學習方式藉此減少參數學習計算量。

(a)

(b)

圖 1-13(a)模糊規則(b)類神經網路結構

類神經網路與模糊邏輯控制目前均被成功地應用在不同領域之不同目 的上,其兩者如類神經網路的聚類分析[19]與模糊集合的概念常常被視為是 相似之概念,而模糊規則關係如圖 1-13(a)也視為相似於類神經網路之結構如 圖 1-13(b))所示,兩者相較之下結構十分相似,這隱含著兩者之間有一種巧

10

妙的關係,而兩者之間之關係為何、應用方面的相似性與差異性,便是一個 值得思索的問題,此細節將於第四、五章進行詳細論述,簡單來說,兩者的 整合具有在一個輸入,輸出對應關係中增加系統智慧的能力。此外,在工程 應用或問題解決上,如何在兩者之間做一合適的選擇,也是常見的問題,而 在 1993 年 Jang[20]提出類神經網路與模糊邏輯控制整合之適應性網路模糊 推論系統(Adaptive Network-Based Fuzzy Inference System,簡稱 ANFIS),正好 結合了上述兩種概念之特色,更甚者該如何擷取兩者間的優點互補缺失並結 合基因演算法,進而發展一種新的模式則是本論文的研究重點。

基因演算法(Genetic Algorithm,簡稱 GA)屬於人工智慧學門中的一門科 學,用於解決最佳化問題的一種進化演算法,採用自然界中生物擇偶、交配、

突變等衍生方式並且加入一些限制條件以產生優良的下一代。基因演算法至 今已廣泛被應用在生物信息學、系統發生學、計算科學、工程學、經濟學、

化學、製造、數學、物理、藥物測量學和其他領域之中。以上各種應用皆為 尋找解決數學中的最大化(Maximation)、最小化(Minimization)或極值問題,

一般來說要處理這一類之問題,如果函數可微分則可用梯度最佳化搜尋法 (Optimization by using gradient method), 不 可 微 分 則 有 其 他 如 模 擬 退 火 (Simulated annealing)、隨機搜尋法(Random search)等方法。這些方法有一共 同的特性,及找到的結果可能是全域最佳解(Global optimum),也可能是區 域最佳解(Local optimum)如圖 1-14 所示。而基因演算法的最大優點是當它在 尋求最佳解的過程中可以避免陷入局部最佳點,因此它找到全域最佳解的機 會是蠻大的。這主要是拜有突變的能力所致。雖然利用基因演算法求解也不 一定每次都能找到最佳答案,但它總能在最佳答案附近出現,而不像其他方 法,大部分的機會都會落在次佳點,因此,本論文即基於基因演算法的這種 優勢而選取此種方法來做自我學習之控制器設計的參數最佳化程序。

11

圖 1-14 目標解關係圖

1.4 本研究之貢獻

過去已有不少文獻針對輪型移動機器人之避障路徑規劃與路徑追蹤進 行深入之研究,即使如此,針對兩者進行整合並結合實驗驗證可行性之論文 內容則相對甚少,因此本論文即討論從路徑規劃與修改路徑到學習法控制器 的整合設計應用於機器人之路徑追蹤,路徑規劃方面採用 A*演算法進行初 始路徑規劃並利用 B-Spline 改良原先規劃之路徑;路徑追蹤方面,採用 ANFIS 結構來改良模糊控制器,最後利用 GA 來調整控制器輸入參數大小作 為最適合模糊輸入的大小值之最佳化程序,如此循序論述,最後再經由實例 驗證其效能與可行性。

1.5 論文架構

本論文一共分為七個章節,內容分別如下。

第一章:緒論

說明本論文研究相關文獻回顧、研究動機。

第二章:輪型移動機器人之路徑規劃

介紹本論文所使用之路經規劃方法、數學原理介紹與可行路徑分析。

第三章:輪型移動機器人之運動模型建立

12

推導輪型移動機器人的運動模型以用於後續之控制器設計。

第四章:模糊理論與控制應用

介紹模糊理論與控制方面的設計方式,討論其改良方向,並於下一章節中提 出改良方法。

第五章:

智慧型學習法應用於模糊控制器之改良

利用適應性模糊類神經網路來解決模糊控制參數調整困難性,並利用遺傳演 算法做最後的最佳化設計。

第六章:實驗設計與結果討論

將控制器設計法則實際用用於輪型移動機器人與分析其可行性。

第七章:結論與未來展望

分析其實驗結果與未來可以改良之方向。

13

第二章 輪型移動機器人之路徑規劃

對於移動式機器人來說,在任一環境中移動時,要能夠確保機器人不會 與環境中的邊緣或障礙物產生碰撞將是需考慮的首要課題。對於處理機器人 的避障問題並非難事,可藉由機器人本身具備的感測器將偵測值回傳至對應 的動作(停止、轉彎或是倒退)即可達到避障目的。然而,此一設計步驟將會 使得機器人僅能安全的在環境中漫無目的的航行,因此標示目的地並規劃最 佳路徑讓機器人能夠依循指示前進將是進一步設計的課題。

2.1 路徑規劃

路徑規劃是在有限的工作環境中尋找一條合理的路徑, 用來連接初始 位置(包括位置點與方位角)與目標位置,並可成功地避開障礙物,此為機器 人研究領域中的核心技術之一。現有的路徑規劃演算法,多數以設計最短路 徑為目標,而實際上最短路徑並非確保適用於真實機器人,其中包含行走時 間與安全性等因素,本論文內容則不考慮行走時間之因素,僅針對路徑安全 性來做分析,下一節將提出最短路徑規劃之方法。

2.2 最短路經搜尋法

目前現有路徑規劃演算法中,以 Dijkstra 演算法[21]與 A*演算法[22]

最具代表性,此二演算法比較如表 2-1 所示[23][24]。Dijkstra 演算法主要用 於解決尋找最短路徑問題,但 Dijkstra 演算法屬於廣度搜尋法,當用於地 圖深度較大時演算法的搜尋深度會隨著地圖及節點擴大,使運算效率偏低。

反觀 A*演算法是採用啟發式評估(Heuristic Estimate)公式,將許多明顯為錯 誤的路徑排除,進而快速規劃出較佳路徑,Dijkstra 與 A*演算法搜尋範圍比 較如表 2-2 所示。以 Dijkstra 演算法規劃最短路徑將使得執行時間過長;

A*演算法執行時間較短,但所規劃出路徑並非最短路徑,而是近似最短路 徑,不過考慮演算效率問題,以及兩者結果差異不大的考量,本論文採取

14

A*演算法進行輪型移動機器人之路徑規劃。

表 2-1 最短路徑演算法之比較

Dijkstra 演算法 A*演算法

搜尋特性 廣度搜尋法 啟發式搜尋法

搜尋節點數 多 少

搜尋速度 慢 快

花費時間 長 短

搜尋路徑 最短路徑 近似最短路徑

花費函數 f(n)g(n) f(n)g(n)h(n) 表 2-2 搜尋範圍比較表[25]

Dijkstra’s 演算法 A*演算法 無障礙

有障礙

A*演算法是在 1968 年由 Hart 等三人[26]所提出,以最佳解優先搜尋方 式搜尋下一步的位置,屬於貪婪演算法(Greedy Algorithm)[27]之一,只要起 點與終點之間有路徑存在,則保證搜尋出最少花費成本之路徑,並有搜尋範 圍較小及執行時間短之優點,因此 A*演算法通常用在人工智慧遊戲中解決

比較項目 演算法

15

路徑搜尋問題[23,28]。

A*演算法規劃路徑之概念為產生出從定義起點n0到終點ng之路徑,將起 點之鄰近節點放入OPEN 陣列中,從OPEN 陣列中以啟發式評估函數公式 計算出各個鄰近節點之F(n),選擇最小F(n)節點為下一迭代起點,重覆迭代 至搜尋終點。啟發式評估函數其公式如下。

F(n) = G(n) + H(n) (2-1) 其中 F(n)代表從起點 no至終點 ng的整體花費,G(n)是 n0到任一節點 n 之間 的最小花費,H(n)是節點 n 到 ng之間所估算的最小花費,通常以 n 到 ng線距離為代表[29,30,31];當不具備預估花費時,即 F(n)=G(n),則此演算法 會轉變為全域廣度搜尋的 Dijkstra 演算法;若 H(n)小於從節點 n 至終點的實 際花費時,則必定可以得到最短路徑;若 H(n)非常接近乃至於相等於實際花 費時,則此演算法會具備最佳的效率;但若 H(n)大於實際花費時,則不能保 證獲得最佳解,因此在實務操作上,多以該節點至終點的直線距離定為該節 點的 H(n),以確保能獲得最佳解。

A*演算法的演算過程包含兩大階段:搜尋與重構階段。在搜尋階段時,

演算法會從起點開始依照既定流程蒐集、計算與更新通過之節點資訊;重複

演算法會從起點開始依照既定流程蒐集、計算與更新通過之節點資訊;重複

相關文件