• 沒有找到結果。

改良型螞蟻演算法之路徑規劃及其在FPGA之實現

N/A
N/A
Protected

Academic year: 2021

Share "改良型螞蟻演算法之路徑規劃及其在FPGA之實現"

Copied!
89
0
0

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

全文

(1)國立臺灣師範大學應用電子科技學系 碩士論文. 指導教授:許陳鑑博士 改良型螞蟻演算法之路徑規劃及其在 FPGA 之實現 FPGA Realization of an Improved Ant Colony Optimization Algorithm for Path Planning. 研究生:侯如瑜 撰 中 華 民 國 103 年 7 月.

(2) 改良型螞蟻演算法之路徑規劃及其在 FPGA 之實現. 學生: 侯如瑜. 指導教授: 許陳鑑 博士. 國立臺灣師範大學應用電子科技學系碩士班 摘. 要. 本論文所提出一改良型螞蟻演算法應用於路徑規劃,解決規劃最佳路徑時容 易出現區域最佳解的問題。原先的蟻群系統演算法(Ant Colony System , ACS)雖收 斂快速,卻極易陷入區域解,因此,本論文將提出一種改良型螞蟻演算法,透過 所提出之費洛蒙更新機制,包含部分費洛蒙更新以及反向費洛蒙更新,使得螞蟻 具有更多探索新路徑的能力,減少只追隨同一路徑的機會。為了驗證論文中所提 出之方法可以確實提升路徑規劃之精確度,將會與傳統 ACS 比較,以多種不同 路徑進行規劃與比較其性能。為了縮短運算時間,提升計算的效率,本論文所提 出之改良型螞蟻演算法將以 DE2-70 多媒體開發平台,利用 FPGA 電路加以實現。 實驗結果證明以全硬體設計方式可以用較少的處理時間獲得路徑規劃結果,確實 提升嵌入式應用系統之效能。. 關鍵字:路徑規劃、螞蟻演算法、機器人導航、移動式機器人、FPGA i.

(3) Student: Ru-Yu Hou. Advisor: Dr. Chen-Chien Hsu. Institute of Applied Electronics Technology National Taiwan Normal University. ABSTRACT. Although traditional ant colony system (ACS) has the ability of fast convergence, it tends to fail into local optima. To solve this problem, this thesis proposes an improved ant colony system algorithm for path planning by establishing two new mechanisms for pheromone updating, including partial pheromone updating and opposite pheromone updating. As a result, the ability of global searching of the improved ACS can be significantly enhanced in comparison to the traditional ACS algorithms in deriving an optimal path. Simulation results show the proposed approach has a better performance in terms of shortest distance, mean distance, and successful rate of the optimal paths than those obtained by the traditional ACS algorithms. To further reduce the computation time, the improved ant colony system algorithm for path planning is realized on FPGA circuit using a DE2-70 multimedia development board to verify the practicability of the proposed algorithm. Experimental results show that the execution efficiency of path planning is significantly improved by the full hardware design for embedded applications.. Keywords: Path planning, Ant colony algorithm, Navigation, Mobile robot, FPGA.. ii.

(4) 致. 謝. 首先,要感謝指導教授許陳鑑老師,亦是我的大學專題指導教授,在這四年 期間,老師總是貼心地為學生著想,除了在研究上提供實質的資源與協助外,還 常教導我們生活中待人處事的道理,做事嚴謹的態度更是值得我們學習。其中在 碩班兩年期間,帶領我們參加國外研討會並參訪學校,深深影響我對未來人生的 規劃。接著感謝李宜勳老師和簡宜興博士,常與我們討論研究上的問題,給予許 多指導和意見。 感謝學長姐們書漢、宗翰、士勛、國棠、誠愷、永青和元君,跟著大家一起 到處吃吃喝喝、一起騎腳踏車、一起爬山,生活很充實。畢業後仍不忘關心實驗 室近況,也常回來聚餐分享工作經驗,每次和你們聊天都很愉快。其中特別感謝 誠愷、永青和元君,碩一時因為你們的陪伴和照顧,實驗室就像個大家庭一樣, 每天來實驗室都覺得很開心。當遭遇瓶頸時,總是義不容辭地幫忙。因為你們才 能讓我實驗更加順利。再來感謝我的夥伴們家瑞和奕君,這兩年互相學習成長, 還一起去日本旅遊,是個非常特別的經驗。還有學弟妹們顏彰、苡柔、東源、君 豪和耀霖。以及大學部的芷瑄、家瑜、廣億、大瑋、騰緯、竣傑、婉彤、彥丞, 你們總是為實驗室帶來許多歡樂! 還有感謝我的高中朋友佩吟,整整六年中都是妳的陪伴,總是不斷地幫我加 油打氣,因為妳才能讓我這六年生活如此豐富。以及謝謝大學室友學妹俞捷,也 常陪我聊天、紓壓,給我許多啟發!最後,非常感謝我的家人,無論我做任何決 定,他們總是全力支持和鼓勵,給予我莫大的勇氣,使我可以更堅定地完成每個 階段的任務。. iii.

(5) 目 錄 摘. 要 ................................................................................................................. i. ABSTRACT................................................................................................................ ii 致. 謝 ............................................................................................................... iii. 表目錄....................................................................................................................... vii 圖目錄........................................................................................................................ ix 第一章 緒論 ...............................................................................................................1 1.1 研究背景與動機 ............................................................................................1 1.2 論文架構 ........................................................................................................4 第二章 傳統與改良型螞蟻演算法 ...........................................................................5 2.1.螞蟻演算法簡介 ............................................................................................5 2.2.傳統螞蟻演算法 ............................................................................................8 2.2.1 建立路徑 ..............................................................................................8 2.2.2 費洛蒙更新 ........................................................................................10 2.2.3 輪盤法 ................................................................................................ 11 2.3.改良型螞蟻演算法 ......................................................................................12 第三章 基於改良型螞蟻演算法之路徑規劃 .........................................................18 3.1 路徑規劃之地圖描述 .................................................................................18 3.2 路徑規劃之問題描述 .................................................................................20 3.3 路徑規劃流程 .............................................................................................22 第四章 硬體設計平台 .............................................................................................24 4.1 DE2-70 多媒體開發平台 ............................................................................24 4.2 LTM 觸碰面板模組 .....................................................................................27 4.2.1 LTM 顯示模組腳位說明...................................................................29 4.2.2 LTM 顯示模組訊號時序圖 ..............................................................31 iv.

(6) 第五章 路徑規劃演算法之硬體電路設計 .............................................................33 5.1 硬體電路架構 ..............................................................................................33 5.2 螞蟻演算法硬體電路設計 ..........................................................................34 5.2.1 距離模組 ............................................................................................34 5.2.2 費洛蒙模組 ........................................................................................37 5.2.3 轉換機率模組 ....................................................................................39 5.2.4 路徑建立模組 ....................................................................................41 5.2.5 終點判斷模組 ....................................................................................45 5.2.6 距離計算模組 ....................................................................................46 5.2.7 路徑比對模組 ....................................................................................48 5.2.8 路徑暫存模組 ....................................................................................49 5.3 其他應用模組 ..............................................................................................50 5.3.1 隨機亂數模組 ....................................................................................50 5.3.2 RAM...................................................................................................51 5.3.3 Control panel ......................................................................................52 5.3.4 lcd_timing controller ..........................................................................53 5.3.5 adc_spi_controller ..............................................................................53 5.3.6 flash_to_sdram_controller .................................................................53 5.3.7 touch_point_detector ..........................................................................53 第六章 模擬與實驗結果 .........................................................................................54 6.1 改良型蟻群演算法之模擬結果 ..................................................................54 6.1.1. 傳統演算法與改良型演算法模擬圖 .........................................54. 6.1.2. 傳統演算法與改良型演算法精確度 .........................................56. 6.2 軟硬體設計之路徑規劃效能比較結果 ......................................................63 6.3 實際應用於路徑規劃之實驗結果 ..............................................................67 v.

(7) 第七章. 結論 ...........................................................................................................72. 參考文獻....................................................................................................................73. vi.

(8) 表目錄 表 2- 1 輪盤法說明表 ...........................................................................................12 表 2- 2 反向費洛蒙更新方式 ...............................................................................15 表 4- 1 LTM 規格參數表 ...................................................................................... 28 表 4- 2 LTM 顯示模組訊號說明 ..........................................................................30 表 5- 1 距離模組訊號說明 ................................................................................... 35 表 5- 2 費洛蒙模組訊號說明表 ........................................................................... 37 表 5- 3 轉換機率計算模組訊號說明表 ............................................................... 39 表 5- 4 追隨行為模組訊號說明表 ....................................................................... 42 表 5- 5 追隨行為模組比較方法說明表 ............................................................... 43 表 5- 6 探索行為模組訊號說明表 ....................................................................... 44 表 5- 7 追隨行為模組說明表 ............................................................................... 45 表 5- 8 判斷終點模組訊號說明表 ....................................................................... 46 表 5- 9 距離計算模組訊號說明表 ....................................................................... 47 表 5- 10 路徑比對模組訊號說明表 ..................................................................... 49 表 5- 11 隨機亂數模組輸出入訊號說明表 ......................................................... 51 表 5- 12 RAM 訊號腳位說明表 ........................................................................... 52 表 6- 1 參數表 .......................................................................................................54 表 6- 2 最短距離、平均值以及成功率比較表 ...................................................56 表 6- 3 Path 1 傳統型之實驗結果 ........................................................................57 表 6- 4 Path 1 改良型之實驗結果 ........................................................................57 表 6- 5 Path 2 傳統型之實驗結果 ........................................................................58 表 6- 6 Path 2 改良型之實驗結果 ........................................................................58 表 6- 7 Path 3 傳統型之實驗結果 ........................................................................59 表 6- 8 Path 3 改良型之實驗結果 ........................................................................59 vii.

