• 沒有找到結果。

利用合作式基因最佳化法之機器人路徑規劃

N/A
N/A
Protected

Academic year: 2021

Share "利用合作式基因最佳化法之機器人路徑規劃"

Copied!
70
0
0

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

全文

(1)國立臺灣師範大學應用電子科技學系 碩士論文 指導教授:許陳鑑 博士 利用合作式基因最佳化法之機器人路徑規劃 Path Planning for Robot Navigation Based on Cooperative Genetic Optimization. 研究生:劉奕君 撰. 中 華 民 國 103 年 7 月. i.

(2) 利用合作式基因最佳化法之機器人路徑規劃. 學生:劉奕君. 指導教授:許陳鑑 博士. 國立臺灣師範大學應用電子科技學系碩士班 摘. 要. 機器人路徑規劃功能需考慮:最短路徑、避免與障礙物碰撞、平滑的路徑以 及快速的運算處理,基本上是一最佳化的問題。故本論文提出一最佳路徑規劃的 作法,利用基因演算法(Genetic Algorithm)所具備之最佳化搜尋能力,配合菁英 化策略與路徑優化處理,有效提高收斂效率以及導航成功率。實驗結果證明,本 論文所提出的路徑規劃法有效改進了傳統基因演算法,實現更安全、更高效率的 機器人路徑規劃。以及考慮到近年來智慧型手機應用程式的普及化,本文將改良 後的基因演算法實現在 Android 系統並應用於室內行動機器人導航,發展出讓人 類與機器人的互動更為貼近的室內行動機器人導航 App。. 關鍵字:路徑規劃、基因演算法、機器人、App。. i.

(3) Path Planning for Robot Navigation Based on Cooperative Genetic Optimization. Student:Yi-Chun Liu. Advisor:Dr. Chen-Chien James Hsu. Department of Applied Electronics Technology National Taiwan Normal University. ABSTRACT Path planning for mobile robots needs to consider several issues including the shortest path, obstacle avoidance, and computation efficiency, which can be regarded as an optimization problem. Taking advantage of the genetic algorithms to solve various optimization problems, this paper first proposes a Cooperative Genetic Optimization (CGO) Algorithm, including the establishment of an elite policy and larger selection region to minimize the occurrence of local optima so as to increase the speed of convergence. Based on the proposed CGO, a global path planning approach for robots is then presented. As a result, the proposed method leads to a better performance to reach the goal in terms of a safer and shorter path in comparison with the traditional genetic algorithm. Considering of App development is very popular recently. In this paper, App based development of robots path planning using Cooperative Genetic Optimization is a great contribution and innovation for development of indoor mobile robot navigation.. Keyword: path planning, genetic algorithm, robots, app.. ii.

(4) 致. 謝. 從退伍後考進研究所,轉眼間就要過完兩年,心中有無限感慨,很感謝許陳 鑑教授的照顧與指導,從一開始的 PF 定位、A*以及各種演算法的使用與實現,, 除了程式建構能力因此增強了不少,更培養我獨立作業的能力;除此之外,也常 鼓勵實驗室的學生積極參加各大比賽,累積實戰經驗以及訓練團隊默契,出國參 訪、研討會發表論文的經驗是最令我印象深刻,不但擴大了視野,也增進自己英 文能力,實驗室設備也相當充足,讓我有相當完善的環境做研究。 跟實驗室同學相互合作的過程令人印象深刻,不論是一起得獎或是失敗都是 很好的經驗,感謝從進實驗室就一直對我照顧有加的學長姐們:誠愷、元君、永 青、華恩,不只教導了我專業知識,也時常一起聊天談心;感謝曾經一起合作過 的大學部同學:家瑜、廣億、芷瑄、駿逸、彥丞,大家曾經一起歡笑、熬夜奮鬥, 讓我永生難忘;感謝碩班的學弟妹:東源、顏彰、苡柔,一直努力帶動實驗室氣氛, 積極舉辦團康活動;感謝同學郭家瑞、侯如瑜,一起上課、當助教的時候幫助了 我很多,也時常與我分享生活趣事,讓研究的時光增添不少趣味。. iii.

(5) 目 摘. 錄. 要 ..................................................................................................................... i. ABSTRACT ................................................................................................................... ii 致. 謝 ................................................................................................................... iii. 目. 錄 ................................................................................................................... iv. 圖 目. 錄 ................................................................................................................... vi. 第一章 緒論 .................................................................................................................... 1 1.1. 研究背景與動機 ..................................................................................................1. 1.2. 相關研究方法回顧 ..............................................................................................2. 1.3. 論文架構 ..............................................................................................................4. 第二章 文獻探討 ............................................................................................................ 5 2.1.. 路徑規劃 ..............................................................................................................5. 2.1.1 A* 演算法 .........................................................................................................5 2.1.2 多尺度 A* 演算法 ...........................................................................................7 2.2.. 基因演算法 ........................................................................................................10. 2.2.1 菁英化基因演算法 ..........................................................................................13 2.2.2 並行菁英化基因演算法 ..................................................................................16 2.2.3 共生基因演算法 ..............................................................................................19 第三章 合作式基因最佳化法以及其在路經規劃之應用 .......................................... 21 3.1. 合作式基因最佳化法(Cooperative Genetic Optimization)概述 ......................21. 3.2. 基於合作式基因最佳化法之路徑規劃 ............................................................24. 第四章 實驗平台簡介 .................................................................................................. 31 4.1. 實驗系統 ............................................................................................................31. 4.1.1 Android .............................................................................................................31 4.1.2 Android SDK ....................................................................................................34 4.2. 實驗設備 ............................................................................................................35 iv.

(6) 4.2.1 手持式智慧型裝置 ..........................................................................................35 4.2.2 行動機器人裝置 ..............................................................................................37 4.3. 實作介面控制流程 ............................................................................................39. 第五章 實驗結果 .......................................................................................................... 40 5.1. 實驗環境 ............................................................................................................40. 5.2. 模擬結果 ............................................................................................................42. 5.3. 實驗結果 ............................................................................................................49. 第六章 結論 .................................................................................................................. 55 參 考 自. 文 獻 ........................................................................................................... 56. 學 術. 傳 ....................................................................................................................... 60 成 就 ........................................................................................................... 61. v.

(7) 圖. 目. 錄. 圖 1- 1 Multi-scale Search[5] ..........................................................................................3 圖 2- 1 A* Algorithm 的虛擬碼 ......................................................................................6 圖 2- 2 Dijkstra 模擬結果 ...............................................................................................7 圖 2- 3 A*模擬結果 ........................................................................................................7 圖 2- 4 尺度切割概念 ....................................................................................................8 圖 2- 5 Multi-Scale 虛擬碼[10] ......................................................................................8 圖 2- 6 執行一般 A* Algorithm 的結果[5] ....................................................................9 圖 2- 7 使用 Multi-Scale Search 後的結果[5] ..............................................................9 圖 2- 8 交配法[12] ....................................................................................................... 11 圖 2- 9 突變法[13] ....................................................................................................... 11 圖 2- 10 GA 演化流程圖 ..............................................................................................13 圖 2- 11 EGA 演化流程圖 ............................................................................................14 圖 2- 12 EGA 收斂曲線................................................................................................15 圖 2- 13 EGA 執行 100 次之中的區域最佳解次數 ...................................................16 圖 2- 14 PEGA 演算流程圖 .........................................................................................17 圖 2- 15 PEGA 模擬結果 .............................................................................................18 圖 2- 16 (a)突變前 (b)突變後 ......................................................................................18 圖 2- 17 CCGA 演算概念 .............................................................................................19 圖 2- 18 CCGA 演化流程 .............................................................................................19 圖 2- 19 CCGA 虛擬碼[24] ..........................................................................................20 圖 3- 1 CGO 演化流程圖 .............................................................................................22 圖 3- 2 CGO 收斂情況 .................................................................................................23 圖 3- 3 八方位點 ..........................................................................................................24 vi.

