SlideShare a Scribd company logo
1 of 98
運用粒子群最佳化實現自調變
歸屬函數之 FPGA 模糊控制器




        03/05/12   1
黃 聰 亮                  教授
國立臺北教育大學資訊科學系暨研究所             系主任暨所長
美國財務金融管理學院 (AAFM)             院
中華民國國際學術交流學會                    理  事


 國立臺灣大學電機系                電機博士
 國立臺灣大學電機系                電機碩士
 國立臺灣大學電機系                電機學士
NEUST State University   企管博士
NEUST State University   教育博士
 國立摩納哥皇家大學 (I.U.M.)      財管碩士
September    2008
目錄
 摘要
 研究動機、目的
 文獻回顧
 模糊理論介紹
 粒子群最佳化演算法介紹
 8051 & FPGA & ADC 介紹
 模糊控制器設計
 結論
 Q&A


                03/05/12   3
摘要
   本論文主要在設計可以自行調整歸屬函數的
    模糊控制器,並以 FPGA 晶片搭配微處理機
    實現。本論文實用在跟車控制,利用紅外線
    感測器來測量目前的位置與障礙物的距離,
    模糊控制器將感測到距離計算出車的推力,
    決定前進或後退、控制一段時間之後將距離
    與速度回傳給微處理機,運用粒子群最佳化
    演算法來計算出與建立新的模糊歸屬函數,
    交由模糊控制器再次控制車輛運動。



              03/05/12       4
研究動機、目的
   研究動機
    ◦ FPGA( 可程式邏輯晶片 ) 日益成熟,運用廣大
      ,他方便再無需向微處理機寫程式的麻煩、反
      映時間快、運用彈性大,運用在模糊控制器上
      是相當方便有效率。
    ◦ 模糊控制器中歸屬函數一般是由專家知識庫中
      建立,可是如遇到未知的領域或是未知的性質
      ,必須透過無數次研究與測試才能建立一套規
      則。
   研究目的
    ◦ 微處理機與 FPGA 搭配,藉由粒子最佳化演算
      法動態計算與建立新的歸屬函數,讓模糊控制
      器達到最佳控制效果。
                03/05/12          5
文獻回顧 (1)
   應用 FPGA 來實現模糊樹 (Fuzzy tree)[5] 可以簡化微
    處理機運算過程與減少運算次數。
   將模糊控制器模組化,以 FPGA 完成小模組、小容
    量的模糊控制器 [6] 。
   利用 Xilinx CX4008-6 PGA 搭配 EPROM 實作完成模
    糊控制器 [7] 。
   利用 FPGA 晶片完成可調式權重的模糊控制器,運
    用在倒單擺車的單擺垂直控制器 [8] 。




                     03/05/12               6
文獻回顧 (2)
 動態產生模糊推論結果的模糊控制器,
  運用在停車控制,此改善模糊規則儲存
  在記憶體中,減少記憶體空見 的需求
  [9] 。
 運用模糊控制器在馬達控制上 [10]
  [11] 。
 利用 PFGA 實作模糊控制器運用在機器
  人行為上 [12] 。
 利用 FPGA 產生歸屬函數和歸屬值研究
  [15][16] 。
           03/05/12   7
FUZZY 理論介紹
   Fuzzy 是一門新興的數學,起源於 1965 年美國加州
    柏克萊大學 (Berkeley) 的扎德 (L.A. Zadeh) 教授,在
    資訊與控制 (Information and Control) 學術期刊上所
    發表的論文 - 模糊集合 (Fuzzy Sets) 。模糊理論實際
    上是模糊集合、模糊關係、模糊邏輯、模糊控制、
    模糊量測等理論的泛稱。




                     03/05/12                8
FUZZY SET(1)
   一般集合論是明確的數值集合,非 0 即
    1 ,例如發高燒是 38 度以上,沒發燒
    是 38 度以下。此稱為明確集合 (crisp
    set) 。
                                 發燒
      1( 是 )




               沒發燒
      0( 否 )

                                      溫度
                     38 度

                      03/05/12             9
FUZZY SET(2)
   Fuzzy Set 則是一般二值邏輯集合擴充多值邏輯,例
    如 38 度發燒,那 40 度也是發燒, 41 度也是發燒,
    可是 41 度比 38 度嚴重多了, 37 度沒有發燒, 37
    度沒有發燒, 36 度是正常,可是接近 38 度人體就
    出現發燒臨界點,因此利用多值邏輯更能展現出現
    實情境。
                中度發燒
    正常   還好 微恙輕微發燒 重度發燒




    35   36   37   38   39    40

                             03/05/12   10
歸屬函數定義
   在整個全集合中每一元素對某一模糊集合的所屬程
    度都賦予一個介於 0 與 1 之間的數值稱之為歸屬函
    數 (Membership function) 。
   歸屬函數數值定義一般是由專家經驗以及知識來作
    為判斷基礎。
   有四種標準歸屬函數: Z-type ,, -type(lambda) ,
    , -type(pi) 和 S-type 。


                        Z-Type       Pi-Type




                       Lambda-Type   S-Type
                    03/05/12                   11
歸屬函數型式
 我們以天氣對人體的舒適度為例。
 可以看出是由 Z-type ,, -type(pi) 和
  S-type 組成。

      1

           寒冷             舒適               悶熱




      0

      10        15   20          25   30   溫度   (0C)

                      03/05/12                         12
模糊規則 (1)
 在傳統邏輯學中對所有的事實或規則(有
  時稱為命題)作判斷,非 1 即 0 ,定義明
  確。
 例如這世界上
    ◦ 不是好人,就是壞人。
    ◦ 不是女人,就是男人。
 這樣仍然無法處理其他的情況。
 模糊規則是將二元值 (0 , 1) 中,在 0 ,
  1 之間,擴展更多的數值。
 模糊規則一般由專家系統或是知識庫來建
  立模糊規則
              03/05/12        13
模糊規則 (2)
 模糊規則庫是由一組 If-Then 型式的模
  糊規則所組成,這組模糊規則是用以描
  述系統的輸入輸出關係。
 有三種常見的模糊規則形式:
    ◦ 語意式模糊規則( Mamdani Fuzzy Rule )
    ◦ 函數式模糊規則( Sugeno Fuzzy Rule )
    ◦ Tsukamoto 式模糊規則( Tsukamoto Fuzzy
      Rule )


                   03/05/12              14
語意式模糊規則( Mamdani Fuzzy Rule)

 語意式模糊規則又稱為 Mamdani 模糊
  規則,典型的語意式模糊規則表示如下
  :
 前提: x is x0 and y is y0
   模糊規則一 : If x is A1 and y is B1
    Then z is C1
   模糊規則二 : If x is A2 and y is B2
     Then z is C2

                   03/05/12          15
Sugeno 模糊規則
   前提: x is x0 and y is y0
  模糊規則一 : If x is A1 and y is B1Then
            f1 ( x, y )
  z is
 模糊規則二 : If x is A2 and y is B2Then
             f 2 ( x, y )
  z is




                  03/05/12          16
Tsukamoto 模糊規則
   Tsukamoto 把後鑑部之模糊規則限定成只能擁有
    單調性 ( 遞增或遞減 ) 的歸屬函數,如此一來,
    歸屬函數的反函數便一定存在。
   前提: x is x0 and y is y0
   模糊規則一 R1 : If x is A1 and y is B1 Then z is C1
   模糊規則二 R2 : If x is A2 and y is B2 Then z is C2




                              03/05/12               17
模糊推論
   模糊推論是利用歸屬函數取得各規則的適合程
    度。
   然後綜合模糊規則的適合度得到適當的推論。
   即使規則條件部分的命題不完全一致,也能依
    據一致度的高低比較得到合適的推論。
   以下即以 Fuzzy 冷氣機舉例說明模糊推論的方
    式。
   條件規則:
    ◦ IF 溫度   is 高 , THEN 壓縮機   is 打開
    ◦ 狀態:         溫度 is 高
    ◦ 動作:         壓縮機 is 打開

                    03/05/12            18
模糊推論的方法
   模糊推論已廣泛的應用於各個實際系統上,利
    用經驗或相關知識所得的規則,轉化為“ IF-
    THEN” 的法則形式。大多數的推論並非只有一
    個法則,也就是說當遇到一個事實需要推論時
    通常有以下幾種推論法:
     (1) 邏輯和(比較適合度取 Max. )、邏輯積(比較
      適合度取 Min. )、邏輯和 (Max.) 的推論法。
     (2) 邏輯積 (Min.) 、邏輯積 (Min.) 、邏輯和 (Max.) 的
      推論法。
     (3) 邏輯積 (Min.) 、代數積(取適合度的乘積值)
      、邏輯和 (Max.) 的推論法
   而一般常採用 Mamdani 的 Min.-Max. 的推論法
    ,也就是第二種方式,如圖 2.6 所示。

                       03/05/12              19
Mamdani 的 Min.-Max. 的推論法
                  IF        前 件 部                                        THEN   後件部


    歸           X1 is A11   歸             X2 is A21            歸           Y is B1
    屬                       屬                                  屬
    度 1.0                   度 1.0                              度1.0 邏輯積

 規則一:                                                 Min. 計算
            1
        0.0                       0.0                              0.0
                            X1                             X2                         Y
                                     ( a) 規則一的模糊推論



                X1 is A12                 X2 is A22                        Y is B2
        歸                        歸                              歸
        屬                        屬1                             屬1
          1                                                                 邏輯積
        度                        度                              度
 規則二:                                             Min.計算


            0                        0                              0
                            X1                            X2                          Y

                                     ( b) 規則二的模糊推論



                                         推論結果
                                 1.0
                                             邏輯和

                                 0.0
                                                                Y
                                     ( c) 二規則模糊推論的結果
                                                         03/05/12                         20
解模糊化法
 解解模糊化 (defuzzification) 法,此用意
  在於將模糊推論所得的推論結果量化為
  輸出變數的歸屬函數值。因為我們要實
  際應用於系統操作,必須將模糊推論所
  得到的語意轉化成一明確的輸出值。
 解模糊的方式有多種,有面積中心法
  (或稱重心法)、最大中心法、最大平
  均法,其中以面積中心法較為常用。


              03/05/12        21
模糊控制
 模糊控制的研究開始於 1970 年代中期,在
  1980 年代進入實用化。在模糊控制實用化的研
  究目前是以日本最為進步。
 最早利用模糊理論來作控制的學者是倫敦大學
  的 Mamdani 教授,在 1974 年研究發表中以研
  究室所製作的蒸汽引擎模型為對象去驗證模糊
  控制 [22] 。
 Zadeh 教授提出一含有模糊性的語言記述系統
  的方法論,用來表達在處理系統的複雜性與資
  料之不完整性的判斷思考等。
 一般所用的模糊控制法則大都依據 Mamdani 教
  授方式利用“ IF-THEN” 條件命題式的語言性控
  制 (linguistic control) 法則。

              03/05/12           22
傳統控制的限制
 傳統的控制問題常需對真實系統建立數
  學模型來作精確的數值形式計算處理。
 但是假如遇到較複雜、大型的控制系統
  或者與使用者有關的知識經驗等,則必
  須花費大量人力、時間去建構數學模型
  ,甚至有可能因過於繁複而無法建構其
  數學模型。
 利用簡單的“ IF-THEN” 規則來描述系統
  的模糊控制即可達到系統控制的目的。
           03/05/12     23
範例 導單擺機器
   導單擺是一種手指頂著竹竿維持平衡的
    遊戲,人類可以輕易做到此事,但是機
    器就不是那麼容易,模糊理論可以輕易
    完成這樣的控制。




           03/05/12   24
導單擺系統架構圖




      03/05/12   25
STEP 1 確定系統架構
 單一輸入,單桿角度變數輸入。
 單一輸出,馬達位移量輸出。

                    角度




                    位移
         03/05/12        26
STEP 2 定義輸出輸入模糊集合
 角度 Deg={ 太偏左,偏左,中,偏右
  ,太偏右 }
 位移 Sht={ 最左,略左,中,略右,
  最右 }




          03/05/12       27