(9) 表 6- 9 Path 4 傳統型之實驗結果 ........................................................................60 表 6- 10 Path 4 改良型之實驗結果 ......................................................................60 表 6- 11 Path 5 傳統型之實驗結果 ......................................................................61 表 6- 12 Path 5 改良型之實驗結果 ......................................................................61 表 6- 13 Path 6 傳統型之實驗結果 ......................................................................62 表 6- 14 Path 6 改良型之實驗結果 ......................................................................62 表 6- 15 軟體設計之時間比較實驗結果 .............................................................63. viii.

(10) 圖目錄 圖 2- 1 自然界螞蟻的覓食行為圖 .................................................................................6 圖 2- 2 螞蟻演算法流程圖 .............................................................................................7 圖 2- 3 輪盤法講解範例圖 ...........................................................................................12 圖 2- 4 部分費洛蒙更新示意圖 ...................................................................................13 圖 2- 5 部分費洛蒙更新示意圖 ...................................................................................14 圖 2- 6 遇到凹型障礙物示意圖 ...................................................................................14 圖 2- 7 路徑規劃失敗示意圖 .......................................................................................15 圖 2- 8 路徑規劃成功示意圖 .......................................................................................15 圖 2- 9 相對反向費洛蒙更新示意圖 ...........................................................................17 圖 2- 10 加入相對反向費洛蒙更新示意圖 .................................................................17 圖 3- 1 格點地圖 ...........................................................................................................18 圖 3- 2 螞蟻移動方向示意圖 .......................................................................................19 圖 3- 3 地圖示意圖 .......................................................................................................19 圖 3- 4 格點地圖資訊 ...................................................................................................20 圖 3- 5 迴圈狀況 ...........................................................................................................21 圖 3- 6 死路狀況 ...........................................................................................................21 圖 3- 7 解決死路狀況示意圖 .......................................................................................22 圖 3- 8 改良型螞蟻演算法之流程圖 ...........................................................................22 圖 4- 1 DE2-70 開發板實體圖 .....................................................................................26 圖 4- 2 DE2-70 多媒體開發平台與 D5M、LTM 模組搭配 ......................................27 圖 4- 3 LTM 顯示模組實體圖 ......................................................................................28 圖 4- 4 LTM 顯示模組之 40 個腳位連接圖 ................................................................29 圖 4- 5 LTM 面板水平時序訊號 ..................................................................................32 圖 4- 6 LTM 面板垂直時序訊號 ..................................................................................32 ix.

(11) 圖 5- 1 路徑規劃系統架構圖 .......................................................................................33 圖 5- 2 距離模組訊號圖 ...............................................................................................34 圖 5- 3 距離模組之硬體架構圖 ...................................................................................36 圖 5- 4 費洛蒙模組訊號圖 ...........................................................................................37 圖 5- 5 費洛蒙模組之硬體架構圖 ...............................................................................38 圖 5- 6 轉換機率計算模組訊號圖 ...............................................................................39 圖 5- 7 轉換機率模組之硬體架構圖 ...........................................................................40 圖 5- 8 計算轉換值總和流程圖 ...................................................................................41 圖 5- 9 追隨行為模組訊號圖 .......................................................................................42 圖 5- 10 轉換機率模組之硬體架構圖 .........................................................................43 圖 5- 11 探索行為模組訊號圖 .....................................................................................44 圖 5- 12 轉換機率模組之硬體架構圖 .........................................................................45 圖 5- 13 判斷終點模組訊號圖 .....................................................................................46 圖 5- 14 轉換機率模組之硬體架構圖 .........................................................................46 圖 5- 15 距離計算模組訊號圖 .....................................................................................47 圖 5- 16 距離計算模組之硬體架構圖 .........................................................................48 圖 5- 17 路徑比對模組訊號圖 .....................................................................................48 圖 5- 18 路徑比對模組之硬體架構圖 .........................................................................49 圖 5- 19 路徑暫存模組之硬體架構圖 .........................................................................50 圖 5- 20 隨機亂數模組之邏輯符號圖 .........................................................................51 圖 5- 21 RAM 之邏輯符號圖 .......................................................................................51 圖 5- 22 control panel ....................................................................................................52 圖 6- 1 模擬結果 ...........................................................................................................55 圖 6- 2 路徑規劃結果 ...................................................................................................65 圖 6- 3 硬體設計之計算距離波形模擬圖 ...................................................................66 x.

(12) 圖 6- 4 收斂結果 ...........................................................................................................66 圖 6- 5 賣場地圖 ...........................................................................................................67 圖 6- 6 Path 1 輸入起點終點 ........................................................................................68 圖 6- 7 Path 1 路徑規劃結果 ........................................................................................68 圖 6- 8 Path 2 輸入起點終點 ........................................................................................69 圖 6- 9 Path 2 路徑規劃結果 ........................................................................................69 圖 6- 10 Path 3 輸入起點終點 ......................................................................................70 圖 6- 11 Path 3 路徑規劃結果 ......................................................................................70 圖 6- 12 Path 4 輸入起點終點 ......................................................................................71 圖 6- 13 Path 4 路徑規劃結果 ......................................................................................71. xi.

(13) 第一章. 緒論. 1.1 研究背景與動機 近年來,基於現代人講求效率的需求,逐漸地興起機器代替人力的趨勢。透 過模擬人類行為或思想的機器,用以取代或協助人類達成任務,不僅省時又可 大幅降低人力成本。隨著科技的發達,數位產品逐漸融入生活之中。機器人技 術已經被廣泛的應用於日常生活中,例如: 負責居家環境整理的清潔機器人、 因應老齡化社會的健康照護型機器人、工廠裡進行刷漆和組裝的工業機器人、 執行救災任務的軍用機器人、取代傳統手術的達文西機器人手術等,機器人已 在無形中與人類的生活息息相關。因此,機器人相關議題亦愈來愈受到重視, 其中包含了影像辨識、影像追蹤、機器人定位、路徑規劃、路徑追蹤以及地圖 建置…等相關研究。. 本篇論文主要研究的項目即為路徑規劃,從已知的地圖環境中,根據不同的 標準條件,如最短時間或最短距離等,規劃出一條從起始點至終點具備最佳化 效果且避免與障礙物碰撞的可行路徑。除了機器人的行走路線之外,生活中亦 有許多結合路徑規劃的應用,如 google map、行車導航紀錄器以及行動裝置 app…等,這些裝置和現代人的生活密不可分,由此可見路徑規劃之重要性。目 前已經有許多實現路徑規劃的演算法,例如勢場法(potential field method )[1]、 A*演算法[2]、D*演算法[3],以及許多智慧型演算法,例如基因演算法(Genetic Algorithm)[4]、類神經網路法(artificial neural networks approach )[5]、蟻群最佳 化演算法(Ant Colony Optimization)[6]…等。既有的路徑規劃演算法各有其優缺 點,以下將分別說明。 1.

(14) 勢場法的基本概念為使用一個虛擬的能量場,使得機器人會被目標位置所吸 引,並且與障礙物互相排斥,其數學表示式簡潔易懂容易實現。優點為計算量 少且有即時避障的效果,但是在處理凹型障礙物(concave obstacles)或較複雜的 環境時,常使得機器人陷入區域最佳解,無法到達目的地。而且當向量場互相 抵消的狀況發生時,會造成機器人無法判斷下一個路徑方向,使得路徑規劃失 敗。. A* algorithm 演算法主要是使用啟發式的成本運算方式來搜尋節點,使得搜 尋具有方向性,優點為運算簡單、方便實作,執行速度快,具有相當不錯的表 現,但在凹形障礙物的環境中,容易在凹型障礙物的區域範圍內做過多不必要 的搜尋。且規劃出來的路徑可能會太靠近障礙物,容易造成機器人移動上的碰 撞。. Dijkstra’s Algorithm 是根據地圖中每個相鄰節點的距離作為評估的成本資訊, 進行貪婪搜尋。優點是規劃出來的路徑一定是最短路徑,且具有局部修復 (Locally repairing)的特性,可以利用感測器偵測環境中之動態障礙物,若有障 礙物出現於原先所規劃的路徑上時,則重新進行路徑規劃。缺點則是當地圖深 度變大時,會產生效率降低的問題。. 基因演算法是根據生物學中進化論「適者生存,不適者淘汰」所發展出來的 演算法。將路徑比擬成染色體,在染色體分裂的過程中,優良的基因會不斷的 遺傳下去,經過「複製」、「交配」 、 「突變」…等步驟,逐漸演化出最佳解。對 於解決最佳化問題亦有不錯的表現,但其演化過程步驟繁複,計算上較為費時, 不利於即時系統的運作。. 2.