(8) 圖 3- 4 CGO 之路徑規劃 .............................................................................................25 圖 3- 5 路徑優化流程 ..................................................................................................26 圖 3- 6 CGO 路徑規劃結果 .........................................................................................27 圖 3- 7 執行刪除節點判斷流程 ..................................................................................27 圖 3- 8 最終路徑 ..........................................................................................................27 圖 3- 9 刪除不必要節點後的成本值變化 ..................................................................28 圖 3- 10 CGO 的單樓層規劃 .......................................................................................29 圖 3- 11 起點與終點位於不同樓層時之規劃架構 ....................................................30 圖 3- 12 多樓層路徑規劃 ............................................................................................30 圖 4- 1 Android 系統架構圖[27] ..................................................................................32 圖 4- 2 Android SDK 開發環境介面 ...........................................................................34 圖 4- 3 2014 年與 2018 年智慧型手機平台之市占率預估[30].................................35 圖 4- 4 Pioneer 3-DX ....................................................................................................37 圖 4- 5 Pioneer 3-DX 機身構造及規格 .......................................................................38 圖 4- 6 整體系統架構圖 ..............................................................................................39 圖 5- 1 模擬場地 ..........................................................................................................40 圖 5- 2 科技大樓 5F 模擬場景....................................................................................41 圖 5- 3 行動載具系統執行機構圖 ..............................................................................42 圖 5- 4 模擬結果 ..........................................................................................................43 圖 5- 5 實驗座標點 ......................................................................................................46 圖 5- 6 EGA 與 CGO 之執行狀況 ...............................................................................44 圖 5- 7 PEGA 與 CGO 之執行狀況 .............................................................................45 圖 5- 8 模擬結果 ..........................................................................................................48 圖 5- 9 操作畫面步驟 ..................................................................................................50 圖 5- 10 CGO 演算法實現結果 ...................................................................................54 vii.

(9) 表. 目. 錄. 表 4- 1 ASUS Nexus7 規格表[31] ...............................................................................36 表 4- 2 Pioneer 3-DX 規格表[33] .................................................................................38 表 5- 1 EGA、PEGA 與 CGO 各數據比較 .................................................................45 表 5- 2 詳細座標位置 ..................................................................................................49. viii.

(10) 第一章. 緒論. 1.1 研究背景與動機 隨著科技的進步,人類生活中充滿了各式各樣的機器人,例如:清潔型機器 人、巡邏用的保全機器人、運送貨物的運輸機器人、執行海底探索工作的探索機 器人[1],或是執行救災任務的救災機器人等,這些機器人我們可以統稱為「任務 型機器人」。當機器人被指定前往特定地點去執行任務,這個控制機器人順利到 達目的地的動作稱為: 「機器人導航(Robot Navigation)」 。在機器人導航中,大致 可以分為三個部分,第一部分為機器人定位(Localization),也就是找出機器人目 前的所在位置;第二部分為環境地圖建立(Map Building),機器人在未知環境中藉 由探索以建立地圖,同時也是定位的先決條件;第三部分為機器人路徑規劃(Path Planning),在得知機器人位置以及地圖環境的情況下,規劃出一條路徑,使機器 人順利前往指定位置,這也是本論文主要研究項目。. 機器人路徑規劃中,主要有三個考慮要素,分別為:避開障礙物[2][3]、最短 路徑以及運算時間。如何在這三者之間做取捨?如果要在已知的地圖環境中,規 劃出一條最短路徑,在計算效率上會有相當程度的付出。若要求快速規劃出一條 路徑,無可避免會遇到一些問題,例如:因為缺乏精密的計算,產生出來的路徑 有繞路的可能;或是規劃路線距離障礙物過近,造成機器人無法順利行走,而為 了成功到達目的地,將使機器人被迫重新規劃路徑(Replanning) ,反而降低了任 務執行效率。為了解決以上問題,本篇論文提出合作式基因最佳化法(Cooperative Genetic Optimization,簡稱 CGO),不但可以快速規劃出路徑,也能同時與障礙物 保持距離,提升機器人行進的安全性。. 1.

(11) 1.2 相關研究方法回顧 由於路徑規劃的重要性,近年來已有許多研究探討路徑規劃相關作法,例如: A* Algorithm[4], Multi-Scale A* Algorithm[5], Genetic Algorithm[6]等。其中, 1968 年由 Peter Hart 等三人所提出之 A* Algorithm[4]應用最為廣泛,其演算法之 精隨是使用啟發式的成本運算方式來搜尋最適合的節點,使搜尋具有方向性。A* Algorithm 的優點是演算法操作公式簡單且具有高計算效率,但由於這種方向性 搜尋法,若起點與終點之間出現特殊障礙物,如凹型障礙物(Concave Obstacles) , 將會陷入”暫時性”的區域最佳解,造成過多的不必要搜尋,而且規劃出來的路徑 會緊貼著障礙物,容易使機器人在移動時有安全的顧慮。. 多尺度搜尋法(Multi-Scale Search)[5]是用來實現演算法的動態路徑規劃,若 原本規劃好的路徑中突然出現障礙物,將造成該路徑成為一條失敗的路徑,若因 此而重新規劃則大大花費了計算成本,多尺度搜尋法(Multi-Scale Search)透過地圖 區段性分割的概念,只在產生新障礙物的地區做重新規劃,節省了許多計算時間, 以及提供了路徑規劃演算法的即時性。. 2.

(12) 圖 1- 1 Multi-Scale Search[5]. 基因演算法(Genetic Algorithm)應用在路徑規劃[7],在無時間壓力之情況下, 可以規劃出全域最佳路徑,所以透過調整交配(Crossover) 、突變(Mutation) 、選 擇法(Selection)以及設計適應值公式(Fitness Function)來加速收斂、減少運算量, 是使用基因演算法來路徑規劃的首要改善項目。. 3.

(13) 1.3 論文架構 本篇論文可以分為六大章節。第一章主要介紹本篇論文的研究背景與動機以 及其他相關的研究討論。第二章介紹本篇論文會應用到的文獻探討,例如路徑規 劃、傳統 A*、基因演算法以及其改良做法。第三章為本篇論文所提出合作式基 因最佳化法。第四章將介紹實作本篇論文所應用到的環境設備及架構。第五章則 是基於第四章的實驗結果展示。最後第六章為結論。. 4.

(14) 第二章. 文獻探討. 2.1. 路徑規劃 假設在我們所知道的環境地圖中,欲從地點 A 移動至地點 B 時,我們將地 圖資訊與座標資訊帶入路徑規劃演算法中,透過演算法產生出一條從地點 A 至地 點 B 的一條路徑。顧名思義,路徑規劃就是規劃出一條可以達成兩個不同地點之 間可移動之路徑。最後,應用在行動機器人上,我們該如何以最有效率的方式規 劃出一條路徑,後面兩小節會介紹目前應用在行動機器人上很熱門的演算法,並 解說該些演算法的步驟與流程。. 2.1.1. A* 演算法. A* Algorithm 是在 1968 年由 Peter Hart、Nils Nilsson 和 Bertram Raphael 等 人 所 提 出 的 演 算 法 [4] , 概 念 源 自 於 1959 年 由 Dijkstra 提 出 的 Dijkstra’s Algorithm[8]。A* Algorithm 主要的不同之處是加入一個評估方程式,如公式(2-1) 所示:. F (n)  G(n)  H (n). (2-1). 其中, F (n) 為評估函數, G(n) 為起點( Pstart )到位置 n 的最少成本距離, H (n) 為啟發式(Heuristic)函數,主要是評估目前位置 n 到終點( Pgoal )的距離, H (n) 代表 直線距離,如公式(2-2)所示:. H (n)  ( xgoal  xn )2  ( ygoal  yn )2. 5. (2-2).