STEP 3 定義歸屬函數 (1)
                  單槓角度輸入值


  1         太左    偏左    正中       偏右   太右

歸屬值



  0

      180   135   120    90      60   45   0


                        輸入值

                          03/05/12             28
STEP 3 定義歸屬函數 (2)
                馬達位移量輸出值


  1       最左    略左    正中         略右   最右

歸屬值



  0

          -10    -5   0          +5   +10
                                            公尺
                  輸出值

                          03/05/12               29
STEP 3 定義歸屬函數 (3)
   輸入數學函式
     太左 (x)=1 180<=X<=135 -
     太左 (x)=(x-120)/15 135<=x<=120 
     偏左 (x) =(135-x)/15 135<=x<=120 /
     偏左 (x) =(x-90)/30 120<=x<=90 
     正中 (x)=(120-x)/30 120<=x<=90 /
     正中 (x)=(x-60)/30 90<=x<=60 
     偏右 (x)=(90-x)/30 90<=x<=60 /
     偏右 (x)=(x-45)/15 60<=x<=45 
     太右 (x)=(60-x)/15 60<=x<=45 /
     太右 (x)=1 45<=x<=0 -

                        03/05/12         30
STEP 3 定義歸屬函數 (4)
   輸出數學函式
     最左 (x)=1 x<=-10 -
     最左 (x)=-(x-(-5))/5 -10<=x<=-5 
     略左 (x) =-((-10)-x)/5 -10<=x<=-5 /
     略左 (x) =-(x)/5 -5<=x<=0 
     正中 (x)=((-5)-x)/5 -5<=x<=0 /
     正中 (x)=-(x-5)/5 0<=x<=5 
     略右 (x)=(x)/5 0<=x<=5 /
     略右 (x)=-(x-10)/5 5<=x<=10 
     最右 (x)=-(5-x)/5 5<=x<=10 /
     最右 (x)=1 10<=x -

                         03/05/12         31
STEP 4 建立模糊規則
 IF   角度   IS   太左   THEN       位移 = 最右
 IF   角度   IS   偏左   THEN       位移 = 略右
 IF   角度   IS   正中   THEN       位移 = 正中
 IF   角度   IS   偏右   THEN       位移 = 略左
 IF   角度   IS   太右   THEN       位移 = 最左




                      03/05/12             32
STEP 5 模糊推論 (1)
   Max-min 法則來作為推論
   當單桿角度偵測到 65 度,符合下列模
    糊規則

 IF 角度 IS 正中 THEN 位移 = 正中
 IF 角度 IS 偏右 THEN 位移 = 略左




               03/05/12      33
STEP 5 模糊推論 (2)
   計算歸屬值
◦ 正中 (x)=(x-60)/30 90<=x<=60   正中 =0.16
◦ 偏右 (x)=(90-x)/30 90<=x<=60 /  偏右 =0.83

                      單槓角度輸入值
                            65
    歸屬值
          1         太左 偏左 正中 偏右 太右

      0.83
      0.16
         0
              180   135   120        90   60   45   0

                             輸入值

                          03/05/12                      34
STEP 5 模糊推論 (3)
         輸出推論
 IF 角度 IS 正中 THEN 位移 = 正
  中
 IF 角度 IS 偏右 馬達位移量輸出值 = 略
               THEN 位移
  左1        最左 略左 正中 略右 最右

歸屬值                0.83

                           0.16
  0

             -10   -5      0       +5      +10

                          輸入值
                                03/05/12         35
STEP 6 解模糊化
          重心法


       x=
          ∑ x • 馬達位移量( x)
           ∑ 馬達位移量( x)
    − 10 ∗ 0 + −9 ∗ 0.83 + ... + −1 ∗ 0.16 + ... + 4 ∗ 0.16 + 5 ∗ 0
x=
                        0.83 * 8 + 0.16 * 5
x = −4.6

        結論 馬達要向左移動 4.6( 公尺 )
                                      03/05/12                        36
範例影片 (1)




           03/05/12   37
粒子群最佳化演算法
   粒子群最佳化演算法是 Kennedy 和
    Eberhart 於 1995 年時提出,在研究
    PSO 的過程中,有各種不同版本出現
    [4-9] ,也有收斂及最佳參數選定的探
    討文獻 [10-11] 。 PSO 的概念源自群體
    行為理論,啟發自觀察鳥群或魚群行動
    時,能透過個體間特別的訊息傳遞方式
    ,使整個團體朝同一方向、目標而去,
    是模仿此類生物行為反應來尋求完成群
    體最大利益的方法。
               03/05/12     38
PSO 基本演算模式 (1)
   首以均勻分佈 (uniform distribution) 隨
    機產生初始粒子群,每一個粒子都是一
    個求解問題的侯選解,粒子群會參考個
    體的最佳經驗,以及群體的最佳經驗,
    選擇修正的方式,經過不斷的修正之後
    ,粒子群會漸漸接近最佳解。




                  03/05/12        39
PSO 基本演算模式 (2)
   以平面例子說明,如圖 2-1 , T 為目標, A ~ E 為搜尋粒子,
    初始粒子群分散於各處。此時群體最佳的粒子是離目標 T 最近
    的粒子 D ,稱之為 gbest 。假設粒子經過三次移動之後,位置
    如圖 2-2 所示,此時群體最佳的粒子則為 E4 。粒子群亦分別紀
    錄自身搜尋的最佳紀錄,稱之為 pbest ,如圖 2-2 ,粒子 A 停
    駐位置為 A4 ,其自身最佳搜尋紀錄為座標 A3 。




                    03/05/12           40
粒子群最佳化演算法 (1)
 演算法開始時以隨機方式散佈粒子,計算各粒子所得的適合度
  (fitness) 來進行演化,而適合度通常是依照目標函數來訂定。在
  每一次迭代當中,粒子 Xi 會根據自己過去曾經流覽過的最佳向
  量值 Pbesti 以及整個群體曾經瀏覽過的最佳向量值 Gbest ,來
  計算粒子的位移向量 Vi ,然後再將粒子向量加上此位移向量作
  為下一次迭代的粒子向量值,通常此計算是依照每一個參數維
  度 j 分別進行的,公式如下
 vij = vij + C1*rand()*(pbestij – Xij) + C2*rand()*(gbestj - Xij) (1)
           Xij = Xij + vij  (2)
 其中 rand() 是一個介於 0 與 1 之間的隨機亂數,整個公式的目
  的是要讓 Xi 向 Pbesti 及 Gbest 的合成向量方向移動,以增加改善
  Xi 的機會,同時又設計了隨機 (stochastic) 的干擾量,以避免掉
  入局部最佳解 (local optimum) 。所以粒子的向量修正原則是取
  得鑽探搜尋 (exploitation search) 以及探索搜尋 (exploration
  search) 的平衡,符合現代經驗法則 (modern heuristics) 的精神。



                                 03/05/12                            41
粒子群最佳化演算法 (2)
   出慣性權重式粒子群最佳化演算法
    ◦ 在原始 PSO 演算法的速度更新式中導入速度慣性
      權重 (inertia weighted) 參數 w ,提高了原始 PSO
      的收斂速度與函數最佳值搜尋的成功率。
   更新公式如下:


    ◦ 慣性權重參數設置上仍存在著相當模糊的範圍,慣性權重設
      定在 0.9 至 0.4 之間可得到較理想的結果。
    ◦ 慣性權重因子以線性遞減的方式加入速度更新公
      式中運算,其效果可使得執行之初粒子有很高的
      機會快速進入到較佳解的區域。
                     03/05/12                 42
粒子群最佳化演算法 (3)
   壓縮因子的概念
    ◦ 此壓縮因子可有效控制各個粒子的搜尋軌跡,且
      不需刻意限制粒子的最大速度粒子於搜尋過程中
      可增加其穩定性,並能確保 PSO 維持一定的收斂
      能力。加入壓縮因子的速度更新公式如下:




    ◦ 壓縮因子 K 是相當重要的限定準則,粒子的 C1 及
      C2 必須遵照此限定準則來設定。
    ◦ 在 C1 及 C2 的設定上,根據文獻 [17] 分別取 2.8
      與 1.3 。
                   03/05/12          43
粒子群最佳化演算法的流程圖
                    Xi :各粒子所處
                     的位置。
                    Vi :各粒子的移動
                     量。
                    W :介於 0.4 ~
                     0.9 的權重常數。
                    Vmax :各粒子的
                     最大移動量。
                    Pbest :個別粒子
                     所曾經達到的最佳
                     位置。
                    Gbest :所有粒子
                     所曾經達到的最佳
                     位置。



      03/05/12                     44
8051 & FPGA 介紹
 8051 簡介
 MCS-51 是 Intel 所生產的 8051 系列單晶片的總稱
  , 在這家族中還有 8051,8751,8031,8032,8052,80C51
  等 . 以上這些單晶片雖然在編號上有所不同 , 卻都
  是使用相同的 CPU, 指令集 , 只是附加的周邊上有
  所不同 , 例如 8751 是內含有 4k ERROM 的
  MCS-51 版本 , 而 80C31 式一顆內部無記憶體的省
  電 MCS-51 版本 .
 目前除了 Intel 生產之外 , 目前也有好幾家公司也
  有製造 , 功能上也有增加 , 例如
  AMD,PHILPS,ATMEL,DALLS 等 , 其中又以 ATMEL
  製造的 AT89C51 不需紫外線清洗 , 而是電子式抹
  除 , 十分方便 .


                    03/05/12             45
8051 特色
   4K-byte 的快閃程式記憶體 (Flash Memory)
   128-byte RAM 的程式記憶體
   32 條 I/O 信號線
   2 個 16-bit 的計時器 (Timer)/ 計數器
    (Counter)
   一個雙向串列埠 (RS-232 Serial Port)
   5 個中斷向量功能。




                   03/05/12           46
8051 內部方塊圖




        03/05/12   47
8051 外觀接腳圖與說明
   1-8 腳: PORT 1 (P1.0 ~ P1.7 )
   9 腳: RESET/Vpd ,重置信號
   10-17 腳: PORT 3 (P3.0 ~ P3.7)
   18-19 腳: XTAL2 , XTAL1
   20 腳: Vss ,系統接地腳
   21-28 腳: PORT 2 (P2.0 ~ P2.7)
   29 腳: PSEN ( 程式儲存致能 )( 負緣觸發 ) :讀取存放在
    外部
    程式記憶體 (ROM) 指令
   30 腳: ALE/PROG( 位址鎖定致能 ) , 8051 燒錄時,用來
    接受
    燒錄脈波信號
   31 腳: EA/Vdd ,當接高電位時,若 PC 小於 4096(4K) ,
    執行
    內部 ROM 的程式指令,當 PC 大於 4096(4K) ,執行外部
    ROM
    的程式指令。當接低電位時,強迫 8051 只使用外部 ROM
    的程
    式指令
   32-39 腳: PORT 0 (P0.0 ~ P0.7)
   40 腳: Vcc ,系統主要電源,接 +5V 。


                                03/05/12      48
8051 用途
 智慧儀表中的應用 : 單晶片微電腦具有體積小 ,
  低功率 , 控制功能強的優點 , 把它做在產品的內
  部 , 取代部分老式機械 , 電子零件或裝置零件 ,
  可使產品體積縮小 , 功能增強。
 工業測控中的應用 : 單晶片微電腦 I/O 線多 , 位
  元指令豐富 , 邏輯操作能力強 , 特別適用於即時
  控制 , 例如 : 控制柴油發電機 , 船閘控制的應用
  , 警報系統的應用等。
 計算機網路與通訊技術中的應用 : 單晶片微電
  腦具有通訊介面 , 串列自動呼叫應答設備 , 無線
  遙控系統中的列車無線通訊中的應用。


              03/05/12       49
