• 沒有找到結果。

智慧型機器人應用基因演算法結合增強式學習於模糊控制歸屬函數之最佳化

N/A
N/A
Protected

Academic year: 2021

Share "智慧型機器人應用基因演算法結合增強式學習於模糊控制歸屬函數之最佳化"

Copied!
77
0
0

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

全文

(1)國立高雄大學電機工程學系 碩士論文. 智慧型機器人應用基因演算法結合增強式學習 於模糊控制歸屬函數之最佳化 The Optimization of Fuzzy Membership Functions Using the Techniques of Genetic Algorithm and Reinforcement Learning for Vision-based Mobile Robots. 研究生:林宜陞 撰 指導教授:吳志宏. 中華民國一百零一年七月.

(2) 智慧型機器人應用基因演算法結合增強式學習 於模糊控制歸屬函數之最佳化 指導教授:吳志宏 博士 國立高雄大學電機工程學系 學生:林宜陞 國立高雄大學電機工程學系. 摘要 在本研究中,我們提出一種結合基因演算法(genetic algorithms)及增強式學習 (reinforcement learning)的方法,進行模糊歸屬函數(fuzzy membership function)的最佳 化,並以輪型機器人的運動控制驗證之。模糊控制是智慧型機器人常用的控制方式之 一,其模糊歸屬函數的制定通常是由專家主觀(heuristic)認定,往往需花費大量的時間 尋找最佳的組合,且不一定能適應各種環境。本研究透過機器學習(machine learning)的 技術尋找能適應環境的模糊歸屬函數,達到最佳化機器人控制的目的。由於直接在機器 人機體上進行在線式機器學習(on-line learning)會耗費許多時間,同時也對硬體機構造成 很大的傷害;而離線式機器學習(off-line learning)採用模擬的方式進行學習,其假設往 往過於理想,而使結果無法實用化。為了解決此問題,本研究提出兩階段的學習方法, 第一階段以基因演算法進行離線學習,在模擬器中尋找理想狀態下的最佳模糊歸屬函 數,在沒有硬體的損耗的情形下節省學習與演化的時間。第二階段將第一階段所獲得的 最佳模糊歸屬函數,套用至實體機器人的控制系統,在現實環境下的回饋測試並以增強 式學習法調整出最佳的模糊控制歸屬函數。由於第一階段的學習結果具有相當的可信 度,第二階段的在線學習可以在較少的時間內學習出好的結果,可以降低硬體損耗同時 縮減學習時間。本研究實際建立輪型服務型機器人,同時設計兩階段的機器學習演算法 與控制機制,並實際測試其成效。實驗結果顯示本方法的確可以讓系統完成最佳化機器 人模糊控制參數的調整。. 關鍵字:智慧型機器人、機器學習、模糊控制、模糊歸屬函數、基因演算法、增強式學 習. ii.

(3) The Optimization of Fuzzy Membership Functions Using the Techniques of Genetic Algorithm and Reinforcement Learning for Vision-based Mobile Robots Advisor: Dr. CHIH-HUNG WU Department of Electrical Engineering, National University of Kaohsiung Student: I-SHENG LIN Department of Electrical Engineering, National University of Kaohsiung. ABSTRACT Fuzzy control is one of the popular control methods for intelligent robots. Usually, the membership functions associated with the fuzzy control rules are defined by domain experts heuristically. It usually takes a lot of time to adjust the fuzzy membership functions before they can be used practically. Machine learning techniques are adopted in this study for the optimization of fuzzy membership functions. Typical machine learning methods can be divided into two classes, the on-line learning and the off-line learning. On-line learning methods perform on physical machines and practical environments, whereas off-line learning methods run in computer-simulated environments. For robot applications, thousands of on-line learning iterations may be needed that take a long learning time and may damage the robot hardware. The results from off-line learning methods may not be applicable on a real robot due to the ideal assumptions, but unreality, of the simulators. The study proposed a two-stage learning approach. In the first stage, the genetic algorithm is used to perform off-line learning for deriving the best membership functions in a simulator. In the second stage, the fuzzy membership functions obtained from the simulator are on-line adjusted on a real robot using the techniques of reinforcement learning. The learning outcomes from the first stage are not practical but reasonable and they can be adjusted with fewer iterations of on-line learning in the second stage. In this manner, the overall learning time can be reduced with less damage on the robot hardware. The proposed method was verified on a real, wheel-type vision-based, robot. The experimental results show that the proposed method effectively produce optimal fuzzy membership functions for the control of a real robot. Keyword: intelligent robot, machine learning, fuzzy control, fuzzy membership functions, genetic algorithm, reinforcement- learning. iii.

(4) 致謝 本論文能夠順利完成,首先要感謝的是我的指導老師吳志宏老師,在撰寫碩士論文 時,不論是學術方面、生活技能甚至到待人處事的道理,老師都用淺移墨化的方式引導 著我,讓我學到不僅是學術上的知識,也讓我學到了許多待人處事的道理。從第一次遠 征韓國發表國際期刊論文、第一次煮飯、第一次帶活動、第一次當總召,種種的第一次 都在我碩士生涯中種下了許多回憶的種子,相信不管這些回憶是溫馨、苦澀、感動或是 疲憊的,都深深的影響我的人生態度。感謝口試委員夏郭賢老師、歐陽振森老師以及潘 欣泰老師所提供的寶貴意見,使得這篇論文得以更加完善。 感謝與我共度三年的俐雯,謝謝你陪我這麼久的時光。一起討論課業、一起分享生 活趣事、一起研究智慧型手機、一起出團隊、一起吃飯、聊天、一起為論文奮戰到天亮, 你總是在我最脆弱的時候在我身邊給我溫暖與關心,你是我在研究上重要的夥伴也是我 最珍惜的朋友。感謝旻良幫我這麼多忙,沒有你我可能沒辦法喜歡上機器人。感謝彥合 學長、銘宏學長、河馬學長、佳霖學長和老葉學長,在我碩一的時候傳授給我許多寶貴 的經驗。感謝建榮,你是我見過最棒的學弟了,尊重學長且穩重、懂事,這兩年你幫了 我好多忙,很高興能有你這位學弟。就甘心的右棟,謝謝你幫我慶生,讓我永生難忘。 創意總監立偉,有你在實驗室不會無聊。細心的婉伊,感謝你這兩年的幫忙。感謝冬瓜、 錦源,在最後幾天陪我到天亮,並且在研究的過程中幫我度過許多難關。感謝瓏軒在電 腦軟、硬體方面的幫忙,因為有你支援,我才能夠專心致力於研究上。感謝冠文、瑞麒 與碩一的學弟們,協助我完成研究上的許多實驗。感謝信慈、小葉與 ViCL 的各位,有 你們的相伴,使我的研究生涯更多采多姿。 最後,感謝我最親愛的父母。在我求學的過程中不論是金錢上還是精神上都扶持著 我,謝謝你們的栽培,希望自己能夠更成熟、讓我更積極、更努力的把自己做好。. 林宜陞 謹誌於 國立高雄大學電機工程學系 中華民國 一百零一 年 九 月 iv.

(5) 目錄 摘要............................................................................................................................................ii ABSTRACT ............................................................................................................................. iii 致謝........................................................................................................................................... iv 目錄............................................................................................................................................ v 表目錄......................................................................................................................................vii 圖目錄.................................................................................................................................... viii 圖目錄.................................................................................................................................... viii 第一章、緒論............................................................................................................................ 1 1.1 研究背景與動機......................................................................................................... 1 1.2 研究目的與方法......................................................................................................... 3 1.3 研究流程..................................................................................................................... 4 1.4 論文架構..................................................................................................................... 5 第二章、背景知識與相關文獻................................................................................................ 6 2.1 模糊邏輯控制............................................................................................................. 6 2.1.1 模糊集合與歸屬函數....................................................................................... 7 2.1.2 模糊規則庫....................................................................................................... 8 2.1.3 模糊化介面、模糊推論引擎、解模糊化....................................................... 9 2.1.4 模糊控制相關文獻........................................................................................ 11 2.2 基因演算法............................................................................................................... 12 2.2.1 基本運作原理................................................................................................ 12 2.2.2 基因演算法相關文獻.................................................................................... 14 2.3 增強式學習............................................................................................................... 15 2.3.1 增強式學習基本運作原理............................................................................ 15 2.3.2 增強式學習相關文獻.................................................................................... 19 第三章、機構設計與控制方法.............................................................................................. 20 3.1 機構設計................................................................................................................... 20 3.3 模糊控制方法........................................................................................................... 22 第四章、離線式之基因演算法的使用.................................................................................. 28 4.1 問題分析................................................................................................................... 28 4.2 染色體編碼............................................................................................................... 29 4.3 交配與突變方法....................................................................................................... 30 4.4 適應度函式................................................................................................................ 31 4.5 離線式學習測試流程............................................................................................... 33 第五章、增強式學習法.......................................................................................................... 35 5.1 狀態對應動作之設計............................................................................................... 35 v.