(15) 傳統的 Dijkstra’s Algorithm 評估方程式,只考慮了 G(n) ,A* Algorithm 因為 加入了啟發式函數 H (n) ,使尋找終點時更具方向性,所以比 Dijkstra’s Algorithm 更有效率,加快了執行時間。後續也有人針對啟發式函數 H (n) 加入了權重的機 制,目的都是要減少搜尋到目標位置的執行時間。圖 2- 1 為 A* Algorithm 的虛擬 碼[9]。. 將起始點設為 open 狀態並放入 open list 中 while open list 不為空 { 目前搜尋節點 = open list 中成本最低的節點 if 目前搜尋節點 = 終點 路徑完成 跳出迴圈 else 把目前搜尋節點狀態設為 close 從 open list 中檢視目前搜尋節點的每個相鄰節點 for 每個相鄰節點 if 該節點不在 open list 中 & 狀態不為 close & 不是障礙物 將該節點放入 open list 中計算其成本 }//end while 圖 2- 1 A* Algorithm 的虛擬碼. 6.

(16) 圖 2- 2 及圖 2- 3 分別是 Dijkstra 跟 A*的模擬結果,黑色粗線代表規劃的路 徑,細線是搜索過的區域,從圖中可以發現 Dijkstra 演算法可以獲得最短的路徑, 但搜索範圍以及計算時間卻遠大於 A*,A*雖然多了啟發函數而具有方向估測性, 但在前往目的過程中若出現障礙物或是遇到死路,仍然會不斷往該方向搜索直到 無路可走,造成計算成本提高,所以為了改善 A*的缺點,有學者提出了改正方 法,稱為:多尺度搜尋法(Multi-Scale Searching)[10]。. 圖 2- 2 Dijkstra 模擬結果. 2.1.2. 圖 2- 3 A*模擬結果. 多尺度 A* 演算法. 多尺度法[10]是利用切割地圖區塊方式來改善 A*演算法,傳統 A*演算法需 要計算路徑中每一個所經過的節點,尺度法是將地圖切割成區塊(q-square),也就 是將區塊視為節點。舉例來說:將一個 128*128cells 的地圖,取 log 2 128 等於 7, 將地圖分割 7 層,再以階層化的方式執行 A*,不但可以擁有更好的效果,也提 高執行效率。圖 2- 4 為尺度切割的概念,以及切割過後的區塊編排方式,尺度法 虛擬碼如圖 2- 5 所示,將虛擬碼內的連接方式改為 A*,即是 Multi-Scale A* Algorithm[10]。 7.

(17) 圖 2- 4 尺度切割概念. 地圖的解析度為 n*n cells 最大切割尺度 J= log 2 n 初始化地圖尺度結構 q-square=q(1,1,1) For. (s=1; s<=J-1; s++) if 起點或終點在該尺度區塊(q-square)內 移除原有的樹狀連結 將該區塊切割成四塊 q-square 重新以樹狀方式連接起點與終點所在的 q-square End if. End For 圖 2- 5 Multi-Scale 虛擬碼[10]. 8.

(18) 以相同的地圖執行 Multi-Scale A*與 A*,如圖 2- 6、圖 2- 7,相比較之下, Multi-Scale A*除了實現更短的路徑,執行速度也因為尺度法將地圖結構化的關係, 比傳統 A*有更好的搜尋效率。. 圖 2- 6 執行一般 A* Algorithm 的結果[5]. 圖 2- 7 使用 Multi-Scale Search 後的結果[5] 9.

(19) 2.2. 基因演算法 基因演算法(Genetic Algorithm)[6]是一種模仿生物自然進化的演算法,其中包 含了模擬達爾文的進化論以及孟德爾的遺傳突變論,能夠解決極值問題以及非線 性解等應用。在 1975 年由 Holland .J. H 在其發表之著作:自然界與人工系統的適 應性(Adaptation in Nature and Artificial Systems)[6]所提出的演算法,具有以下特 色:良好的操作性、具備處理多種問題的通用性、良好的數據穩定性及並行性, 以下分別介紹其演算參數及功能:. A、. 選擇(Selection):在族群中,選出較優秀的染色體,使系統收斂至全域最佳 解,以及維持族群質量的效果,而如何定義優秀則由每條染色體對環境的 適應值(Fitness Value)來評估,常用的方法有:輪盤法、分級法、競爭選取 法[11]等等。. B、. 交配(Crossover):染色體之間交配,可產生全新的解(染色體),常用的方法 有:one point、two point、multi point 等等,如圖 2- 8[12],其中 one point 被作者 Holland 認為是最優秀的交配法,其容易實現的特性也最為廣泛使 用。. C、. 突變(Mutation):突變在生物演化中不可或缺,通常是染色體中的某個基 因發生異變,使整條染色體的特性改變,可能產生更好的結果,也可能使 染色體劣化,與交配法一樣,具單點突變法(圖 2- 9[13])及多點突變法等 方法。. 10.

(20) 圖 2- 8 交配法[12]. 圖 2- 9 突變法[13]. 11.

(21) 基因演算法之演化流程如圖 2- 10 所示。在演算法中,一條染色體代表著一 條路徑[14],而基因代表座標值,可以表示成:.  x , y  ,  x , y  ,.......,  x 1. 1. 2. 2. N. , y N . 執行步驟: 步驟一:染色體族群初始化。 步驟二:計算每條染色體的適應值(Fitness Value)。 步驟三:選取出適應值(Fitness Value)較高的染色體。 步驟四:判斷這些適應值高的染色體是否符合使用需求,若符合則結束執行。 步驟五:將染色體進行交配、突變,產生下一代族群,重複步驟二。. 經由上述步驟不斷進行迭代,每一條染色體(路徑)會不斷被改進、優化,最後可 以得到一組全域最佳解,即為我們所求之最佳路徑。除了應用在路徑規劃上,基 因演算法可用於解決許多最佳化問題,也有許多學者對其流程提出改良,譬如透 過渾沌理論[15]或是模糊理論[16]來對資料前處理、對地圖做前置處理[17],以及 與其他演算法的複合應用[18][19][20]來解決各種問題。. 12.

(22) Start. Random population. Fitness. New population. Selection. Crossover & Mutation. NO. Condition satisfied ? YES End. 圖 2- 10 GA 演化流程圖. 2.2.1. 菁英化基因演算法. 傳統 GA 在收斂上的問題,在於選取壓力(Selective Pressure)的抉擇,壓力過 小會使演算法的結果趨近於隨機選取;壓力過大則容易造成數個可行解迅速占滿 整個族群,進而產生區域最佳解(Local Optimum),且交配與突變也可能產生比父 13.