FPGA 介紹
 PLD( Programmable Logic Device ) 是可程
  式規劃邏輯元件之總稱,凡可讓使用者組
  成其邏輯電路功能之所有元件皆為 PLD 元
  件。在可程式邏輯元件中。
 簡單說是一種裡面建好 AND 和
  OR 、 NOT gate 及 Register( 暫存器 ) 陣列
  的 IC ,所有的邏輯 function 都可以用
  AND OR NOT gate 做完,再加上暫存器
  ,就可以做加法器、減法器、乘法器 .....
  等很多功能。
 使用者可以透過 VHDL 或 Verilog 等硬體描
  述語言,用燒錄程式燒進去,將 AND 或
  OR 及 Register 陣列燒成那樣的 function 。
                  03/05/12           50
FPGA 分類
 ◦ SPLD(Simple PLD ,小型單純的可程式邏輯
   元件 ) 。
 ◦ CPLD(Complex PLD ,複合型高功能可程式
   邏輯元件 )
 ◦ FPGA( Field Programmable Gate Array ,現
   場可規劃邏輯陣列 ) 三大類。




                  03/05/12              51
架構區分
◦ 一般分為 EEPROM( 或 Flash) 架構: EEPROM 架構
  的 PLD 密度小,多用於 5,000 閘以下的小規模設
  計,適合做複雜的組合邏輯,如編碼器。
◦ SRAM 架構。 SRAM 架構的 PLD(CPLD/FPGA) ,密
  度高,暫存器較多,多用於 10,000 閘以上的大型
  設計,適合做複雜的時序邏輯,如實現數位信號
  處理等各種演算法。




                03/05/12            52
領導廠商
◦ Altera 公司網址 http://www.altera.com.cn/
◦ Xilinx 公司網址 http://www.xilinx.com/




                    03/05/12              53
ASIC 專用積體電路
   Application Specific Integrated Circuit 專
    用積體電路。顧名思義,此積體電路設
    計的需求,即是提供一個在特殊應用場
    合上所使用的積體電路元件。

   此 ASIC 的目的,一方面可使系統之電
    路整合更有效率,並使成本下降,提升
    產品的競爭力。另一方面有可以使電路
    之設計增加保密性,使得設計不易被盜
    拷。
                      03/05/12              54
VHDL 介紹
   VHDL 是 Very High Speed Integrated Circuit (VHSIC)
    Description Language 的縮寫,簡單的說,它就是一
    種專門用來設計硬體電路的語言。
   它的起源是 1970 年代至 1980 年代由美國國防部所
    贊助的計畫,起初 VHDL 的目的是希望成為描述複
    雜電路文件的標準。
   1987 年 VHDL 成為 IEEE 1076 standard , 1988 年美
    國國防部要求所有要交給國防部的特殊功能積體電
    路 (ASIC) 都要用 VHDL 描述,同時 IEEE 1076 的更新
    版 IEEE 1164 在同年被採用, 1996 年 IEEE 1076.3 成
    為 VHDL 合成電路的最新標準。


                          03/05/12                  55
VHDL 優點
   方便:用 VHDL 設計電路時可以不必熟記或翻閱各
    種電子元件邏輯及其規格的書籍,亦不必使電子電
    路侷限在使用呆板的元件或零件組合成數位電子電
    路。
   硬體軟體化:使用 VHDL 作數位電路設計,只需依
    據標準的 VHDL 語言規範,描述複雜的電路系統,
    再用一般軟體的模組化觀念,描述數位系統的規格
    及功能。
   方便除錯:利用軟體 ( 可在 PC 或工作站上執行 ) 將
    所寫的 VHDL 編譯合成電子電路,可以驗證功能,
    方便除錯,節省時間與成本。


                 03/05/12           56
其他硬體語言
   Verilog HDL 在發展之初,便是企圖能以程式語
    言介面( Programming Language Interface,
    PLI )為基礎,創造一個以電腦輔助設計為導向
    的自動化電路設計環境 ;基於此一原
    則, Verilog 便被設計成一種語法極具親和力的
    硬體描述語言。
   System C 起源約在 1999 年 , 於 2002 年開始用
    在 System modeling 上 , 在 2004 年發展出
    System verification 的各種方法 . SystemC 也可
    以用來寫出可合成電路 , 但是據業界的說法 , 合
    成出來的電路效能不好 , 而且語法對於寫慣
    VHDL 或 Verilog 的人而言也無法適應。

                     03/05/12            57
RAM 隨機存取記憶體
 DRAM(Dynamic RAM) 稱為動態隨機存
  取記憶體。
 SRAM(Static RAM) 稱為靜態隨機存取記
  憶體。
 差異:
          記憶元   速度      操作           積集度
          件
    DRA   電容    慢       必須用          高
    M                   REFLASH 電路
                        更新記憶資料
    SRAM 正反器    快       無須額外電路       低

                     03/05/12              58
HM6116 SRAM 功能方塊圖




         03/05/12   59
ADC0804 類比轉換數位轉換
器
 數位對類比轉換器一般簡稱為 ADC
  (Analog to Digital Converter) 。 ADC
  主要的功能是將自然界中的類比訊號,
  如:溫度、電壓、重量或亮度,轉換成
  電腦可以處理的數位訊號。
 數位訊號優點
    ◦ 比較抗雜訊
    ◦ 易除錯
    ◦ 容易儲存

                 03/05/12           60
理想 3 位元類比對數位轉換器之特性曲線
   類比訊號之輸入範圍為 0~1 V 。在此圖中,將輸入
    訊號分成 8 個區間,每一區間內所有類比訊號值都
    以同一數位碼來表示,且此數位碼通常與該區間之
    中間值對應,以上即為類比對數位轉換之基本概念
    。




                03/05/12         61
類比對數位轉換器分類
 數位斜波式類比對數位轉換器 (digital-
  ramp ADC)
 連續漸進式類比對數位轉換器
  (successive approximationADC)
 快閃類比對數位轉換器 (flash ADC)
 追蹤式類比對數位轉換器
  (trackingADC) 。
 ADC0804 為連續漸進式類比對數位轉
  換器
               03/05/12           62
ADC0804 工作原理介紹 (1)
   連續漸進式類比對數位轉換器方塊圖




           03/05/12    63
ADC0804 工作原理介紹 (2)
   當類比訊號輸入時,取樣保持 (sample-and-
    hold) 電路先把輸入訊號 Vin 保留住,以避
    免其在轉換過程中訊號異動,此時控制邏輯
    (control logic) 電路將暫存器 (register) 的所有
    輸出位元均重置 (reset) 為“ 0” ,
   接著最高有效位元 (most significant bit,MSB)
    D7 被設為“ 1” 。此時數位類比轉換器 (digital
    to analog converter, DAC) 所輸出的電壓
    V(D) 為:


                    03/05/12            64
ADC0804 工作原理介紹 (3)
   此輸出電壓為參考電壓 Vref 的一半。
   如果輸入電壓 Vin 比 V(D) 高,則 D7 維持在”
    1” ,否則將變為” 0” 。接著令次一位元 D6 為
    ”1” 。
   經過 DAC 轉換後可獲得輸出電壓 V(D) ,此
    時再將新的 V(D) 與 Vin 比較,若 Vin 比 V(D)
    高,則 D6 維持在” 1” ,否則將變為” 0” 。
   依此類推,一直到最低有效位元 D0 比完,
    如此便可得到完整 D7 到 D0 的數位輸出。


                  03/05/12         65
模糊控制器設計
   系統架構




           03/05/12   66
模糊化部分
 模糊函數以三角型為主。
 歸屬值 0~31




         03/05/12   67
建立歸屬函數電路示意圖
   模糊歸屬函數由 8051 與 HM6116 組合
    ,三角形方程式由 C 語言來建立,紅
    外線輸入訊號,經過類比轉換成數位資
    料,進入模糊推論。




              03/05/12     68
資料對應方式
 假設輸入資料為 120 ,轉換成二進制為
  01111000 。
 所以當我們讀取 RAM 120 的位址,讀
  出模糊推論值。
 模糊推論值為 8Bit ,前 3bit 為模糊集
  合代號,後 5Bit 為歸屬值。




            03/05/12     69
03/05/12   70
模糊化電路設計示意圖
   RAM 採用兩組,一組為建立歸屬函數
    ,另一組讓紅外線直接輸入讀取數值。




            03/05/12   71
切換器設計
   切換器主要是讓 8051 和紅外線能交互使用兩區塊
    RAM
   當 8051 更新上方的記憶體時,紅外線就使用下方記
    憶體。
   當 8051 更新下方記體的歸屬函數時,紅外線就使用
    上方記憶體。




               03/05/12          72
模糊控制電路
 模糊控制器接收 RAM 的資料,資料送
  至推論電路作推論。
 推論採最大最小合成法。推論電路採用
  比較器。歸屬度值利用比較器最最小化
  。
 將歸屬度最小值與觸發輸出模糊集合最
  大化合成。
 再用權重平均法計算出明確數值。
 模糊規則由 VHDL 撰寫,燒錄至由
  FPGA 完成。
         03/05/12   73
03/05/12   74
簡化推論電路
   本研究採用動態調整歸屬函數,精簡化
    之後的電路示意圖。




           03/05/12   75
自調變歸屬函數
   採用粒子群最佳化演算法來找出最佳的一組
    歸屬函數。
   為維持最佳收斂能力,本論文採用壓縮因子
    式粒子群最佳化演算法,參數 C1 和 C2 設定
    2.05




              03/05/12     76
Matlab 軟體簡介
   M AT LAB 是由 M athWorks 公司於 1 984 年推出的數
    學軟體,其名稱是由「矩陣實驗室」( M AT rix
    LAB ora )所合成。
           tory
   其發展理念是提供一套非常完善的矩陣運算指令,
    但隨著數值運算需的演變, M AT LAB 已成為各種系
    統模擬、數位訊號處理、科學目視 (science visua tion)
                                       liza
    的標準語言。
   M a b 是套應用於科學與工程領域中數值計算、分
       tla
    析與模擬的應用軟體,結合了數值分析、矩陣運算
    及繪圖等功能,功能強大、操作介面簡易。
   M a b 全文為 "ma la tory",提供完整的矩陣運
       tla       trix bora
    算指令,將資料元素當成是矩陣來處理,而主要的
    用途就是作矩陣式的數學運算。
                     03/05/12             77
Simulink 軟體介紹
 Simulink 為建構在 Matlab 環境下的模
  擬工具,是一種用來分析與模擬系統動
  態特性的軟體。 Simulink 為採用視窗
  的方式配合滑鼠的運用,建立及模擬動
  態系統模型。藉由圖形化功能方塊的建
  立且將各圖形方塊加以連結成一個模擬
  系統,用以簡化設計的流程並模擬分析
  。
 Simulink 在使用上可分成兩個階段:
    ◦ 模型建立階段
    ◦ 模型分析階段
               03/05/12    78
Matlab Simulink 軟體模擬
   假設目的地 T ,起始點 S ,車輛模組如下圖。
   車輛模組輸入位置和速度。
   模糊系統採用 Sugeno 型式。
   輸出為馬達所需電壓。




               03/05/12        79
車輛模組
 車輛模組運動公式為 F=ma 。
 經過 a 積分一次變成加速度。
 再積分一次變成位移量。




          03/05/12   80
馬達模組




       03/05/12   81
馬達模組參數值




      03/05/12   82
Matlab 模糊控制器設定
   輸入 position & Speed ,個別定義五個模糊
    集合。
   輸出 馬達電壓。
   本論文模糊控制器使用的型式為 Sugeno 型
    式,輸出變數是使用 constant 的方式來定義
    。




             模糊控制器架構
                 03/05/12           83
輸入變數 position 其歸屬函數 NB
之設定方式




          03/05/12   84
輸入變數 speed 其歸屬函數 NB
之設定方式




         03/05/12     85
模糊規則表




        03/05/12   86