(15) 類神經網路法的適應性強,可以接受不同種類的變數當輸入,對於未知的輸 入亦可得到正確的輸出,但是類神經網路以迭代的方式更新閥值,由於計算量 龐大,且訓練過程中需要以試誤法得到適當的神經元個數,較缺乏實用性。. 螞蟻演算法已成功地應用於旅行銷售員(Traveling Salesman Problem, TSP)等 相關路徑規劃議題[7][8][9],在機器人路徑規劃的實現具有良好結果[10],其概 念為模仿螞蟻覓食時在路徑上留下費洛蒙,使得其它螞蟻得以遵循前進而產生 最短路徑所發展出之演算法。其演算法在處理最佳化的問題時可以快速收斂至 最佳解,因此,本論文將以螞蟻演算法為基礎,以實現最佳路徑規劃。在第二 章將有蟻群最佳化演算法更詳細的說明。. 本論文的研究目標為透過螞蟻演算法規劃出一條最佳路徑,也就是從起始點 到終點之間最短距離的路徑。雖然前面提到螞蟻演算法收斂迅速且可找到最佳 解,但當遇到凹型障礙物的環境時,卻也容易有伴隨著陷入區域最佳解的問題 產生[11][12]。為了解決此區域解的問題,本論文提出了一種改良型螞蟻最佳化 演算法,針對費洛蒙的更新部分,新增了兩個更新機制,可以幫助螞蟻在搜尋 過程中具有開發新路徑的能力,降低追隨同一路徑的機會,進而減少傳統螞蟻 群演算法中區域解的狀況發生,並且確實提升最短路徑規劃之準確度。實驗最 後更將所提出之演算法以全硬體電路方式實現於 FPGA 晶片上,同時搭配 LTM 觸碰面板模組,以建立真實的人機介面,完成一個可以實際操控的智慧型嵌入 式系統,以驗證所提出之改良型螞蟻演算法應用於最短路徑規劃之實用性。. 3.

(16) 1.2 論文架構 本論文共分為七章,第二章介紹螞蟻演算法的由來和原理,以及改良型螞蟻 演算法的作法。第三章介紹基於螞蟻演算法應用於路徑規劃的實現,包含了問題 描述、地圖描述以及詳細的演算法流程。第四章主要介紹本論文所使用的硬體設 計平台 DE2-70 多媒體開發平台。第五章將介紹螞蟻演算法實現於 DE2-70 之硬體 架構,以及針對各個硬體模組做詳細介紹。第六章為模擬與實驗結果,包含軟體 模擬結果、軟硬體之效能比較和實際應用於 LTM 觸碰面板之實驗結果。最後, 第七章為結論。. 4.

(17) 第二章. 傳統與改良型螞蟻演算法. 本論文提出一改良型螞蟻演算法實現路徑規劃,保留原先傳統演算法快速收 斂的優點,同時針對費洛蒙更新部分新增更新機制,以減少路徑規劃時陷入區域 解的情況發生,進而提升路徑規劃結果的準確度。主要的路徑規劃流程如下: 先 給定一個已知環境的地圖,假設欲從起始點 A 到達終點 B,將地圖資訊、起點和 終點的座標資訊傳送給路徑規劃演算法,經過演算法的迭代計算後,會產生一條 從 A 點至 B 點的最佳可行路徑。本文中路徑規劃是以達成最短距離為目標,因 此,演算法規劃出來的結果會是一條從起點至終點距離最短的路徑。接下來將分 別介紹螞蟻演算法的原理與由來、傳統螞蟻演算法如何應用於路徑規劃,以及我 們所提出的改良型螞蟻演算法。. 2.1. 螞蟻演算法簡介 在自然界中,螞蟻們彼此的溝通不依賴視覺的輔助,而是依靠一種稱為「費 洛蒙」(Pheromone)的化學物質來傳遞訊息。在覓食的初期,螞蟻們會隨機的到處 移動,並且在行走過的路徑上遺留下費洛蒙。同時也根據路徑上費洛蒙的多寡來 決定下一個前進的方向。愈多費洛蒙殘留的路徑愈吸引螞蟻前往,而較少螞蟻行 走之路徑則費洛蒙濃度也會隨著時間漸漸地蒸發而減少。過了一段時間,蟻群間 靠著路徑上的費洛蒙信息互相合作,進而尋找出一條蟻巢和食物之間最短距離的 路徑。. 5.

(18) 如圖 2- 1[13]所示:一開始蟻巢到食物之間並沒有障礙物的阻隔,如圖 2- 1(a); 當路面上出現了障礙物,這時螞蟻必須選擇向右轉或向左轉才能繼續前進,如圖 2- 1(b)。因為剛開始所有路徑尚未有螞蟻走過,我們便假設左右兩條路的選擇機 率相等,因此選擇向左轉和向右轉的的螞蟻數量相同。然而,選擇較短路徑行走 的螞蟻會較快拿到食物,也會較快回到蟻巢,所以費洛蒙累積的濃度也較高,如 圖 2- 1(c);由於螞蟻追隨高費洛蒙的習性下,距離較短的路徑上因為累積了大量 的費洛蒙,進而吸引了大多數的螞蟻選擇該路徑前往;愈多螞蟻經過,則路徑上 的費洛蒙濃度會愈來愈濃,隨著時間增長,幾乎所有的螞蟻都選擇相同的一邊前 進,最終產生了最佳路徑,如圖 2- 1(d)所示。. (a). (b). (c). (d) 圖 2- 1 自然界螞蟻的覓食行為圖[13]. 螞蟻演算法由 Dorigo、Maniezzo 等學者於 1990 年提出[6],利用上述螞蟻群. 體合作尋找食物的行為所發展出來的最佳化演算法 。其中螞蟻系統(Ant System, AS)是螞蟻演算法中最早被提出來的理論,之後的螞蟻演算法都是以螞蟻系統為 6.

(19) 基礎所衍生出來,例如螞蟻族群系統(Ant Colony System, ACS)、 小中取大螞蟻 系統(max-min AS, MMAS)…等皆由 AS 改良而來,這些方法我們便統稱為螞蟻族 群最佳化(Ant Colony Optimization, ACO)。蟻群演算法最早被應用於解決旅行銷 售員問題(Travel Salesman Problem, TSP),具有不錯的效果。後來,陸續也有其他 研究運 用蟻 群演 算 法來解 決其 他類 型 的問題 ,例 如二 次 指派問 題 (Quadratic Assignment Problem)[13]、運輸繞徑問題(Vehicle Routing Problem)[15]、網路路由 問題(Network Routing Problem)[16],以及漢米敦圖形辨識問題(Job Scheduling Problem)[17]…等相關問題。其中,ACS 為螞蟻演算法理論模型中應用較為廣泛 的模型,且比 AS 有較好的表現。本文將針對 ACS 進行改良,並實現於路徑規劃。 基於螞蟻演算法解決路徑問題之簡易流程圖如圖 2- 2:. 開始 將問題轉為路徑 問題形式 初始化路徑上的 費洛蒙. 到達終止條件?. 是. 結束. 否 建立路徑. 費洛蒙濃度更新 圖 2- 2. 螞蟻演算法流程圖 7.

(20) 2.2. 傳統螞蟻演算法 螞蟻演算法解決路徑問題的流程中主要包含兩個步驟,包含建立路徑和費洛 蒙更新兩個部分,以下分別對這兩個部分詳細說明。. 2.2.1. 建立路徑. 首先利用費洛蒙資訊和距離資訊算出轉換機率,蟻群會根據轉換機率再經由 轉換規則來選擇下一個前進的位置,此轉換規則中包含了兩種行為,分別是探索 和追隨,而如式(2- 1)。.  arg max ( ) ( )  , if q  q  j  jD 0  jNik j , if j  Nik  k  p j , otherwise. (2- 1). 其中 j 為下一個前進的格點。q 為(0,1)間均勻分布之隨機亂數,q0 為一固定 k. 參數,調整其值可決定探索或追隨的偏向程度; p j 是格點 j 的轉換機率,轉換機 率的大小代表螞蟻選擇格點 j 的機率大小,如式(2- 2);. p kj . ( j ) ( jD ) .  (. j. ) ( jD ) . (2- 2). jNik. d jD  ( x j  xD )2  ( y j  yD )2. 8. (2- 3).

(21)  jD . 1 d jD. (2- 4). 其中,d jD 代表格點 j 到終點 D 的距離,如式(2- 3)。( x j , y j ) 為格點 j 之座標,( xD , yD ) 為終點 D 之座標。 jD 為各個格點的啟發值,不會隨著時間改變,以格點 j 到終點 D 之間距離長度的倒數表示,如式(2- 4)。當格點 j 與終點 D 之間距離愈短,則格 點 j 之啟發值愈高,被選為下一個前進格點的機率也就愈高。  j 則代表格點 j 上 k. 的費洛蒙濃度值,會隨著時間因為費洛蒙的更新而改變; N i 代表第 k 隻螞蟻在 格點 i 時下一步所有可以前往的格點,相當於尚未參訪過的格點集合。  、  則 是用來決定費洛蒙濃度值和啟發值對於選擇下一點之轉換機率的影響程度。當.   0 時,螞蟻將不會受費洛蒙影響,直接選擇距離最短的鄰近節點做為下一個拜 訪節點;當   0 時,則螞蟻不考慮格點之間距離長短,僅以費洛蒙濃度作為選擇 下一個拜訪節點的依據。  、  值的選擇是透過試誤法決定,通常  值會較大。. 在轉換規則中,由隨機亂數決定建立路徑行為,當隨機產生的亂數 q 小於設 定參數值 q0 時,螞蟻將直接選取最具有吸引力的格點前進,亦為費洛蒙濃度最高 以及與終點距離最短的格點,此行為會依據先前螞蟻所留下來的費洛蒙資訊作為 最大考量,稱為追隨;當隨機產生的亂數 q 大於設定參數值 q0 時,會先計算出轉 換機率,再由輪盤法以隨機的方式選擇下一個格點。也就是說,螞蟻未必會選擇 轉換機率最高的格點前進,轉換機率愈高僅代表此格點被選擇的機率較高。因此, 螞蟻具備了開發新路徑的機會,可以避免過度追隨先前螞蟻走過的路,其行為稱 作探索。. 9.