(6) 5.2 增強式學習之 Q-learning ........................................................................................ 36 5.3 增強式學習步驟與流程........................................................................................... 39 5.4 基因演算法與增強式學習之整合........................................................................... 40 第六章、實驗與結果分析...................................................................................................... 42 6.1 實驗架構................................................................................................................... 42 6.2 實驗 A:回授控制與模糊控制之比較 ................................................................... 43 6.3 實驗 B:基因演算法之數值模擬 ........................................................................... 47 6.3.1 參數調整........................................................................................................ 47 6.3.2 最佳染色體之實驗結果................................................................................ 49 6.4 實驗 C:增強式學習微調歸屬函數 ....................................................................... 51 6.5 實驗 D:綜合比較 ................................................................................................... 58 第七章、結論與未來展望...................................................................................................... 61 7.1 結論........................................................................................................................... 61 7.2 未來展望................................................................................................................... 62 參考文獻.................................................................................................................................. 63  . vi.

(7) 表目錄 表- 1 Q-TABLE 狀態-動作價值表 ............................................................................................ 18 表- 2 Q-TABLE 更新前之價值.................................................................................................. 18 表- 3 Q-TABLE 更新後之價值.................................................................................................. 18 表- 4 單一目標拾取模糊規則 ................................................................................................ 25 表- 5 增強式學習之動作修正表 ............................................................................................ 37 表- 6 距離變化趨勢 ................................................................................................................ 45 表- 7 角度變化趨勢 ................................................................................................................ 45 表- 8 撿拾單一目標,效率與成功率比較表 ........................................................................ 46 表- 9 模糊歸屬函數調整前後,效率與成功率比較表 ........................................................ 46 表- 10 演化代數組合表 .......................................................................................................... 47 表- 11 各調整參數的適應度 .................................................................................................. 48 表- 12 基因演算法實驗參數 .................................................................................................. 49 表- 13 最佳歸屬函數撿拾單一目標的成功率 ...................................................................... 49 表- 14 歸屬函數圖形與適應度 .............................................................................................. 50 表- 15 以專家主觀認定的方法決定歸屬函數之實際拾取目標物件結果 .......................... 51 表- 16 第一組模糊歸屬函數之測試結果 .............................................................................. 52 表- 17 第二組模糊歸屬函數之測試結果 .............................................................................. 52 表- 18 第三組模糊歸屬函數之測試結果 .............................................................................. 53 表- 19 第四組模糊歸屬函數之測試結果 .............................................................................. 53 表- 20 第五組模糊歸屬函數之測試結果 .............................................................................. 54 表- 21 專家調整之歸屬函數 1 之測試結果 .......................................................................... 56 表- 22 專家調整之歸屬函數 2 之測試結果 .......................................................................... 56 表- 23 負重對機器人的影響 .................................................................................................. 58 表- 24 負重對機器人的影響 .................................................................................................. 58 表- 25 負重對機器人的影響 .................................................................................................. 59 表- 26 各方法執行效率綜合比較 .......................................................................................... 60. vii.

(8) 圖目錄 圖- 1 研究進行流程圖 .............................................................................................................. 4 圖- 2 模糊推論系統架構圖 ...................................................................................................... 7 圖- 3 各種歸屬函數型式 .......................................................................................................... 8 圖- 4 基因演算法流程圖 ........................................................................................................ 14 圖- 5 增強式學習架構圖 ........................................................................................................ 16 圖- 6 Q-LEARNING 演算法 ....................................................................................................... 17 圖- 7 機器人機構簡圖 ............................................................................................................ 20 圖- 8 機器人攝影機視野與傾角 ............................................................................................ 21 圖- 9 機器人手臂控制動作 .................................................................................................... 21 圖- 10 影像處理流程圖 .......................................................................................................... 23 圖- 11 攝影機影像區域規劃 .................................................................................................. 23 圖- 12 控制機器人的模糊歸屬函數 ...................................................................................... 25 圖- 13 模糊控制流程圖 .......................................................................................................... 27 圖- 14 模糊控制歸屬函數圖 .................................................................................................. 29 圖- 15 模糊歸屬函數與染色體編碼方式 .............................................................................. 30 圖- 16 染色體交配示意圖 ...................................................................................................... 30 圖- 17 在模擬器中取 N 個點作測試 ..................................................................................... 32 圖- 18 比較歸屬函數不同,所造成的影像軌跡圖 .............................................................. 33 圖- 19 基因演算法與模糊理論結合之流程圖 ...................................................................... 34 圖- 20 增強式學習四種狀態 .................................................................................................. 35 圖- 21 模糊控制歸屬函數可調整之參數 .............................................................................. 36 圖- 22 運用 Q-TABLE 與 C-TABLE 來修改歸屬函數之方法 .................................................. 38 圖- 23 增強式學習流程圖 ...................................................................................................... 40 圖- 24 基因演算法結合增強式學習之流程簡圖 .................................................................. 41 圖- 25 實體機器人之三視圖 .................................................................................................. 42 圖- 26 環境建置與目標物件 .................................................................................................. 42 圖- 27 PID 回授控制架構圖 ................................................................................................... 43 圖- 28 撿拾目標物件測試場地規劃圖 .................................................................................. 44 圖- 29 PID 回授控制架構圖 ................................................................................................... 45 圖- 30 拾取目標物件之測試點 .............................................................................................. 51 圖- 31 機器學習修正前後的比較 .......................................................................................... 55 圖- 32 修正前後的機器人路徑比較 ...................................................................................... 55 圖- 33 五條染色體之修正次數趨勢圖 .................................................................................. 57 圖- 34 十條染色體之修正次數趨勢圖 .................................................................................. 57 圖- 35 載重影響成功率與時間趨勢圖 .................................................................................. 59 圖- 36 綜合比較長條圖 .......................................................................................................... 60 viii.

(9) 第一章、緒論 1.1 研究背景與動機 智慧型機器人(intelligent robotics)是一種多功能的全自動或半自動機械裝置, 結合人工智慧與感測技術可以自主地執行各項任務。隨著機器人相關技術的進 步,機器人已廣泛應用於汽車、飛機、船舶製造,更擴展到居家照護、娛樂服務、 資訊整合等各個層面[1][23][12][10],為一個高度技術整合、高附加價值的未來產 業,對於國家經濟與工業整體發展具有關鍵性的指標地位。 智慧型機器人的三項基本作業為:感測(sense)、思考(plan)與動作(act)。感測 是以擷取機器人環境的相關資料;思考係指執行演算法以進行定位與路徑規劃; 動作則需驅動致動器(actuator)以控制機器人運動。傳統機器人運動控制,通常採用 回授控制(feedback control)的方式[17],在固定環境因素下發展出可靠的數學控制 模型。然而,當被控對象的控制方式複雜,或具有多輸入、多輸出、參數時變性 高和嚴重的非線性特性時,從環境所能獲得的知識訊息量也會相對地減少,採用 傳統的回授控制難以獲得滿意的控制效果。為了解決前述的問題,近年來模糊控 制(fuzzy control)常被用在機器人控制上,通常能得到比傳統回授控制更好的控制 性能,相關研究文獻探討請見第二章第 2.1.7 節。 應用模糊控制來控制系統時,影響系統輸出的原因有兩項:模糊規則(fuzzy rule) 和歸屬函數(membership function)。模糊規則通常為一種直觀的判斷,例如當車速 快且距離前方車輛近時,要做減速的動作。此類模糊規則常由專家主觀認定的方 法來制定,在合理的條件下通常效果都不錯。但歸屬函數的調整比較複雜,根據 不同的模糊集合在不同的問題有不同的歸屬函數。專家主觀認定的方法制定歸屬 函數通常需要反覆驗證,以系統實驗方式透過試誤法(trial-and-error)才能決定出一 組較好的方法。但由於組合繁多,往往需要很長的時間才能調出一個最佳解來。 1.

(10) 本研究的動機是希望能以機器學習(machine learning)技術有效地找出機器人控制 最適合的模糊歸屬函數。 機器學習是一類從數據中自動分析獲得規律,並利用規律對未知數據進行預 測的演算法。基本上,機器學習方式可以概分為兩類:在線式學習(on-line learning) 與離線式學習(off-line learning)。在線式學習是將機器學習演算法實際安裝在應用 對象上,並在其真實的應用環境中蒐集資料,進行學習與反應。離線式學習是將 機器學習演算法與應用對象分離,先在可控制的模擬環境下以軟體型式完成合理 的學習模型,再將最後的結果套用在實際應用中。然而,此二方法在機器人的應 用中會有以下的問題。 1.. 在線式學習:此機器學習的優點是能真實的呈現出機器人在現實環境影響 下呈現出的行為。但由於機器學習往往需要經過數百次甚至數千次的學習 循環,才能夠收斂到較佳的解答,在執行的過程中如果採用此機器學習 法,一方面會耗費許多實機測試的時間,另一方面會造成實體機器人的耗 損。. 2.. 離線式學習:此機器學習的優點是能減少機器耗損的風險,並透過電腦模 擬的方式達到省時的目的。缺點就是對真實環境,如摩擦、貫性、動力、 彈性…等物理因子不容易模擬,導致學習的結果只適合簡化理想條件下的 環境,無法直接應用於真實的機器人上。. 因此,本研究企圖結合此兩種機器學習方法的優點,達到使機器人的行為符合現 實環境,並能自己有效率的找到最佳控制策略的目的。. 2.