(23) 代還差的子代,使演算法需要花費極大的時間才能收斂至全域最佳解(Global Solution)。為此,使用菁英選擇法的 Elite Genetic Algorithm(EGA)[21]被學者提出, 流程如圖 2- 11 所示,透過無條件保留每代族群中最佳的染色體來克服傳統 GA 難以收斂致全域最佳解(Global Solution)的問題。. Start. Random population. Fitness. New population. Crossover & Mutation. The best 20% of population direct reproduction. Selection. NO Condition satisfied ? YES End. 圖 2- 11 EGA 演化流程圖. 值得一提的是:EGA 的主要功能是避免染色體退化以及快速收斂,如圖 2- 12 所示,是以一個 512*512 的模擬地圖來試驗 EGA 的收斂效果,分別執行 10 次 EGA,每次大約 30 個迭代就可收斂完成。但這並不代表可以完全避免區域最佳 14.

(24) 解,更確切的說,EGA 所使用的菁英選擇法,容易產生超級染色體現象,使族群 相似度過高,造成過早收斂的情況,族群只能靠著突變來跳脫區域最佳解,而突 變的機率通常是微小的,因此系統會難以搜尋全域最佳。圖 2- 13 同樣是以 512*512 的模擬地圖環境來試驗 EGA 在有限迭代次數之下的收斂效果,結果如圖 所示,分別執行 100 次 EGA,每次 50 個迭代的情況下約有 10%的機率,成本值 無法完整收斂,這在訴求運算效率的路徑規劃(Path Planning)中,是一大傷害。. Cost. generations 圖 2- 12 EGA 收斂曲線. 15.

(25) Cost. Independent run. 圖 2- 13 EGA 執行 100 次之中的區域最佳解次數. 2.2.2. 並行菁英化基因演算法. 在同樣的地圖環境中,我們希望每一次規劃出的路徑能有一致、穩定的結果。 GA 與 EGA 在多次執行中所產生的路徑難以一致,所以 C.C. Tsai, H.C. Huang, C.K. Chan 等人提出了並行菁英化基因演算法(Parallel Elite Genetic Algorithm, PEGA)[21],透過在硬體平台上執行兩組 EGA 演算法,如圖 2- 14 所示,使得在 每次產生新一代族群的階段,得以把兩組 EGA 族群當中最優秀的染色體互相交 換,使兩個族群相互影響、共同進化,此舉除了大幅提升了結果一致性之外,收 斂速度變得更好,區域最佳解發生率也大幅降低,模擬結果如圖 2- 15 所示。. 16.

(26) EGA1. Random population. Fitness. Selection. Copy the best 20%. Crossover& Mutation. Add 20% random population The best one changing. Random population. Fitness. Selection. Copy the best 20%. Crossover& Mutation. Add 20% random population. EGA2. 圖 2- 14 PEGA 演算流程圖. 由於基因演算法需要比 A*需要更多的計算時間,故在執行兩組基因演算法 的情況下,勢必大幅增加計算的時間,所以該作者應用硬體計算快速的優點,透 過 FPGA(Field Programmable Gate Array)模組來加速運算,同時實現並行處理,不 僅少了計算時間的壓力,也使 PEGA 在演化參數上可進行更大膽、多樣化的擴充。 為提升族群多樣性,PEGA 在突變上採取了較特殊的方式,隨機增加或刪除 節點的創新突變法,如圖 2- 16 所示,圖(a)為兩種路徑失敗的可能例子,而透過 隨機增加或刪除結點的突變方式,能使原本失敗的路徑得以成功演化,如圖(b)。 但另一方面,染色體的長度也因此變成了不固定形式。一般的基因演算法,每條 染色體的長度都是固定的,這樣才得以公平比較。PEGA 所採取的突變法會造成 每條染色體彼此之間難以比較,造成交配、適應函式定義困難,反而使系統不容 易收斂,所以原作者採取並行處理的方式來提升計算效率。此外,由於是並行兩 組 EGA,彼此交換信息的情況下,PEGA 擁有絕對優於 EGA 的輸出結果。 17.

(27) (a). (b) 圖 2- 15 PEGA 模擬結果. 圖 2- 16 (a)突變前 (b)突變後. 18.

(28) 2.2.3. 共生基因演算法. 共生基因演算法(CCGA)[22][23]的概念,是來自生物之間不但有競爭還有共 同合作之行為,透過既合作又競爭的演化過程,達到共同求解的目的。 演算概念如圖 2- 17、圖 2- 18 所示,將所求的解劃分為數個子問題,每一個 子區域都分別執行基因演算法(GA),最後組合這些子區域的解成為最終的演化結 果,CCGA 之虛擬碼如圖 2- 19 所示。. 圖 2- 17 CCGA 演算概念. 圖 2- 18 CCGA 演化流程 19.

(29) i=0 For 該個子集合 Population0 ( S ) 的長度:S 初始化子集合 計算該子集合 Population0 ( S ) 中每個成員的適應值 END For While 設定終止條件 i=i+1 For 該個子集合 Populationi (S ) 的長度:S 從 Populationi 1 ( S ) 延伸出 Populationi (S ) 套用演化參數至 Populationi (S ) 計算該子集合 Populationi (S ) 中每個成員的適應值 END For END While 圖 2- 19 CCGA 虛擬碼[24]. 20.

(30) 第三章. 合作式基因最佳化法以及其在路經規劃之應用. 3.1 合作式基因最佳化法(Cooperative Genetic Optimization)概述 EGA 與 PEGA[21]已經大幅減少區域最佳解的發生率,以及擁有良好的一致 性執行結果,但是經過數次實驗,在有限的迭代次數下仍然可能收斂不良,造成 路徑失敗。因多數 GA 的運作方式,是將交配突變的結果直接取代父代,這樣的 方式造成每一代的遺傳機制只與當前族群狀態有關,而與之前的族群狀態無關, 遺傳元素影響相當有限。因此,本文將提出一種改進作法,稱之為:合作式基因 最佳化法(Cooperative Genetic Optimization,簡稱 CGO)。 CGO 所採取的方式,是把父代交配突變的結果留下來,與父代做共同排序、 篩選以產生新族群,這樣不只能避免染色體因不良的交配突變而降低收斂速度, 也實現了一個族群多樣性更高、更好的遺傳性、選取範圍更大的機制,使競爭選 取法發揮更大的效用,最後使用一個後製路徑優化系統,刪除不必要的節點,因 為一條路徑中若存在不必要的節點,不僅路徑較長,也增加了機器人行駛的困難 度,刪除這些多餘節點將使路徑變得更加完整。另外,為了使機器人安全移動至 目的地,與障礙物(如牆壁)保持一定距離的路徑是必要的。因此在 Cost Function 中也考慮了路徑周圍是否離障礙物過近。最後,實現一條最短、節點最少且安全 的路徑,為本文所求之最佳路徑,流程如圖 3- 1 所示:. 21.

(31) Sorted papulation Big family best New population. Old population. Offspring. Crossover & mutation. Selection. 20% Random. worst. 圖 3- 1 CGO 演化流程圖. 其中,父代與子代的相互比較,可確保每一代染色體確實優於上一代,CGO 的概念為:除非父代產生優於自己的子代,否則該條染色體被認為是優秀的菁英 父代,將無條件存活下來,配合菁英選擇法與隨機加入的新族群來避免區域最佳 解,整個演化系統可以確保族群優化且能快速收斂。圖 3- 2 是在一個尺寸為 512*512 的模擬地圖中,使用 50 組染色體,交配率為 0.8,突變率為 0.1,處罰參 數 T 為 500 的情況下實驗,分別執行 10 次 CGO 之收斂狀況,結果顯示出每一筆 CGO 皆能在相當少的迭代次數中收斂完成。. 詳細演算參數說明如下: A、. Selection:一個族群中,選出其中較優秀的染色體,可以使系統更快收斂 至全域最佳解,以及維持族群質量的效果。常用的方法有:輪盤法、分級 法、競爭選取法等等,本文的實驗中,採用競爭選取法。. B、. Crossover:染色體之間交配,可產生全新的解(染色體)。常用的方法有: one point、two point、uniform 等等,甚至有學者認為不交配才是最好的方 法[25]。本文實驗使用 one point 法,也是最常使用的交配法。 22.