(22) 2.2.2. 費洛蒙更新. 費洛蒙更新的部分包含了遺留(Deposit)和蒸發(Evaporate)兩種行為。當所有 的螞蟻皆到達終點時則完成一趟旅程,也代表著一次迭代的結束。螞蟻會在行走 過的路上都留下費洛蒙,提供給其他螞蟻當作選擇格點的依據資訊,若其他螞蟻 重複此路徑時,則會加重這路徑上的費洛蒙濃度。在傳統的螞蟻系統中在每個螞 蟻行走過的格點上都會遺留費洛蒙,如式(2- 5)。. N.  i    ik k 1.  ik . Q Lk. (2- 5) (2- 6).  ik 為螞蟻 k 在格點 i 留下的費洛蒙增量,如式(2- 6)。 Lk 表示螞蟻 k 所走路 徑的總長度,Q 為一參數值,表示費洛蒙的強度,此參數對於收斂速度有一定程 度上的影響,一般設為 100。傳統的螞蟻系統會根據每隻螞蟻的表現進行費洛蒙 更新,如式,螞蟻 k 建立的路徑距離 Lk 愈短,其遺留在路徑上的費洛蒙量愈多, 表示此路徑為較佳解,進而增加下次被選擇的機會。另一方面,地圖上所有的費 洛蒙皆會隨著時間蒸發,如式(2- 7),.  i  (1   ) i ,   (0,1). (2- 7). 其中,  為費洛蒙的蒸發值,此蒸發機制主要的功能是令所有路徑上的費洛蒙濃 度依一定程度進行蒸發,可以避免路徑上費洛蒙不斷累積。結合遺留與蒸發,費 洛蒙更新的公式為式(2- 8):. 10.

(23) N.  i  (1   ) i    ik. (2- 8). k 1. 大部分的螞蟻演算法都是改良費洛蒙更新的部分以獲取更精確的解,其中 ACS 與傳統螞蟻系統不同的地方主要在於費洛蒙進行更新時,只有最佳螞蟻有分 泌費洛蒙的能力,也就是只有最佳路徑上做費洛蒙遺留的動作,如式(2- 9)。其中, L 為最佳路徑,  ibestk 為最佳路徑上格點 i 的費洛蒙增量。.  i  (1   ) i   ibestk , if i  L. 2.2.3. (2- 9). 輪盤法. 輪盤法(Roulette wheel selection) 經常被使用在基因演算法(Genetic Algorithm) 中,其基本概念為依據適應函數值的大小來分割輪盤上的面積。適應度愈高,則 所佔的面積就越大,代表被選中的機率也就愈大。舉例說明,如下表 2- 1,利用 適應函數求出各個適應值 f(1)、f(2)、f(3)、f(4)、f(5),在計算各個百分比,將結 果以輪盤呈現,則輪盤中有 55.369%的區域是屬於 f(10),有 26.533% 的區域是 屬於 f(4)的,依百分比大小由大而小分配,愈大的百分比值則分到愈大的區域, 如圖 2- 3。. 11.

(24) 表 2- 1 輪盤法說明表 適應函數. 適應值. 百分比. f(1). 10. 8.547%. f(2). 25. 21.368%. f(3). 17. 14.530%. f(4). 43. 36.752%. f(5). 22. 18.803%. 總和. 117. 100%. 19%. 9% 1 21%. 2 3 4. 37%. 圖 2- 3. 14%. 5. 輪盤法講解範例圖. 2.3. 改良型螞蟻演算法 改良型螞蟻演算法主要加入了兩項費洛蒙更新機制,其目的是為了減少區域 最 佳 解 的 狀 況 發 生 。 兩 項 費 洛 蒙 更 新 機 制 分 別 為 部 分 費 洛 蒙 更 新 (partial pheromone updating)以及相對反向費洛蒙更新(opposite pheromone updating)。在路 徑規劃時,由於傳統型 ACS 只針對最佳路徑進行費洛蒙更新,此方法容易使得 12.

(25) 螞蟻過度追隨先前螞蟻所走的路徑,導致結果收斂至區域最佳解。因此,除了更 新最佳路徑上格點之費洛蒙濃度之外,我們提出的改良型螞蟻演算法也對其它格 點進行費洛蒙更新,而部分費洛蒙更新指的是對最佳路徑上每個格點相鄰之四個 方向(上、下、左、右)的格點進行更新,式(2- 10)~式(2- 14)分別為四個相鄰格點 之費洛蒙更新方式,其中,width 為格點地圖的寬度,  i  width 為最佳路徑格點 i 之 上方格點, i  width 為最佳路徑格點 i 之下方格點, i 1 為最佳路徑格點 i 之左方格點,  i 1 為最佳路徑格點 i 之右方格點。.  i width  (1   ) i   ibestk , if i  L. (2- 11).  i width  (1   ) i   ibestk , if i  L. (2- 12).  i 1  (1   ) i   ibestk , if i  L. (2- 13).  i 1  (1   ) i   ibestk , if i  L. (2- 14). 如圖 2- 4 所示,其中,藍色格點為起點,紅色格點為終點,咖啡色格點為當 代最佳路徑,粉紅色格點則進行部分費洛蒙更新。圖 2- 5 為路徑上所有格點皆更 新後的示意圖。. 圖 2- 4. 部分費洛蒙更新示意圖 13.

(26) 圖 2- 5. 部分費洛蒙更新示意圖. 除了費洛蒙濃度會影響螞蟻選擇路徑的因素之外,距離資訊也是主要關鍵之 一。由轉換機率公式可得知格點與終點距離愈短,則此格點愈容易被選中。但當 地圖中出現凹型障礙物時,螞蟻卻容易於凹型區域中做不必要的搜尋,造成路徑 規劃失敗。舉例來說,如圖 2- 6,當螞蟻位於格點編號 103 時,可選擇編號 87、 編號 88、編號 102、編號 104、編號 119、編號 110 其中一個格點前進,根據轉 換機率公式,由於格點 88 距離終點最近,因此螞蟻最有可能選中此格點前進, 然而,按照此方法規劃出來之路徑可能並非最短距離路徑,如圖 2- 7。最佳路經 應該如圖 2- 8 所示。. 圖 2- 6. 遇到凹型障礙物示意圖. 14.

(27) 圖 2- 7. 路徑規劃失敗示意圖. 圖 2- 8. 路徑規劃成功示意圖. 為了避免螞蟻移動時直接選擇與終點距離較近的格點而陷入區域最佳解的 問題,因此,我們加入了相對反向費洛蒙更新機制。在費洛蒙更新時,亦對反向 的格點增加費洛蒙濃度,反向指的是終點相對於上一代最佳路徑的每一個格點之 相反方向,更新方式如表 2- 2,示意圖如圖 2- 9。其中,D 代表的是終點位置, i  width1 代表格點 i 之左上方格點;  i  width1 代表格點 i 之右上方格點;  i  width1 代表格點 i 之左下方格點;  i  width1 代表格點 i 之右下方格點;  i  width 代表格點 i 之上方格點;  i  width 代表格點 i 之下方格點;  i 1 代表格點 i 之左方格點;  i 1 代表格點 i 之右方. 格點;. 表 2- 2 反向費洛蒙更新方式. Rule 1.  i 1  (1   ) i   ibestk   bestk   i  width1  (1   ) i   i  if D is on the upper left of cell i. bestk    i  width  (1   ) i   i . Rule 2.  i 1  (1   ) i   ibestk   bestk   i  width1  (1   ) i   i  if D is on the upper right of cell i. bestk    i  width  (1   ) i   i . 15.

(28) Rule 3.  i 1  (1   ) i   ibestk   bestk   i  width1  (1   ) i   i  if D is on the lower left of cell i. bestk    i  width  (1   ) i   i . Rule 4.  i 1  (1   ) i   ibestk   bestk   i  width1  (1   ) i   i  if D is on the lower right of cell i. bestk    i  width  (1   ) i   i . Rule 5. . i  width.  (1   ) i   ibestk  if D is on the upper of cell i.. Rule 6. . i  width.  (1   ) i   ibestk  if D is on the lower of cell i.. Rule 7. . i 1.  (1   ) i   ibestk  if D is on the left of cell i.. Rule 8. . i 1.  (1   ) i   ibestk  if D is on the right of cell i.. (a) Rule 1. (b) Rule 2. (c) Rule 3. (d) Rule 4. 16.

(29) (e) Rule 5. (f) Rule 6. (g) Rule 7. (h) Rule 8. 圖 2- 9. 相對反向費洛蒙更新示意圖. 圖 2- 10 為部分反向費洛蒙更新後的規劃結果,此更新法則選擇路徑周遭部 分格點進行更新,可以減少螞蟻選擇易陷入區域解之格點的機率。. 圖 2- 10. 加入相對反向費洛蒙更新示意圖. 17.