(11) 1.2 研究目的與方法 本研究的基本想法是以離線式學習的方式在合理設計下的模擬中,先快速找 出合理的模糊歸屬函數,再將所獲得之模糊歸屬函數以在線式學習的方式,實際 在真實機器人上作系統化調整。由於離線式學習可以增加演化學習的效率,減少 實體機器人的耗損,而在線式學習可以得到較為接近真實狀況下的測試結果,減 少因過度理想化而無法實踐在現實環境下的問題。此兩技術的結合可以有效率的 找出最適合用於智慧型機器人控制的最佳模糊歸屬函數。本研究使用兩階段式的 機器學習法,在離線式學習中採用基因演算法(genetic algorithm),在在線式學習部 分採用增強式學習技術(reinforcement learning),並提出系統化的修正方法。希望能 解決以傳統專家主觀認定的方法調整歸屬函數上,過度複雜而花時間又僅得到區 域最佳解的缺陷。由於模糊歸屬函數的組合有許多種,基因演算法有強大的搜尋 最佳解的能力,故第一階段先採用基因演算法求出近似理想解;第二階段再透過 增強式學習修正第一階段產生出的歸屬函數,使機器人能夠快速的找到理想的模 糊控制參數,並在實際環境上執行也能有優秀的表現。本研究的實測對象是四輪 機器人,其任務是偵測環境、影像辨識、路徑規畫並驅動機器手臂撿拾目標物件。 本研究分成三階段來進行,茲分別說明如下: . 第一階段:透過模擬器模擬機器人撿拾目標物件的動作,並應用基因演算法 找出理想的歸屬函數。. . 第二階段:將第一階段的結果代入實體保全型機器人中,在現實環境下做拾 取目標物件的測試。透過實機測試發現動作的缺陷,再使用增強式學習來修 正其歸屬函數,使機器人能夠在現實環境下達到理想的控制效果。. . 第三階段:將前兩段獲得之理想的歸屬函數進行不同條件下的實機測試,並 比較使用專家主觀認定的方法、基因演算法和增強式學習產生歸屬函數對機 器人控制所造成的影響。. 3.

(12) 1.3 研究流程 本研究流程如下圖所示,主要分為相關文獻收集與探討、撰寫實驗所需的模 擬器、機器學習設計、建立實體機器人、實驗及結果分析等部分。 . 相關文獻收集與探討:包含相關的研究背景與問題定義,參考模糊控制、基 因演算法、增強式學習等相關文獻與資料,將問題範圍設定在智慧型機器人 拾取目標物件的控制過程,以釐清問題並了解相關技術的優缺點。. . 模擬器撰寫:將實體機器人透過模糊控制產生的行為紀錄下來,透過簡單的 數學模型模擬機器人的控制行為,並用實驗歸納法找出機器人實際座標與影 像座標的轉換關係,藉此建立以模糊控制為基礎的機器人模擬器。. . 撰寫機器學習演算法程式:撰寫基因演算法與增強式學習修正所需之程式。. . 實驗結果及結論:依實驗結果分析,探討此機器學習方法之效果與應用,並 建議未來的研究方向。. 相關文獻收集 與探討. 期刊、論 文及書籍. 模擬器撰寫. 撰寫實驗所 需程式. 1.模糊控制程式 2.模擬器程式 3.基因演算法演化模組 4.增強式學習 更新Q-table模組. 實驗結果及結 論 圖- 1 研究進行流程圖. 4.

(13) 1.4 論文架構 本論文的論文架構如下:第一章說明本研究的研究背景與動機;第二章簡述 其相關文獻,探討類似的方法應用的優缺點並介紹本論文使用的背景知識。第三 章為機器人的機構設計與控制方法,第四章提出基因演算法應用模擬器的流程規 劃,第五章為增強式學習應用於實體機器人與兩階段實驗所採用的演算法設計。 第六章實驗與分析,說明各階段的實驗設計、實驗結果與分項結論。第七章說明 研究的結果以及未來可以改進的方向。. 5.

(14) 第二章、背景知識與相關文獻 本章針對本研究採用之技術與相關文獻作一簡述。依序討論模糊控制、基因 演算法、增強式學習。. 2.1 模糊邏輯控制 模糊理論是札德教授(L.A. Zadeh)在 1965 年,於資訊與控制專門性學術雜誌上 提出的概念[17],內容提及某些不易定義的模糊事物,可利用模糊集合(fuzzy set) 來進行討論,並使用語言變數來描述其系統特性。模糊理論認為人類的思考是模 糊的,即使條件和資料不明確的時候,仍必須做下判斷。相對於現在電腦的兩極 邏輯非 0 即 1,模糊理論可以提供一個方法,將問題的解答以 0 到 1 的數值來表示 其模糊的概念,稱之為歸屬函數,將人類的主觀判斷數值化,使得電腦也能夠以 更像人類的思考方式來控制。 模糊控制是結合人類的經驗及知識上的推理過程,並將其直接運用於控制 器,進而間接減少對於數學模型的依賴,此方法對於研究中具不確定過程的機器 人控制有著極大的效益。模糊控制的基本流程如下: STEP-1:. 將輸入的元素與集合之間的關係,從明確關係推廣成模糊關 係。. STEP-2:. 將一個或多個模糊關係做模糊推理求得對應的結論。. STEP-3:. 將結論做解模糊化,即可獲得明確的結果。. 模糊控制器的組成如圖- 2 所示,主要包含四個部份:模糊化(fuzzification)、 模糊規則庫(fuzzy rule base)、模糊推論引擎(fuzzy inference engine)及解模糊化 (defuzzification),下面將對每一部份加以說明。. 6.

(15) 模糊規則庫 (Fuzzy Rule Base). 模糊化 (Fuzzification). 狀態或輸出. 模糊推論引擎 (Fuzzyinference Engine) 受控系統 (Controlled System). 解模糊化 (Defuzzification). 明確的控制值. 圖- 2 模糊推論系統架構圖. 2.1.1 模糊集合與歸屬函數 假設 X 為一可能是連續或是離散的集合,則 X 可稱為論域,x 表示論域 X 的 元素,模糊集合是用歸屬函數來表示的,因此可以定義模糊集合如下式: A   x,  A  x  x  X . (1). 若 X 為連續論域: 0.  A x . x. x. A. 若 X 為離散論域: n.  A  xi . i 1. xi. A. (2).  X  x1 , x 2 , x3 , ..., xn  (3). 其中  A x  稱之為模糊集合 A 的歸屬函數,  A  xi  則稱為元素 xi 的歸屬度。 歸屬函數為模糊集合所採用的表示函數,其值介於 0 至 1 之間,定義如下式:.  A : X  [0,1] (0   A  x   1, x  X ). (4). 歸屬函數可以描述模糊集合的性質,對於模糊集合來進行量化,並透過歸屬函數 即可利用精確的數學方法處理模糊或界限較不明確的事物。此外,在模糊集合中 所使用的歸屬函數,一般都為凸集合(convex set)及可正規化的性質,且歸屬函數可 分為數值及函數等兩種定義的方式,數值之定義方式稱為離散型歸屬函數,是直 7.

(16) 接給予模糊集合內所有元素的歸屬程度。而函數定義方式又稱之為連續型歸屬函 數,在應用上通常都使用連續型式,而較常見的有三角形、梯形、高斯形等歸屬 函數,如圖- 3 所示。. 1. 0. 1. a. b. c. 1. 0. (a) 三角形歸屬函數. a. b. c. d. (b) 梯形歸屬函數. 0. m. (c) 高斯形歸屬函數. 圖- 3 各種歸屬函數型式. 2.1.2 模糊規則庫 模糊規則庫是整個模糊邏輯控制器的核心結構,主要作為判斷模糊輸出的依 據,具有模擬人類作決策判斷的能力。在模糊規則庫之中,主要是基於專家的知 識定義成的模糊規則,並以語意的形式呈現,如下式: R n : if X is A and Y is B then Z is C. (5). 在上式中,Rn 為規則庫中的其中一項,而 If 部分為提供判斷此語句成立與否 的條件,最後在 Then 部分則用來表現判斷符合條件之推論結果。在此 X、Y 為模 糊控制系統的輸入變數,通常為被觀察或量測的對象;而 Z 則是模糊控制系統中 的輸出變數,主要用來控制受控系統。規則中的 A、B 及 C,則是透過語意式來表 現出模糊性概念,例如:大中小、冷熱、近遠的定義等,因為這些都是較為主觀 的意識,且不易以數據來表示,故利用歸屬函數的方式將其定義。這種 If…Then 的規則,稱之為模糊規則。而當輸入的項目變多時,其可以組合出來的模糊規則 也會跟著增加。例如:將車距分為“近"與“遠",將車速分為“快"和“慢", 就可以組合出 4 種模糊規則。 8.