(32) C、. Mutation:路徑規劃最常遇到的狀況就是路線中有障礙物,所以本文實驗 中藉由多點突變(multi point)法,隨機改變路徑座標值,以達到避障目的。. D、. Reproduction Strategy With Elite Policy:將優秀的染色體直接複製至下一代, 以確保族群順利演化。本文實驗中將最優秀的一條染色體直接複製到下一 代,其餘部分從族群的交配、突變結果透過競爭法選擇。. E、. Increasing Diversity in Population Pool 之機制,在新一代的族群中加入 20% 的 Random population,降低區域最佳解發生率。. Cost. generations. 圖 3- 2 CGO 收斂情況. 23.

(33) 3.2 基於合作式基因最佳化法之路徑規劃 判斷一條路徑的好壞,主要取決於:是否碰到障礙物、路徑總長度,以及使 路徑是否離障礙物太近,藉由在路徑中的每個 pixel 點都加入八方位判斷,因此, 適應函數 C 可以定義如下:. N. C   (di  N i  T ). (3-1). i 1. 其中: d i 為點與點之間的距離,T 是處罰參數(為任一實數),N 代表一條路徑之節點數。.  di T   pk ,中心點位於障礙物內  k 0 Ni   d i  p , 其他狀況  k   k 0 8. pk   an an  1 ,四周觸碰到障礙物 n 1. ,. 0 ,四周未觸碰障礙物. pk 如圖 3- 3 所示,代表中心點周圍的八個方位點。. 圖 3- 3 八方位點 24.

(34) 圖 3- 4 CGO 之路徑規劃. 為方便說明本方法,圖 3- 4 為利用本方法進行路徑規劃之結果。其中,黑色 部分是牆壁或障礙物、灰色點是起點、紅色點為終點、藍色點為路徑節點,形成 一條路程短的可行路徑,也和障礙物保持了適當距離。在演化出路徑資料後,如 圖 3- 4 所示,由許多節點組成,其中包括不必要的節點,自主機器人行走過程, 應盡量減少轉折節點,增加直行時間。故本文使用路徑優化流程(Redundant Node Deletion),做法流程如圖 3- 5 所示,由起點開始向後連結並測試各個節點,如果 未碰到障礙物,則判斷該節點之前皆為非必要節點,將其全部刪除,直到遇到障 礙物,則判斷此處為路徑必要轉折點,以該處為新起點並向後繼續測試,範例如 圖 3- 7 所示,由起點搜尋至 P3 後無法向後延伸,所以由 P3 為新起點繼續向後探 索,以此類推,最後的結果如圖 3- 8 所示,只需留下節點 P3、P6。此路徑與刪 除節點之前相比,距離縮短、節點少,將更有利於機器人導航,提高效率。. 25.

(35) Start. Coordinate node P(n). YES. Condition satisfied?. n+1. NO Node deletion. NO Goal. ?. YES End 圖 3- 5 路徑優化流程. 26.

(36) 圖 3- 6 CGO 路徑規劃結果. 圖 3- 7 執行刪除節點判斷流程. • • 圖 3- 8 最終路徑. 最後得到的路徑,由於節點變少,能使機器人在移動時更為方便,路徑也較 短,以圖 3- 6 為例,地圖尺寸為 512*512,使用 50 組染色體,交配率為 0.8,突 變率為 0.1,處罰參數 T 為 500 的情況下實驗,結果如圖 3- 9 所示,分別執行 50 次來呈現路徑優化的前後差異,可看出路徑經過路徑優化處理後,成本值 C(Cost Value)變得較低,更趨近理想。. 27.

(37) Cost. Independent run. 圖 3- 9 刪除不必要節點後的成本值變化. 路徑規劃法通常只實現在平面地圖上,如圖 3- 10 所示,而 CGO 的快速收 斂特性以及 CCGA[22][23]的共同合作概念,可用來實現多樓層路徑規劃。以圖 3- 11 為例,假設起點與終點在不同大樓的樓層,從起點開始規劃路徑至該樓層 的交通聯絡點(如樓梯、手扶梯、電梯等),再從終點樓層中的交通聯絡點規劃路 徑至終點,由公式(3-2)取得最適合的組合來成為最終路徑,這個最終結果是兩 筆 CGO 合作之路徑,規劃模擬架構如圖 3- 12 所示,起始點為紅色箭頭,規劃 至該樓層的手扶梯,再從目標樓層的手扶梯作為新起點,規劃路徑至終點,完 成兩個樓層間的路徑規劃。. 28.

(38) 圖 3- 10 CGO 的單樓層規劃. FinalPath  min  CostAi   CostB i . (3-2). 其中:. CostAi   Cost value of Path i   Cost value of PathII i  i=1~3,.  Elevator 10   CostB[i ]  Start  T arg et   Escalator  30    Stairs  50 . 考慮到人力或機械成本,樓層之間的間隔也會影響規劃流暢度,故分別給 樓梯、手扶梯、電梯不同的權重值,來決定兩條路徑中間的聯絡點,Start 為起 始樓層數、Target 為終點樓層數。. 29.

(39) Path[1] Path[2] Path[3]. PathII[1]. PathII[2]. PathII[3]. 圖 3- 11 起點與終點位於不同樓層時之規劃架構. 圖 3- 12 多樓層路徑規劃 30.

(40) 第四章. 實驗平台簡介. 4.1 實驗系統 此節主要介紹混合型機器人路徑規劃及其實現時,CGO 演算法所需的軟體平 台(Android),以及撰寫機器人控制與溝通所需的硬體平台 Pioneer[26]。. 4.1.1. Android. Android 是以 Linux 為基礎的半開放式行動裝置作業系統,是在 2003 年由 Andy Rubin、Rich Miner、Nick Sears 和 Chris White 共同創立,最初是開發智慧 型相機(Digital Cameras),不過礙於當時的市場需求不符所以轉向智慧型手機市場, 於 2005 年被 Google 收購,並於 2007 年 Google 與多家軟硬體廠商和電信公司成 立了開放手持設備聯盟(The Open Handset Alliance)。隨後,Google 開放原始碼許 可授權,發佈了 Android 的原始碼,讓廠商推出搭載 Android 系統的智慧型手機。 在 2008 年 10 月,經由 HTC 首度發表了第一支 Android 手機,至今 Android 成為 智慧型裝置的主流系統平台,2013 年至 2014 年的市占率更是從 61.9%上升至 80.2%,相當可觀。. 31.

(41) 圖 4- 1 Android 系統架構圖[27]. Android 的系統架構如圖 4- 1 Android 系統架構圖[27]所示,主要分為四大層, 分別為:Linux 核心層(Linux Kernel)、中介層包含函式庫(Libraries)、Android 執 行環境(Android Runtime)、應用程式框架層(Application Framework)與應用程式層 (Applications)。以上架構被稱為軟體堆疊架構。 A、 Linux 核心層(Linux Kernel): Android 作業系統平台採用 Linux 核心,版本為 2.6 至 3.0,負責管 理行動裝置電源、網路、記憶體以及硬體驅動等等…,可以避免在開發 程式時,硬體的不當使用導致系統不安全。. 32.