控制結果
   目標位置定義在 200
    cm 。
   起始位置定義在 100
    cm ,
   粒子群最佳化演算法隨
    機產生 250 個粒子,迭
    代次數設定 500 次,
    在速度及位置更新方式
    採用壓縮因子式來更新
    。
   以這些條件來執行軟體
    模擬的結果如下:
   桃紅色的線條為初始自
    己隨意制定的歸屬函數
    所產生的控制結果
   黃色的線條為經過粒子
    群最佳化調整的歸屬函
    數所產生的控制結果。



                    03/05/12   87
速度變化量




        03/05/12   88
馬達推力變化量




      03/05/12   89
車輛行進示意圖 (1)




        03/05/12   90
車輛行進示意圖 (2)




        03/05/12   91
PSO gBest 變化量




           03/05/12   92
調整後的 Position 歸屬函數




         03/05/12    93
調整後的 speed 歸屬函數




        03/05/12   94
結論
 由實驗結果可明顯看出雖然震盪次數增加,但是
  震盪的距離有明顯的減少,所產生的控制結果與
  原始比較,有明顯的改善效果。
 除了在推力部分,因調整後的模糊控制器在接近
  目標位置時所產生的響應較大,會造成在一開始
  發出較強的推力,當接近目標位置後馬上往反方
  向施以一個適當的力,使車子可以在短時間內到
  達目標位置。雖然從圖中觀察發現推力的變化較
  原始控制器所產生的結果來的大,但並未超出馬
  達所能提供的推力,在實現上是可行的。
 透過本論文所提出的方法,當對於一個未知的問
  題時,依據輸出的結果確實可計算出一個最適當
  的歸屬函數供模糊控制器使用,並產生出一個良
  好的控制結果。

           03/05/12       95
實際車輛影像




         03/05/12   96
控制電路圖影像




      03/05/12   97
參考文獻
 http://intelligence.im.ncnu.edu.tw/PSODemo
 http://tw.knowledge.yahoo.com/question/que
 http://tw.knowledge.yahoo.com/question/que
 http://cilab.csie.ncu.edu.tw/course/nn/nn8.
  ppt




                   03/05/12              98

More Related Content

What's hot

Jeux d instruction du 6809
Jeux d instruction du 6809Jeux d instruction du 6809
Jeux d instruction du 6809Amel Morchdi
 
測試流程整體介紹
測試流程整體介紹測試流程整體介紹
測試流程整體介紹gaohonglian
 
學年生涯輔導記錄手冊 生涯教育-教師研習補充資料-詹翔霖教授
學年生涯輔導記錄手冊 生涯教育-教師研習補充資料-詹翔霖教授學年生涯輔導記錄手冊 生涯教育-教師研習補充資料-詹翔霖教授
學年生涯輔導記錄手冊 生涯教育-教師研習補充資料-詹翔霖教授文化大學
 
Amplification Bipolaire
Amplification BipolaireAmplification Bipolaire
Amplification Bipolaireinali123
 
Basys Board Digilent Manual
Basys Board Digilent ManualBasys Board Digilent Manual
Basys Board Digilent Manualzhwryan
 
PSpice vs. LTspice(MOSFET Professional SPICE Model )
PSpice vs. LTspice(MOSFET Professional SPICE Model )PSpice vs. LTspice(MOSFET Professional SPICE Model )
PSpice vs. LTspice(MOSFET Professional SPICE Model )Tsuyoshi Horigome
 
الحلول العددية للمعادلات التفاضلية العادية
الحلول العددية للمعادلات التفاضلية العاديةالحلول العددية للمعادلات التفاضلية العادية
الحلول العددية للمعادلات التفاضلية العاديةDr Abd Allah Mousa
 
電子學103-Chapter4 二極體&特殊二極體
電子學103-Chapter4 二極體&特殊二極體電子學103-Chapter4 二極體&特殊二極體
電子學103-Chapter4 二極體&特殊二極體Fu Jen Catholic University
 
電路學 - [第一章] 電路元件與基本定律
電路學 - [第一章] 電路元件與基本定律電路學 - [第一章] 電路元件與基本定律
電路學 - [第一章] 電路元件與基本定律Simen Li
 
تمارين وحلول خاصة ببرمجة Ladder et instructions automates
تمارين وحلول خاصة ببرمجة Ladder et instructions automatesتمارين وحلول خاصة ببرمجة Ladder et instructions automates
تمارين وحلول خاصة ببرمجة Ladder et instructions automateselectrolouhla
 
Fpga 10-bcd-to-excess-3-converter-manchester-encoding
Fpga 10-bcd-to-excess-3-converter-manchester-encodingFpga 10-bcd-to-excess-3-converter-manchester-encoding
Fpga 10-bcd-to-excess-3-converter-manchester-encodingMalik Tauqir Hasan
 
電路學 - [第六章] 二階RLC電路
電路學 - [第六章] 二階RLC電路電路學 - [第六章] 二階RLC電路
電路學 - [第六章] 二階RLC電路Simen Li
 

What's hot (20)

Random Process
Random ProcessRandom Process
Random Process
 
Jeux d instruction du 6809
Jeux d instruction du 6809Jeux d instruction du 6809
Jeux d instruction du 6809
 
Unit 4 dica
Unit 4 dicaUnit 4 dica
Unit 4 dica
 
測試流程整體介紹
測試流程整體介紹測試流程整體介紹
測試流程整體介紹
 
ALGORITHMIC STATE MACHINES
ALGORITHMIC STATE MACHINESALGORITHMIC STATE MACHINES
ALGORITHMIC STATE MACHINES
 
學年生涯輔導記錄手冊 生涯教育-教師研習補充資料-詹翔霖教授
學年生涯輔導記錄手冊 生涯教育-教師研習補充資料-詹翔霖教授學年生涯輔導記錄手冊 生涯教育-教師研習補充資料-詹翔霖教授
學年生涯輔導記錄手冊 生涯教育-教師研習補充資料-詹翔霖教授
 
Amplification Bipolaire
Amplification BipolaireAmplification Bipolaire
Amplification Bipolaire
 
Basys Board Digilent Manual
Basys Board Digilent ManualBasys Board Digilent Manual
Basys Board Digilent Manual
 
Chap4
Chap4Chap4
Chap4
 
PSpice vs. LTspice(MOSFET Professional SPICE Model )
PSpice vs. LTspice(MOSFET Professional SPICE Model )PSpice vs. LTspice(MOSFET Professional SPICE Model )
PSpice vs. LTspice(MOSFET Professional SPICE Model )
 
Arduino感測應用
Arduino感測應用Arduino感測應用
Arduino感測應用
 
الحلول العددية للمعادلات التفاضلية العادية
الحلول العددية للمعادلات التفاضلية العاديةالحلول العددية للمعادلات التفاضلية العادية
الحلول العددية للمعادلات التفاضلية العادية
 
電子學103-Chapter4 二極體&特殊二極體
電子學103-Chapter4 二極體&特殊二極體電子學103-Chapter4 二極體&特殊二極體
電子學103-Chapter4 二極體&特殊二極體
 
Bch codes
Bch codesBch codes
Bch codes
 
電路學 - [第一章] 電路元件與基本定律
電路學 - [第一章] 電路元件與基本定律電路學 - [第一章] 電路元件與基本定律
電路學 - [第一章] 電路元件與基本定律
 
تمارين وحلول خاصة ببرمجة Ladder et instructions automates
تمارين وحلول خاصة ببرمجة Ladder et instructions automatesتمارين وحلول خاصة ببرمجة Ladder et instructions automates
تمارين وحلول خاصة ببرمجة Ladder et instructions automates
 
Fpga 10-bcd-to-excess-3-converter-manchester-encoding
Fpga 10-bcd-to-excess-3-converter-manchester-encodingFpga 10-bcd-to-excess-3-converter-manchester-encoding
Fpga 10-bcd-to-excess-3-converter-manchester-encoding
 
電路學 - [第六章] 二階RLC電路
電路學 - [第六章] 二階RLC電路電路學 - [第六章] 二階RLC電路
電路學 - [第六章] 二階RLC電路
 
89S51電路板
89S51電路板89S51電路板
89S51電路板
 
virtuoso
virtuosovirtuoso
virtuoso
 

Viewers also liked

1041017賴炳樹 直轄市洪災調適策略評估-以臺北市為例
1041017賴炳樹 直轄市洪災調適策略評估-以臺北市為例1041017賴炳樹 直轄市洪災調適策略評估-以臺北市為例
1041017賴炳樹 直轄市洪災調適策略評估-以臺北市為例炳樹 賴
 
資訊人之人文素養~黃聰亮教授演講投影片
資訊人之人文素養~黃聰亮教授演講投影片資訊人之人文素養~黃聰亮教授演講投影片
資訊人之人文素養~黃聰亮教授演講投影片vincent8899
 
模糊理論(Fuzzy)~電機大師黃聰亮教授演講投影片
模糊理論(Fuzzy)~電機大師黃聰亮教授演講投影片模糊理論(Fuzzy)~電機大師黃聰亮教授演講投影片
模糊理論(Fuzzy)~電機大師黃聰亮教授演講投影片vincent8899
 
模糊與動態類神經理論~電機大師黃聰亮教授授課投影片
模糊與動態類神經理論~電機大師黃聰亮教授授課投影片模糊與動態類神經理論~電機大師黃聰亮教授授課投影片
模糊與動態類神經理論~電機大師黃聰亮教授授課投影片vincent8899
 
CC282 Unsupervised Learning (Clustering) Lecture 7 slides for ...
CC282 Unsupervised Learning (Clustering) Lecture 7 slides for ...CC282 Unsupervised Learning (Clustering) Lecture 7 slides for ...
CC282 Unsupervised Learning (Clustering) Lecture 7 slides for ...butest
 
Fuzzy c-Means Clustering Algorithms
Fuzzy c-Means Clustering AlgorithmsFuzzy c-Means Clustering Algorithms
Fuzzy c-Means Clustering AlgorithmsJustin Cletus
 

Viewers also liked (7)

1041017賴炳樹 直轄市洪災調適策略評估-以臺北市為例
1041017賴炳樹 直轄市洪災調適策略評估-以臺北市為例1041017賴炳樹 直轄市洪災調適策略評估-以臺北市為例
1041017賴炳樹 直轄市洪災調適策略評估-以臺北市為例
 
資訊人之人文素養~黃聰亮教授演講投影片
資訊人之人文素養~黃聰亮教授演講投影片資訊人之人文素養~黃聰亮教授演講投影片
資訊人之人文素養~黃聰亮教授演講投影片
 
模糊理論(Fuzzy)~電機大師黃聰亮教授演講投影片
模糊理論(Fuzzy)~電機大師黃聰亮教授演講投影片模糊理論(Fuzzy)~電機大師黃聰亮教授演講投影片
模糊理論(Fuzzy)~電機大師黃聰亮教授演講投影片
 
模糊與動態類神經理論~電機大師黃聰亮教授授課投影片
模糊與動態類神經理論~電機大師黃聰亮教授授課投影片模糊與動態類神經理論~電機大師黃聰亮教授授課投影片
模糊與動態類神經理論~電機大師黃聰亮教授授課投影片
 
CC282 Unsupervised Learning (Clustering) Lecture 7 slides for ...
CC282 Unsupervised Learning (Clustering) Lecture 7 slides for ...CC282 Unsupervised Learning (Clustering) Lecture 7 slides for ...
CC282 Unsupervised Learning (Clustering) Lecture 7 slides for ...
 
Fuzzy c-Means Clustering Algorithms
Fuzzy c-Means Clustering AlgorithmsFuzzy c-Means Clustering Algorithms
Fuzzy c-Means Clustering Algorithms
 
Fuzzy c means manual work
Fuzzy c means manual workFuzzy c means manual work
Fuzzy c means manual work
 

More from vincent8899

SSCI、TSSCI、THCI、AHCI、SCI、SCIE、EI資料庫收錄期刊清單
SSCI、TSSCI、THCI、AHCI、SCI、SCIE、EI資料庫收錄期刊清單SSCI、TSSCI、THCI、AHCI、SCI、SCIE、EI資料庫收錄期刊清單
SSCI、TSSCI、THCI、AHCI、SCI、SCIE、EI資料庫收錄期刊清單vincent8899
 