(17) R1: If (車距 is 近) And (車速 is 慢) Then 加速度 is 等速 R2: If (車距 is 近) And (車速 is 快) Then 加速度 is 減速 R3: If (車距 is 遠) And (車速 is 慢) Then 加速度 is 加速 R4: If (車距 is 遠) And (車速 is 快) Then 加速度 is 等速. 2.1.3 模糊化介面、模糊推論引擎、解模糊化 模糊化介面是將明確的輸入值利用歸屬函數找出相對應的模糊標籤和歸屬度 的過程,也就是將明確的資料模糊化成語意的資訊,變成能讓模糊控制所使用的 模糊變數。其主要功能可以分為以下幾項: 1.. 取得明確的輸入數值. 2.. 將輸入值作正規化處理. 3.. 應用尺度映射的方式,求出相對於各個歸屬函數的歸屬度。. 模糊推論引擎為模糊推論系統的核心部分,模糊推論是根據模糊規則庫保存 的模糊規則和給予的事實推導出新的結論,當定義出模糊規則後,必須要將模糊 關係做合成運算,常見的模糊推論引擎大致分為四種: . 最大-最小合成 (max-min operation):.  B ( y )  max[min( A ( x),  A B ( x, y ))]. (6). x. . 最大乘積合成 (Max product operation):.  B ( y )  max[  A ( x)   A B ( x, y )]. (7). x. . 最大邊界積合成 (Max bounded product operation):.  B ( y )  max[  A ( x) A B ( x, y )]. (8). x. . 最大激烈積合成 (Max drastic product operation):.  B ( y )  max A ( x)ˆ  A B ( x, y ). (9). x. 其中,由於「最大-最小合成」與「最大乘積合成」所需的計算較為簡單並且 9.

(18) 有效率,因此最常被使用。本研究中採用最大-最小合成法,整合多位專家之間的 看法與意見,使之達成共識及一致性,不但能節省時間與成本,而且能忠實的表 示群體意見,不扭曲各專家原來的觀點。 解模糊化的過程與模糊化為相反,主要目的在於將模糊推論的結果轉換為明 確值,進而控制受控系統。而解模糊化需符合下列幾項原則:. 1.合理性:如同人類的直覺必須是具有合理性的。 2.運算簡單:主要考量模糊控制系統運作時之執行效率。 3.具連續性:在模糊集合的函數形狀有變化時,明確值位置之變化不得過大。 符合上面三項規則的話,所定義的解模糊化方法就能被接受,目前較為常用 的解模糊化方法有重心法、最大中心法及最大均值法,其中以重心法 (Center of. Gravity, COG)為最常用,亦為本研究所採用之方法,主要是在求推論結果的輸出 歸屬函數合成後的面積重心位置,並以其對應受控物的輸出操作量。其連續值公 式可表示為: U.    y   y dy    y  dy B. ( 10 ). B. U:模糊控制器的控制輸出量 y:控制規則所對應之輸入歸屬函數的歸屬值 μB (y):控制規則所對應之輸出歸屬函數的歸屬值 以離散方式可以減少計算的時間,故可將輸出論域 Y 分成 p 個離散值,即 Y  y1 , y 2 ,, y P  ,重心公式可表示為: p. U.  y  ( y ) i. i 1. i. ( 11 ). p.  ( y ) i 1. i. yi :第 i 個控制規則所對應之輸入歸屬函數的歸屬值.  ( yi ) :第 i 個控制規則所對應之輸出歸屬函數的歸屬值 大多數的自動機控制皆使用重心法解模糊化方法。因此,本研究中之智慧型機器 10.

(19) 人撿取目標物控系統採用重心法來作為解模糊化的方法,為了加速計算時間,採 用離散的方式計算其重心。. 2.1.4 模糊控制相關文獻 模糊理論是近年來十分熱門的研究課題之一,而且在部份商品化的產品中已 經常被使用[13][23][35]。學者 Yong Duan 於 2005 年時,提出一種解決機器人在未 知且複雜的場地自動導航問題的方法[47],透過結合模糊邏輯控制與增強式學習, 使機器人具備避障與撿拾目標物件的能力,且可以執行沿牆走路的行為。使用行 為交換表(behavior-switching scheme)切換兩種模糊邏輯控制方法,使機器人能夠自 我逃離凹型陷阱,並找到追尋目標的最佳路徑。學者 E. A. Fares 等人於 2007 年時, 提出一種結合基因演算法與模糊邏輯控制應用在視覺型機器人的方法[9]。藉由基 因演算法調整模糊控制的歸屬函數,透過隨機選擇參數生成模糊歸屬函數,控制 三個自由度的機器手臂,結果顯示以基因演算法驅動模糊控制器的確能夠消除穩 態誤差並降低均方誤差(mean square error)。. [43]將模糊邏輯控制與基因演算法應用在小型移動機器人導航模擬上,首先以 模糊邏輯控制產生初始化的歸屬函數,再使用基因演算法計算出最佳的歸屬函 數,最後使用電腦模擬未知場地來驗證本方法。[20]使用權重法來簡化傳統模糊控 制在多輸出輸入時的複雜性,再利用基因演算法演算法搜尋出最好的權重值,進 而提高小型移動機器人的避障功能。[5]結合梯度法與基因演算法優化模糊控制來 達到小型移動機器人導航功能,並實作在機器人上。[26]使用專法調整模糊控制機 器人輪子的歸屬函數來使小型移動型機器人達到避障的功能,最後以模擬的方式 驗證。[40]利用鳥群演算法決定模糊控制的初始模糊規則,之後使用基於目標模糊 規則(meta fuzzy rules)的 Context Dependent Blending 方法做出最後的決定動作,並 以 matlab/simulink 模擬驗證。. 11.

(20) 2.2 基因演算法 基因演算法為演化式演算法(evolutionary algorithm)中最著名也是使用最多的 方法。 1975 年,由 John Holland 在其著作“ Adaptation in Natural and Artificial. Systems"中奠定了基因演算法的基礎[16],根據達爾文進化論「適者生存,不適 者淘汰」的道理,藉由生物交配、突變、選擇的方式尋得適當的問題最佳解,為 一種有效的最佳化收尋方法。近年來被廣泛的應用於收尋各類問題的最佳解,並 結合其他方法,如類神經網路、模糊理論、增強式學習等,應用在影像處理、醫 學、機器人學、建築學等領域。. 2.2.1 基本運作原理 基因演算法採用三種基本的運作機制以模仿自然遺傳的過程,包括複製. (reproduction)、交配(crossover)、突變(mutation),在合理的時間範圍內求得近似最 佳解,其基本步驟如下所式: . 編碼(encoding):將問題的解答以一長串數字或是字元所組成的序列。.  初始化(initialization):隨機產生一定數量的個體,有時候操作者也可以干 預隨機產生的過程,讓第一代的族群就擁有著部份優化的個體。.  評估(assess):經由適應性函式(fitness function)的或代價函數(cost function) 評估,來分辨個體的好壞。 . 選擇(selection) :選擇是依據每一物種的適應程度來決定下一代中應被淘. 汰或複製且保留的個數多寡的一種運算過程。選擇過程有兩種形式:. (a) 輪盤式選擇(roulette wheel selection):在每一代的演化過程中,首先依 每個染色體的適應函數值的大小來分割輪盤的位置,適應函數值越大的 話,則在輪盤上佔有的面積比例也越大,每個物種在輪盤上佔有的面積 比例越大代表被挑選到交配池中的機率越大,然後隨機選取輪盤的一 12.

(21) 點,其所對應的物種即被選入到交配池中。. (b) 競爭式選擇(tournament selection):在每一代的演化過程中首先隨機地 選取兩個或更多的染色體,具有最大適應函數值的染色體即被選中送至 交配池中。.  交配(crossover):交配運算式,依據交配率從染色體中隨機地任意兩個字 元串,經彼此交換字元串的某些位元資訊而產生兩個新位元字串的一種過 程,一般而言交配運算可以用三種方式進行交配:(a)單點交配(b)雙點交配(c) 均勻交配。.  突變(mutation):突變的過程是隨機的選取一物種的字串,並隨機選取突 變點,並改變物種字串裡的位元資訊突變過程發生機率由突變機率所控制。 突變過程可以針對單一位元或對整個字串進行突變演算,對於二進制的位元 字串就是將字串的0變1,1變成0。.  淘汰(natural selection):透過適應性函式評估新的個體,弱勢的個體將會 被淘汰掉。保留下較好的個體行程新的一個世代。 . 終止條件(termination):終止的條件主要有三種:第一種,適應值達到特. 定標準。第二種,演化到一定代數。第三種,族群演化達到收斂的穩定狀態。. 基因演算法的處理流程圖如圖- 4所示。最初,隨機初始化產生規模為N的群體 稱為第0代,然後去評估每一個個體(染色體)得到適應值(fitness value)。接著根據既 定的挑選機制來複製個體進行遺傳演化。最典型的做法是根據個體的適應值,每 一次挑選兩個個體當做雙親,適應值較高者被挑選的機率大於適應值較低者,因 此高適應值的個體有較高的機會繁衍後代。雙親根據交配機率決定是否要進行交 配產生子代,產生後的子代再根據突變機率決定是否要做進一步的突變。交配是 主要的遺傳運算,而突變只是次要的動作。產生後的子代或原來的雙親 (沒有進行 交配或突變者)共同組成下一世代,如此繼續進行直到滿足終止條件為止。 13.