(30) 第三章 基於改良型螞蟻演算法之路徑規劃. 藉由第二章所敘述的螞蟻演算法原理和改良型螞蟻演算法,本章主要介紹如 何將螞蟻演算法應用於路徑規劃問題,其章節規劃如下:. 3.1 節介紹路徑規劃之. 地圖描述、3.2 節介紹介紹路徑規劃之問題描述、3.3 節介紹基於螞蟻演算法之路 徑規劃流程。. 3.1 路徑規劃之地圖描述 此路徑規劃問題採用格點地圖,如圖 3- 1。以一個大小為 10*10 格點地圖為 例,首先將地圖上格點 k 由左到右、上到下,依序編號 0 到 99。每個格點之可行 性為為 f k , f k 0,1 ,為 1 表示障礙物,為 0 表示可行,障礙物為黑色部分。並 且假設螞蟻在環境中能往八個方向移動,如圖 3- 2,. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 圖 3- 1 格點地圖 18.

(31) 圖 3- 2 螞蟻移動方向示意圖. 由於每隻螞蟻具有八個方向移動至下一格點,為了避免螞蟻選擇的下一格點 超出地圖範圍而造成判斷錯誤,將地圖外圍一圈視同於障礙物,以黑色格點表示, 如圖 3- 3。. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 圖 3- 3 地圖示意圖. 每個格點上具有費洛蒙值和距離資訊,由於第一代尚未有螞蟻在地圖上搜尋, 因此必須給定費洛蒙值初始值。距離資訊則為每個格點至終點的距離,如式(2- 3)。 如圖 3- 4 所示,格點內的數值由上至下依序分別代表格點編號、費洛蒙濃度值及 啟發值。 19.

(32) S. 0. 1 0.2 12.04. 2 0.2 11.40. 3 0.2 10.82. 4 0.2 10.30. 5 0.2 9.85. 6 0.2 9.49. 7 0.2 9.22. 8 0.2 9.06. 9 0.2 9.00. 10 0.2 12.04. 11 0.2 11.31. 12. 13 0.2 10.00. 14. 15. 16. 17 0.2 8.25. 18. 19. 20 0.2 11.40. 21 0.2 10.63. 22. 23 0.2 9.22. 24. 25 0.2 8.06. 26. 27 0.2 7.28. 28 0.2 7.07. 29 0.2 7.00. 30 0.2 10.82. 31 0.2 10.00. 32. 33 0.2 8.49. 34. 35 0.2 7.21. 36. 37 0.2 6.32. 38 0.2 6.08. 39. 40 0.2 10.30. 41 0.2 9.43. 42 0.2 8.60. 43 0.2 7.81. 44. 45 0.2 6.40. 46. 47 0.2 5.39. 48 0.2 5.10. 49. 50. 51. 52. 53 0.2 7.21. 54 0.2 6.40. 55 0.2 5.66. 56 0.2 5.00. 57 0.2 4.47. 58 0.2 4.12. 59 0.2 4.00. 60 0.2 9.49. 61 0.2 8.54. 62 0.2 7.62. 63 0.2 6.70. 64. 65 0.2 5.00. 66. 67. 68. 69. 70. 71. 72. 73 0.2 6.32. 74. 75 0.2 4.47. 76 0.2 3.61. 77 0.2 2.83. 78 0.2 2.24. 79 0.2 2.00. 80 0.2 9.06. 81 0.2 8.06. 82 0.2 7.07. 83 0.2 6.08. 84. 85 0.2 4.12. 86 0.2 3.16. 87. 88 0.2 1.41. 89 0.2 1.00. 90. 91. 92. 93 0.2 6.00. 94 0.2 5.00. 95 0.2 4.00. 96 0.2 3.00. 97 0.2 2.00. 98 0.2 1.00. 99. D. 圖 3- 4 格點地圖資訊. 3.2 路徑規劃之問題描述 在路徑規劃的過程中,假設一開始有 m 隻螞蟻位於起始點 S,每次只能移動 一格,會先判斷下一步可行的格點 (排除障礙物和禁忌清單中格點),再把可行格 點之費洛蒙濃度值與啟發值帶入轉換機率公式,算出轉換機率後,再透過轉換規 則選擇鄰近八個方向的其中一個格點移動,決定下一個前進格點 j,螞蟻所經過 的格點存入禁忌清單(memok)中,避免重複已走過路徑。 memok 0,1 ,memok 為 1 表示格點已走過,為 0 則否。螞蟻在下一步選擇鄰近格點移動時,不可前往 屬於 memok 的格點,也就是避免螞蟻往回走遇到重複的格點形成迴圈。如圖 3- 5。 20.

(33) D. S. 圖 3- 5 迴圈狀況. 然而,限制螞蟻不可選擇屬於 memok 的格點可能會造成螞蟻停在 U 字型封 閉的環境中,產生死路狀況[18],如圖 3- 6。. D. S. 圖 3- 6 死路狀況. 因此演算法的流程中需要另外加入一個判斷法則,當 j  Nik  j  memok   時,螞蟻 k 會將所有 Nik  memok 的格點從 memok 中移除,使得螞蟻 k 可以離開死 路的狀況,再開始選擇下一格點,但如果判斷出下一步無可行的格點,也就是進 入死路狀況時,螞蟻會按照原路徑順序退回到上一個節點,直到判斷出有其它可 行格點為止。如圖 3- 7,當螞蟻移動至格點 25 時,無下一步可行格點,則依照原 路徑順序回到上一格點 35、45…,直到格點 45 時,判斷出尚有格點 56。. 21.

(34) S. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. D. 圖 3- 7 解決死路狀況示意圖. 3.3 路徑規劃流程 圖 3- 8 為基於改良型螞蟻演算法之流程圖,接著將針對每個步驟依序介紹。. start. Initialization. Path building No Destination? Yes Pheromone updating. Ite=Ite+1. Max_Ite?. No. Yes End. 圖 3- 8. 改良型螞蟻演算法之流程圖 22.

(35) 步驟一:輸入已知起點座標 S 和終點座 D 標資料,將 m 隻螞蟻放置起點,設. 定 α、β、q0 等參數值,並給定地圖上所有格點一費洛蒙初始值。. 步驟二:計算所有格點至終點之距離資訊,將費洛蒙資訊和距離資訊帶入轉換 機率公式得到每個格點之轉換機率,再經由轉換規則開始建立路徑。. 步驟三:判斷是否到達終點,當所有螞蟻到達目標點時,螞蟻 k 根據 memok 計 算從起始點到目標點的總路徑距離 Lk ,在所有螞蟻找出的路徑中,挑出當代總長 度最小者 L ,假設螞蟻 k 所找到的路徑其總長度最小,如式(3- 1)、式(3- 2):. (3- 1). D 1.  . bestlength  min L  min{ disk ,i , j } k. iS.  . k if min Lk  L ,L  L, T Tk. (3- 2). D 1. disk ,i , j 表示第 k 隻螞蟻從格點 i 到 j 的距離。  disk ,i , j 表示第 k 隻螞蟻從起始點到 iS. . . 終點所走距離。L 為先前所找到之最佳路徑總長度,T 為先前所找到之最佳路徑。 若當代最佳路徑優於以往之最佳路徑,則將以當代最佳解取代之。. 步驟四:找到當代最佳路徑解後,根據費洛蒙更新公式進行遺留和蒸發的動作, 並加入部分費洛蒙更新以及相對反向費洛蒙更新的機制。. 步驟五:隨之進行時間更新,直到測試條件停止,一般設定為時間到達時間上 限時即停止,此步驟所指的時間相當於迭代次數。. 23.

(36) 第四章. 硬體設計平台. 本章節將介紹本文所使用的開發平台與其周邊設備,章節規劃如下:4.1 節 DE2-70 多媒體開發平台、4.2 節 LTM 顯示模組。. 4.1 DE2-70 多媒體開發平台 Altera DE2-70 多媒體開發平台[28],為友晶科技所發展出來的多媒體開發平 台,其配備了 70,000 個邏輯單元的 Altera Cyclone® II 2C70 和更大容量的記憶體 元件,並完全承襲了 Altera DE2 多媒體平台豐富的多媒體、儲存及網路等應用介 面的優點。此開發平台提供多樣的產品功能,不僅適用於大專院校實驗室的教學 研究與專題製作,也適合工業界做為開發複雜數位系統的工具,Altera 更提供最 新多媒體開發平台現成的實驗課教材,和各種說明範例[29]。. Altera DE2-70 多媒體開發平台能提供使用者豐富的產品功能,在電路設計 的應用上,從簡易的電路設計,到多樣化的多媒體專案,使用者都能輕易完成。 DE2-70 開發平台外觀如圖 4- 1 所示,規格包括 FPGA、記憶體與其他周邊界面, 分別如下所示: . FPGA . . Cyclone II 2C70 FPGA,配備 70,000 個邏輯單元. 記憶體 . 2 個 32-Mbyte 的 SDRAM. . 1 個 2-Mbyte 的 SRAM 24.

(37) . . 8-Mbyte 的 Flash 記憶體. . 支援 SPI 及 SD 1-bit 兩種 SD Card 讀取模式. 周邊介面 . 內建 USB Blaster 電路使用於 FPAG 程式下載或控制. . 支援 JTAG 及 AS 模式. . Altera EPCS16 序列 EEPROM. . 4 個按鈕(KEY)、18 個滑動開關(SW). . 9 個綠色的 LEDs、18 個紅色的 LEDs. . 8 個七段顯示器、16 × 2 的 LCD 模組. . 10/100MHz 乙太網路控制器與接頭. . IrDA 收發模組. . 1 個 SMA 接頭. . 1 個 USB 主/從控制器. . Type A 與 Type B 的接頭. . 1 個 50MHz 振盪器、1 個 28.63MHz 振盪器. . 2 個 TV 訊號解碼器、2 個 TV 輸入訊號連接頭. . 3 個 10-bit 高速 DAC. . 24-bit CD 品質的輸入、輸出及麥克風輸入接頭. . 一組 RS-232 訊號接頭、一組 PS/2 訊號接頭. . 72 個 I/O 接腳、8 個電源及接地接腳. 25.