(42) B、 中介層: 其中的函式庫(Libraries),主要為一些開放原始碼。例如:Packet Video Media Framework(PVMF) 、 Operating System Compatibility Library(OSCL)、Open GL、SQLite(SQL)和 C/C++的標準函式庫,可供程 式執行時呼叫使用。 另外,Android 執行環境(Android Runtime),負責將我們撰寫的 Java code(.java)格式交給 JVM 編譯,編譯成 Java byte code(.class)格式,最後 再經由暫存器型態的 Java 虛擬機器「Dalvik」轉換成(.dex)格式,而每個 Android 應用程式都有屬於自己的執行緒,且交給虛擬器 Dalvik 來執行。. C、 應用程式框架層(Application Framework): 該層是程式開發者很常使用的一層,框架化的設計化簡了許多元件 的應用,使開發者可以簡單的控制應用程式的各種套件如:視窗、位置、 資源、通知、電話、活動等等,並可以輕易地更換其模組區塊而不影響 其他元件的運作功能。. D、 應用程式層(Applications): 應用程式層為 Android 的系統架構最上層,使用 Java 程式語言[28] 來開發,使系統介面到功能,富有多元的變化。例如:Activity 的前景 (foreground)模式、View 的 ViewGroup、BitMap 等功能。. 33.

(43) 4.1.2. Android SDK. Android SDK 係指:開發 Android 手機應用程式所需的相關 Android APIs 與 核心工具軟體[29],所謂的 Android APIs(Application Programming Interface)係指: 由 Android 官方所提供的一組 Android 手機應用程式,開發者在開發 Android 手 機應用程式時的程式溝通介面,它是做為 Android 應用程式與 Android 作業系統 底層相互溝通之用,裡頭包含一系列核心套件(packages)與類別(classes)及 Android 模擬器等開發元件。Android 手機應用程式開發者可以直接使用這一系列的 Android APIs 進行手機應用程式的設計工作,因此,能使大部份的 Android 手機 應用程式開發者節省了時間與精力來理解 Android 作業系統的底層架構,操作介 面如圖 4- 2 所示。. 圖 4- 2 Android SDK 開發環境介面. 34.

(44) 4.2 實驗設備 此節主要介紹合作式基因最佳化法路徑規劃及其實現時所需的硬體設備,分 別介紹所使用之手持式智慧裝置與行動機器人裝置。. 4.2.1. 手持式智慧型裝置. 本研究使用手持式行動裝置進行操控,其中又以 Android 平台最為普及,其 便利性以及容易上手的人性介面都廣為使用者喜愛,在市場的市占率也是逐年升 高,如圖 4- 3,未來前景仍相當可觀。導航系統的開發近來也越來越往行動裝置 上發展,具有很高的市場價值。考慮眾多優點,最終選擇了平板電腦 Google Nexus 7 為實驗平台。其規格如表 4- 1 所示。. 圖 4- 3 2014 年與 2018 年智慧型手機平台之市占率預估[30]. 35.

(45) 表 4- 1 ASUS Nexus7 規格表[31] NVIDIA® Tegra3™. CPU. Quad-Core 主螢幕尺寸. 7吋. 作業系統. Android TM 4.1 Jelly Bean. 記憶體. 1GB. 資料儲存應用. 32GB. 無線資料網路. WLAN 802.11 b/g/n@2.4GHz 藍牙 V3.0. 鏡頭畫素. 1.2 百萬畫素. 電池. WiFi:9.5 hours,4325mAh. 尺寸. 198.5 x 120 x 10.45 mm. 重量. 340g. 感應器. G-Sensor, GPS, Gyroscope , Light Sensor, E-compass , NFC, Hall Sensor. 36.

(46) 4.2.2. 行動機器人裝置 本論文主要使用由 Adept Mobile Robots 公司所開發的 P3-DX 自走車(圖 4-. 4),自走車的構造及規格圖如圖 4- 5 以及表 4- 2 所示。P3-DX 機身採鋁合金材 質,相當堅固耐用,有穩定均衡的驅動系統(兩輪差動帶腳輪或四輪滑動) ,可 逆直流馬達,馬達控制和驅動器,高效能運動編碼器和電池供電,可使用 RS232 及無線網路操控,開放式軟件包括 ARIA 和 ARNetworking,支援 C++、Java 和 Python。本實驗的電腦作業系統為 Microsoft Windows 7,使用 Microsoft Visual Studio 2010 C++環境配合 ARIA 含式庫開發[26][32]。. 圖 4- 4 Pioneer 3-DX. 37.

(47) 表 4- 2 Pioneer 3-DX 規格表[33] 名稱. Pioneer 3-DX. 輸出電壓. 5V~12V. 重量. 9kg. 使用時數. 24hrs ~30hrs. 最大負重. 25kg. 最大速度. 1400mm/sec. 長/寬/高(cm). 45.5/38/21.5. 最大轉速. 300 deg/sec. 圖 4- 5 Pioneer 3-DX 機身構造及規格. 38.

(48) 4.3 實作介面控制流程 本實驗主要由三種主要的參與者所構成,分別為使用者、智慧型裝置和行動 載具。下圖 4- 6 為整體互動關係之系統架構活動圖。. Pioneer 端. Android 端. 程式開始. Pioneer. 設定起點與 終點. 接收路徑 陣列?. NO. YES 路徑規劃. 前往下一個 節點 NO 是否到達 ? 終點?. 顯示結果. YES NO. YES 滿意與否?. 結束. 圖 4- 6 整體系統架構圖. ?. 39.

(49) 第五章. 實驗結果. 5.1 實驗環境 本研究是基於已知機器人起始位置與地圖環境為前提,並且無動態障礙物以 及平坦地面的先決條件下所進行實驗,模擬場地如圖 5- 1 所示,尺寸為 512*512, 實際操作場地為科技學院 5 樓,如圖 5- 2 所示,尺寸為 554*372。. 圖 5- 1 模擬場地. 40.

(50) 圖 5- 2 科技大樓 5F 模擬場景. 本實驗使用平板電腦 Nexus 7 以 Android 介面進行路徑規劃,再將規劃完之 路徑以矩陣封包的形式透過無線網路(TCP 模式)傳送給筆記型電腦,再透過 RS232 控制 Pioneer 自走車,完成導航後回傳通知給平板電腦,系統執行機構如 圖 5- 3 所示。. 41.

(51) 圖 5- 3 行動載具系統執行機構圖. 5.2 模擬結果 我們分別在兩張地圖執行模擬,在環境地圖中選定兩個座標點,為起點及終 點執行路徑規劃演算法。所使用的路徑規劃演算法包含 EGA、PEGA 和 CGO 路 徑規劃法。模擬運算以筆記型電腦進行,其規格為處理器 Intel Core (TM)2 Quad CPU 2.66 GHz,以及 RAM 為 DDR3 3GB。. 42.

(52) (a) EGA algorithm. (b) PEGA algorithm. (c) CGO algorithm. (d) CGO algorithm with RND 圖 5- 4 模擬結果. 圖 5- 4 之模擬結果以路徑不碰到障礙物為成功與否的考量,地圖尺寸為 512*512,50 組染色體,交配率為 0.8,突變率為 0.1,處罰參數 T 為 500,迭代 次數 100 代。由圖 5- 4(a)可看出 EGA 在有限的迭代次數下仍有一定的失敗次數。 圖(b)的 PEGA 發揮了平行化的優點,結果相較於 EGA,已經有了大幅改善。圖 43.

