• 沒有找到結果。

DNA演化模糊系統應用於移動機器人控制

N/A
N/A
Protected

Academic year: 2021

Share "DNA演化模糊系統應用於移動機器人控制"

Copied!
70
0
0

加載中.... (立即查看全文)

全文

(1)國立臺灣師範大學應用電子科技學系 碩士論文. 指導教授:呂藝光博士 洪欽銘博士 DNA 演化模糊系統應用於移動機器人控制 DNA-Based Evolution Fuzzy System and Its Applications in Mobile Robot Control. 研究生:鐘宏見. 撰. 中 華 民 國 九十七年七月.

(2) DNA 演化模糊系統應用於移動機器人控制 學生:鐘宏見. 指導教授:呂藝光 博士 洪欽銘 博士 國立臺灣師範大學應用電子科技所碩士班. 摘. 要. 遺傳演算法是以隨機多點同時搜尋的方式,而非傳統單點依序搜尋方式,因 此可以避免侷限在某一區域的最佳解上,而得到整體區域的最佳解。然而,傳統 遺傳演算法在演化模糊邏輯系統內部的架構與參數當中,其性能及族群大小有著 密切關係等限制。為了改善此限制,於是以 DNA-Based 演化演算法來取代傳統 的遺傳演算法,在實現上與傳統遺傳演算法一樣需要精確的模擬器與大量演化時 間。 本論文提出以整合 DNA-Based 演化模糊邏輯系統及 Q-Learning 之適應性學 習方法,以使移動機器人能適應實際複雜的環境。藉由 Q-Learning 來輔助 DNA-Based 演化模糊邏輯系統的方式,利用 Q-Learning 在實際環境互動當中產生 最佳行為,且不需要建構環境動態模型,以避免因精確模擬器不易建立而造成模 擬器和實際環境的誤差。由模擬結果證實,Q-Learning 提供 DNA-Based 演化的過 程當中適應函數所產生的方式,在不需要任何環境的座標資訊,有效提昇與實際 環際互動當中的精確度。 最後,將本論文在模擬器上所演化完成的參數應用於 sputnik 移動機器人, 以驗證實際環境互動的可行性與效能。. 關鍵詞:模糊邏輯系統、Q-Learning、DNA、遺傳演算法. i.

(3) DNA-Based Evolution Fuzzy System and Its Applications in Mobile Robot Control Student: Hong-Jain Zhon. Advisors: Dr.Yih-Guang Leu Dr.Chin-Ming Hong. Institute of Applied Electronics Technology National Taiwan Normal University. Abstract. Genetic algorithm(GA) is a way which many random points are being searched at the same time, and which is not a traditional single point being searched in sequence. Therefore the GA can avoid limiting the optimal solution of someone area. However, the performance of the traditional GAs is closely related with the population size for the evolvement of the parameter values of the fuzzy logic system . In order to improve this limit of the GA, a DNA-Based evolution algorithm can replace the traditional GAs, regardless of the DNA-Based evolution algorithm or the traditional GAs, the implementation requires a precise simulator and a significant amount of time. This thesis presents an adaptive learning approach of integrating DNA-Based evolution fuzzy logic system and Q-learning to enable a mobile robot to adapt a real and complex environment. Q-learning is used to assist the method of the DNA-Based which evolves the fuzzy logic system. Taking advantage of the optimal behavior of Q-learning in real environment and do not need to establish the environmental dynamic model. Thus, the optimal behavior of Q-learning in real environment can avoid the error between the simulator and real environment because the precise simulator is difficult to design. According to the simulation results, Q-learning do not need any environmental coordinate information and effectively promote the accuracy in real environment. Finally, one experiment for sputnik mobile robot using complete parameter in simulator has performed to demonstrate the feasibility and the performance in real environment.. Keywords: Fuzzy logic system, Q-learning, DNA, Genetic algorithm(GA). ii.

(4) 誌謝 本論文感謝呂藝光教授二年來在學業上細心的指導與照顧,使論文可以如 期地順利完成,此外,特別感謝洪欽銘教授平日在研究領域上提供協助,使我在 專業領域上有所長進,在此謹獻上最誠摯的謝意。同時也感謝口試委員王順源博 士及吳政郎博士對論文內容提供許多寶貴的意見和指正,使得本論文能更加完 善。 感謝研究室的學弟建豪、建宏及建佑,一年來給予我相當多的協助與配合, 在此一併致上由衷的謝意。 最後,僅將本論文獻給求學過程中一直默默支持我的家人,並祝福所有關 心我的人都能平安快樂。. iii.

(5) 目錄. 中文摘要………………...…………………………………………………………. i 英文摘要…………………………………………………………………………… ii 誌. 謝…………………………………………………………………………… iii. 目. 錄…………………………………………………………………………… iv. 圖 目 錄…………………………………………………………………………… vi 表 目 錄…………………………………………………………………………… viii. 第一章. 緒論……………………………………………………………………… 1. 1.1. 研究背景與動機………………………………………………………… 1. 1.2. 研究目的………………………………………………………………… 2. 1.3. 研究方法………………………………………………………………… 3. 第二章. 遺傳演算法與 DNA 遺傳演算法………………………………………. 4. 2.1. 傳統遺傳演算法之理論背景與基礎…………………………………… 4. 2.2. 傳統遺傳演算法………………………………………………………… 5 2.2.1 傳統遺傳演算法之架構………………………………………….. . 5 2.2.2 傳統遺傳演算法之演化程序……………………………………… 6. 2.3 DNA 遺傳演算法……………………………………………………....... 8 2.3.1 DNA 遺傳演算法之理論背景…………………………………….. 9 2.3.2 DNA 遺傳演算法之演化操作…………………………………….. 9 第三章. 非監督式學習法…………………………………………………………12. 3.1 增強式學習法…………………………………………………………… 12 3.2 Q-learning 學習法……………………………………………………….. 14 第四章 模糊邏輯系統…………………………………………………………….. 16 4.1 模糊系統之理論背景…………………………………………………… 16 iv.

(6) 4.2 模糊邏輯系統…………………………………………………………… 17 4.2.1. 模糊邏輯系統之基本架構……………………………………….. 17. 4.2.2. 模糊邏輯系統之模糊化及解模糊化…………………………….. 18. 4.2.3. 模糊邏輯系統之規則庫………………………………………….. 21. 4.2.4. 模糊邏輯系統之推論引擎……………………………………….. 23. 第五章. 整合 DNA 演化法及 Q-Learning 之適應性學習方法…………………. 24. 5.1. 整合學習方法之架構…………………………………………………… 24. 5.2. 整合 DNA 演化法與 Q-Learning 之適應性學習方法的設計………… 25. 第六章 移動機器人之模擬與實驗……………………………………………….. 32 6.1. 移動機器人之軟硬體架構……………………………………………… 32 6.1.1. 移動機器人軟體說明…………………………………………....... 32. 6.1.2. 移動機器人硬體說明……………………………………………... 34. 6.2. 移動機器人之軟體模擬……………………………………………….. 45. 6.3. 移動機器人之適應性學習實驗……………………………………….. 52. 第七章 研究結論與建議………………………………………………………….. 58. 參考文獻..................................................................................................................... 59. v.

(7) 圖目錄. 圖 2-1 傳統遺傳演算法架構……………………………………………………….. 5 圖 2-2 單點交配…………………………………………………………………….. 7 圖 2-3 二點交配…………………………………………………………………….. 8 圖 2-4 突變………………………………………………………………………….. 8 圖 2-5 DNA 染色體…………………………………………………………………10 圖 2-6 DNA 染色體之二點交配…………………………………………………... 10 圖 2-7 DNA 染色體之突變………………………………………........................... 10 圖 3-1 增強式學習之架構……………………………………………………........ 13 圖 4-1 模糊邏輯系統之基本架構……………………………………………........ 18 圖 4-2 歸屬函數圖形(1)單值形(2)三角形(3)梯形(4)高斯型…………………….. 20 圖 5-1 DNA 演化法與 Q-Learning 之學習架構………………………………….. 24 圖 5-2 DNA 遺傳演算法架構……………………………….………...................... 25 圖 5-3 DNA 染色體………………………………………………........................... 27 圖 5-4 DNA 染色體的轉換機制……………………………………....................... 27 圖 5-5 學習演算法流程圖……………………………………………………........ 31 圖 6-1 移動機器人之操作平台………………………………………………........ 32 圖 6-2 sputnik 通訊傳輸架構圖………………………………………………….. 33 圖 6-3 sputnik 智慧型機器人…………………………………………………….. 34 圖 6-4 sputnik 頭部架構圖……………………………………………………….. 35 圖 6-5 HS-32HD………………………………………………………………........ 35 圖 6-6 HS-475HB………………………………………………………………….. 35 圖 6-7 HS-645MG…………………………………………………………………. 35 圖 6-8 伺服馬達在 90 度的位置………………………………………………….. 36 圖 6-9 伺服馬達在 0 度的位置…………………………………………………… 36 圖 6-10 伺服馬達在 180 度的位置………………………………………………. 36 圖 6-11 MDM5253………………………………………………………………… 37 vi.