(38) 圖 4- 1 DE2-70 開發板實體圖[29]. DE2-70 開發板還提供 TV Box 與媒體播放器的視聽功能,並且提供原始碼, 使得工業界或學術界對數位影音有興趣之研究者,可以有一個良好的開發平台。 DE2-70 開發板提供一套完整的 500 萬像素 CMOS 數位照相機(CMOS Digital Camera)簡稱 D5M 擷取模組,並且搭配一個 4.3 吋的 LCD 觸碰面板套件,簡 稱 LTM 顯示模組,如圖 4- 2 所示,提供使用者可以在 DE2-70 開發板上發展影 像的相關技術。以下 4.2 節與 4.3 節將個別說明 D5M 擷取模組與 LTM 顯示模 組。. 26.

(39) 圖 4- 2. DE2-70 多媒體開發平台與 D5M、LTM 模組搭配[29]. 4.2 LTM 觸碰面板模組 4.3" LCD 觸控面板又稱為 LTM 顯示模組,此液晶面板具有 800 × 480 的高解 析度,可以支援 24 位元平行輸入 RGB 的色彩數位訊號,並可透過串列式週邊介 面(Serial Parallel Interface, SPI)的傳輸方式來設定其功能與內部暫存器的數值,具 有內建色彩調整電路、亮度、內部對比及 γ 值調整,可以提供良好畫質的全彩觸 控體驗[30]。圖 4- 3 為 LTM 顯示模組,模組規格如表 4- 1 所示。. 27.

(40) 表 4- 1. LTM 規格參數表[30]. 規格參數. 數值. 螢幕尺寸. 4.3(英吋). 尺寸比例. 15 : 9. 有效面積(H × V). 93.6 × 56.16 (mm). 資料點數量(H × V). 800 × RGB × 480. 每點間隔(H × V). 0.039 × 0.117 (mm). 圖 4- 3. LTM 顯示模組實體圖[30]. 28.

(41) 4.2.1 LTM 顯示模組腳位說明 LTM 顯示模組的訊號腳位分佈如圖 4- 4 所示,其中有連接 LCD 時脈訊號的 NCLK 接腳,連接重置訊號線的 Reset 接腳,還有連接水平、垂直同步訊號線的 HD、VD 接腳,連接類比數位轉換訊號線的 ADC serial interface 接腳…等。在顏 色方面,此資料匯流排分為三種顏色,分別為紅色資料匯流排(LCD red data bus): R0 ~ R7 接腳、綠色資料匯流排(LCD green data bus): G0 ~ G7、藍色資料匯流排 (LCD blue data bus): B0 ~ B7,且一個匯流排能夠一次傳送 8 位元的訊號。其中, LTM 顯示模組的時脈訊號為 NCLK 接腳,而 LTM 顯示模組傳輸給外部控制裝置 的同步訊號為 VD 和 HD 兩個接腳,此兩個接腳可以確保每一筆的 RGB 像素資 料是完整的。至於連接 SPI 串鍊傳輸協定的訊號,則是 SDA 和 SCEN 腳位,此 兩個腳位可以用來設定 LTM 模組的暫存器數值。全部的 LTM 訊號腳位說明如表 4- 2 所示。. 圖 4- 4. LTM 顯示模組之 40 個腳位連接圖[30] 29.

(42) 表 4- 2 Pin. LTM 顯示模組訊號說明[30]. Name. Direction. 1. ADC_PENIRQ_n. Output. ADC pen interrupt. 2. ADC_DOUT. Output. ADC serial interface data out. 3. ADC_BUSY. Output. ADC serial interface busy. 4. ADC_DIN. Input. ADC serial interface data in. 5. ADC_DCLK. Input. ADC/LCD serial interface clock. 6~9. B3~ B0. Input. LCD blue data bus bit 3~0. 10. NCLK. Input. LCD clock signal. 11. NC. N/A. N/A. 12. GND. N/A. Ground. 13. DEN. Input. LCD RGB data enable. 14. HD. Input. LCD Horizontal sync input. 15. VD. Input. LCD Vertical sync input. 16~19. B4~B7. Input. LCD blue data bus bit 4~7. 20~27. G0~G7. Input. LCD green data bus bit 0~7. 28. R0. Input. LCD red data bus bit 0. 29. VCC33. N/A. Power 3.3V. 30. GND. N/A. Ground. 31~37. R1~R7. Input. LCD red data bus bit 1~7. 38. GREST. Input. Global reser, low active. 39. SCEN. Input. 3-wire serial interface enable. 40. SDA. In/Out. 3-wire serial interface data. Number. 30. Description.

(43) 4.2.2 LTM 顯示模組訊號時序圖 要將影像顯示在 LCD 面板上,必須按照時序圖上的訊號規範來動作,圖 4- 5 為 LTM 面板對每一列(水平方向)做顯示時之基本時序圖。其中,使用者送出的時 脈訊號為 NCLK 腳位,而資料致能訊號則為 DEN(data enable signal)腳位。LTM 面板會依據 NCLK 時脈訊號更新狀態及顯示內容,當 LTM 面板要顯示新的一列 訊號時,HD(horizontal synchronization)腳位會送出一個負緣的脈衝訊號 t hpw ,等 待 thfp 的時間,直到 DEN 腳位被設至高準位為止,此等待期間為 LTM 面板的後段 無效區域 (back porch),而當 DEN 腳位被致能後,可對 LTM 面板傳送 RGB 的影 像資料,在顯示區域 t hd (display area)這段期間,為資料有效區(Valid Data),也就 是顯示區域(Display Area),在結束資料有效區域到下一個負緣的脈衝訊號 t hpw 的 期間,需等待 t hfp (hsync front porch)的時間,此區段被稱為 LCD 面板的前段無效 區域(front porch),如此,即完成了 LTM 面板一列的影像顯示。. 而 LTM 面板對行(垂直方向)的訊號時序圖如圖 4- 6 所示,其中,當 LTM 面 板已顯示完一張影像,或是要更新下一張影像時,VD 訊號腳會送出一個時間長 為 t vpw 的負緣脈衝訊號。而垂直方向的後段與前段之無效區域,則分別由 t vbp 、t vfp 來表示,若在時間 t vd 之間,影像畫面的解析度為 800×480,DEN 的腳會會被致能 480 次。. 31.

(44) 圖 4- 5. LTM 面板水平時序訊號[30]. 圖 4- 6. LTM 面板垂直時序訊號[30]. 32.

(45) 第五章 路徑規劃演算法之硬體電路設計. 以下將介紹我們的系統架構,包含整個硬體電路之架構,及我們所使用之硬 體模組介紹。章節之規劃如下: 5.1 節介紹硬體電路架構,5.2 節介紹螞蟻演算法 硬體模組,5.3 節為其他應用模組。. 5.1 硬體電路架構 本章將演算法應用於 DE2-70 多媒體開發平台上,透過人機互動介面實現最 佳路徑規劃的功能。整個系統架構如圖 5- 1 表示,主要包含了兩部分,分別是控 制 LTM 之硬體模組,以及負責進行路徑規劃的螞蟻演算法之硬體模組。首先, 透過 LTM 之硬體模組讀取地圖影像並顯示於螢幕,接著偵測觸碰所輸入的起點 和終點位置資訊,傳送至螞蟻演算法之硬體模組進行路徑規劃。最後,再將路徑 規劃結果傳送至 LTM 顯示。接下來的章節將會依序介紹每個模組的功能。. LTM display module. Image. Lcd timing controller. Pheromone module Transition calculating module. Adc_controller. Flash to sdram controller. Improved ACS for path plaanning. Input. Touch point detector. Control pannel. Path building module. Distance calculating module. Path comparing module. Distance module. Best path module. End module. 圖 5- 1 路徑規劃系統架構圖 33.

(46) 5.2 螞蟻演算法硬體電路設計 以下將分別介紹以螞蟻演算法實驗路徑規劃之硬體模組。包含了距離模組、 費洛蒙模組、轉換計算模組、建立路徑模組、距離計算模組、路徑比對模組、終 點判斷模組以及最佳路徑暫存模組。. 5.2.1. 距離模組(Distance module). 距離模組(Distance module)邏輯符號圖如圖 5- 2 所示,表 5- 1 為其訊號腳位 之說明表。. Distance module finish next_node_dis. iClk iRst start current_pos0 goal_pos0 randvalue best_node final_next. last_node distance_pulse begin_transition dataout1_dis current_pos_in. 圖 5- 2. 距離模組訊號圖. 34.