(53) (c)的 CGO 發揮了快速收斂的特性,每條路徑規劃皆演化成功,而使用路徑後製 優化(RND)後,CGO 的路徑得以優化致更短、節點更少。分別執行一百次的數據 結果以圖 5- 5、圖 5- 6、表 5- 1 來表示:EGA 依然有一定機率規劃失敗,而 PEGA 大大改善了 EGA,規劃成功率大大提升,但由於路徑節點不固定,依然出現很多 不必要的節點,CGO 配合路徑後製優化(RND)則改善以上缺點,呈現出來的結果 更為理想。 cost. Independent run. 圖 5- 5 EGA 與 CGO 之執行狀況. 44.

(54) cost. 圖 5- 6 PEGA 與 CGO 之執行狀況. Independent run. 表 5- 1 EGA、PEGA 與 CGO 各數據比較 successful rate. standard. optimal cost. mean. deviation EGA. 87%. 84.6. 468.3. 677.8. PEGA. 95%. 45.2. 454.7. 537.4. CGO. 99%. 32.4. 450.1. 521.6. 45.

(55) 1. 2. 圖 5- 7 實驗座標點. 我們以圖 5- 7 所標示的 1 為起點,2 為終點,執行三種路徑規劃演算法。地 圖尺寸為 554*372,成本函式(Cost Function)中,遇到障礙物的處罰參數 T 都以 500 計算。實驗結果以圖 5- 8 表示,起點為紅色點,終點為紫色點,中間所經過之節 點以藍色點表示,可看出 PEGA 由於發揮了並行運算的優勢,規劃出的路徑較 EGA 更加平順,雖在第一個轉彎處過於接近障礙物,但路徑演化得相當完善, CGO 則因為成本方程式(Cost function)考慮了路徑周圍障礙物,模擬出的路徑皆 與障礙物保持一定距離,並且節點數更少,將更有利於提升機器人行走成功率與 安全性,圖 5- 8 模擬了三種演算法之結果,詳細座標可見表 5- 2。. 46.

(56) • • ••• •. •. •. •. (a) EGA algorithm. •. • •. •. •. (b) PEGA algorithm. 47. •.

(57) • • • •. •. •. • •. (c) CGO algorithm. •. •. •. •. •. (d) CGO algorithm with RND 圖 5- 8 模擬結果 48. •.

(58) 表 5- 2 詳細座標位置 起點至終點之間的節點座標 EGA. {(80,30) (88,33) (126,112) (131,151) (129,160) (133,173) (137,250) (249,246) (326,255) (386,249) (485,250)}. PEGA. {(80,30) (107,60) (128,218) (136,242) (195,248) (365,254) (423,250) (485,250)}. CGO. {(80,30) (112,65) (128,103) (123,162) (128,240) (154,253) (204,248) (378,259) (412,257) (472,253) (485,250)}. CGO. {(80,30) (128,103) (128,240) (154,253) (204,251) (412,257) (485,250)}. (RND). 5.3 實驗結果 最後,將呈現 CGO 演算法實際應用在 Pioneer 與 Android 智慧型裝置之結果。 圖 5- 9 為 Android 智慧型裝置端執行之步驟圖,首先將地圖切換為科技大樓平面 圖,用手指觸控地圖決定紅色箭頭的起點。當按下「Go」的按鈕時,Android 端 開始進行路徑規劃,若不滿意該次規劃,只需重複按下「Go」即可重新規劃,規 劃完成後按下「Send」按鈕,則會透過無線網路將路徑傳送至筆電,再經由筆電 透過 RS232 控制 Pioneer 3-DX 進行導航,實際行走畫面如圖 5- 10 所示,其中紅 色箭頭代表起點,T 代表目標,藍點代表機器人當時於地圖上之位置。. 49.

(59) 圖 5- 9 操作畫面步驟. (a) 實驗影片截圖一. 50.

(60) •. (b) 實驗影片截圖二. • (c) 實驗影片截圖三. 51.

(61) • (d) 實驗影片截圖四. • (e) 實驗影片截圖五. 52.

(62) • (f) 實驗影片截圖六. • (g)實驗影片截圖七. 53.

(63) • (h) 實驗影片截圖八. • (i) 實驗影片截圖九. 圖 5- 10 CGO 演算法實現結果. 54.

(64) 第六章. 結論. 一般的演算法應用在路徑規劃時,規劃出的路徑常會過於貼近障礙物,造成 行動機器人移動時有失敗的可能,以及往往只能規劃於 2D 平面上的限制,讓路 徑規劃本身的變化性十分不足。在本篇論文中,我們提出了一個更大的選取空間, 搭配菁英法,可以更有效避免區域最佳解,透過路徑優化以刪除路徑中不必要之 節點,使路徑更短,並利用 Cost Function 避免路徑離障礙物過近,提高了安全性, 從實驗結果可以證明,CGO 確實比 EGA 以及 PEGA 能夠減少規劃的失敗率,並 且優化路徑。. 本論文所提出的演算法與實驗系統架構適用於任何 Android 智慧型裝置,透 過 Android SDK 可做出更多元的變化與修正。行動載具方面,只需具有無線網路 接收封包之功能,或是透過筆記型電腦,配合行動載具的馬達控制即可完成。 未來的機器人路徑規劃可以加入搭乘電梯之功能,使機器人可以自主實現多樓層 規劃,執行送公文或是清潔、巡邏等工作,以及動態迴避障礙物,使機器人任務 完成率更高。. 55.

(65) 參. 考. 文. 獻. [1] C. Petres, Y. Pailhas, P. Patron,Y. Petillot, J. Evans, and D. Lane, “Path Planning for Autonomous Underwater Vehicles,” IEEE Transactions on Robotics, vol. 23, no. 2, pp. 331-341, Apr. 2007. [2] I. Mas and C. Kitts, “Obstacle Avoidance Policies for Cluster Space Control of Nonholonomic Multirobot Systems,” IEEE/ASME Transactions on Mechatronics, vol. 17, no. 6, pp. 1068-1079, Dec. 2012. [3] C. Keonyup, L. Minchae, and S. Myoungho, “Local Path Planning for Off-Road Autonomous Driving With Avoidance of Static Obstacles,” IEEE Transactions on Intelligent Transportation Systems, vol. 13, no. 4, pp. 1599-1616, Dec. 2012. [4] P. E. Hart, N. J. Nilsson, and B. Raphael, “A Formal Basis for the Heuristic Determination of Minimum Cost Paths,” IEEE Transactions on Systems Science and Cybernetics, vol.4, no. 2, pp. 100-107, July. 1968. [5] Y. Lu and X. Huo, “Incremental Multi-Scale Search Algorithm for Dynamic Path Planning With Low Worst-Case Complexity,” IEEE Transactions on Systems, vol. 41, no. 6, pp. 1556–1570, Dec. 2011. [6] J. H. Holland, Adaptation in Natural and Artificial Systems. Ann Arbor, MI: Univ. Michigan Press, 1975. [7] H.C. Lau, T.M. Chan, W.T. Tsui, and W.K. Pang, “Application of genetic algorithms to solve the multidepot vehicle routing problem,” IEEE Trans. Autom. Sci. Eng., vol. 7, no. 2, pp. 383–392, Apr. 2010. [8] E. W. Dijkstra, “A note on two problems in connexion with graphs,” Numerische Mathematik, vol.1, no.1, pp 269-271, 1959. [9] http://en.wikipedia.org/wiki/A*_search_algorithm [10] Y. Lu and X. Huo, “A Beamlet-Based Graph Structure for Path Planning Using 56.