(8) 圖 6-12 MDM5253 之 PWM 控制的波形………………………………………… 38 圖 6-13 DC 馬達控制系統架構………………………………………………........ 38 圖 6-14 超音波感測模組 DUR5200………………………………………………. 39 圖 6-15 超音波的指向性………………………………………….......................... 40 圖 6-16 DUR5200 的感測距離硬體架構圖…………………………………......... 41 圖 6-17 DUR5200 的操作時序………………………………………………......... 42 圖 6-18 紅外線感測模組 GP2Y0A21YK……………………………………......... 42 圖 6-19 紅外線感測模組內部電路……………………………….......................... 43 圖 6-20 實際距離與輸出電壓之曲線圖………………………….......................... 43 圖 6-21 W F S 8 0 2 b 模 組 ………………………………………………………… 44 圖 6-22 第 一 個 環 境 的 中 間 起 始 點 …………………………………………45 圖 6-23 第 一 個 環 境 的 右 邊 起 始 點 …………………………………………46 圖 6-24 第 二 個 環 境 的 起 始 點 ………………………………......................... 46 圖 6-25(a) 第 1 代 學 習 結 果 ……………………………................................... 48 圖 6-25(b) 第 11 5 代 學 習 結 果 ………………………….................................. 48 圖 6-25(c) 適 應 函 數 …………………………...................................................... 49 圖 6-26(a) 第 1 代 學 習 結 果 ………………....................................................... 49 圖 6-26(b) 第 9 6 代 學 習 結 果 ……………….................................................... 50 圖 6-26(c) 適 應 函 數 ………………...................................................................... 50 圖 6-27(a) 第 1 代 學 習 結 果 …........................................................................... 51 圖 6-27(b) 第 2 0 4 代 學 習 結 果 …...................................................................... 51 圖 6-27(c) 適 應 函 數 ….......................................................................................... 52 圖 6-28 sputnik 架構圖.............................................................................................. 53 圖 6-29 紅外線感測器之歸屬函數圖...................................................................... 53 圖 6-30(a) sputnik 執行第二次掃描紅色目標物...................................................... 54 圖 6-30(b) sputnik 執行第三次掃描而搜尋到目標物............................................. 54 圖 6-30(c) sputnik 執行結果路徑圖......................................................................... 55 圖 6-31(a) sputnik 執行第二次掃描紅色目標物..................................................... 55 圖 6-31(b) sputnik 執行第三次掃描而搜尋到目標物............................................. 56 圖 6-31(c) sputnik 執行結果路徑圖......................................................................... 56 vii.

(9) 表目錄. 表 4-1 模糊控制規則表………………………………………………………........ 22 表 4-2 兩種推論機構之描述…………………………………………………........ 23 表 5-1 密碼子與氨基酸之對應關係…………………………………………........ 26 表 6-1 DUR5200 腳位說明………………………………………………………... 41 表 6-2 W F S 8 0 2 b 腳 位 說 明 ………………………………………………........ 44. viii.

(10) 第一章 緒論. 本章節主要探討模糊系統、遺傳演算法以及增強式學習 Q-Learning 之相關背 景,並且在文獻上說明移動機器人實現演算法的方式,以及本論文是如何整合演 算法實現於移動機器人,最後說明了實現演算法的目的與研究方法。. 1.1 研究背景與動機 在傳統的控制系統中,數學模型的建立是控制架構當中的第一個要件。由於 並不是每個受控系統的數學模型都能夠取得,當所要處理的問題越複雜,使用的 未知變數就越多,其數學模型的建立就越困難。模糊邏輯系統是利用人類所累積 的經驗,因而建立起模糊規則庫,進而取代建構困難的數學模型。雖然利用模糊 規則建構受控體的模型會有建模誤差,但控制過程可達所想要的結果,因此成功 的運用到實際的控制系統身上。 模糊數學最早是在 1965 年由 Zadeh 所提出[1],之後由倫敦大學 Queen Mary 的 M. H. Mamdani 教授以 If-Then 的對話方式,建立出模糊規則。模糊系統本身具 有語意資訊及邏輯控制的能力[2]-[4],許多研究把模糊系統應用到非線性系統身 上,而模糊系統搭配 Lyapunov 穩定法則成功的應用到移動機器人身上[5],而後 的研究有發展出 Type-2 模糊系統應用到移動機器人身上[6]-[7]。傳統上,模糊系 統是透過梯度下降法進行權重值的訓練,但是像梯度下降法這一類的最佳化法會 有收斂性的問題,其權重值的訓練結果可能只是局部最佳解,而不是整體最佳解。 因此,有一些研究人員試著使用遺傳演算法(GA)[8]-[10]來克服收斂性的問題。 遺傳演算法是一種對於問題自然搜尋參數解的自然集合,並可以分成四個部 1.

(11) 份:(1) 讓一族群的參數解以人工的方式編碼成染色體,(2) 選擇較佳的參數解進 行染色體交配的重組,(3) 執行突變或其它操作的變化,(4) 使用演化的結果來取 代原交配池的參數解來獲得新的下一代。在許多的研究上證明了遺傳演算法可以 達到整體的最佳解,像是控制系統、影像辨識、機器人學習等…。對於模糊系統 的最佳化問題方面,理論及一些經驗的結果證明出在模糊規則的產生及選擇方式 上,遺傳演算法是最好的選擇之一[11]-[12]。然而,傳統遺傳演算法在演化模糊 邏輯系統內部的架構與參數當中,其性能及族群大小有著密切關係等限制。因為 DNA 是自然界存在的生物並有它自身內在的代碼,以及所編碼出的基因資訊可 以得到染色體的特性,有一些學者試著使用生物學的 DNA 來改善傳統遺傳演算 法的限制[13]-[19]。然而,在大部份的移動機器人研究方面,不論是 DNA 演化法 或傳統遺傳演算法,移動機器人的學習需要精確的模擬器與大量的演化時間來適 應其實際複雜的環境[20]-[21]。一般而言,獲得一精確模擬器是非常困難的,但 有一些方法發展出可以不需要精確的模擬器。 有關機器人學習方法方面,像是增強式學習[22]-[23],可以使一移動機器人 在實際的環境達成任務。Q-Learning 是增強式學習的一種類型,並且也是一種具 有學習機制的計算方法,以及不需要環境的動態模型。而 Q-Learning 的基本原理 就是如果某一動作導致正面的報酬,其之後採取這個動作的可能性就會增加。相 對的,如果某一動作導致負面的報酬,其之後採取這個動作的可能性就會減少。 由於 Q-Learning 具有不需要環境的動態模型的特性,並且與 DNA 演化法結合正 好提供一個機會來解決精確模擬器建立困難的問題。 本論文的目標在於發展出一種整合 DNA 演化模糊系統及 Q-Learning 之適應 性學習方法,來使一移動機器人適應其實際且複雜的環境。根據 DNA 演化模糊 系統,本論文利用 Q-Learning 來修正 DNA 演化模糊系統,此外,移動機器人的 實驗結果說明了本論文所提出方法之效能。. 1.2 研究目的. 2.

(12) 由於傳統遺傳演算法在演化模糊邏輯系統內部的架構與參數當中,其性能及 族群大小有著密切關係等限制,而 DNA 是自然界存在的生物並有它自身內在的 代碼,以及所編碼出的基因資訊可以得到染色體的特性,因此用來取代傳統遺傳 演算法來改善此限制。此外,本論文的實驗目標在於使一移動機器人達成搜尋目 標物的功能,而傳統上必須要有目標物座標的資訊,才能計算出移動機器人與目 標物的距離,這樣的作法必須要耗費成本來購買導航攝影機,才能取得環境的座 標資訊,包含目標物及移動機器人等…。因此,本論文所設計出的適應函數,無 需環境的座標資訊也能夠達成目標物搜尋的功能,因此不需要導航攝影機所以能 夠簡省許多成本。. 1.3 研究方法 為達預定之研究目的,本研究所採用之研究方法如下: 1. 針對移動機器人模擬器及實現上所使用的感測器,來規劃出模糊系統之 歸屬函數。 2. 根據實際的環境,來為 Q-Learning 之報酬值規劃出不同的學習範圍,以 使移動機器人能成功的閃避障礙物。 3. 由於本研究所提出的 DNA 染色體的編碼方式,其染色體的基因代表著移 動機器人所行走的角度資訊,因此規劃出角度範圍來讓 DNA 染色體隨機 產生此角度範圍的基因。. 3.