8899通路王分紅行銷~為你賺取生活的另一桶金
8899通路王分紅行銷~為你賺取生活的另一桶金8899通路王分紅行銷~為你賺取生活的另一桶金
8899通路王分紅行銷~為你賺取生活的另一桶金vincent8899
 
高等教育的招生危機下大學校院的治理與策略~黃聰亮教授
高等教育的招生危機下大學校院的治理與策略~黃聰亮教授高等教育的招生危機下大學校院的治理與策略~黃聰亮教授
高等教育的招生危機下大學校院的治理與策略~黃聰亮教授vincent8899
 
動態類神經網路~電機大師黃聰亮教授演講投影片
動態類神經網路~電機大師黃聰亮教授演講投影片動態類神經網路~電機大師黃聰亮教授演講投影片
動態類神經網路~電機大師黃聰亮教授演講投影片vincent8899
 
教學及輔導技巧分享與成功的哲學~黃聰亮教授
教學及輔導技巧分享與成功的哲學~黃聰亮教授教學及輔導技巧分享與成功的哲學~黃聰亮教授
教學及輔導技巧分享與成功的哲學~黃聰亮教授vincent8899
 
少子化對大學校院的衝擊與教師因應之道~黃聰亮教授
少子化對大學校院的衝擊與教師因應之道~黃聰亮教授 少子化對大學校院的衝擊與教師因應之道~黃聰亮教授
少子化對大學校院的衝擊與教師因應之道~黃聰亮教授 vincent8899
 
少子化對大學校院的衝擊與因應之道~黃聰亮教授
少子化對大學校院的衝擊與因應之道~黃聰亮教授 少子化對大學校院的衝擊與因應之道~黃聰亮教授
少子化對大學校院的衝擊與因應之道~黃聰亮教授 vincent8899
 
輕鬆搞懂「經濟學」~企業經營大師黃聰亮教授演講投影片
輕鬆搞懂「經濟學」~企業經營大師黃聰亮教授演講投影片輕鬆搞懂「經濟學」~企業經營大師黃聰亮教授演講投影片
輕鬆搞懂「經濟學」~企業經營大師黃聰亮教授演講投影片vincent8899
 
村鎮銀行與農村金融~企業經營大師黃聰亮教授演講投影片
村鎮銀行與農村金融~企業經營大師黃聰亮教授演講投影片村鎮銀行與農村金融~企業經營大師黃聰亮教授演講投影片
村鎮銀行與農村金融~企業經營大師黃聰亮教授演講投影片vincent8899
 
臺灣財經政策~企業經營大師黃聰亮教授演講投影片
臺灣財經政策~企業經營大師黃聰亮教授演講投影片臺灣財經政策~企業經營大師黃聰亮教授演講投影片
臺灣財經政策~企業經營大師黃聰亮教授演講投影片vincent8899
 
電話行銷~企業經營大師黃聰亮教授演講投影片
電話行銷~企業經營大師黃聰亮教授演講投影片電話行銷~企業經營大師黃聰亮教授演講投影片
電話行銷~企業經營大師黃聰亮教授演講投影片vincent8899
 
成功戰將的策略與哲學~企業經營大師黃聰亮教授演講投影片
成功戰將的策略與哲學~企業經營大師黃聰亮教授演講投影片成功戰將的策略與哲學~企業經營大師黃聰亮教授演講投影片
成功戰將的策略與哲學~企業經營大師黃聰亮教授演講投影片vincent8899
 
企業課程~企業經營大師黃聰亮教授演講投影片
企業課程~企業經營大師黃聰亮教授演講投影片企業課程~企業經營大師黃聰亮教授演講投影片
企業課程~企業經營大師黃聰亮教授演講投影片vincent8899
 
三八就是二十三~黃聰亮教授演講投影片
三八就是二十三~黃聰亮教授演講投影片三八就是二十三~黃聰亮教授演講投影片
三八就是二十三~黃聰亮教授演講投影片vincent8899
 
風力發電~電機大師黃聰亮教授演講投影片
風力發電~電機大師黃聰亮教授演講投影片風力發電~電機大師黃聰亮教授演講投影片
風力發電~電機大師黃聰亮教授演講投影片vincent8899
 
論文寫作~ Sci與ei國際期刊總編輯黃聰亮教授演講投影片
論文寫作~ Sci與ei國際期刊總編輯黃聰亮教授演講投影片論文寫作~ Sci與ei國際期刊總編輯黃聰亮教授演講投影片
論文寫作~ Sci與ei國際期刊總編輯黃聰亮教授演講投影片vincent8899
 
睡眠紡錘波~電機大師黃聰亮教授授課投影片
睡眠紡錘波~電機大師黃聰亮教授授課投影片睡眠紡錘波~電機大師黃聰亮教授授課投影片
睡眠紡錘波~電機大師黃聰亮教授授課投影片vincent8899
 
電話行銷術~行銷大師黃聰亮教授演講投影片
電話行銷術~行銷大師黃聰亮教授演講投影片電話行銷術~行銷大師黃聰亮教授演講投影片
電話行銷術~行銷大師黃聰亮教授演講投影片vincent8899
 
經濟學好容易~企業經營大師黃聰亮教授演講投影片
經濟學好容易~企業經營大師黃聰亮教授演講投影片經濟學好容易~企業經營大師黃聰亮教授演講投影片
經濟學好容易~企業經營大師黃聰亮教授演講投影片vincent8899
 
創意與決策~創意大師黃聰亮教授演講投影片
創意與決策~創意大師黃聰亮教授演講投影片創意與決策~創意大師黃聰亮教授演講投影片
創意與決策~創意大師黃聰亮教授演講投影片vincent8899
 

More from vincent8899 (20)

SSCI、TSSCI、THCI、AHCI、SCI、SCIE、EI資料庫收錄期刊清單
SSCI、TSSCI、THCI、AHCI、SCI、SCIE、EI資料庫收錄期刊清單SSCI、TSSCI、THCI、AHCI、SCI、SCIE、EI資料庫收錄期刊清單
SSCI、TSSCI、THCI、AHCI、SCI、SCIE、EI資料庫收錄期刊清單
 
8899通路王分紅行銷~為你賺取生活的另一桶金
8899通路王分紅行銷~為你賺取生活的另一桶金8899通路王分紅行銷~為你賺取生活的另一桶金
8899通路王分紅行銷~為你賺取生活的另一桶金
 
高等教育的招生危機下大學校院的治理與策略~黃聰亮教授
高等教育的招生危機下大學校院的治理與策略~黃聰亮教授高等教育的招生危機下大學校院的治理與策略~黃聰亮教授
高等教育的招生危機下大學校院的治理與策略~黃聰亮教授
 
動態類神經網路~電機大師黃聰亮教授演講投影片
動態類神經網路~電機大師黃聰亮教授演講投影片動態類神經網路~電機大師黃聰亮教授演講投影片
動態類神經網路~電機大師黃聰亮教授演講投影片
 
教學及輔導技巧分享與成功的哲學~黃聰亮教授
教學及輔導技巧分享與成功的哲學~黃聰亮教授教學及輔導技巧分享與成功的哲學~黃聰亮教授
教學及輔導技巧分享與成功的哲學~黃聰亮教授
 
少子化對大學校院的衝擊與教師因應之道~黃聰亮教授
少子化對大學校院的衝擊與教師因應之道~黃聰亮教授 少子化對大學校院的衝擊與教師因應之道~黃聰亮教授
少子化對大學校院的衝擊與教師因應之道~黃聰亮教授
 
少子化對大學校院的衝擊與因應之道~黃聰亮教授
少子化對大學校院的衝擊與因應之道~黃聰亮教授 少子化對大學校院的衝擊與因應之道~黃聰亮教授
少子化對大學校院的衝擊與因應之道~黃聰亮教授
 
輕鬆搞懂「經濟學」~企業經營大師黃聰亮教授演講投影片
輕鬆搞懂「經濟學」~企業經營大師黃聰亮教授演講投影片輕鬆搞懂「經濟學」~企業經營大師黃聰亮教授演講投影片
輕鬆搞懂「經濟學」~企業經營大師黃聰亮教授演講投影片
 
村鎮銀行與農村金融~企業經營大師黃聰亮教授演講投影片
村鎮銀行與農村金融~企業經營大師黃聰亮教授演講投影片村鎮銀行與農村金融~企業經營大師黃聰亮教授演講投影片
村鎮銀行與農村金融~企業經營大師黃聰亮教授演講投影片
 
臺灣財經政策~企業經營大師黃聰亮教授演講投影片
臺灣財經政策~企業經營大師黃聰亮教授演講投影片臺灣財經政策~企業經營大師黃聰亮教授演講投影片
臺灣財經政策~企業經營大師黃聰亮教授演講投影片
 
電話行銷~企業經營大師黃聰亮教授演講投影片
電話行銷~企業經營大師黃聰亮教授演講投影片電話行銷~企業經營大師黃聰亮教授演講投影片
電話行銷~企業經營大師黃聰亮教授演講投影片
 
成功戰將的策略與哲學~企業經營大師黃聰亮教授演講投影片
成功戰將的策略與哲學~企業經營大師黃聰亮教授演講投影片成功戰將的策略與哲學~企業經營大師黃聰亮教授演講投影片
成功戰將的策略與哲學~企業經營大師黃聰亮教授演講投影片
 
企業課程~企業經營大師黃聰亮教授演講投影片
企業課程~企業經營大師黃聰亮教授演講投影片企業課程~企業經營大師黃聰亮教授演講投影片
企業課程~企業經營大師黃聰亮教授演講投影片
 
三八就是二十三~黃聰亮教授演講投影片
三八就是二十三~黃聰亮教授演講投影片三八就是二十三~黃聰亮教授演講投影片
三八就是二十三~黃聰亮教授演講投影片
 
風力發電~電機大師黃聰亮教授演講投影片
風力發電~電機大師黃聰亮教授演講投影片風力發電~電機大師黃聰亮教授演講投影片
風力發電~電機大師黃聰亮教授演講投影片
 
論文寫作~ Sci與ei國際期刊總編輯黃聰亮教授演講投影片
論文寫作~ Sci與ei國際期刊總編輯黃聰亮教授演講投影片論文寫作~ Sci與ei國際期刊總編輯黃聰亮教授演講投影片
論文寫作~ Sci與ei國際期刊總編輯黃聰亮教授演講投影片
 
睡眠紡錘波~電機大師黃聰亮教授授課投影片
睡眠紡錘波~電機大師黃聰亮教授授課投影片睡眠紡錘波~電機大師黃聰亮教授授課投影片
睡眠紡錘波~電機大師黃聰亮教授授課投影片
 
電話行銷術~行銷大師黃聰亮教授演講投影片
電話行銷術~行銷大師黃聰亮教授演講投影片電話行銷術~行銷大師黃聰亮教授演講投影片
電話行銷術~行銷大師黃聰亮教授演講投影片
 
經濟學好容易~企業經營大師黃聰亮教授演講投影片
經濟學好容易~企業經營大師黃聰亮教授演講投影片經濟學好容易~企業經營大師黃聰亮教授演講投影片
經濟學好容易~企業經營大師黃聰亮教授演講投影片
 
創意與決策~創意大師黃聰亮教授演講投影片
創意與決策~創意大師黃聰亮教授演講投影片創意與決策~創意大師黃聰亮教授演講投影片
創意與決策~創意大師黃聰亮教授演講投影片
 