(47) 表 5- 1 距離模組訊號說明 訊號名稱 傳輸方向 功能說明 時脈訊號 input iCLK_50 重置訊號 input iRst 追隨的格點 input best_node 探索的格點 input final_next 亂數資料 input randvalue 開始訊號 input start 起點位置資料 input current_pos0 終點位置資料 input goal_pos0 距離資料資料 output dataout1_dis 可選擇的格點資料 output next_node_dis 目前位置資料 output current_pos_in 上一步位置資料 output last_node 計算轉換值訊號 output begin_transition 距離輸出訊號 output distance_pulse 結束訊號 output finish. 圖 5- 3 是距離模組的硬體架構圖,動作原理如下所述: (A) 偵測到開始訊號 start 有正緣觸發時,系統便開始動作。 (B) 寫入螞蟻的起點位置 current_pos0、終點位置 goal_pos0,並計算出距離資訊 dataou_dis。寫入致能訊號 wen_pulse,以格點編號資訊 next_node_dis 當作寫入 位置 waddress,將其存入 RAM 記憶體中,直到所有格點的距離資訊都存滿為 止。 (C) 距離資訊輸出致能訊號 distance_pulse 上升時,開始從 RAM 讀取下一步可選 擇 格 點 的 位 置 資 訊 和 距 離 資 訊 dataout1_dis , 接 著 輸 出 計 算 轉 換 值 訊 號 begin_transition 給轉換機率模組。. 35.

(48) (D) 追隨模組和探索模組會分別產生下一個可行格點 best_node 和 final_next,傳 送至此距離模組,透過隨機亂數與設定參數值 q0 比較來決定追隨或探索,而 選出下一個格點成為螞蟻目前所在位置 current_pos_in,結束一次的路徑選擇 時輸出 finish 訊號。. 距離資訊模組 finish next_node_dis last_node distance_pulse begin_transition start current_pos0 goal_pos0. Distance state machine. data_dis ren_pulse raddress wen_pulse. dataout1_dis. RAM memory. waddress. rand. Path choosing. best_node final_node. 圖 5- 3. 距離模組之硬體架構圖. 36. current_pos_in.

(49) 5.2.2. 費洛蒙模組(Pheromone module). 費洛蒙模組的邏輯符號圖如圖 5- 4 所示,表 5- 2 為訊號腳位之說明。 Pheromone module data_tao. iCLK iRst. taoend. start currtnt_pos_in pheupdate_pulse reg_pulse reg_current_dataout2 distance_pulse. 圖 5- 4. 表 5- 2. 費洛蒙模組訊號圖. 費洛蒙模組訊號說明表. 訊號名稱 iCLK_50 iRst start distanc_pulse current_pos_in pheupdate_pulse reg_pulse reg_current_data_out2 data_tao toaend. 傳輸方向 input input input input input input input input output output. 功能說明 時脈訊號 重置訊號 開始訊號 距離輸出訊號 現在位置資料 費洛蒙更新訊號 最佳路徑輸入訊號 最佳路徑資料 費洛蒙資料 更新結束訊號. 圖 5- 5 是費洛蒙模組的硬體架構圖,動作原理如下所述: (A) 偵測到致能訊號線 start 有正緣觸發時,系統便開始動作。首先給地圖上所有 格點之費洛蒙初始值 data_tao,依照格點編號寫入 RAM。 37.

(50) (B) 偵測到距離輸出訊號 distanc_pulse,致能讀取訊號線 ren_pulse,利用螞蟻目 前位置 current_pos_in 找出其周圍八個格點當作讀取位置 waddress,依序讀出 八 個 格 點 的 費 洛 蒙值 data_tao 。 每 讀 取 一 個格 點 的 費 洛 蒙 值 ,把 值 傳至 Pheromone state machine 中,再將值傳送到轉換機率模組。 (C) 若偵測到費洛蒙更新致能訊號 pheupdate_pulse 時,會依序輸入最佳路徑上的 格點資料 reg_current_data_out2 到 pheromone state machine 當作讀取位置 raddress 再傳送到 RAM 讀出原始費洛蒙值 data_tao,進行費洛蒙更新。 (D) 更新完畢後,將新的費洛蒙值再存入 RAM。 (E) 直到整條路徑上格點之費洛蒙皆更新完畢,送出結束訊號訊號 taoend。. 費洛蒙模組 start data_tao. distance_pulse. taoend. current_pos_in pheupdate_pulse reg_pulse reg-_current_dataout2. Pheromone updating module. current_data2. Pheromone state machine data_tao ren_pulse. RAM memory. raddress wen_pulse waddress. 圖 5- 5. 費洛蒙模組之硬體架構圖. 38.

(51) 5.2.3. 轉換機率模組(Transition module). 在轉換機率模組中,主要的功能為計算轉換值,透過接收費洛蒙存取模組中 的費洛蒙資訊以及距離模組輸出的距離資訊,計算轉換值資訊,並輸出到轉換值 暫存器以及轉換機率總和暫存器。轉換值暫存器內的資訊提供給之後基於追隨行 為的路徑選擇所使用。而轉換機率總和暫存器則是提供給基於探索行為時路徑選 擇所使用。 轉換機率模組的邏輯符號圖如圖 5- 6 所示,表 5- 3 為訊號腳位之說明。 Transition module iCLK iRst. compare_pulse. start. total_transition. transition. begin_transition end_pulse dataout1_tao dataout1_dis. 圖 5- 6 表 5- 3 訊號名稱 iCLK_50 iRst start begin_transition end_pulse dataout1_tao dataout1_dis compare_pulse transition total_transition. 轉換機率模組訊號圖. 轉換機率模組訊號說明表 傳輸方向 input input input input input input input output output output. 39. 功能說明 時脈訊號 重置訊號 開始訊號 計算訊號 結束訊號 費洛蒙資料 距離資料 比較訊號 轉換值資料 轉換值總和資料.

(52) 轉換機率模組的硬體架構圖如圖 5- 7 所示,動作原理分別敘述如下: (A) 偵測到計算訊號 begin_transition 有正緣觸發時,系統便開始動作。 (B) 每次傳送一個格點的費洛蒙資訊 dataout1_tao 和距離資訊 dataout1_dis 到 transition state machine 裡計算出轉換值。此值會分別儲存到轉換值暫存器 transition reg 和總和暫存器 total reg。轉換值暫存器提供轉換值資訊 transition 給追隨模組尋找下一個可行格點時使用;總和暫存器負責累加每個格點之轉 換值,直到下一步所有可行格點的資訊都計算完,最終累加值即為轉換值的 總和 total_transition,流程圖如圖 5- 8。 (C) 等待轉換值和總和值計算完畢後,輸出比較致能訊號 compare_pulse,並輸出 亂數致能訊號 begin_rand 給探索模組。. 轉換機率模組 reg_transition dataout1_tao dataout1_dis begin_transition. Transition reg. transition. reset. Transition state machine. compare_pulse begin_rand. Total reg. 圖 5- 7. 轉換機率模組之硬體架構圖. 40. total_transition.

(53) Begin. Input distance and pheromone. Calculate Transition. total = total + transition. j  N ik ?. Yes. No. total_transition. End. 圖 5- 8. 5.2.4. 計算轉換值總和之流程圖. 路徑建立模組(Path building module). 路徑建立模組包含追隨行為模組和探索行為模組。這兩個模組會分別依照轉 換規則產生格點,再將所產生的格點傳送至距離模組由亂數決定何者為下一個前 進的格點。. 41.

(54) 追隨行為模組的邏輯符號圖如圖 5- 9 所示,表 5- 4 為訊號腳位之說明。. Path building of exploitation module iCLK iRst best_node. compare_pulse next_node_dis transition. 圖 5- 9. 表 5- 4 訊號名稱 iCLK_50 iRst compare_pulse next_node_dis transition best_node. 追隨行為模組訊號圖. 追隨行為模組訊號說明表 傳輸方向 input input input input input output. 功能說明 時脈訊號 重置訊號 比較訊號 下一個格點 轉換值 最佳格點. 首先,先介紹追隨行為模組,硬體架構圖如圖 5- 10 所示,動作原理敘述如 下,當比較致能訊號 compare_pulse 上升後,開始接收轉換機率模組輸出格點的 轉換值 transition,並進行比較,若目前格點的轉換值優於前一個格點的轉換值, 則選擇目前格點為暫存最優解,依此類推,直到所有可行格點比較結束後,即可 挑選出下一個前進的格點。. 42.

(55) 建立路徑之追隨行為模組 best_transion. Compare state machine. 圖 5- 10. Transition compare reg_best_node. SEL. compare_pulse next_nose_dis transition. best_node. 追隨行為模組之硬體架構圖. 比較方法如表 5- 5。先給最優解一預設值,此範例假設預設值為 100,下一 步可行格點有五個,依序將每個格點的轉換機率與最優解比較,格點 1 的轉換機 率為 25,小於最優解的預設值 100,所以最優解則被 25 取代。再將格點 2 的轉 換機率 14 與最優解 25 比較,格點 2 轉換機率小於格點 1,因此下一格點則換成 格點 2,以此類推,直到所有可行格點都比較結束所產生的最優解,就是螞蟻要 前進的下一個格點。. 表 5- 5. 追隨行為模組比較方法說明表. 格點編號. 轉換機率. 最優解 (預設值=100). 最優解格點. 1. 25. (25<10) → 25. 1. 2. 14. (14<25) → 14. 2. 3. 39. (39>14) → 14. 2. 4. 26. (26>14) → 14. 2. 5. 57. (57>14) → 14. 2. 43.