(13) 第二章 遺傳演算法與 DNA 遺傳演算法. 本章將探討傳統遺傳演算法與 DNA 遺傳演算法之間編碼方式的不同,而 DNA 的編碼方式改善傳統遺傳演算法其性能及族群大小有著密切關係的限制。. 2.1 傳統遺傳演算法之理論背景與基礎 遺傳演算法於 1975 年 John Holland 提出以解決數學最佳化問題,主要概念 源自於達爾文進化論,經過多年研究發展已成功地應用在物理、工業工程、電腦 資訊,甚至財務金融等研究及應用領域的最佳化問題求解。由達爾文進化論的物 競天擇、適者生存的定律,將要解的最佳化問題轉化為染色體及基因的模型,再 藉著模擬生物基因有選擇、交配、突變的能力,使產生更優秀的新生代程序,以 尋求問題的最佳解。 相較於其他傳統的最佳化方法,遺傳演算法求解過程有以 下幾個特徵: 1. 利用遺傳演算法求解,問題的可能答案或參數可以二元數、整數、實數、 符號表示;因此,若以微積分為基礎的最佳化方法對於不可微分的函數 則無法處理,遺傳演算法則可解此一問題。 2. 遺傳演算法在尋找最佳解答時,每一次以一個族群(population)即一次向 廣大的求解空間搜尋數個可能答案。族群大小以問題特性或時間成本為 考量,當族群的個數越大時,需要更長的時間才能使族群收斂。 3. 遺傳演算法在搜尋解答時可能只找到近似最佳解,也就是侷部最佳解, 而非真正最佳解,但此近似最佳解是經過擴大解答空間演化到某種可能 的最適答案。 4. 遺傳演算法的基本運算有選擇、交配、突變等機制,這些機制為非固定 值,而是根據需求隨機性可改變的,所以即使在完全相同的參數設定下, 每一次運算的結果可能不盡相同。 4.

(14) 而遺傳演算法的選擇機制有輪盤法[24]及競爭式選擇[25],整個族群在經過 輪盤法或競爭式選擇之後,那些品質不好的染色體會被淘汰,而較好的則存活下 來並產生下一代,整個演化過程不斷的重複,演化到最後整個問題獲得最佳解答。. 2.2 傳統遺傳演算法 遺傳演算法的操作是透過編碼的可行解,利用族群的疊代更新來獲得整體最 佳解。其中操作的要素,遺傳運算為選擇、交配及突變。. 2.2.1 傳統遺傳演算法之架構 傳統遺傳演算法之主要架構如圖 2-1:. 圖 2-1 傳統遺傳演算法架構 傳統遺傳演算法是一直重複地進行演化動作以達成最佳解的目標。首先以 隨機方式產生初始族群,接下來則評估族群中各個染色體之好壞,也就是計算 5.

(15) 各染色體之適應函數值,之後根據各個染色體之間的適應函數大小,選擇適應 函數較大的染色體進入到交配池中,其中,選擇的方式可分為輪盤式選擇或競 爭式選擇,而在交配池裡執行交配及突變的動作,最後取代原始的族群以完成 一代的演化動作,看情況是否要進行下一代的演化動作。值得注意的是,在執 行交配及突變時需要給定一個機率來產生,也就是給定交配率及突變率,交配 率的值通常較大是因為讓其它適應值較低的染色體透過交配的動作來使其染色 體的基因變得更好,而在交配完之後也要給定突變率來適時的突變,以使原來 交配完較佳的染色體形成整體最佳的參數解,但突變率不能太大,以免使原較 佳的染色體形成發散的參數解。. 2.2.2 傳統遺傳演算法之演化程序 傳統遺傳演算法的基本運算有選擇、交配、突變,在此之前,必須先決定 編碼、適應函數,其演化程序以下一一介紹: 1. 編碼(Encode):在傳統遺傳演算法當中,首要任務就是進行編碼及決定 適應函. 數,一般常用的編碼有二進位(Binary),另外有整數(Integer)、. 實數(Real)、文字(Alphabet)等。最廣為使用的編碼方式是二進位編碼 (Binary coding),設定字串長度為每一個字元 X i 可視為由 {0 , 1} 所組成 的向量 ( X1 X 2 ..... X L ) ;所有可能的組合總共 2 L 個。 2. 適應函數(Fitness Function): 適應函數是連結遺傳演算法與求解問題之 間的橋樑,遺傳演算法所要搜尋的解答是使適應函數值最大化,適應函 數的設計要視實際問題而定,亦即對於每一個問題必需設定一個最能夠 衡量該問題績效的適應函數,但如在非線性控制系統中,可將適應函數 設計成誤差平方和之倒數。 3. 選擇(Select):遺傳演算法的選擇方式有輪盤式選擇及競爭式選擇兩種,. 6.

(16) 以下針對兩種選擇方式一一介紹: (a)輪盤式選擇(Roulette-wheel parent selection):在一個輪盤上的每個槽 (Slot)是根據各染色體之間不同的適應值大小規劃出不同大小比例的面 積,適應值愈大則所佔據的盤面比例就愈大,其分數比例大小由 PSi =. fi s. ∑ fi. 決定,其中 fi 為第 i 個染色體的適應函數值, PSi 可視為第 i. i =1. 個染色體被選中的機率。 (b)競爭式選擇(Contest selection):以隨機產生方式從族群中任意取選擇二 個或以上的染色體,並且比較染色體之間的適應函數值,因此較高的 適應函數值的染色體會被選中而放進交配池中。 4. 交配(Crossover):在交配池經由選擇方式重生出染色體之後,可經由隨 機交配過程進行染色體裡基因互換,以產生新的子代(Offspring)。而交配 運算的發生需要給定一個交配機率,因此首先,從交配池中任意挑選二 者,稱之為父母(Parent),然後以隨機產生方式在父母字串的 N 個基因中 任挑一點或二點,稱之為交配點,其中挑一點就是單點交配,也就是挑 基因中某一點就會一直到最後一個基因作交換,如圖 2-2 所示。而挑二 點就是二點交配,也就是挑基因中某二點而這二點之間的基因範圍就會 作交換,如圖 2-3 所示。. 60. 50. 80 100 20. 30. 40. 50. 60. 50. 70. 30. 20. 80. -30. 60. 20. 70. 20. 80. -30. 60. 20. 80 100 20. 30. 40. 50. 40. 30. 圖 2-2 單點交配 7. 40.

(17) 60. 50. 80. 100 20. 30. 40. 50. 60. 50. 70. 40. 30. 20. 40. 50. 60. 20. 70. 40. 20. 80. -30. 60. 20. 80. 100 20. 30. 80. -30. 30. 圖 2-3 二點交配 5. 突變(Mutation):突變過程是將交配後產生的子代,給定一突變機率而 進行突變,其作法是以隨機方式選定某些基因而改變基因的內容,以位 元而言是將位元作反轉(0 變 1,1 變 0),一般而言,突變率的設定很低 (通常 0.001 左右),執行突變的目的是為了引進新的基因樣式,避免侷 部收斂,而達到整體性的最佳解目的,圖 2-4 是隨機選定中間四個基因 並且改變四個基因的內容值。. 50. 40. 20. 30. 50. 40. 80 100. 50. 40. 50. 40 100 20. 80 100. 圖 2-4 突變 6. 停止條件:遺傳演算法的演化過程為一個週期,必須依收斂程度來判斷 演化過程是否要繼續,而收斂程度則是依照染色體的適應函數值是否很 一致,若很一致則演化過程就可停止。. 2.3. DNA 遺傳演算法 傳統遺傳演算法的是由 0 與 1 的方式進行編碼,而 DNA 的編碼方式是由四. 種不同的鹼基序列來進行編碼,所編碼出的基因具有遺傳訊息的結構,而操作方 式與傳統遺傳演算法一樣為選擇、交配及突變。在其它的文獻上探討著其它的操 8.

(18) 作方式,如病毒操作及酵素操作等[15]。. 2.3.1. DNA 遺傳演算法之理論背景. DNA 的全名為去氧核醣核酸(Deoxyribonucleic acid),是構成染色體的主要 成份,而染色體是細胞核具有遺傳訊息的結構。生物學 DNA 的基本元素為核 甘酸[18],核甘酸可以被分類為四個鹼基序列:Adenine(A)、Guanine(G)、 Cytosine(C)及 Thymine(T)。DNA 染色體當中有著許多的基因,並且每一個基因 有著 A,G,C,T 序列,以人類來講的話,我們的 DNA 染色體是一個長達 30 億的 A,G,C,T 序列。 DNA 本身存在於生物的細胞裡面,但不同的細胞會產生不同的蛋白質。舉 例來講,紅血球細胞會產生可以帶有氧氣的蛋白質。而由於 DNA 存在細胞裡, 因此細胞是根據 DNA 中間的一段序列來產生,這一段序列就是某個基因,人 體中有著數萬個不同的蛋白質,就會有數萬個不同的基因。 蛋白質由 20 種氨基酸(amino acid)所組成,每一個氨基酸對應一個密碼子 (codon),每個密碼子由 A,G,C,T 當中的三個字母所組成,例如 TTT 代表 Phe,CGC 代表 Arg。 DNA 染色體中的基因含有遺傳訊息的區域,並由四個鹼基序列產生不同的. 基因,這些序列以編碼形式形成遺傳訊息。一條染色體中具有數十萬種不同的 基因所組成,每一個基因由多個鹼基序列所排列而成,因此不同基因的組成, 以產生各式各樣的染色體族群。利用各種不同的染色體族群,透過遺傳演化的 方式來得到最佳化問題的解,來解決非線性控制系統的問題。. 2.3.2 DNA 遺傳演算法之演化操作 利用四個鹼基序列 A,G,C,T 來編碼出不同的基因組合,並使用遺傳演 算法中的交配、突變來產生較佳的染色體[15]。 1. 交配:交配操作方式是一種交換 DNA 染色體基因的過程,並且亂數產 9.