(22) 染色體編碼 初始化 評估適應度. 產生新一代 突變. 滿足終 止條件. NO 交配. YES. 選擇. 輸出最佳解. 圖- 4 基因演算法流程圖. 2.2.2 基因演算法相關文獻 近年來有許多學者提出結合基因演算法與模糊控制(Fuzzy Control)來優化機器 人控制的方法,[13]將基因演算法應用在修改輸入、輸出的模糊控制歸屬函數,他 們使用 Matlab 應用程式 Kiks II 來模擬 Khepera II 機器人,最後再將結果應用在實 體 Khepera II 機器人身上,並發現這個方法的效果優於 FLC。 同樣是要計算出合適的模糊控制歸屬函數,[48]將基因演算法用在最佳化模糊 歸屬函數的寬度與中心值。[46]在染色體的表示上採用 0 與 1 的二位元表示法,成 功地組合出不同的歸屬函數,以利基因演算法做計算。[37]將基因演算法的染色體 切為三大區塊,分別控制機體是否採用此項規則、控制模糊歸屬函數的輸出入參 數、控制過程和結果的模糊參數,再用多點交配加速基因演算法演化。除了改變 歸屬函數的方法外,[21]更使用基因演算法去尋找計算適用於每個模糊規則的最佳 權重參數,並比較直接式基因演算法與增量式基因演算法的效能。 目前對於機器人在物件追跡與避障上有相當多的成果。其中,[35]藉由模糊理 論來完成車體跟蹤與避開障礙,使導航車跟蹤領航車,在距離與角度皆為模糊的 14.

(23) 資訊下,完成跟蹤任務。[4]使用了李亞普諾夫系統(Lyapunov function)在動態障礙 的環境下完成目標追蹤與避障。[15]使用了類神經網路完成機動型機器人走訪房間 的任務。在感測器上,[11][24]以影像處理來當作機器人追蹤物件與導航的感測。. [10]利用單眼視覺對於視線內的特定圖形範圍進行距離與角度的判斷,並利用模糊 理論進行路徑規劃對於輪型機器人進行控制。另外也有以雙眼視覺計算出目標物 的角度來做模糊控制的相關研究[3]。 在 影 像 處 理 方 面 , [18] 使 用 單 眼 視 覺 一 維 投 影 法 (1-dimensional projection. algorithm)提取出球體的影像位置。球體定位後,需要鎖定目標的物件。[1]提出預 估模板匹配(expectation-based template matching)的方式,達到機器人追蹤並鎖定目 標的目的,實現導航與圖像物件追蹤的整合。最後在實際運用上,[30]更利用影像 擷取步行影像特色,來實現跟隨人類的輪椅機器人。. 2.3 增強式學習 增強式學習主要是代理人(agent)藉由每次與環境互動的過程中學習經驗,自行 發掘在各種狀態下應該如何動作,最後達成目標的方法。. 2.3.1 增強式學習基本運作原理 基本上,一般的增強式學習包含了五個部份:. 1. 學習者或決策者稱為代理人(agent) 2. 代理人所做出的決定動作(action) 3. 與代理人做互動的環境(environment) 4. 評價代理人決策好壞的回饋值(reward) 5. 代理人所處的狀態(state) 這五個部份的關係,如圖- 5所示。代理人會根據現在所處的狀態( S t  )以及之前的 經驗,來決定要採取怎麼樣的動作( at  );而這個動作會對環境造成改變,因此會 15.

(24) 產生出新的狀態( S t  1 ),並且同時會針對這個動作來評估好壞,傳回去給代理 人;代理人便可以根據傳回來的回饋值( r t  1 ),累積起經驗,作為下次決策的參 考。如此週而復始的不斷循環後,最終使代理人在各種狀況下,都可以做出最適 當、最符合長遠利益的決策。. 圖- 5 增強式學習架構圖. Q-Learning 為增強式學習的一種學習方法,藉由建立每一個狀態對應每一個動 作之 Q 值的查詢表(look-up table),Q-learning 可以順利地處理存在少量離散狀態與 作空間上的問題。其演算法如圖- 6 所示,利用 Q 值來累積每次採取動作後所學到 的經驗,每個 Q 值各自都會趨向一個理想值 Q*。然而 Q*是要經過無窮多次的學 習之後,才能夠達到的理想值,因此在演算法中,Q*會以下一個狀態的 Q 最大值 來代替[39]。. Q-Learning 若以數學方式表示可以寫成公式( 12 ),以下個狀態所學習到的最 佳 Q 值來當作學習的目標。隨著學習次數的增加,max (st+1 ,at+1)當作目標來做更 新,因此每個狀態的 Q 值也會越來越具有可信度,依據 Q 值所做的決策動作 a 也 會更恰當。. Q*  max Q( st 1 , at 1 ). ( 12 ). at  1. Q ( s t , a t )  Q ( s t , a t )   [ rt 1   max Q ( s t 1 , at 1 )  Q ( s t , a t )] a. 16. ( 13 ).

(25) Algorithm: Q-Learning Algorithm 1. Initialize Q(st , at) 2. Repeat for each step of episode:. (a) Initialize st (b) Repeat (for each step of episode): Choose a from s using policy derived from Q Take action at Observe r t+1 , s t+1 Q ( s t , a t )  Q ( s t , a t )   [ rt 1   max Q ( s t 1 , a t 1 )  Q ( s t , a t )] a. 圖- 6 Q-Learning 演算法 公式( 13 )為Q值的更新公式,其中的 Q*  max Q( st 1 , at 1 ) 便是Q值所要學習的 at 1. 目標;α是學習率,介於0到1,用來調整學習步距的大小;r值是根據這次的決策 動作a所得到的立即回饋值,代表這次動作的好壞; max Q( st 1 , at 1 ) 則是依照目前 at 1. 所學習到的經驗,從狀態st+1開始到終點過程中的所有回饋值累積,因此累積的越 多,表示從狀態st+1越能夠成功地到達終點。γ 是時間衰減係數,介於0到1之間, 在概念上的意義是所學到的經驗,會隨著時間的流逝,慢慢地淡忘掉;在數學上 的意義是讓回饋值(r)在經過多次累加之後,不至於發散,而會收斂至 r * (. 1 )。 1 . 假設 Q 為在狀態 st 下選擇動作 at 的價值,α 為學習率,γ 為衰減值,r 為增強 訊號。每一個 Q-Learning 會對應一張 Q-table,表示每一個狀態對應到動作的價值。. Q-table 如下表:. 17.

(26) 表- 1 Q-table 狀態-動作價值表. a1. a2. s1. Q(s1,a1). Q(s1,a2). s2. Q(s2,a1). Q(s2,a2). …. am. …. Q(sn,am). sn. 假設原本的環境狀態為 s2 執行 a1 動作,其 Q-table 如下: 表- 2 Q-table 更新前之價值. a1. a2. s1. Q(s1,a1). Q(s1,a2). s2. 0.6. 0.2. …. am. …. Q(sn,am). sn. 假設 α=0.3;γ=0.5;r=0.9,依據( 13 )可以得到修改後的 Q 值 = 0.6 + 0.3 * (0.9 + 0.5. * 0.8 - 0.6) = 0.81。 表- 3 Q-table 更新後之價值. a1. a2. s1. Q(s1,a1). Q(s1,a2). s2. 0.81. 0.2. …. am. …. Q(sn,am). sn. 以此方法更新 Q-table 即可以達成依不同的環境改變機器人相對應的動作,使 機器人擁有自我學習的功能。此種學習方式稱之為 Q-Learning。 18.