(66) Multiscale Information,” IEEE Transactions on Automatic Control, vol. 57, no. 5, pp. 1166–1178, May. 2012. [11] X. Huayang and Z. Mengjie, “Parent Selection Pressure Auto-Tuning for Tournament Selection in Genetic Programming,”, IEEE Transactions on Evolutionary Computation, vol. 17, no. 1, pp. 1-19, Feb. 2013. [12] http://www.scielo.br/scielo.php?pid=S0104-66322008000400017&script=sci_artt ext [13] http://biology.about.com/od/basicgenetics/ss/gene-mutation.htm [14] T.W. Manikas, K. Ashenayi, and R.L. Wainwright, “Genetic Algorithms for Autonomous Robot Navigation,” IEEE Instrumentation & Measurement Magazine, vol. 10, no. 6, pp. 26–31, Dec. 2007. [15] N. Xie and H. Leung, “Reconstruction of Piecewise Chaotic Dynamic Using a Genetic Algorithm Multiple Model Approach,” IEEE Transactions on Circuits and System, vol. 51, no. 6, pp. 1210–1222, June. 2004. [16] E.A.M. Cruz and A.S. Morris, “Fuzzy-GA-based trajectory planner for robot manipulators sharing a common workspace,” IEEE Transactions on Robotics, vol. 22, no. 4, pp. 613–624, Aug. 2006. [17] F. Benavides, G. Tejera, M. Pedemonte, and S. Casella, “Real Path Planning based on Genetic Algorithm and Voronoi Diagrams,” IEEE IX Latin American and IEEE Colombian Conference on Automatic Control and Industry Applications, Bogota, Oct. 2011, pp. 1–6. [18] M. Gemeinder and M. Gerke, “GA-based path planning for mobile robot systems employing an active search algorithm,” Appl. Soft Comput., vol. 3, no. 2, pp. 149-158, Sep. 2003.. 57.

(67) [19] Cen. Zeng, Qiang. Zhang, and Xiaopeng. Wei, “GA-based Global Path Planning for Mobile Robot Employing A* Algorithm,” Journal of computers, vol. 7, no. 2, pp. 470–474, Feb. 2012. [20] Y. Zhang, L. Zhang, and X. Zhang, “Mobile Robot Path Planning Base on the Hybrid Genetic Algorithm in Unknown Environment,” International Conference on Intelligent Systems Design and Applications, Kaohsiung, Nov. 2008, pp. 661–665. [21] C.C. Tsai, H.C. Huang, and C.K. Chan, “Parallel Elite Genetic Algorithm and Its Application to Global Path Planning for Autonomous Robot Navigation,” IEEE Transactions on Industrial Electronics, vol. 58, no. 10, pp. 4813–4821, Oct. 2011. [22] A.W. Iorio and X. Li, “A Cooperative Coevolutionary Multiobjective Algorithm Using Non-dominated Sorting,” Genetic and Evolutionary Computation Conference, Seattle, WA, USA, June. 2004, pp. 537–548. [23] V.D.L Cueva and F. Ramos, “Cooperative genetic algorithms: a new approach to solve the path planning problem for cooperative robotic manipulators sharing the same work space,” IEEE Intelligent Robots and Systems, Victoria, Oct. 1998, pp. 267–272. [24] http://en.wikipedia.org/wiki/Cooperative_coevolution [25] 張文修、梁怡,遺傳算法的數學基礎,西安交通大學出版社,2000。 [26] 謝奇均,具遠端控制服務型移動機器人之研究,中原大學電機工程學系碩士 論文,台灣,民國100年。 [27] http://zh.wikipedia.org/wiki/Android [28] 曾吉弘、林毓祥、Juan Antonio,機器人程式設計與實作--使用 JAVA,碁峯資 訊,2010。 [29] 吳雅峰、蘇亞光,深入淺出 Android 遊戲程式開發範例大全,博碩文化,2011。 58.

(68) [30] http://iknow.stpi.narl.org.tw/Post/Read.aspx?PostID=9734 [31] http://shop.asus.com/store/asustw/zh_TW/pd/ThemeID.31533000/productID.2806 69900/categoryID.61631300 [32] 張真誠、蔡文輝、胡育誠,資料結構導論 C 語言實作,全華圖書公司,2007。 [33] http://www.mobilerobots.com/ResearchRobots/PioneerP3DX.aspx. 59.

(69) 自. 傳. 我的名字叫劉奕君,是土生土長的新店人,家中有父親跟妹妹,父親是已退 休公務員,妹妹就讀淡江大學建築系,我目前就讀於台灣師範大學應用電子系, 在研究所的研究項目是機器人導航,學習了使用基因演算法進行機器人路徑規劃 並控制,最後將成果實作在手機 Android 平台,實現軟硬體協同。 由於大學畢業後直接入伍服役,所以退伍復學之後更感受到自由的可貴,使 我更積極充實自己,大學期間曾加入羽球隊、桌球隊,桌球是我最熱愛的項目, 所以進入碩班後重新回到桌球隊懷抱,並在第二年擔任隊長,學習團隊經營、管 理,期間以碩班的身份管理球隊又需兼顧研究進度曾讓自己一度懷疑是否過於托 大,但在隊員及教練的支持協助下依然順利度過種種考驗,光榮交接。 曾有過許多寶貴經驗,例如:在展場活動接待外國賓客來訓練英文能力,在 才藝班教桌球訓練與孩子們相處的技巧,在麵包店學習搖元宵體驗古早經典,還 有在碩班生涯中,去國外發表研討論文訓練上台膽量、遠赴加拿大做校外學術參 訪,這些都是學生時期很美妙的回憶!雖然過程有點辛苦,但很值得!在未來當中 我會持續發揮碩班期間的所學,持續挑戰並充實自己,已回報給曾教導過我的老 師、同學以及所有支持我的人。. 60.

(70) 學. 術. 成. 就. 論文發表 1.. Y. C. Liu and C. C. Hsu, “Path Planning for Robot Navigation Based on Cooperative Genetic Optimization,” 2014 IEEE 11th International Conference on Networking, Sensing and Control, Miami, Apr. 2014, pp.316-321.. 參與比賽之獎項 1.. 新光保全機器人 2013 大賽-佳作。. 2.. 第二屆 NTNU Best APP 行動應用程式設計比賽-非教育應用組-冠軍。. 61.

(71)

參考文獻

相關文件

F., “A neural network structure for vector quantizers”, IEEE International Sympoisum, Vol. et al., “Error surfaces for multi-layer perceptrons”, IEEE Transactions on

Gen, &#34;Minmax earliness/tardiness scheduling in identical parallel machine system using genetic algorithms,&#34; Computers &amp; Industrial Engineering, vol. Cheng,

Hwang, “An O (nk)-time algorithm for computing the reliability of a circular consecutive-k-out-of-n:F system,” IEEE Trans on Reliability, Vol.. Shantikumar, “Recursive algorithm

Zhang, “ Face recognition using Laplacianfaces,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. Zhang, “Orthogonal Laplacianfaces for face

Li, The application of Bayesian optimization and classifier systems in nurse scheduling, in: Proceedings of the 8th International Conference on Parallel Problem Solving

Chan, “Effect of Intermetallic Compounds on the Thermal Fatigue of Surface Mount Solder Joints,” IEEE Transactions on Components, Packaging, and Manufacturing Technology B, Vol.

Chan, “Effect of Intermetallic Compounds on the Thermal Fatigue of Surface Mount Solder Joints,” IEEE Transactions on Compounds, Packaging, and Manufacturing Technology B, Vol.

Wu,Kang-Li,1998,A Study of the Impact of Science Park Development on Housing Development:A Case Study of Silicon Valley and its Implications for Taiwan 's Science Park