(19) 生 DNA 染色體如圖 2-5 所示,在許多文獻上說明了二點交配對於 DNA 染色體來說具有良好的效能,在傳統的遺傳演算法也常常採用,圖 2-6 則說明 DNA 染色體二點交配的操作方式。. 圖 2-5 DNA 染色體. 圖 2-6 DNA 染色體之二點交配. 2. 突變:針對 DNA 的基因當中,任意改變其編碼序列稱為突變,如圖 2-7. 所示。. 圖 2-7 DNA 染色體之突變 10.

(20) DNA 編碼的方式可以產生冗長的基因並且使得染色體的長度具有多變 性,而在交配點的位置並無任何限制。此外,除了與傳統遺傳演算法編碼方式 的不同之外,DNA 編碼法可以應用到病毒操作或是酵素操作,對於模糊系統而 言是演化出較佳的模糊規則。. 11.

(21) 第三章 非監督式學習法. 本章將探討非監督式學習及與監督式學習之間的差異性,監督式學習就是一 種監看系統輸出的行為,目的在於避免系統的輸出跑到不穩定的區 域;而非監督式學習就是放任讓系統去產生任意的輸出行為,並經由所傳回的增 強訊號來告知此輸出行為是否在穩定的範圍之內。. 3.1 增強式學習法 所謂的增強式學習,就是學習者被告知如何與環境互動而執行可能的動作, 是一種非監督式學習法。以人類學習過程為例,一個新生兒在所處的環境探索 時,並沒有一個指導者告知他該採取什麼動作才是正確的,但他藉著每次執行動 作後由環境所提供的回饋訊息,便可以慢慢地探索出所採取某種動作後會獲得什 麼樣的結果,而該如何作才能達成目標。因此這就是在日常生活中,人類與環境 的互動方式,藉由環境對人類的行為所作的回饋,行為人便可以了解到在某種的 情況下採取什麼樣的行為,才能達到預期的結果。 增強式學習就是前面所描述的學習方式,不同於監督式學習,監督式學習就 是一種隨時觀察學習者是否會落入失敗的情況,一旦即將落入失敗的情況,監督 式學習就會強迫學習者避免落入失敗的情況, 也就是隨時監看學習者所採取的 行為是否穩定。而非監督式學習,就是所謂的增強式學習,就是指學習者會嘗試 著各種不同的動作,並由環境所傳回增強訊號。若在某個狀態下學習者採取好的 動作,則環境會傳回增強訊號來獎勵他;反之若某個狀態下學習者採取不好的動 作,則環境會傳回增強訊號來懲罰他。圖 3-1 說明了增強式學習之整體架構。. 12.

(22) A( X t ) rt. Xt. X t +1. rt +1. 圖 3-1 增強式學習之架構. 增強式學習的基本組成有 3: 1. 環境的狀態集合 X 。 2. 所有可能的動作集合 A。 3. 立即報酬的集合 R 。 在某一時間 t 當中,學習者會觀察現在的狀態 X t ,並且根據此狀態而選擇 所有可能的動作之一 A( X t ),將藉由評估函數(evaluating function)評估學習者所執 行的動作而產生增強訊號,而經由增強訊號學習者會接收到某一報酬值 rt +1 並且 觀察出下一時刻的狀態 X t +1,因此學習者的目標為找出一組策略 π : S → A 以最大 化所獲得的未來整體報酬,如(3.1)式所示,意即在每一種狀態下執行最有價值的 動作。 R (t ) =. ∞. ∑ σ i r (t + i). (3.1). t =0. (3.1)式中的 r 為增強訊號; σ 為折扣因子(discounted factor),介於 0~1 之間。 而增強訊號的定義是決定學習者達成目標的關鍵因素,一個錯誤的評估函數 很可能造成系統很難收斂,或是收斂至一組無法達到任務目標的策略。. 13.

(23) 3.2 Q-learning 學習法 Q-Learning[26]是一種增強式學習法中的實現方法,在 Q-Learning 中,系統 記錄每個狀態下,執行所有可能的動作並獲得報酬,而 Q ( s, a ) 函數表示狀態-動 作的評估機制,由(3.2)式表示: ∧. Q( st , at ) = (1 − α )Q( st , at ) + η ⎡ rt + σ max Q ( st +1, a ) ⎤ ⎢⎣ ⎥⎦ a∈ A. (3.2). ( st , at ) 為在時間 t 的一種狀態-動作對, at 表示在現在的狀態 st 下所有可能的. 動作當中的一個, st +1 表示當動作 at 已經執行到當時的狀態 st 下所產生的下一個 狀態, rt 表示為所接收到的增強訊號,也可稱為立即報酬(reward), σ 為折扣因 子,η 為學習率,介於 0~1 之間。而(3.2)式是根據下一個狀態 st +1 的評估來更新 Q 函數,稱作 one-step Q-Learning,而 one-step Q-Learning 的學習步驟整理如下: 1. 初始化 Q ( st , at ) 。 2. 觀察目前環境狀態 st 。 3. 在狀態 st 下,執行動作 at 。(使用 ε − greedy 方式選擇動作 a ) 4. 執行動作 at 之後,然後所獲得的增強訊號 rt +1 及新的狀態 st +1 。 ∧. 5. 使用(3.2)式更新成 Q ( st , at ) 。 6. 更新狀態成 st +1 。 7. 若達到終止狀態則停止;否則回到步驟 3。 由於 Q-Learning 的特性是會學習所有可能的動作並產生立即報酬,所以系統 會耗費許多記憶體去儲存這些資訊。但也因為這樣的特性,使得 Q-Learning 讓系 統具有較佳的探索能力,當系統在某一個狀態之下,會去執行所有可能的動作, 不會被限制在某一種策略,使得系統比較能夠尋找到比現在更好的策略。也由於 14.

(24) Q-Learning 對於每個動作的報酬資訊儲存相當完整,也使多個 Q-Learning 系統間 可以互相學習,就算另一個 Q-Learning 系統的目標與目前的目標不同,但他所儲 存的知識還是可以提供有用的資訊,在[27]中,一個新訓練的 Q-Learning 學習者 就可以向多個已訓練過的 Q-Learning 學習者學習完成任務目標所需的基礎知識。. 15.

(25) 第四章 模糊邏輯系統. 模糊系統是利用人類的經驗及對問題特性的掌握程度,且不需要經過精密繁 雜的計算過程,仍能做出正確的判斷,以取代複雜的數學模型。. 4.1 模糊系統之理論背景 在真實世界中,人類的思維概念、語意表達以及感覺判斷等都存在著模糊 (fuzzy)的現象。什麼是模糊現象呢?一般來說就是不精確、模稜兩可、多重意義、 不確定性的意思。比如有人說“今天天氣很熱"、“那個人很年輕"等敘述。但 是溫度多高算熱呢?年齡多少才算年輕呢?每個人對它們的定義都不同,也就是 說這些語意或事物的狀態,大都和人主觀的感覺判斷有密切的關係,人們無法清 楚的了解他人的感受,只能從其語意做大概的判斷了解,甚至對於個人而言也會 因某種身理或心理的變化而產生判斷的差異。雖然只能從其不明確的言語猜測其 意義,但是之間的差距並不大,而能達到彼此溝通的目的。 模糊理論是由美國加州大學柏克萊分校 L.A. Zadeh(扎德)教授所提出的。 在 1965 年,扎德教授在探討人類主觀或思考過程中定量化處理的方法時首先提 出「模糊集合(Fuzzy Sets)」,模糊理論是依照大概的資訊對人類主觀表現的概念 作大略的定量化處理。在傳統控制中必須建立精確嚴謹的數學模型來達成控制, 但如果要控制複雜的系統必定要花費相當多的時間、人力去建立數學模型,才有 可能達到所需的動作。然而我們不可能把整個控制系統的所有變數列出來,只能 去控制一些影響系統較大的因素。要去控制這些因素又必須有明確的控制量被決 定,但在實際上,有些情形是無法明確的決定其數值,也就是很難去建立系統的 數學模型。基於以上所述的種種問題,使得 Zadeh 教授提倡模糊理論嘗試以人類 的思維方式去簡化問題的複雜度,而且能達到與傳統控制方法相同的目的。. 16.