運用粒子群最佳化之Fpga模糊控制器設計~電機大師黃聰亮教授演講投影片

  • 2. 黃 聰 亮 教授 國立臺北教育大學資訊科學系暨研究所 系主任暨所長 美國財務金融管理學院 (AAFM) 院 中華民國國際學術交流學會 理 事 國立臺灣大學電機系 電機博士 國立臺灣大學電機系 電機碩士 國立臺灣大學電機系 電機學士 NEUST State University 企管博士 NEUST State University 教育博士 國立摩納哥皇家大學 (I.U.M.) 財管碩士 September 2008
  • 3. 目錄  摘要  研究動機、目的  文獻回顧  模糊理論介紹  粒子群最佳化演算法介紹  8051 & FPGA & ADC 介紹  模糊控制器設計  結論  Q&A 03/05/12 3
  • 4. 摘要  本論文主要在設計可以自行調整歸屬函數的 模糊控制器,並以 FPGA 晶片搭配微處理機 實現。本論文實用在跟車控制,利用紅外線 感測器來測量目前的位置與障礙物的距離, 模糊控制器將感測到距離計算出車的推力, 決定前進或後退、控制一段時間之後將距離 與速度回傳給微處理機,運用粒子群最佳化 演算法來計算出與建立新的模糊歸屬函數, 交由模糊控制器再次控制車輛運動。 03/05/12 4
  • 5. 研究動機、目的  研究動機 ◦ FPGA( 可程式邏輯晶片 ) 日益成熟,運用廣大 ,他方便再無需向微處理機寫程式的麻煩、反 映時間快、運用彈性大,運用在模糊控制器上 是相當方便有效率。 ◦ 模糊控制器中歸屬函數一般是由專家知識庫中 建立,可是如遇到未知的領域或是未知的性質 ,必須透過無數次研究與測試才能建立一套規 則。  研究目的 ◦ 微處理機與 FPGA 搭配,藉由粒子最佳化演算 法動態計算與建立新的歸屬函數,讓模糊控制 器達到最佳控制效果。 03/05/12 5
  • 6. 文獻回顧 (1)  應用 FPGA 來實現模糊樹 (Fuzzy tree)[5] 可以簡化微 處理機運算過程與減少運算次數。  將模糊控制器模組化,以 FPGA 完成小模組、小容 量的模糊控制器 [6] 。  利用 Xilinx CX4008-6 PGA 搭配 EPROM 實作完成模 糊控制器 [7] 。  利用 FPGA 晶片完成可調式權重的模糊控制器,運 用在倒單擺車的單擺垂直控制器 [8] 。 03/05/12 6
  • 7. 文獻回顧 (2)  動態產生模糊推論結果的模糊控制器, 運用在停車控制,此改善模糊規則儲存 在記憶體中,減少記憶體空見 的需求 [9] 。  運用模糊控制器在馬達控制上 [10] [11] 。  利用 PFGA 實作模糊控制器運用在機器 人行為上 [12] 。  利用 FPGA 產生歸屬函數和歸屬值研究 [15][16] 。 03/05/12 7
  • 8. FUZZY 理論介紹  Fuzzy 是一門新興的數學,起源於 1965 年美國加州 柏克萊大學 (Berkeley) 的扎德 (L.A. Zadeh) 教授,在 資訊與控制 (Information and Control) 學術期刊上所 發表的論文 - 模糊集合 (Fuzzy Sets) 。模糊理論實際 上是模糊集合、模糊關係、模糊邏輯、模糊控制、 模糊量測等理論的泛稱。 03/05/12 8
  • 9. FUZZY SET(1)  一般集合論是明確的數值集合,非 0 即 1 ,例如發高燒是 38 度以上,沒發燒 是 38 度以下。此稱為明確集合 (crisp set) 。 發燒 1( 是 ) 沒發燒 0( 否 ) 溫度 38 度 03/05/12 9
  • 10. FUZZY SET(2)  Fuzzy Set 則是一般二值邏輯集合擴充多值邏輯,例 如 38 度發燒,那 40 度也是發燒, 41 度也是發燒, 可是 41 度比 38 度嚴重多了, 37 度沒有發燒, 37 度沒有發燒, 36 度是正常,可是接近 38 度人體就 出現發燒臨界點,因此利用多值邏輯更能展現出現 實情境。 中度發燒 正常 還好 微恙輕微發燒 重度發燒 35 36 37 38 39 40 03/05/12 10
  • 11. 歸屬函數定義  在整個全集合中每一元素對某一模糊集合的所屬程 度都賦予一個介於 0 與 1 之間的數值稱之為歸屬函 數 (Membership function) 。  歸屬函數數值定義一般是由專家經驗以及知識來作 為判斷基礎。  有四種標準歸屬函數: Z-type ,, -type(lambda) , , -type(pi) 和 S-type 。 Z-Type Pi-Type Lambda-Type S-Type 03/05/12 11
  • 12. 歸屬函數型式  我們以天氣對人體的舒適度為例。  可以看出是由 Z-type ,, -type(pi) 和 S-type 組成。 1 寒冷 舒適 悶熱 0 10 15 20 25 30 溫度 (0C) 03/05/12 12
  • 13. 模糊規則 (1)  在傳統邏輯學中對所有的事實或規則(有 時稱為命題)作判斷,非 1 即 0 ,定義明 確。  例如這世界上 ◦ 不是好人,就是壞人。 ◦ 不是女人,就是男人。  這樣仍然無法處理其他的情況。  模糊規則是將二元值 (0 , 1) 中,在 0 , 1 之間,擴展更多的數值。  模糊規則一般由專家系統或是知識庫來建 立模糊規則 03/05/12 13
  • 14. 模糊規則 (2)  模糊規則庫是由一組 If-Then 型式的模 糊規則所組成,這組模糊規則是用以描 述系統的輸入輸出關係。  有三種常見的模糊規則形式: ◦ 語意式模糊規則( Mamdani Fuzzy Rule ) ◦ 函數式模糊規則( Sugeno Fuzzy Rule ) ◦ Tsukamoto 式模糊規則( Tsukamoto Fuzzy Rule ) 03/05/12 14
  • 15. 語意式模糊規則( Mamdani Fuzzy Rule)  語意式模糊規則又稱為 Mamdani 模糊 規則,典型的語意式模糊規則表示如下 :  前提: x is x0 and y is y0  模糊規則一 : If x is A1 and y is B1 Then z is C1  模糊規則二 : If x is A2 and y is B2 Then z is C2 03/05/12 15
  • 16. Sugeno 模糊規則  前提: x is x0 and y is y0  模糊規則一 : If x is A1 and y is B1Then f1 ( x, y ) z is  模糊規則二 : If x is A2 and y is B2Then f 2 ( x, y ) z is 03/05/12 16
  • 17. Tsukamoto 模糊規則  Tsukamoto 把後鑑部之模糊規則限定成只能擁有 單調性 ( 遞增或遞減 ) 的歸屬函數,如此一來, 歸屬函數的反函數便一定存在。  前提: x is x0 and y is y0  模糊規則一 R1 : If x is A1 and y is B1 Then z is C1  模糊規則二 R2 : If x is A2 and y is B2 Then z is C2 03/05/12 17
  • 18. 模糊推論  模糊推論是利用歸屬函數取得各規則的適合程 度。  然後綜合模糊規則的適合度得到適當的推論。  即使規則條件部分的命題不完全一致,也能依 據一致度的高低比較得到合適的推論。  以下即以 Fuzzy 冷氣機舉例說明模糊推論的方 式。  條件規則: ◦ IF 溫度 is 高 , THEN 壓縮機 is 打開 ◦ 狀態: 溫度 is 高 ◦ 動作: 壓縮機 is 打開 03/05/12 18
  • 19. 模糊推論的方法  模糊推論已廣泛的應用於各個實際系統上,利 用經驗或相關知識所得的規則,轉化為“ IF- THEN” 的法則形式。大多數的推論並非只有一 個法則,也就是說當遇到一個事實需要推論時 通常有以下幾種推論法:  (1) 邏輯和(比較適合度取 Max. )、邏輯積(比較 適合度取 Min. )、邏輯和 (Max.) 的推論法。  (2) 邏輯積 (Min.) 、邏輯積 (Min.) 、邏輯和 (Max.) 的 推論法。  (3) 邏輯積 (Min.) 、代數積(取適合度的乘積值) 、邏輯和 (Max.) 的推論法  而一般常採用 Mamdani 的 Min.-Max. 的推論法 ,也就是第二種方式,如圖 2.6 所示。 03/05/12 19
  • 20. Mamdani 的 Min.-Max. 的推論法 IF 前 件 部 THEN 後件部 歸 X1 is A11 歸 X2 is A21 歸 Y is B1 屬 屬 屬 度 1.0 度 1.0 度1.0 邏輯積 規則一: Min. 計算 1 0.0 0.0 0.0 X1 X2 Y ( a) 規則一的模糊推論 X1 is A12 X2 is A22 Y is B2 歸 歸 歸 屬 屬1 屬1 1 邏輯積 度 度 度 規則二: Min.計算 0 0 0 X1 X2 Y ( b) 規則二的模糊推論 推論結果 1.0 邏輯和 0.0 Y ( c) 二規則模糊推論的結果 03/05/12 20
  • 21. 解模糊化法  解解模糊化 (defuzzification) 法,此用意 在於將模糊推論所得的推論結果量化為 輸出變數的歸屬函數值。因為我們要實 際應用於系統操作,必須將模糊推論所 得到的語意轉化成一明確的輸出值。  解模糊的方式有多種,有面積中心法 (或稱重心法)、最大中心法、最大平 均法,其中以面積中心法較為常用。 03/05/12 21
  • 22. 模糊控制  模糊控制的研究開始於 1970 年代中期,在 1980 年代進入實用化。在模糊控制實用化的研 究目前是以日本最為進步。  最早利用模糊理論來作控制的學者是倫敦大學 的 Mamdani 教授,在 1974 年研究發表中以研 究室所製作的蒸汽引擎模型為對象去驗證模糊 控制 [22] 。  Zadeh 教授提出一含有模糊性的語言記述系統 的方法論,用來表達在處理系統的複雜性與資 料之不完整性的判斷思考等。  一般所用的模糊控制法則大都依據 Mamdani 教 授方式利用“ IF-THEN” 條件命題式的語言性控 制 (linguistic control) 法則。 03/05/12 22
  • 23. 傳統控制的限制  傳統的控制問題常需對真實系統建立數 學模型來作精確的數值形式計算處理。  但是假如遇到較複雜、大型的控制系統 或者與使用者有關的知識經驗等,則必 須花費大量人力、時間去建構數學模型 ,甚至有可能因過於繁複而無法建構其 數學模型。  利用簡單的“ IF-THEN” 規則來描述系統 的模糊控制即可達到系統控制的目的。 03/05/12 23
  • 24. 範例 導單擺機器  導單擺是一種手指頂著竹竿維持平衡的 遊戲,人類可以輕易做到此事,但是機 器就不是那麼容易,模糊理論可以輕易 完成這樣的控制。 03/05/12 24
  • 26. STEP 1 確定系統架構  單一輸入,單桿角度變數輸入。  單一輸出,馬達位移量輸出。 角度 位移 03/05/12 26
  • 27. STEP 2 定義輸出輸入模糊集合  角度 Deg={ 太偏左,偏左,中,偏右 ,太偏右 }  位移 Sht={ 最左,略左,中,略右, 最右 } 03/05/12 27
  • 28. STEP 3 定義歸屬函數 (1) 單槓角度輸入值 1 太左 偏左 正中 偏右 太右 歸屬值 0 180 135 120 90 60 45 0 輸入值 03/05/12 28
  • 29. STEP 3 定義歸屬函數 (2) 馬達位移量輸出值 1 最左 略左 正中 略右 最右 歸屬值 0 -10 -5 0 +5 +10 公尺 輸出值 03/05/12 29
  • 30. STEP 3 定義歸屬函數 (3)  輸入數學函式  太左 (x)=1 180<=X<=135 -  太左 (x)=(x-120)/15 135<=x<=120  偏左 (x) =(135-x)/15 135<=x<=120 /  偏左 (x) =(x-90)/30 120<=x<=90  正中 (x)=(120-x)/30 120<=x<=90 /  正中 (x)=(x-60)/30 90<=x<=60  偏右 (x)=(90-x)/30 90<=x<=60 /  偏右 (x)=(x-45)/15 60<=x<=45  太右 (x)=(60-x)/15 60<=x<=45 /  太右 (x)=1 45<=x<=0 - 03/05/12 30
  • 31. STEP 3 定義歸屬函數 (4)  輸出數學函式  最左 (x)=1 x<=-10 -  最左 (x)=-(x-(-5))/5 -10<=x<=-5  略左 (x) =-((-10)-x)/5 -10<=x<=-5 /  略左 (x) =-(x)/5 -5<=x<=0  正中 (x)=((-5)-x)/5 -5<=x<=0 /  正中 (x)=-(x-5)/5 0<=x<=5  略右 (x)=(x)/5 0<=x<=5 /  略右 (x)=-(x-10)/5 5<=x<=10  最右 (x)=-(5-x)/5 5<=x<=10 /  最右 (x)=1 10<=x - 03/05/12 31
  • 32. STEP 4 建立模糊規則  IF 角度 IS 太左 THEN 位移 = 最右  IF 角度 IS 偏左 THEN 位移 = 略右  IF 角度 IS 正中 THEN 位移 = 正中  IF 角度 IS 偏右 THEN 位移 = 略左  IF 角度 IS 太右 THEN 位移 = 最左 03/05/12 32
  • 33. STEP 5 模糊推論 (1)  Max-min 法則來作為推論  當單桿角度偵測到 65 度,符合下列模 糊規則  IF 角度 IS 正中 THEN 位移 = 正中  IF 角度 IS 偏右 THEN 位移 = 略左 03/05/12 33
  • 34. STEP 5 模糊推論 (2)  計算歸屬值 ◦ 正中 (x)=(x-60)/30 90<=x<=60  正中 =0.16 ◦ 偏右 (x)=(90-x)/30 90<=x<=60 /  偏右 =0.83 單槓角度輸入值 65 歸屬值 1 太左 偏左 正中 偏右 太右 0.83 0.16 0 180 135 120 90 60 45 0 輸入值 03/05/12 34
  • 35. STEP 5 模糊推論 (3)  輸出推論  IF 角度 IS 正中 THEN 位移 = 正 中  IF 角度 IS 偏右 馬達位移量輸出值 = 略 THEN 位移 左1 最左 略左 正中 略右 最右 歸屬值 0.83 0.16 0 -10 -5 0 +5 +10 輸入值 03/05/12 35
  • 36. STEP 6 解模糊化  重心法 x= ∑ x • 馬達位移量( x) ∑ 馬達位移量( x) − 10 ∗ 0 + −9 ∗ 0.83 + ... + −1 ∗ 0.16 + ... + 4 ∗ 0.16 + 5 ∗ 0 x= 0.83 * 8 + 0.16 * 5 x = −4.6 結論 馬達要向左移動 4.6( 公尺 ) 03/05/12 36
  • 37. 範例影片 (1) 03/05/12 37
  • 38. 粒子群最佳化演算法  粒子群最佳化演算法是 Kennedy 和 Eberhart 於 1995 年時提出,在研究 PSO 的過程中,有各種不同版本出現 [4-9] ,也有收斂及最佳參數選定的探 討文獻 [10-11] 。 PSO 的概念源自群體 行為理論,啟發自觀察鳥群或魚群行動 時,能透過個體間特別的訊息傳遞方式 ,使整個團體朝同一方向、目標而去, 是模仿此類生物行為反應來尋求完成群 體最大利益的方法。 03/05/12 38
  • 39. PSO 基本演算模式 (1)  首以均勻分佈 (uniform distribution) 隨 機產生初始粒子群,每一個粒子都是一 個求解問題的侯選解,粒子群會參考個 體的最佳經驗,以及群體的最佳經驗, 選擇修正的方式,經過不斷的修正之後 ,粒子群會漸漸接近最佳解。 03/05/12 39
  • 40. PSO 基本演算模式 (2)  以平面例子說明,如圖 2-1 , T 為目標, A ~ E 為搜尋粒子, 初始粒子群分散於各處。此時群體最佳的粒子是離目標 T 最近 的粒子 D ,稱之為 gbest 。假設粒子經過三次移動之後,位置 如圖 2-2 所示,此時群體最佳的粒子則為 E4 。粒子群亦分別紀 錄自身搜尋的最佳紀錄,稱之為 pbest ,如圖 2-2 ,粒子 A 停 駐位置為 A4 ,其自身最佳搜尋紀錄為座標 A3 。 03/05/12 40
  • 41. 粒子群最佳化演算法 (1)  演算法開始時以隨機方式散佈粒子,計算各粒子所得的適合度 (fitness) 來進行演化,而適合度通常是依照目標函數來訂定。在 每一次迭代當中,粒子 Xi 會根據自己過去曾經流覽過的最佳向 量值 Pbesti 以及整個群體曾經瀏覽過的最佳向量值 Gbest ,來 計算粒子的位移向量 Vi ,然後再將粒子向量加上此位移向量作 為下一次迭代的粒子向量值,通常此計算是依照每一個參數維 度 j 分別進行的,公式如下  vij = vij + C1*rand()*(pbestij – Xij) + C2*rand()*(gbestj - Xij) (1)  Xij = Xij + vij (2)  其中 rand() 是一個介於 0 與 1 之間的隨機亂數,整個公式的目 的是要讓 Xi 向 Pbesti 及 Gbest 的合成向量方向移動,以增加改善 Xi 的機會,同時又設計了隨機 (stochastic) 的干擾量,以避免掉 入局部最佳解 (local optimum) 。所以粒子的向量修正原則是取 得鑽探搜尋 (exploitation search) 以及探索搜尋 (exploration search) 的平衡,符合現代經驗法則 (modern heuristics) 的精神。 03/05/12 41
  • 42. 粒子群最佳化演算法 (2)  出慣性權重式粒子群最佳化演算法 ◦ 在原始 PSO 演算法的速度更新式中導入速度慣性 權重 (inertia weighted) 參數 w ,提高了原始 PSO 的收斂速度與函數最佳值搜尋的成功率。  更新公式如下: ◦ 慣性權重參數設置上仍存在著相當模糊的範圍,慣性權重設 定在 0.9 至 0.4 之間可得到較理想的結果。 ◦ 慣性權重因子以線性遞減的方式加入速度更新公 式中運算,其效果可使得執行之初粒子有很高的 機會快速進入到較佳解的區域。 03/05/12 42
  • 43. 粒子群最佳化演算法 (3)  壓縮因子的概念 ◦ 此壓縮因子可有效控制各個粒子的搜尋軌跡,且 不需刻意限制粒子的最大速度粒子於搜尋過程中 可增加其穩定性,並能確保 PSO 維持一定的收斂 能力。加入壓縮因子的速度更新公式如下: ◦ 壓縮因子 K 是相當重要的限定準則,粒子的 C1 及 C2 必須遵照此限定準則來設定。 ◦ 在 C1 及 C2 的設定上,根據文獻 [17] 分別取 2.8 與 1.3 。 03/05/12 43
  • 44. 粒子群最佳化演算法的流程圖  Xi :各粒子所處 的位置。  Vi :各粒子的移動 量。  W :介於 0.4 ~ 0.9 的權重常數。  Vmax :各粒子的 最大移動量。  Pbest :個別粒子 所曾經達到的最佳 位置。  Gbest :所有粒子 所曾經達到的最佳 位置。 03/05/12 44
  • 45. 8051 & FPGA 介紹  8051 簡介  MCS-51 是 Intel 所生產的 8051 系列單晶片的總稱 , 在這家族中還有 8051,8751,8031,8032,8052,80C51 等 . 以上這些單晶片雖然在編號上有所不同 , 卻都 是使用相同的 CPU, 指令集 , 只是附加的周邊上有 所不同 , 例如 8751 是內含有 4k ERROM 的 MCS-51 版本 , 而 80C31 式一顆內部無記憶體的省 電 MCS-51 版本 .  目前除了 Intel 生產之外 , 目前也有好幾家公司也 有製造 , 功能上也有增加 , 例如 AMD,PHILPS,ATMEL,DALLS 等 , 其中又以 ATMEL 製造的 AT89C51 不需紫外線清洗 , 而是電子式抹 除 , 十分方便 . 03/05/12 45
  • 46. 8051 特色  4K-byte 的快閃程式記憶體 (Flash Memory)  128-byte RAM 的程式記憶體  32 條 I/O 信號線  2 個 16-bit 的計時器 (Timer)/ 計數器 (Counter)  一個雙向串列埠 (RS-232 Serial Port)  5 個中斷向量功能。 03/05/12 46
  • 47. 8051 內部方塊圖 03/05/12 47
  • 48. 8051 外觀接腳圖與說明  1-8 腳: PORT 1 (P1.0 ~ P1.7 )  9 腳: RESET/Vpd ,重置信號  10-17 腳: PORT 3 (P3.0 ~ P3.7)  18-19 腳: XTAL2 , XTAL1  20 腳: Vss ,系統接地腳  21-28 腳: PORT 2 (P2.0 ~ P2.7)  29 腳: PSEN ( 程式儲存致能 )( 負緣觸發 ) :讀取存放在 外部 程式記憶體 (ROM) 指令  30 腳: ALE/PROG( 位址鎖定致能 ) , 8051 燒錄時,用來 接受 燒錄脈波信號  31 腳: EA/Vdd ,當接高電位時,若 PC 小於 4096(4K) , 執行 內部 ROM 的程式指令,當 PC 大於 4096(4K) ,執行外部 ROM 的程式指令。當接低電位時,強迫 8051 只使用外部 ROM 的程 式指令  32-39 腳: PORT 0 (P0.0 ~ P0.7)  40 腳: Vcc ,系統主要電源,接 +5V 。 03/05/12 48
  • 49. 8051 用途  智慧儀表中的應用 : 單晶片微電腦具有體積小 , 低功率 , 控制功能強的優點 , 把它做在產品的內 部 , 取代部分老式機械 , 電子零件或裝置零件 , 可使產品體積縮小 , 功能增強。  工業測控中的應用 : 單晶片微電腦 I/O 線多 , 位 元指令豐富 , 邏輯操作能力強 , 特別適用於即時 控制 , 例如 : 控制柴油發電機 , 船閘控制的應用 , 警報系統的應用等。  計算機網路與通訊技術中的應用 : 單晶片微電 腦具有通訊介面 , 串列自動呼叫應答設備 , 無線 遙控系統中的列車無線通訊中的應用。 03/05/12 49
  • 50. FPGA 介紹  PLD( Programmable Logic Device ) 是可程 式規劃邏輯元件之總稱,凡可讓使用者組 成其邏輯電路功能之所有元件皆為 PLD 元 件。在可程式邏輯元件中。  簡單說是一種裡面建好 AND 和 OR 、 NOT gate 及 Register( 暫存器 ) 陣列 的 IC ,所有的邏輯 function 都可以用 AND OR NOT gate 做完,再加上暫存器 ,就可以做加法器、減法器、乘法器 ..... 等很多功能。  使用者可以透過 VHDL 或 Verilog 等硬體描 述語言,用燒錄程式燒進去,將 AND 或 OR 及 Register 陣列燒成那樣的 function 。 03/05/12 50
  • 51. FPGA 分類 ◦ SPLD(Simple PLD ,小型單純的可程式邏輯 元件 ) 。 ◦ CPLD(Complex PLD ,複合型高功能可程式 邏輯元件 ) ◦ FPGA( Field Programmable Gate Array ,現 場可規劃邏輯陣列 ) 三大類。 03/05/12 51
  • 52. 架構區分 ◦ 一般分為 EEPROM( 或 Flash) 架構: EEPROM 架構 的 PLD 密度小,多用於 5,000 閘以下的小規模設 計,適合做複雜的組合邏輯,如編碼器。 ◦ SRAM 架構。 SRAM 架構的 PLD(CPLD/FPGA) ,密 度高,暫存器較多,多用於 10,000 閘以上的大型 設計,適合做複雜的時序邏輯,如實現數位信號 處理等各種演算法。 03/05/12 52
  • 53. 領導廠商 ◦ Altera 公司網址 http://www.altera.com.cn/ ◦ Xilinx 公司網址 http://www.xilinx.com/ 03/05/12 53
  • 54. ASIC 專用積體電路  Application Specific Integrated Circuit 專 用積體電路。顧名思義,此積體電路設 計的需求,即是提供一個在特殊應用場 合上所使用的積體電路元件。  此 ASIC 的目的,一方面可使系統之電 路整合更有效率,並使成本下降,提升 產品的競爭力。另一方面有可以使電路 之設計增加保密性,使得設計不易被盜 拷。 03/05/12 54
  • 55. VHDL 介紹  VHDL 是 Very High Speed Integrated Circuit (VHSIC) Description Language 的縮寫,簡單的說,它就是一 種專門用來設計硬體電路的語言。  它的起源是 1970 年代至 1980 年代由美國國防部所 贊助的計畫,起初 VHDL 的目的是希望成為描述複 雜電路文件的標準。  1987 年 VHDL 成為 IEEE 1076 standard , 1988 年美 國國防部要求所有要交給國防部的特殊功能積體電 路 (ASIC) 都要用 VHDL 描述,同時 IEEE 1076 的更新 版 IEEE 1164 在同年被採用, 1996 年 IEEE 1076.3 成 為 VHDL 合成電路的最新標準。 03/05/12 55
  • 56. VHDL 優點  方便:用 VHDL 設計電路時可以不必熟記或翻閱各 種電子元件邏輯及其規格的書籍,亦不必使電子電 路侷限在使用呆板的元件或零件組合成數位電子電 路。  硬體軟體化:使用 VHDL 作數位電路設計,只需依 據標準的 VHDL 語言規範,描述複雜的電路系統, 再用一般軟體的模組化觀念,描述數位系統的規格 及功能。  方便除錯:利用軟體 ( 可在 PC 或工作站上執行 ) 將 所寫的 VHDL 編譯合成電子電路,可以驗證功能, 方便除錯,節省時間與成本。 03/05/12 56
  • 57. 其他硬體語言  Verilog HDL 在發展之初,便是企圖能以程式語 言介面( Programming Language Interface, PLI )為基礎,創造一個以電腦輔助設計為導向 的自動化電路設計環境 ;基於此一原 則, Verilog 便被設計成一種語法極具親和力的 硬體描述語言。  System C 起源約在 1999 年 , 於 2002 年開始用 在 System modeling 上 , 在 2004 年發展出 System verification 的各種方法 . SystemC 也可 以用來寫出可合成電路 , 但是據業界的說法 , 合 成出來的電路效能不好 , 而且語法對於寫慣 VHDL 或 Verilog 的人而言也無法適應。 03/05/12 57
  • 58. RAM 隨機存取記憶體  DRAM(Dynamic RAM) 稱為動態隨機存 取記憶體。  SRAM(Static RAM) 稱為靜態隨機存取記 憶體。  差異: 記憶元 速度 操作 積集度 件 DRA 電容 慢 必須用 高 M REFLASH 電路 更新記憶資料 SRAM 正反器 快 無須額外電路 低 03/05/12 58
  • 60. ADC0804 類比轉換數位轉換 器  數位對類比轉換器一般簡稱為 ADC (Analog to Digital Converter) 。 ADC 主要的功能是將自然界中的類比訊號, 如:溫度、電壓、重量或亮度,轉換成 電腦可以處理的數位訊號。  數位訊號優點 ◦ 比較抗雜訊 ◦ 易除錯 ◦ 容易儲存 03/05/12 60
  • 61. 理想 3 位元類比對數位轉換器之特性曲線  類比訊號之輸入範圍為 0~1 V 。在此圖中,將輸入 訊號分成 8 個區間,每一區間內所有類比訊號值都 以同一數位碼來表示,且此數位碼通常與該區間之 中間值對應,以上即為類比對數位轉換之基本概念 。 03/05/12 61
  • 62. 類比對數位轉換器分類  數位斜波式類比對數位轉換器 (digital- ramp ADC)  連續漸進式類比對數位轉換器 (successive approximationADC)  快閃類比對數位轉換器 (flash ADC)  追蹤式類比對數位轉換器 (trackingADC) 。  ADC0804 為連續漸進式類比對數位轉 換器 03/05/12 62
  • 63. ADC0804 工作原理介紹 (1)  連續漸進式類比對數位轉換器方塊圖 03/05/12 63
  • 64. ADC0804 工作原理介紹 (2)  當類比訊號輸入時,取樣保持 (sample-and- hold) 電路先把輸入訊號 Vin 保留住,以避 免其在轉換過程中訊號異動,此時控制邏輯 (control logic) 電路將暫存器 (register) 的所有 輸出位元均重置 (reset) 為“ 0” ,  接著最高有效位元 (most significant bit,MSB) D7 被設為“ 1” 。此時數位類比轉換器 (digital to analog converter, DAC) 所輸出的電壓 V(D) 為: 03/05/12 64
  • 65. ADC0804 工作原理介紹 (3)  此輸出電壓為參考電壓 Vref 的一半。  如果輸入電壓 Vin 比 V(D) 高,則 D7 維持在” 1” ,否則將變為” 0” 。接著令次一位元 D6 為 ”1” 。  經過 DAC 轉換後可獲得輸出電壓 V(D) ,此 時再將新的 V(D) 與 Vin 比較,若 Vin 比 V(D) 高,則 D6 維持在” 1” ,否則將變為” 0” 。  依此類推,一直到最低有效位元 D0 比完, 如此便可得到完整 D7 到 D0 的數位輸出。 03/05/12 65
  • 66. 模糊控制器設計  系統架構 03/05/12 66
  • 68. 建立歸屬函數電路示意圖  模糊歸屬函數由 8051 與 HM6116 組合 ,三角形方程式由 C 語言來建立,紅 外線輸入訊號,經過類比轉換成數位資 料,進入模糊推論。 03/05/12 68
  • 69. 資料對應方式  假設輸入資料為 120 ,轉換成二進制為 01111000 。  所以當我們讀取 RAM 120 的位址,讀 出模糊推論值。  模糊推論值為 8Bit ,前 3bit 為模糊集 合代號,後 5Bit 為歸屬值。 03/05/12 69
  • 70. 03/05/12 70
  • 71. 模糊化電路設計示意圖  RAM 採用兩組,一組為建立歸屬函數 ,另一組讓紅外線直接輸入讀取數值。 03/05/12 71
  • 72. 切換器設計  切換器主要是讓 8051 和紅外線能交互使用兩區塊 RAM  當 8051 更新上方的記憶體時,紅外線就使用下方記 憶體。  當 8051 更新下方記體的歸屬函數時,紅外線就使用 上方記憶體。 03/05/12 72
  • 73. 模糊控制電路  模糊控制器接收 RAM 的資料,資料送 至推論電路作推論。  推論採最大最小合成法。推論電路採用 比較器。歸屬度值利用比較器最最小化 。  將歸屬度最小值與觸發輸出模糊集合最 大化合成。  再用權重平均法計算出明確數值。  模糊規則由 VHDL 撰寫,燒錄至由 FPGA 完成。 03/05/12 73
  • 74. 03/05/12 74
  • 75. 簡化推論電路  本研究採用動態調整歸屬函數,精簡化 之後的電路示意圖。 03/05/12 75
  • 76. 自調變歸屬函數  採用粒子群最佳化演算法來找出最佳的一組 歸屬函數。  為維持最佳收斂能力,本論文採用壓縮因子 式粒子群最佳化演算法,參數 C1 和 C2 設定 2.05 03/05/12 76
  • 77. Matlab 軟體簡介  M AT LAB 是由 M athWorks 公司於 1 984 年推出的數 學軟體,其名稱是由「矩陣實驗室」( M AT rix LAB ora )所合成。 tory  其發展理念是提供一套非常完善的矩陣運算指令, 但隨著數值運算需的演變, M AT LAB 已成為各種系 統模擬、數位訊號處理、科學目視 (science visua tion) liza 的標準語言。  M a b 是套應用於科學與工程領域中數值計算、分 tla 析與模擬的應用軟體,結合了數值分析、矩陣運算 及繪圖等功能,功能強大、操作介面簡易。  M a b 全文為 "ma la tory",提供完整的矩陣運 tla trix bora 算指令,將資料元素當成是矩陣來處理,而主要的 用途就是作矩陣式的數學運算。 03/05/12 77
  • 78. Simulink 軟體介紹  Simulink 為建構在 Matlab 環境下的模 擬工具,是一種用來分析與模擬系統動 態特性的軟體。 Simulink 為採用視窗 的方式配合滑鼠的運用,建立及模擬動 態系統模型。藉由圖形化功能方塊的建 立且將各圖形方塊加以連結成一個模擬 系統,用以簡化設計的流程並模擬分析 。  Simulink 在使用上可分成兩個階段: ◦ 模型建立階段 ◦ 模型分析階段 03/05/12 78
  • 79. Matlab Simulink 軟體模擬  假設目的地 T ,起始點 S ,車輛模組如下圖。  車輛模組輸入位置和速度。  模糊系統採用 Sugeno 型式。  輸出為馬達所需電壓。 03/05/12 79
  • 80. 車輛模組  車輛模組運動公式為 F=ma 。  經過 a 積分一次變成加速度。  再積分一次變成位移量。 03/05/12 80
  • 81. 馬達模組 03/05/12 81
  • 82. 馬達模組參數值 03/05/12 82
  • 83. Matlab 模糊控制器設定  輸入 position & Speed ,個別定義五個模糊 集合。  輸出 馬達電壓。  本論文模糊控制器使用的型式為 Sugeno 型 式,輸出變數是使用 constant 的方式來定義 。 模糊控制器架構 03/05/12 83
  • 84. 輸入變數 position 其歸屬函數 NB 之設定方式 03/05/12 84
  • 85. 輸入變數 speed 其歸屬函數 NB 之設定方式 03/05/12 85
  • 86. 模糊規則表 03/05/12 86
  • 87. 控制結果  目標位置定義在 200 cm 。  起始位置定義在 100 cm ,  粒子群最佳化演算法隨 機產生 250 個粒子,迭 代次數設定 500 次, 在速度及位置更新方式 採用壓縮因子式來更新 。  以這些條件來執行軟體 模擬的結果如下:  桃紅色的線條為初始自 己隨意制定的歸屬函數 所產生的控制結果  黃色的線條為經過粒子 群最佳化調整的歸屬函 數所產生的控制結果。 03/05/12 87
  • 88. 速度變化量 03/05/12 88
  • 89. 馬達推力變化量 03/05/12 89
  • 92. PSO gBest 變化量 03/05/12 92
  • 95. 結論  由實驗結果可明顯看出雖然震盪次數增加,但是 震盪的距離有明顯的減少,所產生的控制結果與 原始比較,有明顯的改善效果。  除了在推力部分,因調整後的模糊控制器在接近 目標位置時所產生的響應較大,會造成在一開始 發出較強的推力,當接近目標位置後馬上往反方 向施以一個適當的力,使車子可以在短時間內到 達目標位置。雖然從圖中觀察發現推力的變化較 原始控制器所產生的結果來的大,但並未超出馬 達所能提供的推力,在實現上是可行的。  透過本論文所提出的方法,當對於一個未知的問 題時,依據輸出的結果確實可計算出一個最適當 的歸屬函數供模糊控制器使用,並產生出一個良 好的控制結果。 03/05/12 95
  • 96. 實際車輛影像 03/05/12 96
  • 97. 控制電路圖影像 03/05/12 97
  • 98. 參考文獻  http://intelligence.im.ncnu.edu.tw/PSODemo  http://tw.knowledge.yahoo.com/question/que  http://tw.knowledge.yahoo.com/question/que  http://cilab.csie.ncu.edu.tw/course/nn/nn8. ppt 03/05/12 98