(27) 2.3.2 增強式學習相關文獻 增強式學習法屬於機器學習法的一種,增強式學習法是源自帕弗洛夫教授. (Pavlov)有關心理學的制約實驗所衍生的學習法則[14],由於該學習法則具有較為 簡易的狀態回授輸入訊號,並以獎勵的方式增強學習結果的收斂性,在實際物理 系統的應用上頗為簡易,近年來成為機器學習法的重要方法之一。. [41]將增強式學習法則運用於機器人的控制系統中,透過經驗法則定義當目標 物件落於機器人前方各個位置的理想動作序,並在實驗的過程中使用增強式學習 修改,使機器人即使在硬體上有所缺陷,也能夠自我修正每種狀態所對應的動作 序而達成指定的任務。其缺點為基因演算法的學習需要相當多的世代才能達成, 在此篇論文中作者將增強式學習法則直接套用於機器人控制系統的基因演算法 中,利用實作回授訊號作為增強式學習法則的輸入,並藉以提供基因演算法的修 正依據,雖然實作結果可以達成控制的目的,但是受限於基因演算法的即時(real. time)修正能力不足,整體學習機制長達十餘個小時。 [38]嘗試將貪婪式演算法(greedy algorithm)、基因演算法與增強式學習結合來 教機器人如何讓自己的行為變的更好。應用機器人去偵測一個環境的形狀並回報 給主控端環境的訊息,若機器人陷入區域問題(local problem)而無法跳脫,便使用 基因演算法來找到合適的動作序以跳脫此問題。機器人移動偵測環境時,同步更 新增強式學習之 Q 值(Q-value),達到同步偵測環境並學習該如何前進之效果。 在 2007 年,學者 Dongbing 和 Housheng 也提出結合基因演算法與增強式學習 應用在四足機器人踢足球控制,透過增強式學習去修改有限狀態機 (finite-state. machine)的狀態對應動作序列表,並使用基因演算法來決定模糊規則[7]。透過模擬 器與實機操作兩階段的實驗,可以證實透過模擬器能夠平行處理基因演算法方法 的運算,並透過實體機器人的測試提升實驗結果可行性,但由於使用有限狀態機 控制,使得增強式學習的效果被侷限於一定的範圍。 19.

(28) 第三章、機構設計與控制方法 3.1 機構設計 本論文所採用的機器人為四輪的機動型機器人,機體前方設置一個簡易型. CCD 攝影機用以感測環境,並裝有一隻固定式三軸機械手臂以夾取物體,如圖- 7 所示。本機器人應用於保全監控環境,其任務為巡邏環境、尋找目標物件、接近 目標物件、撿拾散落在視野中各個位置的特定物件。該機器人執行任務時,需以 機體上的 CCD 攝影機擷取影像並獲知目標物件的位置,並透過影像分析與模糊控 制使機體移動以接近目標物件。. 圖- 7 機器人機構簡圖 本研究中測試用的目標物件 (Target Object) 是散落於機器人的視野內,能被. CCD 攝影機視野所偵測,直徑 7 公分、重量 100 克之紅色空心球。由於此機器人 所採用的 CCD 為一般的網路攝影機,而非全景攝影機,因此 CCD 會有視角與視 野上的限制。CCD 所截取出來的影像為寬度 640 pixel 高度 480 pixel 的全彩影像,. CCD 安裝於機器人前端高度 28 公分的位置,視角約為左右 58°、上下 98.19 度, 並與水平面夾角 15.64 度向下傾斜。最小可視範圍為 34 公分,能夠分辨出紅色目 標物件的最遠距離約為 1.83 公尺,如圖- 8 所示。. 20.

(29) 17 cm. CCD camera. 19 cm. Box. 23.83°. 無法 辨識 區. 23.83° 22 cm 50.53° 11 cm. 34cm. 83cm. 66cm. 圖- 8 機器人攝影機視野與傾角 機器人的主要驅動裝置有二部分:一為拾取目標物件的機器手臂;另一為機 動用途的四輪移動平台。機械手臂的外觀與尺寸如圖- 7 所示。其中, CCD 位於 機械手臂兩隻支撐架的中央,固定在機器人平台之前端,旋臂端由四顆伺服馬達 控制手臂放下升起,拾取頭由一顆伺服馬達控制爪子開合,共為五個伺服馬達、 四個自由度。因為手臂的自由度受限設計,只能做出伸展手臂(M0)、開(M1)夾具、 合(M2)夾具、收縮手臂(M3)等三動作,所以機器人需移動機體,使目標物件落在有 效範圍。機器手臂依序執行伸展與夾取動作(動作順序 M0, M1, M2),即可拾取物件 並放入置物籃中(動作順序 M3, M1)。撿拾目標物件的側面流程如圖- 9。 M2 M1 M0. M3. 圖- 9 機器人手臂控制動作 底部移動平台的驅動輪分為左側兩輪(LF、LB)與右側兩輪(RF、RB)如圖- 7 所示,各連接至一個獨立的 1:30 減速直流馬達。直流馬達可以正轉與逆轉;若要 原地自轉,則一側向前,另一側向後。此外,可藉由控制左右馬達的轉速差,則 可以控制轉彎幅度的大小。直流馬達的控制參數有兩個: 21.

(30) 1.. 轉速參數(speed Argument, SA),本研究以 SA(w)表示某一馬達 w 的 SA 值,. SA(w)  [1000,1900].  Forward ( w)   Stop ( w)  Backward ( w) . if SA(w)  (1450,1900] if SA(w)  1450. ( 14 ). if SA(w)  [1000,1450). SA(w)為 1450 時,w 停止,1900 為全速正轉, 1000 為全速逆轉。SA(w)與速 度的對應關係如公式( 15 ),其中α為馬達全速運轉的每分鐘圈數除以最大輪 差(wheel differential)的數值,本研究中α值為 0.0697rad/s2。. speed  ( SA( w)  1450)   2.. ( 15 ). 轉速變化率(Speed Changing-rate Argument, SCA),SCA 是 SA 每秒的變化量, 用 SCA(w)表示某一馬達 w 的 SCA 值,SCA(w)  [1, 4000]。其數值代表由起始. SA 到目標 SA 的速度的變化率:當 SCA 越大,表示馬達轉速變化越即時,SCA 越小馬達轉速變化越慢。SCA 越大,運動慣性效果越明顯。. 3.2 影像處理 影像處理部份,第一步為先將目標物件從影像中分割出來以決定物件的座 標。在影像處理上,本研究的作法是先將 CCD 影像進行去噪(denoising),過濾紅 色範圍的像素(red filtering),灰階化後進行區塊標定(labeling)。依據本研究使用的 目標物件大小,將紅色且連續的點所形成的區塊中尋找 XY 方向至少 1600 像素的 區塊;標定的區塊內的總像數低於 1600 像素視為雜訊而加以刪除。最後以該區塊 中心作座標為目標圖像在影像中的座標。整個影像處理的流程如圖- 10。. 3.3 模糊控制方法 機器人執行任務時會調整兩輪馬達的輸出轉速以接近目標物件。當目標物件 移動到機器手臂可拾取的區域時,機器人即可以用機器手臂進行目標拾取(Target. Grabbing),我們稱此區域為 Ready-To-Grab Area (RTGA)。故本研究定義目標物件 在機器人 CCD 視野中的座標系以一個固定點 A 為原點,如圖- 11(a)所示。該點為 22.

(31) 機器手臂伸展至地面並張開夾具的夾取中心點。RTGA 則是以此座標原點為圓心, 半徑 10 pixel,夾具可以順利進行夾取動作的範圍,如圖- 11 (a)中的圓型區域。. Step1: 影像去噪. Step2: 過濾紅色範圍像素. Step3: 灰化後進行區塊標定. Step4: 將像數低於 1600 的區塊視為雜訊去除. Step5: 取區塊的中心點為座標. Image Location 圖- 10 影像處理流程圖. Target +37°. A. A. d. (b) CCD 攝影機視角. (a) Ready-To-Grab Area. 圖- 11 攝影機影像區域規劃. 23.

(32) 目標物件的座標是指在 CCD 擷取的影像中的目標物件中心點。以 CCD 正前 方為 Ym 軸,正右方為 X m 軸,所構成的 X m Ym 座標平面;同時,為了便於描述模糊 變數的輸入值,目標物件也描述成圓柱座標系(dm, θm),該座標以 Ym 軸為零度,順 時針方向描述角度,如圖- 11(b)。 (d m ,  m ) 與 ( X m , Ym ) 的關係如下:. Xm sin( m )  Y   d m cos( )  m   m   2. d m  xm  y m. 2. ym.  m  90  sin 1 (  m  sin 1 (. ( 16 ). 2. xm  y m ym. 2. xm  y m. 2. ). 2. ). 180. . 180. ,. if. x0.  90,. if. x0. . ( 17 ). 如圖- 11(b)中攝影機影像內的目標物:第一個目標物件距離( d m )為 120pixel、角度 (  m )為 37 度,換算出 ( X m , Ym ) 為(72.2,95.8)。 當目標物件進入 CCD 視野時,機器人需將目標影像位置移動到 RTGA 範圍 內,透過機械手臂的拾取動作,即可撿拾目標物件。經由前述影像處理與座標位 置標定過程後,假設目標影像位置與 RTGA 中心的偏移量為距離( d m )與角度(  m ), 如圖- 11(b)所示。消除偏移量的方式是轉動機器人的前進方向機體,以消除角度(  m ) 偏移量,並移動機體以消除距離( d m )偏移量。此二動作都需要驅動 LF、LB、RF、. RB 四個輪子。依據此問題的特性,本研究採用模糊集合與模糊邏輯方式,進行單 一物件的拾取的控制(fuzzy object-grabbing),其進行方式如下:. 1.. 模糊變數(fuzzy variables):輸入變數:距離(dm)、角度(θm);輸出變數:SA(w),. w 為 LF、LB、RF、RB。 2.. 模糊項目(fuzzy terms):距離( d m )分為 NEAR、FAR 項,角度(  m )分為 SMALL、. MIDDLE、LARGE 三項;輸出分為 Backward-Fast(BF)、Backward-Slow(BS)、 Rest(R)、Forward-Slow(FS)、Forward-Fast(FF)五項。 3.. 模糊歸屬函數:採用連續的歸屬函數定義方式,如圖- 12。 24.