(26) 模糊系統已經被廣泛的運用到自動控制、決策分析、圖樣識別、控制器設計 等。特別是控制器設計方面,[28]應用 Zadeh 的模糊關係演算法所建立,用來控 制實驗室的蒸氣引擎。之後,模糊理論在各個領域開始蓬勃發展。 傳統的控制問題常需對真實系統建立數學模型來作精確的數值形式計算處 理,一般是以一個或多個微分方程式來敘述控制系統的響應。此類控制系統常以 PID(proportional-integral-derivative)控制器來實現,雖然其能精確的控制,但是假 如遇到較複雜、大型的控制系統或者與使用者有關的知識經驗等,則必須花費大 量人力、時間去建構數學模型,甚至有可能因過於繁複而無法建構其數學模型。 因此有了模糊控制的誕生,利用簡單的 If-Then 規則來描述系統即可達到系統控 制的目的。. 4.2 模糊邏輯系統 以下將介紹模糊邏輯系統的架構以及針對系統架構的組成的部份進行說明 及推論。. 4.2.1 模糊邏輯系統之基本架構 模糊邏輯系統(Fuzzy Logic System)主要是由五個部份組成的,分 別是模糊化(Fuzzify)、模糊規則庫(Fuzzy Rule Base)、模糊推論引擎(Fuzzy Inference Engine)及解模糊化(Defuzzify)。其模糊邏輯系統的基本架構如圖 4-1 所示。. 17.

(27) 圖 4-1 模糊邏輯系統之基本架構. 4.2.2 模糊邏輯系統之模糊化及解模糊化 模糊化(Fuzzify):對於一個受控體的狀態輸出變數,亦即為控制器的輸入 變數。因為輸入變數必須為明確值,所以需要將其模糊化為模糊法所能判別的 模糊變數。首先將輸入變數藉由量化映射(Quantization Mapping)的方式,並確 定其變數值會在模糊集合與其所對應之歸屬函數中,當有任何一個變數值輸入 時,可以對應它在每一個模糊集合中的歸屬程度,此為某一條規則的近似程度。 一般常使用的歸屬函數圖形有以下四種: (1) 單值歸屬函數(Singleton Membership Function) ⎧1 , if x = a1 ⎩0 , otherwise. μ A ( x) = ⎨. (4.1). (4.1)式 a1 參數表示單值歸屬函數的位置,如圖 4-2(1)所示為單值歸屬函 數圖形。. 18.

(28) (2) 三角形歸屬函數(Triangular Membership Function): ⎧ 0 ⎪ x−a 2 ⎪ ⎪a − a μ A ( x) = ⎨ 1 2 ⎪ a3 − x ⎪ a3 − a1 ⎪ ⎩ 0. , x ≤ a2 , a2 ≤ x ≤ a1. (4.2) , a1 ≤ x ≤ a3 , a3 ≤ x. (4.2)式中 a1 參數代表三角形歸屬函數的頂點, a2 及 a3 參數分別代表三 角形歸屬函數底邊之左右邊界值,如圖 4-2(2)所示為三角形歸屬函數圖 形。 (3) 梯形歸屬函數(Trapezoidal Membership Function): ⎧ 0 ⎪ x−a 1 ⎪ ⎪ a2 − a1 ⎪ μ A ( x) = ⎨ 1 ⎪a −x ⎪ 4 ⎪ a4 − a3 ⎪ 0 ⎩. , x ≤ a1 , a1 ≤ x ≤ a2 , a2 ≤ x ≤ a3. (4.3). , a3 ≤ x ≤ a4 , a4 ≤ x. (4.3)式中 a2 及 a3 參數分別代梯形歸屬函數的左右頂點, a1 及 a4 參數則 分別代表梯形歸屬函數底邊之左右邊界值,如圖 4-2(3)所示為梯形歸 屬函數圖形。 (4) 高斯型歸屬函數(Gaussian Membership Function):. μ A ( x) = e. −1⎛ x − a ⎞ ⎜ ⎟ 2⎝ σ ⎠. 2. 1. (4.4). (4.4)式中 a 參數代表高斯歸屬函數的中心點,而 σ 參數代表高斯歸屬 1. 函數的寬度,如圖 4-2(4)所示為高斯歸屬函數圖形。. 19.

(29) 1. 1. 0.5. 0.5. 0. 0. a. 1. a. a. 2. 1. (1). a. 1. a. 2. a. 3. (2). a. 3. a. a. 1. 4. 圖 4-2 歸屬函數圖形(1)單值形(2)三角形(3)梯形(4)高斯型. 解模糊化(Defuzzify):對於一個受控體的輸入變數,亦即為控制器的輸出變數。 由於系統的輸入變數必須再透過解模糊化之機制,將模糊值轉換成明確值輸 出,才能對受控體產生作用,並進一步用來控制受控體。對於解模糊化之方式 如下所示: 1.. 重心解模糊化法(Center of Gravity Defuzzification). 2.. 面積和之中心解模糊化法(Center of Sum Defuzzification). 3.. 最大面積之中心解模糊化法(Center of Largest Area Defuzzification). 4.. 第一個最大值解模糊化法(First of Maxima Defuzzification). 5.. 最後一個最大值解模糊化法(Last of Maxima Defuzzification). 6.. 最大值之平均解模糊化法(Middle of Maxima Defuzzification). 7.. 中心平均值解模糊化法(Center Average Defuzzification). 20.

(30) 上述七種解模糊化之重心解模糊化法是最常見的,故本論文採用重心解模糊化 的方式來求解所設計之模糊的輸出值,此方式可分成連續形和離散形,連續形 的公式如下: y* =. ∫Y yB '( y)dy ∫Y B '( y)dy. (4.5). 其中, ∫ B '( y )dy 為 B '( y ) 的面積,分別計算出來的值就是面積之重心在 Y 軸上 Y. 之投影位置。其離散形的公式如下: k. y = *. ∑ yi B '( yi ) i =1 k. (4.6). ∑ B '( yi ) i =1. k. 其中, ∑ B '( yi ) 為 B '( yi ) 的總和。 i =1. 4.2.3 模糊邏輯系統之規則庫 模糊規則庫主要是根據受控體的特性及控制模式所推論而得,再以簡單的 條件式語句來撰寫每一條規則的相關性。而模糊規則庫與模糊推論引擎成為模 糊邏輯系統的主要核心,並且存放著由言語變數所組成的條件規則。一般而 言,模糊規則的來源可以分為下列幾類: 1. 由過去專家們對受控系統的經驗與認知或使用相關資訊來進行控制規 則的設計。 2. 根據受控系統的輸入與輸出關係,並評斷出系統的運動模式行為,進 而推得規則。 3. 經由受控系統本身之學習來修正控制規則。 然而不管經由上述哪一種方式所建立的規則,其模糊邏輯系統的模糊規則 均以 If-Then 的形式來表示,其中 If 部分稱為前鑑部,Then 部分為後鑑部;其 模式是利用前鑑部來判斷輸入語言變數的狀態是否符合該條規則之定義,若符 合則成立,反之,則不成立;而後鑑部是用來表達該條模糊規則的前鑑部成立 21.

(31) 時,輸出言語變數所呈現的狀態。如(4.7)式所描述之模糊規則。 R i : IF x1 is A1i and x 2 is A2i. Then. y. is. (4.7). wi. 假設(4.7)式中,前鑑部之兩輸入語言變數的狀態只符合第一條規則之狀態, 故後鑑部之輸出語言變數則輸出 wi 之狀態。上述中,一個完整的模糊規則庫的規 則數會等於輸入言語變數的個數和模糊分割的數量。也就是說,(4.7)式的所有規 則會等於兩輸入語言變數的分割數相乘。因此,輸入語言的個數和模糊分割的數 目,均會直接影響控制規則的組合數量,基於此因素,對於選取每一個輸入語言 變數之分割模糊的數量,就顯得相當重要。一般而言,選取其數量須視實際需要 而定,必須在精確性與簡易性上求平衡,大部份都將其分割成奇數個(如 3、5、7), 通常以不超過 7 個為原則。 此外,為了使每一個輸入/出語言變數的分割變數在使用上更為方便,將可 利用更為明瞭的言語變數來定義每一個分割變數,如 NB(負的大)、NS(負的小)、 ZO(零)、PS(正的小)、及 PB(正的大)等五種言語變數。為了能更清楚明瞭,我們 將這五種言語變數套用到 4.7 式 之規則,並假設每個輸入/出言語變數,均有五 種言語變數。如表 4-1 所示。. 表 4-1 模糊控制規則表 x1. y. x2. NB. NS. ZO. PS. PB. NB. PB. PB. PS. PS. ZO. NS. PB. PS. PS. ZO. NS. ZO. PS. PS. ZO. NS. NS. PS. PS. ZO. NS. NS. NB. PB. ZO. NS. NS. NB. NB. 22.