(56) 探索行為模組的邏輯符號圖如圖 5- 11 所示,表 5- 6 為訊號腳位之說明。. Path building of exploration module iCLK iRst begin_rand. final_next. next_node_dis begin_pro probability. 圖 5- 11. 表 5- 6 訊號名稱 iCLK_50 iRst begin_rand next_node_dis begin_pro probability final_next. 探索行為模組訊號圖. 探索行為模組訊號說明表 傳輸方向 input input input input input input output. 功能說明 時脈訊號 重置訊號 亂數致能訊號 下一個格點 機率致能訊號 轉換機率資訊 最佳格點. 探索行為模組和追隨行為模組的功能都是為了找出下一個最適合螞蟻前進 的格點。主要的差別在於探索行為是利用隨機的過程,而不是直接選擇最優解。 硬體架構圖如圖 5- 12,利用轉換值 transition 和總和資訊 total_transition 計算出格 點的轉換機率 probability,藉由輪盤法挑選出下一個格點。以表 5- 7 為例,將每 個格點的轉換值除以總合資訊得到轉換機率,為了避免浮點數的問題,把轉換機 率放大 1000 倍,再由隨機亂數模組產生一個介於 1~1000 的隨機亂數 randvalue1。 假設產生的亂數為 232,介於格點 1 和格點 2 範圍之間,則選擇格點 2 為下一個 格點。若亂數為 653,螞蟻則選擇格點 5 前進。因此,轉換機率愈大的格點,被 挑選中的機率也就愈大。 44.

(57) 表 5- 7 格點編號. 探索行為模組說明表. 轉換值. 轉換機率. 累加值. 1. 25. 15.52% → 155. 155. 2. 14. 8.70%. → 87. 242. 3. 39. 24.22% → 242. 484. 4. 26. 16.15% → 161. 646. 5. 57. 35.40% → 354. 1000. Total. 161. 建立路徑之探索行為模組 probability begin_rand total_transition transition. randvalue1. compare. RandCompare state machine SEL. next final_next. next_nose_dis. 圖 5- 12. 5.2.5. 探索行為模組之硬體架構圖. 終點判斷模組(End module). 此模組主要功能為判斷螞蟻是否到達終點,硬體架構圖如圖 5- 14。當螞蟻到 達終點時,此模組會發出結束訊號 end_pulse,告知費洛蒙模組及距離模組停止送 出資料並通知路徑比對模組開始動作。 判斷終點模組的邏輯符號圖如圖 5- 13 所示,表 5- 8 為訊號腳位之說明。 45.

(58) End module iCLK iRst goal_pos. end_pulse. next_node_dis total_route. 圖 5- 13. 表 5- 8. 終點判斷模組訊號圖. 終點判斷模組訊號說明表. 訊號名稱. 傳輸方向 input input input input output. iCLK_50 iRst goal_pos next_node_dis end_pulse. 功能說明 時脈訊號 重置訊號 終點座標資訊 下一個格點 結束訊號. 終點判斷模組. next_node_dis goal_pos. 圖 5- 14. 5.2.6. End state machine. Compare. end_pulse. 終點判斷模組之硬體架構圖. 距離計算模組(Distance calculation module). 距離計算模組的工作負責計算出每條路徑的距離,硬體架構圖如圖 5- 16。每 當產生出下一個前進的格點時,會藉由上一個位置 last_node 和目前位置座標資訊 current_pos_in 計算距離,將每次移動的距離資料累加,直到螞蟻到達終點,即算 完為整趟路徑的總距離 total_route。再將距離資訊存入路徑比對模組與其他路徑 46.

(59) 的距離進行比較,距離最短的即為當代的最佳路徑。同時,路徑比對模組會紀錄 路徑上的格點編號位址,以便提供費洛蒙更新模組時使用。 距離計算模組的邏輯符號圖如圖 5- 15 所示,表 5- 9 為訊號腳位之說明。. Distance calculating module iCLK iRst cal_pulse. total_route. end_pulse last_node current_pos_in. 圖 5- 15 距離計算模組訊號圖. 表 5- 9 訊號名稱 iCLK_50 iRst cal_pulse end_pulse last_node current_pos_in total_route. 距離計算模組訊號說明表 傳輸方向 input input input input input input output. 47. 功能說明 時脈訊號 重置訊號 計算距離致能訊號 結束訊號 上一個格點座標資訊 目前格點座標資訊 路徑總距離資訊.

(60) 距離計算模組. cal_pulse end_pulse last_node current_pos_in. CalDistance state machine. 圖 5- 16. 5.2.7. distance. Total distance reg. total_route. 距離計算模組之硬體架構圖. 路徑比對模組(Path comparing module). 硬體架構圖如圖 5- 18,當接收到結束訊號 end_pulse 時,開始進行路徑距離 的比較,若當代的距離 total_route 小於前一次的距離 reg_total_route,則取代為目 前最佳路徑。同時將此路徑上格點資訊,包含格點編號、格點位址存入路徑暫存 模組。直到所有的螞蟻皆完成一趟路徑,會選出當代最好的路徑 best_path_data, 隨之發出費洛蒙更新訊號 pheupdate_pulse 給費洛蒙模組,進行費洛蒙更新。. 路徑比對模組的邏輯符號圖如圖 5- 17 所示,表 5- 10 為訊號腳位之說明。. Path comparing module iCLK iRst goal_pos. best_path_data pheupdate_pulse. next_node_dis total_route reg_total_route end_pulse. 圖 5- 17. 路徑比對模組訊號圖 48.

(61) 表 5- 10. 路徑比對模組訊號說明表. 訊號名稱. 傳輸方向 input input input input input output output. iCLK_50 iRst end_pulse total_route reg_total_route pheupdate_pulse best_path_data. 功能說明 時脈訊號 重置訊號 結束訊號 總距離資訊 暫存總距離資訊 費洛蒙更新致能訊號 最佳路徑資訊. 路徑比對模組 rden_pulse reg_current_data_out end_pulse. routeCompare state machine. raddress wren_pulse. RAM memory. waddress reg_current_pos_in2. compare SEL. total_route reg_total_route. reg_current_data_out. 圖 5- 18. 5.2.8. best_path_data. 路徑比對模組之硬體架構圖. 路徑暫存模組(Best path module). 路徑暫存模組負責將目前最佳路徑的格點編號資訊儲存至 RAM 記憶體空間, 目的為提供費洛蒙更新時所需資訊,硬體架構圖如圖 5- 19。. 49.

(62) 路徑暫存模組. reg_current_pos_in2 best_path_data. iCLK iRst. rden_pulse. Reg_current state machine. 圖 5- 19. raddress wren_pulse. RAM. reg_current_data_out. waddress. 路徑暫存模組之硬體架構圖. 5.3 其他應用模組 本章節將介紹所需用到的其他電路模組,其中包含了隨機亂數模組與 RAM。 我們分別由以下小節來敘述。. 5.3.1. 隨機亂數模組. 圖 5- 20 為隨機亂數模組的邏輯符號圖,其訊號腳位說明由表 5- 11 來表示。 隨機亂數模組可以同時輸出兩組不同的隨機亂數(oRandvalue1, oRandvalue2),其 中一組亂數傳送到距離模組中,根據轉換規則,將 oRandvalue1 與 q0 比較,進而 決定採用追隨行為或探索行為來建立下一個格點位置;另外一組亂數 oRandvalue2 傳送到探索模組中使用。. 50.

(63) Random iClock. oRandvalue1[31..0]. iInitseed. oRandvalue2[31..0]. 圖 5- 20. 表 5- 11 訊號名稱 iClock iInitseed oRandvalue1 oRandvalue2. 5.3.2. 隨機亂數模組之邏輯符號圖. 隨機亂數模組輸出入訊號說明表 傳輸方向 Input Input Output Output. 功能說明 時脈訊號 初始訊號 隨機亂數 1 隨機亂數 2. RAM. RAM 由 Quartus II 裡面的 Mega Function 所建立的,是本硬體中能使用速度 最快的記憶體。本論文使用了三組 RAM,功用分別為儲存費洛蒙資料、距離資 料以及最佳路徑的格點編號資訊。RAM 的輸入端包含了寫入和讀取致能訊號、 寫入資料以及讀取位址和寫入位址。還有一個輸出端負責輸出所讀取的資料, RAM 的輪及符號圖如圖 5- 21 所表示,訊號腳位說明如表 5- 12 所表示。. RAM clock data wren wraddress rden rdaddress. 圖 5- 21. q. RAM 之邏輯符號圖. 51.

參考文獻

相關文件

雙壓力閥在何時才有壓力(訊號)輸出(A) 其中一個輸入口有壓力(訊號)輸出 (B) 經指定的一 個輸入口有壓力(訊號),並且另一個輸入口沒有壓力(訊號) (C)

• BP can not correct the latent error neurons by adjusting their succeeding layers.. • AIR tree can trace the errors in a latent layer that near the front

健康及道德議題 (3 小時) • 辨別使用資訊及通訊科技對健康造成的 威脅;建議在使用資訊及通訊科技時,實

由於資料探勘 Apriori 演算法具有探勘資訊關聯性之特性,因此文具申請資 訊分析系統將所有文具申請之歷史資訊載入系統,利用

另外價格也是企業對於消費者傳達的另一種訊號,因為價格被視為最重要的外部

另外價格也是企業對於消費者傳達的另一種訊號,因為價格被視為最重要的外部

Hanning Window 可用來緩和輸入訊號兩端之振幅,以便使得訊號呈現 週期函數的形式。Hanning Window

如圖 3.2-1 所示,左邊 port 為 Input 訊號,右邊六個 port 為 Output 訊號。若訊號 要由 Output1 當作輸出時,SW1、SW2、SW5 的 Switch 必頇讓路徑導通,而第三級