(33)  (d m ). Near. Far.  ( m ). 1. Small Middle. Large.  (SA). 1. 40. 200. dm. BF. BS. R. FS. FF. 1. 5. 20. 45. 60. 80. θm. 1100 1200 1300 1450 16001700 1800 SA. 圖- 12 控制機器人的模糊歸屬函數 由於左、右輪分別有屬於自己的模糊規則,加上輸入有兩種距離與三種角度, 輸出有五種馬達轉速,可產生 512 種不同的組合。雖然每種組合都有其合適度,但 本研究討論的主題不在於更改模糊規則的方式,所以採用人工的方式先定義出一 種合適的規則,以此為基礎做實驗規畫,如表- 4。 表- 4 單一目標拾取模糊規則. θm SMALL MIDDLE LARGE dm NEAR FF FS FS FAR FF FF FF. θm SMALL MIDDLE LARGE dm NEAR FS R BS FAR FF FS BF. (a)左輪(LF 與 LB)的模糊規則. (b)右輪(RF 與 RB)的模糊規則. 由於左右輪的控制方式是對稱的,表 11 可以整理出共 12 條規則:. R1: if dm is NEAR and θm is SMALL then SA(L) is FS R2: if dm is NEAR and θm is MIDDLE then SA(L) is FS R3: if dm is NEAR and θm is LARGE then SA(L) is FS R4: if dm is FAR and θm is SMALL then SA(L) is FF R5: if dm is FAR and θm is MIDDLE then SA(L) is FF R6: if dm is FAR and θm is LARGE then SA(L) is FF R7: if dm is NEAR and θm is SMALL then SA(R) is BS R8: if dm is NEAR and θm is MIDDLE then SA(R) is R R9: if dm is NEAR and θm is LARGE then SA(R) is FS R10: if dm is FAR and θm is SMALL then SA(R) is BF R11: if dm is FAR and θm is MIDDLE then SA(R) is FS R12: if dm is FAR and θm is LARGE then SA(R) is FF 其中,R 表示 RF 與 RB;L 表示 LF 與 LB。這些模糊規則的推論方式為:. 1. 輸入變數模糊化:從輸入距離(dm)求取該模糊變數在 NEAR、FAR 的歸屬度。 當輸入變數 θm >0 時,表示目標物件在 CCD 圖像的右半部,機器人需要做出向 右轉的動作,求取 θm 在 SMALL、MIDDLE、LARGE 的歸屬度。當 θm <0 時, 25.

(34) 表示球在 CCD 圖像的左半部,左、右輪的模糊規則將顛倒過來,也就是求取-1 *θm 在 SMALL、MIDDLE、LARGE 的歸屬度。圖- 12 的模糊歸屬函數視 θm 值,提供左輪與右輪使用。. 2. 模糊規則推論:採用最大-最小合成法 (max-min composition)合成運算來求得輸 出的結果。. 3. 輸出值解模糊化:採用重心法分別求出左、右輪最後的 SA (SA(RF)=SA(RB), SA(LF)=SA(LB))。此研究採取離散型的計算方法如公式( 18 )。 n. SA( w) .  y  A( y ) i. i 1. i. n.  A( y ) i 1. ( 18 ). , w  RF , RB, LF , LB. i. 其中,n 表示此輸出有幾個離散值,由於機器人 SA 介於 1000 至 1900 之間共 間隔 900 格,故 n 設定為 900;yi 為輸出的每個 SA 值,數值介於 1000 到 1900;. A(yi)是每個 yi 值所對應的歸屬度,數值介於 0 到 1 之間。以此方法,機器人每間 隔 t 秒分析一次圖像位置決定模糊控制的輸入距離(dm)、角度(θm),並進行模糊規 則推論決定四輪的 SA 輸出值,並移動機體;模糊控制中擷取一次影像的過程稱為 執行一圈(iteration),如此重複此過程,直到目標物件位置進入 RTGA 範圍為止, 便啟動機器手臂進行取物動作。模糊控制的流程如圖- 13 所示。 機器人以 CCD 擷取影像,接下來將影像中之目標物件的座標表示成距離( d m ) 和角度(  m ),並將這兩項參數輸入模糊控制運算,使用最大-最小合成法推論,再 用重心法求出輸出的雙輪轉速參數(SA),最後偵測目標物件是否落於 RTGA,若目 標物件落於 RTGA,即可做夾取目標物件之動作;若沒有落於 RTGA 則重新偵測 影像並做模糊控制直到目標物件落於 RTGA 為止。本研究中測得一次模糊控制的 循環約為 0.04 秒,相當於 25Hz。. 26.

(35) 擷取影像. 目標物件 的座標. xm ym. 目標落於 RTGA?. 無. 用模糊推論 計算出SA. SA(LF/LB) SA(RF/RB). 輪子馬達 移動到新 的位置. 有 驅動機器人 夾取目標物件. 圖- 13 模糊控制流程圖. 27.

(36) 第四章、離線式之基因演算法的使用 4.1 問題分析 本研究採用模糊控制來控制機器人移動,而影響模糊控制系統的兩個重要元 素為模糊規則與歸屬函數,這兩項參數的訂定一般都是採用由專家主觀認定的方 法來建置,即是以人工的方式調整到一個近似理想值。但由於歸屬函數調整解的 複雜度極高且組合總類繁多,較難採用人工的方式找到最佳解。依據機器人硬體 參數如圖- 12 的歸屬函數中“距離(dm)"歸屬函數的上、下界分別為 200 pixel 和 0. pixel,“角度(  m )"歸屬函數的上、下界分別為 90 度和 0 度,“速度參數(SA)" 歸屬函數的上、下界分別為 1900 和 1000。共可以組合出 1.7  10 24 種組合。搜尋最 佳解有許多方法,像是基因演算法、基因程式規劃(genetic programming),鳥群演 算法(particle swarm optimization)…等等。由於歸屬函數的組合種類多( 1.7  10 24 ), 為了快速找出最佳解,故在本階段的研究中,我們將導入基因演算法。由於基因 演算法的問題描述方式較鳥群演算法等方法容易(見第 5.2 節),可以直接描述歸屬 函數的參數,故本研究採用基因演算法以解決用由專家主觀認定的方法來定義模 糊控制歸屬函數的缺陷,並找出最佳的模糊控制方法使機器人移動的更有效率、 更穩定。 由於基因演算法需透過大量的訓練找出最佳解答,使用實體機器人做訓練, 在效率與準確性上都嚴重不足,故此階段我們採用離線式學習的方式,將實體機 器人應用的模糊控制方式套入模擬器中,透過電腦計算找出最佳的歸屬函數組合。. 28.

(37) 4.2 染色體編碼 在基因演算法與模糊控制的融合中,最先要處理的是如何用染色體. (chromosome)來表示模糊歸屬函數,即染色體編碼。觀察模糊控制的歸屬函數可以 發現,常見的模糊歸屬函數模型大至可分為三角形、梯形、右開口、左開口等四 類,如圖- 14 (a)所示。. . .  v. v. (a) 三角形. (b) 梯形. 1. . . v v (c) 右開口. f1. v. f2. f3. f4. (a) 左開口. (b) 歸屬函數數學模型. (a) 歸屬函數種類. 圖- 14 模糊控制歸屬函數圖 而我們可將這四類模糊歸屬函數用一條數學公式表示:. u  0 , if v  f 1  u  v  f 1  , if f 1  v  f 2   f 2  f1   u  1 , if f 2  v  f 3  (v  f 4 ) u  , if f 3  v  f 4  f3  f4   u  0 , if f  v 4 . ( 19 ). 其中 u 表示該歸屬函數的歸屬程度,介於 0 與 1 之間;v 為該模糊規則的測量單位, 例如:距離、角度、速度…等等;f1、f2、f3、f4 則為表示此數學模型的輸入參數。 當歸屬函數圖形為三角形時,我們只需將 c = f2 = f3 即可成功表示,c 為歸屬函數的 中間值。當其為單邊開口的歸屬函數時,我們可將 f1、f2 或 f3、f4 設定為最小值或 最大值,即可表示此種歸屬函數。 依據圖- 12 的歸屬函數其函式如圖- 15(a),相關參數為 d1、d2、 1 、  2 、  3 、 29.

(38)  4、SA1、SA2、SA3、SA4、SA5,本研究直接將這些參數表是為一組染色體如圖- 15(b)。 染色體的編碼方式如圖- 15 所示,染色體的基因個數為 10 個。.  (d m ) NEAR.  ( m ) SMALL MIDDLE LARGE. FAR.  (SA) BF. 1. 1. d1. d2. BS. R. FS. FF. 1. θ1 θ2 θ3 θ4. dm. θm. SA1 SA2 1450 SA4 SA5 SA. (a) 模糊歸屬函數 d1. d2. θ1. θ2 θ3 θ4. SA1 SA2 SA4 SA5. (b) 染色體編碼方式 圖- 15 模糊歸屬函數與染色體編碼方式. 4.3 交配與突變方法 在本研究中採用基因演算法的交配方式為單點交配,即為在染色體中隨機 選取一個基因為交配點,並交換此交配點後的所有基因,如圖- 16。. 圖- 16 染色體交配示意圖. 30.