(32) 4.2.4 模糊邏輯系統之推論引擎 模糊推理機制是依據近似推理的概念所發展出來的,主要負責模糊控制器 內的模糊推理運算,也是模糊邏輯控制器的核心單元之一。此機構不僅可以處 理明確命題,更可以解決模糊命題。因此,近似推理也較傳統推論的嚴正推理 更合理也更具有彈性。近似推理又可分為下列兩種模糊推理機構[29]: 1. Generalized Modus Ponens(GMP) 2. Generalized Modus Tollens(GMT) 對於 GMP 和 GMT 兩種推理機構之描述,如表 4-2 所示。. 表 4-2 兩種推論機構之描述 GMP(Generalized Modus Ponens). GMT(Generalized Modus Tollens). 事實:X is A’ 規則:IF X is A THEN Y is B. 事實:Y is B’ 規則:IF X is A THEN Y is B. 結論:Y is B’. 結論:X is A’. 其中,GMP 的推理屬於前向推理,只要有事實輸入至規則,此規則就會推理 出結論,所以此推理方式很適合使用在模糊控制器的模糊推理機制中;GMT 的推理屬於後向推理,是將結論輸入至規則,再利用規則反推出事實。其中, 可應用在模糊推論機制的模糊推論方式有很多種,例如:曼達尼(Mandani)的 Min-Min-Max 模糊推論、Larsen 的乘積(Product)模糊推論、Tsukamoto 模糊推 論法與 Takagi-Sugeno…等推論。 由以上可知,模糊系統的架構不需要推導受控體複雜的數學模型,利用 單簡的語言控制法就能達到傳統控制的動作,目前已有不少的產品,尤其是家 電產品,逐漸採用模糊控制來開發系統。. 23.

(33) 第五章 整合 DNA 演化法與 Q-Learning 之適應性學習方法. 本章將結合 DNA 演化法與 Q-Learning 之適應性學習方法,並規劃出環境報 酬值來產生不同的學習範圍,以及所設計出的適應函數來評估此環境問題的績 效。. 5.1 整合學習方法之架構 本論文提出以 DNA 演化法與 Q-Learning 之學習架構,其架構圖如圖 5-1 所 示。. 圖 5-1 DNA 演化法與 Q-Learning 之學習架構. 此整合學習法主要是透過 DNA 編碼及操作方式來演化模糊系統的權重值, 其中 DNA 操作方式採用傳統遺傳演算法的選擇、交配、突變的方式,而適應函 數的選擇就非常重要,加上 Q-Learning 本身屬於評估機制,並且可以判別執行動. 24.

(34) 作的好壞而給予適當的報酬,因此本論文把 Q-Learning 之 Q-value 納入適應函數 當中的一部份。而本論文的實現方式是透過軟體模擬的方式將模糊系統權重值給 演化完成,並且軟體模擬本身也是模擬移動機器人能夠閃避障礙物並達到搜尋目 標物的目標,模擬完成後將其演化好的模糊參數下載到所採用的 Sputnik 移動機 器人身上,並且實現時環境必須與軟體模擬的環境是等比例的,實現時所使用的 方法的細節將在下一節詳細說明。. 5.2 整合 DNA 演化法與 Q-Learning 之適應性學習方法的設計 此整合性學習方法對於一未知且複雜的環境具有良好的學習能力,而所使用 的 DNA 編碼方式、Q-Learning 之 Q-value 及 reward 設計方式,以及適應函數設 計方式等,以下針對各部份作說明。 DNA 演化:DNA 遺傳演算法之主要架構如圖 5-2:. 圖 5-2 DNA 遺傳演算法架構. 25.

(35) DNA 遺傳演算法的架構跟傳統遺傳演算法很相近,差別在於 DNA 的編碼 方式及基因操作方式有所不同,而基因操作方式除了傳統遺傳演算法的操作方 式外,還包括細菌(bacterial)操作、酵素(enzyme)操作,及病毒(virus)操作等。 生物學(biological)DNA 由核甘酸(nucleotide)分類成四個基底(T, C, A, and G) 所組成的,而且 DNA 的四個基底可以組合出不同的基因,每一個氨基(amino) 酸(acid)由三個核甘酸的基底組合並表示之,且三個核甘酸的基底組合稱之為密 碼子(codon),就是某一基因的代碼。密碼子有 64 種類型,但只有 20 種氨基酸 可以對應到 64 種密碼子的類型,因此密碼子及氨基酸的對應關係如表 5-1 所示:. 表 5-1 密碼子與氨基酸之對應關係. 26.

(36) 而本論文所使用的 DNA 染色體的基因當作是移動機器人所行走的角度,其 遺傳密碼與氨基酸及角度之間的對照關係如圖 5-3 所示。 Base. … T. Amino acids … Genes. C. A. T. Ser. G. C. A. Cys. A. C. Asn. … ith angle (i+1)th angle (i+2)th angle. … … …. A DNA chromosome. 圖 5-3 DNA 染色體 因為每個氨基酸有自己的對應角度,因此 DNA 編碼法使用圖 5-4 之轉換機 制來代表氨基酸及模糊系統之間的對應關係,由圖 5-4 可知,當氨基酸的出現 機率越高,其所對應的基因所代表的角度重複出現的機率也就越高。特別是由 DNA 染色體產生出的模糊系統的設計參數(角度)及架構是根據轉換機制得到 的。所以在 DNA 編碼方當中,每個染色體的基因表示模糊系統的權重值(角 度),而每個氨基酸代表一種角度。 +90°. M et. +80°. G ln. +70°. H is. +60°. A sp. +50°. G lu. +45°. D m ax. S to p P ro. +30°. G ly A rg. +15°. L eu. −15°. Thr A la. −30°. I le. −50°. A sn. −60°. Lys C ys Phe. −80° −90°. = [ D m in D m a x ]. T rp. V al. −45°. −70°. R e g io n o f d e s ig n p a r a m e te r s. Ser. D m in. T rg. H ig h e r p o s s ib ility. L o w e r p o s s ib ility. 圖 5-4 DNA 染色體的轉換機制 27.

(37) 本論文實現方式是以亂數產生十條染色體,而每一條染色體的的基因由四 個基底(T, C, A, and G)中三個基底為一組來產生,因為每三個基底為一組,因此 會有 64 種排列組合,其對應關係如表 5-1 所示。由於是要演化模糊系統的權重 值,所以透過圖 5-4 的轉換機制來表示模糊系統的參數,以完成一條完整的染色 體。 Q-Learning:本論文將模糊系統結合 Q-Learning,以解模糊化的方式求出 Q-value 而使 Q-value 成為適應函數的一部份,其模糊規則與 Q-value 表示如下:. Ri : If. s. is F i. Then y is. ai with. qi. (5.1). 其中 qi 代表動作 ai 之 Q-value。 利用重心法解模糊化而得到的 Q-value 表示如下: N. Q=. ∑ μi (s) × qi i =1. (5.2). N. ∑ μi ( s ) i =1. 利用 Q-Learning 之修正公式推導如下: qi +1 = qi + Δq. (5.3). Δq = η (r + Q _ next − Q _ current ). (5.4). 其中η 為學習率,介於 0~1 之間。 r (reward)為環境所傳回的報酬值,經由解模 糊化所得到的 Q 值就能夠納入適應函數的評估標準,至於環境所傳回的報酬值 r ,以下針對環境空間進行規劃。. 藉由 Q-Learning 所得到由環境傳回的報酬值 r ,是依據移動機器人與障礙 物的距離而評判的標準,首先針對移動機器人所使用的距離感測器作規劃,如 (5.5)式所表示。 d min = Min {di , i = 1, 2,.....}. (5.5). 其中 i 為移動機器人所使用的感測器數目。(5.5)式表示的目的在於比較移動機器 28.

(38) 人的各個距離感測器之間的大小並取出距離最小的感測器,以進行下一步各種不 同空間的判斷。 針對移動機器人閃避障礙物的運作,本論文將其分割成三種不同的空間: 1. 自由空間(Free Space):簡稱 FS,當 d min > 60cm 時,此空間就稱作自由空 間,在自由空間中,移動機器人活動的範圍比較寬廣。 2. 安全空間(Safety Space):簡稱 SS,當 20cm < d min < 60cm 時,此空間稱作 安全空間,在安全空間中,移動機器人還在避免碰撞的範圍之內。 3. 不安全空間(Non-Safety Space):簡稱 NSS,當 d min < 20cm 時,此空間稱 作不安全空間,在不安全空間中,移動機器人就在碰撞障礙物的範圍之 內。 藉由所規劃出的三種不同的空間,可設計出 r (reward)如下: ⎧0 ⎪ −2 ⎪ ⎪ −4 ⎪ ⎪0 r =⎨ ⎪2 ⎪ −5 ⎪ ⎪5 ⎪ −4 ⎩. , s ∈ FS → FS , s ∈ FS → SS , s ∈ FS → NSS , s ∈ SS → SS , s ∈ SS → FS , s ∈ SS → NSS , s ∈ NSS → FS , s ∈ NSS → NSS. (5.6). 其中 s 表示移動機器人的狀態。 而 Q-Learning 精神在於找出環境所傳回的報酬值 r ,可由(5.6)式所表示各 個不同的空間所產生不同的報酬值。並且由(5.3)式,透過(5.4)式來計算出 qi 之 修正值,再利用(5.2)式計算出最後的 Q-value。因此,本論文將使用(5.2)式計 算出的 Q-value,來建立出適應函數。. 29.

(39) 適應函數(Fitness Function):適應函數是 DNA 染色體演化的依據,適應函 數的選擇必須符合實際環境的情況來設計,否則會有演化失敗的情形產生,而 適應函數是愈大愈好,其設計方式如(5.7)所示:. fitness = Q ⋅. 1 + f _ goal step _ number. (5.7). 其中, f _ goal 是當移動機器人成功的搜尋到目標物時,所給定的一個正整 數,表示適應函數會增大。而移動機器人在搜尋目標物時最理想的情況就是不 但能成功地閃避障礙物,並以最短路徑達成搜尋目標物的目標,其中若移動機 器人成功閃避障礙物時,其 Q-value 之參數 r (reward)通常會落入 s ∈ SS → FS 、 s ∈ NSS → FS 、 s ∈ FS → FS 及 s ∈ SS → SS 等空間中,使得 r 值都為正值,而使. (5.3)式會一直累增,並且使(5.2)式所計算出的 Q-value 會讓適應函數變大, step _ number 為移動機器人所行走的步數,行走的步數愈少,表示行走的路徑. 愈短,因為適應函數愈大愈好,所以以. 1 方式來考慮移動機器人的 step _ number. 最短路徑。 以上整體學習演算法的過程以流程圖表示如下頁所示:. 30.

(40) 初始化. 選擇其中一條DNA染色體. 計算染色體之輸出動作及執行 動作. 遺傳操作. 回傳報酬值及更新Q-value. 此族群執行結束. 否. 是 演算法操作結束. 否. 是 結束. 圖 5-5 學習演算法流程圖. 本章所探討之整合學習法,其中 Q-Learning 是根據報酬值來使移動機器人 進行閃避障礙物的學習,而 DNA 遺傳演算法之適應函數是使移動機器人能夠 收斂到最短路徑,因此整合學習法之模擬與實現將在下個章節來表示之。. 31.

(41) 第六章 移動機器人之模擬與實驗. 本章節將會針對移動機器人模擬與實驗細節進行說明,本論文實現方式是 先利用模擬器來進行整合演算法之學習,而模擬完成的參數就會下載到實體機器 人身上進行實驗結果的驗證。. 6.1 移動機器人之軟硬體架構 本論文所使用的移動機器人我們可以在個人電腦上利用 Visual C++或 Visual Basic 來進行程式撰寫,而所撰寫的程式是透過集線器來跟移動機器人進行無線 網路的傳遞,如圖 6-1 所示。. 圖 6-1 移動機器人之操作平台. 6.1.1 移動機器人軟體說明 本論文採用 Dr.Robot 公司所開發之 sputnik 智慧型機器人,並且使用 WiRobot SDK ActiveX 元件來對硬體裝置進行溝通,而 ActiveX 技術是 Microsoft 實行分散式物件導向的關鍵技術,用來建立彼此通訊的應用程式,可以允許一. 32.

(42) 個應用程式嵌入物件或文件到另一個應用程式,像是可以嵌入媒體播放程式、 Web 瀏覽器到人機介面上等。只要在一致的平台介面,便能夠成為插入運作的 軟體元件,具有跨網路與跨程式語言的特性,使得應用程式能夠更簡潔迅速的 發展,但 ActiveX 只能在視窗環境中使用,並不適用於其它作業平台。 Dr.Robot 公司是透過 SDK(Software Development Kit,全名為軟體開發元件) 來開發出 API 函數提供我們使用 PC 來針對 sputnik 智慧型機器人進行控制,並 且 PC 與 sputnik 之間的傳輸是透過無線網路。而我們所使用的 API 函數是透過 WiRobot SDK ActiveX 元件來與硬體作溝通,在 WiRobot SDK ActiveX 元件中 有兩個控制項 WiRobotSDKMultiActiveX.ocx 及 MSWINSCK.ocx,其中 WiRobotSDKMultiActiveX.ocx 負責將 API 函數轉換為硬體控制指令, MSWINSCK.ocx 則負積將硬體指令透過無線網路模組傳遞給數位訊號處理器 (Digital Signal Processing),以執行控制行為,sputnik 之通訊架構如圖 6-2 所示。. 圖 6-2 sputnik 通訊傳輸架構圖. 33.

(43) 6.1.2 移動機器人硬體說明 本論文所採用 Dr.Robot 公司所開發之 sputnik 智慧型機器人,如圖 6-3 所 示。. 圖 6-3 sputnik 智慧型機器人. Sputnik 之輪型平台的兩具 12V DC 馬達,可提供機械人的 18cm 車輪 300 oz.inch(21.6 kg.cm)的扭力,讓最高速可達 1m/s,每個車輪都有高解析度(每轉 1200 格)的增量編碼器(quadrature encoder),提供車輪移動的機密量測及控制。 sputnik 智慧型機器人本身重 6.1 kg,可以承受 10 kg 的載重,在頭部方面,sputnik 具有 5 個 Servo,並且全部有 7 個自由度(degree of freedom, DOF),可動式電子 頭部有 5 個 DOF,移動平台有 2 個 DOF,電子頭部的眼睛可以上下左右轉動 攝影(pan/tilt),眼罩及嘴巴可以獨立的關閉及張開,同樣的,脖子的機械結構, 也可以自行的上下轉動。整體的頭部行為是由多媒體控制卡、彩色影像模組及 伺服馬達進行硬體控制,整體頭部架構圖如圖 6-4 所示。. 34.

(44) 圖 6-4 sputnik 頭部架構圖 有關 sputnik 頭部所使用的伺服馬達,Dr.Robot 公司是採用 Hitec R/C 伺服 馬達,由於頭部裝置 5 顆伺服馬達,其型號則分別採用 3 顆 HS-322HD、1 顆 HS-475HB 及 1 顆 HS-645MG,伺服馬達外觀圖如圖 6-5、6-6、6-7 所示。. 圖 6-5 HS-322HD. 圖 6-6 HS-475HB. 圖 6-7 HS-645MG. 此伺服馬達的控制信號是一個脈波寬度調變(PWM)的控制信號,經由其責 任週期(Duty Cycle)的比例來控制伺服馬達的位置,而伺服馬達本身是由一個連 續脈波信號的控制,並且每秒接收 60 次的脈波,脈衝的寬度決定了伺服馬達 的轉角位置,圖 6-8 所示為脈衝寬度 1.5 ms 時伺服馬達的轉角位置在中間,圖 6-9 為 0.5 ms 時伺服馬達在最左端 0 度角的位置,圖 6-10 為 2.5 ms 時伺服馬達. 35.

(45) 在最右端 180 度角的位置。. 圖 6-8 伺服馬達在 90 度的位置. 圖 6-9 伺服馬達在 0 度的位置. 圖 6-10 伺服馬達在 180 度的位置 36.

(46) Sputnik 輪型平台裝置有 2 顆 12V 之 DC 馬達,當在軟體中下指令給 DC 馬達時,由前面軟體說明所提到,系統是透過 WiRobot SDK ActiveX 元件中的 兩個控制項 WiRobotSDKMultiActiveX.ocx 及 MSWINSCK.ocx,其中 WiRobotSDKMultiActiveX.ocx 負責將下達的指令轉換為硬體控制指令, MSWINSCK.ocx 負責將硬體控制指令透過無線網路傳遞給 DSP,使 DSP 產生 脈波訊號,但 DSP 所產生的脈波訊號還不足以推動 DC 馬達,必須使用 DC 馬 達控制模組 MDM5253 將脈波訊號給放大才能推動 DC 馬達,而所使用之 MDM5253 如圖 6-11 所示。. 圖 6-11 MDM5253. MDM5253 本身具有位置及電流迴授的功能,並且使用 PWM 來進行功率 放大,才能推動 DC 馬達,而在圖 6-12 說明 PWM 責任週期與推動 DC 馬達之 輸出的關係。其中,輸出電流的平均值為零表示責任週期為 50%;輸出的方向 (表馬達旋轉方向)發生於責任週期是否大於 50%;輸出的大小(表馬達轉速大小) 發生於責任週期與 50%是否有所不同。. 37.

(47) 圖 6-12 MDM5253 之 PWM 控制的波形. DC 馬達控制模組 MDM5253 本身有六個通道 CH0~CH5,其中 CH0 與 CH1 是控制 sputnik 的左輪與右輪的馬達,而馬達的轉速、反應速度以及位置是 透過 PID 控制器來進行控制,圖 6-13 為 DC 馬達使用 PID 控制器之架構圖:. 圖 6-10 MDM5253 之 PWM 控制 圖 6-13 DC 馬達控制系統架構 其中,PID 控制器的轉移函數如(6.1)式所示: K U ( s) = KP + KDS + I E ( s) S. (6.1). 而馬達目前的位置與速度,要經由電位計(Potentiometer)來回傳訊號給系統, 電位計本身是量測馬達旋轉位置的元件,它是利用計算脈波數做為馬達旋轉角 度的控制,因此整體的 DC 馬達控制系統形成一閉迴路控制系統,以使馬達能. 38.