(39) 為了彌補單點交配相對於多點交配亂度較為不足的缺陷,本研究在基因演 算法階段加入了重置(restart)的機制,並定義當最佳適應度重覆 10 次時,會保留 最佳的染色體並將其餘染色體初始化,以增加整體交配過程中的亂度。 本研究採取的突變方式為隨機選取染色體內的某一條基因,改變其基因內 容。突變過程發生的機率由突變機率( Pm )所控制,突變的方法為隨機亂數產生指 定範圍以內的數值,以防止產生不合邏輯的歸屬函數。亂數產生突變的方法為 產生一個介於上、下界與臨近基因的數值,例如若隨機選到 d1 突變,會隨機產 生一個介於 0 到 d2 的數值;若選到 SA2 突變,則會隨機產生 SA1 到 1450 的數值, 其所有的突變限制如下: . 0  d1  d 2. . d1  d 2  200. . 0  1   2. . 1   2   3. . 2  3  4. .  3   4  90. . 1000  SA1  SA2. . SA1  SA2  1450. . 1450  SA3  SA4. . SA3  SA4  1900. 4.4 適應度函式 在適應度評估階段,我們的基本想法是將模糊控制系統引入基因演算法之 中,讓其透過模擬器測量出目標物件在機器人影像中的移動路徑,進而估算出每 一條模糊歸屬函數所對應出來的適應度。本研究的適應度函式定義為:. F    SP   . ( MNOS  S )    Dis MNOS. ( 20 ). 31.

(40) . Dis 為機器人最後一步目標物件的位置離撿球中心點的距離。. . SP 表示機器人走到最後一步時,目標物件有無落在指定範圍。當 Dis  10 時, 則 SP=1 表示成功拾取目標物件;反之當 Dis  10 時,則 SP  0 表示拾取失敗。. . MNOS 表示模擬器可容許機器人嘗試撿取目標物件的最大次數。. . S 為機器人撿取到目標物件所花的步數。. .  表示成功拾取目標物件的獎勵權重,通常設定的很高。. .  表示執行模糊控制的圈數影響的強弱。. .  表示最後一步距離影響機器人的撿球成功率的強弱。. 當其同時滿足拾取條件後,將以執行歩數與最終距離來當作衡量的指標,適應度 F 愈高愈好。. 圖- 17 在模擬器中取 N 個點作測試 如圖- 18 所示。其中橫軸和縱軸分別表示目標物件在 RTGA 影像中的 X、Y 座標,測量出兩條歸屬函數組(歸屬函數 1、歸屬函數 2)的追蹤目標在機器人影像 中的路徑,歸屬函數 1 的參數設定比較理想,故如圖- 18 中所對應出來的機器人動 作相對於目標物件的紀錄軌跡較為平順,所需的模糊控制回圈次數也比較少,只 用了 45 圈即完成了撿拾目標物件的任務。而相較之下歸屬函數 2 的參數設定較為 極端,故其在撿拾的過程中動作較不連續,所執行的步數也較高,共用了 51 步才 32.

(41) 接近目標。且最後的落點距中心點(撿拾區(0,0))的距離歸屬函數 1 是 5.55 pixel,歸 屬函數 2 是 9.31 pixel,由此也可以得知歸屬函數參數設定的比較好的歸屬函數 1 有比歸屬函數 2 更高的拾取成功率。 200 180 160 140 Ym. 120 100 80 MF2. 60 40. MF1. 20 0. -200. -150. -100. -50. 0. Xm. 圖- 18 比較歸屬函數不同,所造成的影像軌跡圖 由於要使其滿足視線中大部分的位置都可以拾取到目標物件,我們在機器人 視線內以平均分布的方式取出 N 個測試點。在此研究中設定 N 為 27,如圖- 17, 並將其應用基因演算法代入模擬器去做運算,並將各個測試點算出的適應度平 均,為該染色體的適應度。染色體適應度計算公式如下:. Ftatol . 1 N. N. F i 1. ( 21 ). i. 其中,Ftatol 為該染色體的適應度,Fi 為該染色體於第 i 個測試點的適應度。. 4.5 離線式學習測試流程 我們透過模擬器解決基因演算法無法套用在實體機器人上的瓶頸,並求得最 佳染色體所對應的歸屬函數,但實際環境並不會像模擬器中的那麼理想。機器人 判別其所在位置後便要做出行動規劃,因為輪型機器人所使用的制動器多半是小 型的伺服馬達、線性馬達或其他機械裝置,其精確度、衰減率通常不高。另外, 33.

(42) 機器人面對的是未知場地,其現場的物理參數(如摩擦係數)與實驗室訓練不同,所 以其實際表現會與模擬器中的理想環境有所差別。本研究的模擬器已盡量考量測 試現場的各種物理參數並與實際機器人的行動控制作比較達到合理的效果。模糊 控制結合基因演算法調整歸屬函數的流程圖如圖- 19。 染色體編碼. 根據染色體 產生歸屬函數 模糊控制 機器人移動. 初始化染色體. 記錄目標 物件軌跡. 模擬器. 適應度評估 產生下一代. 淘汰. 選擇. 交配 NO. 是否達到 終止條件. 突變. YES 產生新一代 輸出最佳解. 圖- 19 基因演算法與模糊理論結合之流程圖 藉由模擬器來執行基因演算法的步驟如下所式:. STEP-1:. 將染色體編碼後初始化染色體。. STEP-2:. 透過模擬器模擬目標物件在機器人影像中的軌跡,由此評 估每條染色體的適應度。. STEP-3:. 透過基因演算法的選擇、交配、突變來產生下一代。. STEP-4:. 判斷是否達到最大演化代數或是達到指定的適應度,若無 達成條件則跳到 Step2,若達成條件則輸出最佳解。. 34.

(43) 第五章、增強式學習法 第一階段所完成的工作提供有一定可信度的模擬結果,本研究第二階段將第 一階段求出的結果放入實體機器人中,並透過增強式學習法修正現實環境下的種 種誤差。機器人大多面對的場景可能是未知且不理想的環境,但基因演算法所求 出的歸屬函數主要是用於理想環境下。故此處要處理的是機器人面對真實環境要 作何行動。增強式學習主要是代理人藉由每次與環境互動的過程中學習經驗,自 行發掘在各種狀態下應該如何動作,最後達成完成目標的方法。本階段使用增強 式學習修正模糊規則的歸屬函數,並更正已建立的狀態(state)對應動作(action)的序 列表(Q-table)。. 5.1 狀態對應動作之設計 增強式學習最大的問題在於當狀態(S)與動作(a)過多時,Q-table 巨大,更新狀 態多,有時不容易收斂。加上基礎型機器人的資源有限,儲存太多狀態與計算更 新會影響效率,故現階段我們將狀態與動作限制在一個較小的範圍內。定義狀態 為夾具落在紅色目標物件的前、後、左、右方位,如圖- 20 所示。當夾具落於目標 物件的右方時,狀態為 S1,當夾具落於目標物件的左方時,狀態為 S3,以此類推。. S2. S3. S1. S0 圖- 20 增強式學習四種狀態 為了定義增強式學習之狀態對應動作表,決定狀態後接下來要決定增強式學 習調整歸屬函數的方法,如表- 5 所示。修改每個基因的修正表為各個染色體的修 35.

參考文獻

相關文件

This thesis applied Q-learning algorithm of reinforcement learning to improve a simple intra-day trading system of Taiwan stock index future. We simulate the performance

Moreover, this chapter also presents the basic of the Taguchi method, artificial neural network, genetic algorithm, particle swarm optimization, soft computing and

介面最佳化之資料探勘模組是利用 Apriori 演算法探勘出操作者操作介面之 關聯式法則,而後以法則的型態儲存於介面最佳化知識庫中。當有

蔣松原,1998,應用 應用 應用 應用模糊理論 模糊理論 模糊理論

Sharma (1999), “An Intergrated Machine Vision Based System for Solving the Non-Covex Cutting Stock Problem Using Genetic Algorithms,” Journal of Manufacturing Systems, Vol..

智慧型手機是一種運算能力及功能比傳統手機更強的手機。 通常使用的作 業系統有: Symbian 、 Windows Mobile 、 iOS 、 Linux (含 Android 、 Maemo 和 WebOS) 、.. Palm

我們提出利用讀取器與讀取器間的距離為參數來優化利用分層移除讀取器之方法的最佳 化技術 Distance Based Optimization for Eliminating Redundant Readers (DBO) ,此方法完全

Kuo, R.J., Chen, C.H., Hwang, Y.C., 2001, “An intelligent stock trading decision support system through integration of genetic algorithm based fuzzy neural network and