(48) 正常運作。 有關於 sputnik 智慧型機器人所使用的感測器部份,sputnik 裝置有三個超 音波感測器(Ultrasonic sensor)及七個紅外線感測器(Infrared sensor),這兩種感 測器都是讀取距離的資訊,以下分別作說明。 超音波感測器:sputnik 所使用之超音波感測模組為 DUR5200,如圖 6-14 所 示,它可偵測到的距離範圍為 4cm 到 340cm,距離數值是根據超音波訊號之發 出及反射所收到的時間差來量測計算,該模組內部建置有時脈振盪器、電流放 大、帶通濾波器、電壓位準轉換與比較器等電路,不僅能有效的與微控制處理 器的電壓位準作結合,並可以顯著地減少控制端發送基頻訊號 所需的額外工作負擔。. 圖 6-14 超音波感測模組 DUR5200. 超音波在氣體傳播時較容易隨著距離增加而衰減的現象,而導致音波強度 隨著距離增加逐漸衰減的原因,由於波面會因擴大而造成擴散損失,另一方面 是因為被傳播介質吸收及散射而造成波動能量的損失。 超音波感測器之型態可區分為三種,分別是電磁感應型振盪器、磁伸縮振 盪器與壓電型振盪器;DUR5200 模組採用兩顆石英晶體雙壓電晶片之振盪 感測器,分別為超音波發射器與接收器,兩者同樣具有壓電效應,超音波 振動子由壓電元件與金屬板重疊而成,一面伸張另一面壓縮使之彎曲作為 振盪;兩顆配置形成獨立型反射式的檢測距離方式,結合成總共約 60 度角 的圓椎體探測指向。而超音波感測器的規格上,方向在 30 度與 330 度之間 39.

(49) 的範圍內,具有最佳的靈敏度,超出此範圍,能量會大幅衰減,如圖 6-15 所示之超音波指向性。. 0D 330. D. 30D. D. 45D. 315. 90D. 270D. 135D. 225D. 180D. 圖 6-15 超音波的指向性. 當微控制器致能 DUR5200 的發射腳位時,利用模組內建的 NE555 單穩態 多諧振盪器產生 40 KHz 的工作頻率,先至 CD74HC00 作前置的電流放大,經 MAX232 作電壓的準位轉換後,予以發射器生成超音波,來自待測物件的超音 回波反射至接收器,透過 RLC 帶通濾波電路與 LMC6001 增益放大後,輸入 LM311 的史密特比較篩選電路以抑制雜訊,產生超音回波訊號回傳微控制器, 微控制器可以根據訊號之發出及反射收到的時間差來計算前方物體之 距離數值,圖 6-16 為 DUR5200 之硬體架構圖。. 40.

(50) 圖 6-16 DUR5200 的感測距離硬體架構圖. DUR5200 有四隻腳位,分別是正 Vcc、超音回波接收 RS 與發射致能 TE 以及接地 GND 等腳位,微控制器可經由 TE 腳致能超音波發射器,致能時間 t1 最小值為 250 us,此時 DUR5200 的振盪器會產生 40 KHz 音波頻率,距離可經 由 回 波 正 準 位 觸 發 的 時 間 td 計 算 ; 致 能 發 射 訊 號 的 間 隔 時 間 t2 至 少 為 20 ms。表 6-1 為 DUR5200 的腳位說明。. 表 6-1 DUR5200 腳位說明 腳位 1 2 3 4. 名稱 Vcc RS TE GND. 功能 直流 5 伏特電源供給 超音回波的接收端,正緣觸發輸出 超音波發射致能端,正準位輸入 電源接地端. 當 TE 腳位致能後,利用微控制器產生每 80 us 作計數時脈,如此能使 DUR5200 的距離量測最大值為 353 cm 與誤差值約為 2.7 cm;經由計數值 (0~255)與 80 us 的計數週期時間相乘可求得 td 乘積值,如(6.2)式所示:. td = count (0 ~ 255) × count _ rate(80us). (6.2). 將所得 td 乘上音波於空氣中的傳播速度 v 之後,由於屬反射式的超音波. 41.

(51) 之折返距離,所以除以 2 即能求得發射端與待測物體的距離數值,空氣中的傳 播速度 v 可由常數值相乘取得,微控制器的系統效能不致因浮點數的計數而被 拖垮,其中 T 為攝氏溫度的單位,如(6.3)及(6.4)式所示:. td × v 2 v = 331.3 + 0.607 × T. Distance to object=. (6.3) (6.4). 而 DUR5200 的操作時序如圖 6-17 所示:. 圖 6-17 DUR5200 的操作時序. 紅外線感測器:sputnik 智慧型機器人所採用的紅外線感測模組為 GP2Y0A21YK,如圖 6-18 所示。其量測範圍為 10cm ~80cm 之間,當紅外線 信號以直線方式打出去,碰到障礙物後直接反射到接收端,其模組利用電壓值 的大小來表示信號的強度,則信號強度的大小來表示距離之遠近,量測之後的 電壓範圍為 0.4V~3.2V。. 圖 6-18 紅外線感測模組 GP2Y0A21YK. 42.

(52) 紅外線感測器是類比電壓訊號,需經由內部訊號處理的電路將類比轉數位 量化的數位訊號,換算出感測器的輸出電壓,其內部電路架構如圖 6-19 所示, 並且轉換感測器的輸出電壓公式如(6.5)式所示,因此,計算出感測器的輸出電 壓後,利用紅外線感測器的特性曲線圖(如圖 6-20 所示),就可以換算出實際的 距離,而此特性曲線圖,只限於測量區間為 10cm~80cm 之間,也就是說,這 區段為此紅外線感測模組 GP2Y0A21YK 的工作區域,若超過這範圍所得到的 數據均不準確。. 圖 6-19 紅外線感測模組內部電路. 圖 6-20 際距離與輸出電壓之曲線圖. 43.

(53) 感測器類比電壓=. 量化數值 × 3 單位:V(伏特) 4095. (6.5). Sputnik 智慧型機器人是由個人電腦進行控制的,而機器人與個人電腦之 間的傳輸管道是透過無線網路,並且採用 W F S 8 0 2 b Wi F i 8 0 2 . 11 b 無 線 模 組 , 如 圖 6-21 所 示 。 使 用 序 列. 埠 (rial interface)連 接 到 機 器. 人 , 並 提 供 8 0 2 . 11 b 無 線 傳 輸 , 為 了 能 夠 連 接 到 區 域 網 路 ( l o c a l a r e a n e t w o r k ) 或 是 廣 域 網 路 ( w i d e a r e a n e t w o r k ), W F S 8 0 2 b 整 合 了 完 整 開 發 的 TCP/IP 網 路 協 定 , WFS802b 也 內 嵌 了 一 個 web s e v e r, 可 以 遠 端 的 設 定 、 監 控 , 或 為 連 接 的 裝 置 解 決 問 題 。 而 WFS802b 之 腳 位 說 明 如 表 6-2 所 示 。. 圖 6-21 W F S 8 0 2 b 模 組. 表 6-2 W F S 8 0 2 b 腳 位 說 明 腳位 1 2 3 4 5 6 7 8. 名稱 Vcc RXD TXD RTS CRTS GND NC NC. 功能 +3.3v 資料接收 資料傳送 請求傳送 清除傳送 電源接地 保留 保留 44.

參考文獻

相關文件

Kyunghwi Kim and Wonjun Lee, “MBAL: A Mobile Beacon-Assisted Localization Scheme for Wireless Sensor Networks,” The 16th IEEE International Conference on Computer Communications

C., “Robust and Efficient Algorithm for Optical Flow Computation,” Proceeding of IEEE International Conference on Computer Vision, pp. “Determining Optical Flow.” Artificial

When? Where? What? A Real-Time System for Detecting and Tracking People.’’ Proc. International Conference on Face and Gesture Recognotion, April, pp. Pentland, “Pfinder:

[16] Goto, M., “A Robust Predominant-F0 Estimation Method for Real-time Detection of Melody and Bass Lines in CD Recordings,” Proceedings of the 2000 IEEE International Conference

Generally, the declared traffic parameters are peak bit rate ( PBR), mean bit rate (MBR), and peak bit rate duration (PBRD), but the fuzzy logic based CAC we proposed only need

Kyunghwi Kim and Wonjun Lee, “MBAL: A Mobile Beacon-Assisted Localization Scheme for Wireless Sensor Networks”, the 16th IEEE International Conference on Computer Communications

Sun, “The Application of Role-Based Access Control in Workflow Management Systems”, Proceedings of IEEE International Conference on System, Man and Cybemetics, vol.6, pp.

Furong, G.(2006), “Injection molding product weight:Online network and fuzzy logic in a case-based system for initial process parameter setting of injection molding”, Journal