• 沒有找到結果。

一個基本的模糊邏輯控制系統[24]~[26]可由(圖 2.2)來觀察到,

主要的組成部分有四部分:

一. 模糊化(Fuzzifier)

二. 模糊規則庫(Fuzzy Rule Base)

三. 模糊推論器(Fuzzy Inference Engine)

四. 解模糊化(Defuzzifier)

圖 2.2 模糊邏輯控制器之基本架構

當系統藉由感測器(Sensor)把明確的外界資訊輸入(X),藉 由模糊化將之轉化為模糊資訊,經由控制器的模糊推論器,根據所得 到的模糊資訊,以及在模糊規則庫中預先存放設計者主觀擬定的法

則,模擬人類思考決策的模式,解決其問題。最後解模糊化則將模糊 推論器所推論出的模糊資訊,轉化為外界所能接受的明確資訊(u)。

2.2.1 模糊化模糊化模糊化模糊化

對於受控目標系統而言,由感測器所量測到的資訊通常是一個明 確的數值。然而模糊邏輯控制器則是採用語言化的條件式規則為控制 策略。因此,為了能讓受控系統與語言化的條件式規則資訊相結合,

模糊化處理將是量測資訊進入模糊邏輯控制器所必要的步驟。

為了達到模糊化的功能,首先應根據受控系統輸出/入變數的變 動範圍決定語言變數的確定論域。接著再由設計者依據專家知識自行 決定論域的模糊分割(Fuzzy Partition)數量。確定了模糊分割的數量 後,便能將語言變數的論域適當地切割成數個模糊集合。以控制系統 為例,對於一個控制系統而言,通常是以誤差量(e)作為輸入語言 變數,其論域中模糊集合的標識可定義為: NB(Negative Big)、

NM(Negative Medium)、NS(Negative Small)、ZO(Zero)、PS

(Positive Small)、PM(Positive Medium)、PB(Positive Big)。

而這些模糊集合可以採用的歸屬函數種類很多,如(圖 2.3)所 示 。一般較 常使用 的有三角 形歸屬 函數( Triangular Membership Function)、高斯歸屬函數(Gaussian Membership Function)和梯形

具有較快的計算速度而且模糊化的效果與高斯函數相當,因此,三角 形的歸屬函數最常被採用。

圖 2.3 歸屬函數圖形

在決定語言變數的歸屬函數時,必須注意以下的因素:

(1) 嚴謹性︰

不同形狀所定義的歸屬函數,所產生的控制效果,會有很大的差 別的。換言之,如果控制者要求較嚴謹,則必須選擇斜率較陡的,以 便於當論域稍微有變動時能作明顯的表現。

(2) 涵蓋性︰

當我們在考慮歸屬函數涵蓋的程度時,原則上是讓論域中的每一 元素,所對應的歸屬值不可太低,如此方能考慮到每一元素。

(3) 重疊性︰

對於歸屬函數之間的重疊程度,一般而言重疊的程度越大時,模 糊控制器對系統的行為變化將有較好的適應性。但原則上仍不可過於 重疊以免兩個歸屬函數的值很難被區分。

2.2.2 模糊規則庫模糊規則庫模糊規則庫模糊規則庫

模糊規則庫是由一群以 IF-THEN 型式,所組成的條件式語句模 糊規則,並以語句之方式來命令受控系統,使其達到所須控制的目 的,而建立模糊規則庫須注意事項如下:

(一) 完全性(Complete):即每次輸入的語句變數之模糊集合,至少要 觸發一條規則;不可沒有規則可觸發,否則會產生不正常的模 糊關係。

(二) 一致性(Consistent):即表示如有兩條規則其前件部相同,則其後 件部也要相同,如後件部不相同則表示不符合一致性的要求。

(三) 連續性(Continuous):每相鄰的兩條規則之後件部,須有重疊的 區域,

則此稱為規則庫的連續性。

將許多的模糊規則組合成一個規則庫,而其中 IF X 1isA 的部分1 稱為前件部,而 THEN YisB 部分則稱為後件部。其模糊規則庫表1 示方式如下:

R1:IF X1 is A1 ,THEN Y is B1

R2:IF X1 is A2,THEN Y is B2

Rn1:IF X 1 is An1,THEN Y is Bn1

Rn:IF X 1 is An,THEN Y is Bn

2.2.3 模糊推論器模糊推論器模糊推論器模糊推論器

Fuzzy推論(Fuzzy Inference) [24]~[26]是根據知識庫保存的規則和 給予的事實推導出新的結論。而在模糊邏輯推論最常用的有以下三 種:

[1]前向推論(Forward Reasoning)

規則:IF X is A THEN Y is B 事實:X is A

結論:Y is B’

t–基準(T-norms)(R(1) R(2) R(m))

圖 2.4 Mamdani 模糊模式示意圖

2.

Sugeno 模式模式模式模式

模糊推論工場Sugeno 模糊模式是從已知的輸入-輸出資料中,有 系統地求出所需要的IF-THEN 規則之前件部與後件部。即從已知的 輸入-輸出資料中,有系統性地取得模糊規則的一種方法。且Sugeno 模式在前件部IF-THEN規則中,與Mamdani 模式架構相同,在後件 部則是採用函數轉換表示,Sugeno 模糊模式如圖2.5

圖 2.5 Sugeno 模糊模式示意圖 2.2.5 解模糊化解模糊化解模糊化解模糊化

解模糊化[24]~[26]與模糊化恰好相反,解模糊化是將經由模糊推 論工場後的模糊集合轉為明確的數值。而解模糊化則由以下三個準則 決定:

(1) 合理性:明確數值其所代表的模糊集合應是合理的,或其歸屬度 值為較高的。

(2) 計算簡單:便利於模糊控制問題上之使用。

(3) 連續性:模糊推論工場輸出的模糊集合之形狀,即使有稍許變 化,明確值的位置變化也不會太大。

常見的方法有重心法(Center of Area Defuzzification ;COA)、最 大平均法(Mean of maxima Defuzzification;MOD)及中心平均值解

模糊化法(Center Average Defuzzification)。

(2) 最大值之平均值(Middle of Maxima Defuzzification)

因為B y'( )往往是不規則形的,我們從左邊開始沿著B y'( )之山幾向右 攀爬,當爬到第一個最高點時,此點在Y軸上之投影即為y*值,如 圖2.7。

其中h(B)叫做模糊集合B y'( )之高度。

當爬到最後一個最高點時,此點在Y軸上之投影即為y*值,如圖2.7。

{ }

L

y y y h y

y *

Y

* max YB'( ) (B')

∈ = ∆=

= (2.6)

所謂的最大值之平均解模糊化法即為(2.11)式及(2.12)式之平均值即 可,如圖2.8。

2

*

*

* y F y L

y = + (2.7)

圖2.7 最大值之平均值投影圖 第一個最高點

yF yL

最後一個最高點

圖2.8 最大值之平均值示意圖

(3) 中心平均值解模糊化法(Center Average Defuzzification)

此法或稱為高度解模糊化法(Height Defuzzification),特別針對的形狀

圖2.9 中心平均值示意圖

) ( B

2

h )

( B

1

h

y*

p1 p2

第 第 第

第3章章. 旋轉式倒單擺系統分析及軟體之 章 旋轉式倒單擺系統分析及軟體之 旋轉式倒單擺系統分析及軟體之 旋轉式倒單擺系統分析及軟體之 架構

架構 架構 架構

3.1. 動態方 動態方 動態方 動態方程式 程式 程式 程式

如圖3-1所示為旋轉式倒單擺數學模型,其中 G為轉動中心或質

心(Mass Center),g 為重力加速度,M 為旋轉臂之重量,m 為倒

單擺桿之重量,L為旋轉臂之一半長度,l為倒單擺桿之ㄧ半長度,IL 為旋轉臂之質量慣性矩(Mass of inertia)及馬達轉動時對旋轉臂所造 成之輸入扭矩(Torque)以 µ 代表。以此系統來分析描述其動能(Kinetic Energy, T)及位能(Potential Energy, VP),再將所求得之動能、位能 代入 Lagrange’s function:La=T-VP後,依序對倒單擺桿之角度 α、旋 轉臂之角度 θ 以Lagrange’s equation 計算之,進而獲得所要的非線性 動態方程式(nonlinear dynamics equation)。

為了進一步分析此系統動態特性,必須先建立系統的數學模式,

根據參考文獻[27],可得(3.1)、(3.2)滑車倒單擺非線性方程式:

圖 3.1 旋轉式倒單擺系統之力系分析 (Gravitational Acceleration) 。 依 據 Lagrange’s function 可 得

(

θ θ αα α

)

α α

道倒單擺桿角度 α、倒單擺桿角速度 α'和旋轉臂角度 θ、旋轉臂角速 度 θ'是相關的,兩者並不是獨立互不相關,因此本論文將試著從這方 面出發來解決倒單擺系統直立與定位控制的問題。

表 2.1 旋轉式倒單擺系統之參數設定

系統參數 設定數值 單位

旋轉臂之重量 M 0.09 Kg 倒單擺之重量 m 0.15 Kg 旋轉臂長度 L 0.4 m 倒單擺桿之ㄧ半長度 l 0.095 m

旋轉臂之寬度 a 0.07 m

重力 g 9.8 m / sec

第 第 第

第4章章. 粒子群演算法 章 粒子群演算法 粒子群演算法 粒子群演算法

粒子群演算法 (Particle Swarm Optimization) [9]簡稱 PSO,為

Kennedy與 Eberhart於 1995 年所提出,為受到鳥群的覓食行為所啟

發。PSO的概念源自於群體行為理論,每一個體經過特別的傳遞訊息 方式,將所得到的資訊提供給群體並做交流,使整個團體朝同一方向 而去,藉此搜尋到食物。

一群鳥再隨機搜尋食物。這個區域裡只有一塊食物。所有的鳥都 不知道食物再哪裡,但他們知道目前距離食物還有多遠,那麼找到食 物的最佳策略是什麼?最簡單的方法就是找尋距離食物最近的鳥之 周圍區域及根據自己本身飛行的經驗判斷食物的所在。

4.1. 演算法介紹 演算法介紹 演算法介紹 演算法介紹

粒子群演算法與基因演算法類似,為一種基於迭代演算的最

佳化搜尋工具,屬於演化式計算與隨機搜尋法中的一種。PSO演算法 初始化為一群隨機粒子(隨機解),然後通過迭代找到群體最佳解。在 每一次演化迭代中,粒子透過兩個最佳值-個體最佳值(Pid)與群體最佳

I. 演算法特性

.每個問題解都想像成一隻鳥,稱為“Particle”。

.每個Particle都有一個 fitness function判斷目前位置的好壞。

.每一個Particle能記得所搜尋到最佳位置。

.每一個 Particle還有一個速度以決定飛行的距離與方向。

4.2. 速度更新公式 速度更新公式 速度更新公式 速度更新公式

在 PSO 演化的程序中每個粒子都有一個速度以決定移動的距離 與方向,而每個粒子都能判斷目前位置的好壞,並且能記得所搜尋到 的最佳位置,經過特別的傳遞訊息方式,將所得到的資訊提供給群體 並做交流,藉此搜尋到最佳解。速度的更新公式如下:

(4-1)

(4-2) 其中

V

id :每一Particle 在第d 維之速度

i:Particle之編號 、 d:維度

W:Inertia Weight

c

1

c

2:學習常數

Rand( ):一介於0 至1 的亂數

p

id :每一Particle到目前為止,所求得的最佳解

1 () ( ) 2 () ( )

id id id id gd id

V = ×W V + ×c Rand × px + ×c Rand × px

id id id

x = x + V

p

gd:所有Particle 到目前為止,所求得的最佳解

x

id :每一 Particle目前之所在

本論文採用初始族群為10,W為0.9,

c

1

c

21.5 0.5 [29]

0 < (

c

1 +

c

2) < 4 (4-3) (

c

1 +

c

2)/2 - 1 < W < 1 (4-4) 如能滿足公式(4-3)及(4-4),則PSO演算法將能穩定收歛。

4.3. 演算法流程介紹 演算法流程介紹 演算法流程介紹 演算法流程介紹[28]

1. Initial:

將群族做初始化,以隨機的方式求出每一Particle 之初始位置與

速度。

2. Evaluation:

依據fitness function計算出fitness value以作為判斷每Particle之 好壞

x

id

3. Fine the pid

找出每一Particle 到目前為止的搜尋過程中最佳解,這個最佳解

我們將之稱為 pid(Pbest)。

4. Fine the pgd

我們稱之為 pgd(Gbest)。 5. Update the Velocity:

依據(4-1)與(4-2)更新每一個 Particle 之速度與位置。回到步驟 2.

繼續執行,直到獲得一個令人滿意的結果或符合終止條件為止。

圖4.1 PSO 演化流程圖

演算法流程示意:

圖 4.2 搜尋過程-最初狀態

圖 搜尋過程-經過 代

圖4.2 搜尋過程-經過50 代

圖 4.5 搜尋過程-經過 500代

圖 5.1 歸屬函數圖

5.2 模糊控制器設計 模糊控制器設計 模糊控制器設計 模糊控制器設計

此控制器會以倒單擺角度為控制的準則,當角度大於90至180 度或小於-90至-180 度時,則使系統變不穩定做甩上的動作;而角度介 於90 度與-90度之間則利用平行分散補償(PDC)做直立定位的動作。

圖5.2 Simulink 模擬圖

圖5.3 控制器模擬圖 Gin3及 Gin4值同為[1 -2 3 4]

圖 5.4 PDC控制器設計圖

圖 5.5 2000代 PSO模擬圖

F1=[-64.839 -6.0179 -14.809 -8.1682]

F2=[-123.49 -5.3274 34.483 5.9411]

F3=[11.575 9.1775 -280.04 211.19]

5.3 模擬 模擬 模擬 模擬結果 結果 結果 結果

X1為角度 α

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-0.4 -0.2 0 0.2 0.4 0.6 0.8 1

時 時(sec)

(rad)

圖 5.6 45度(0.7854 rad)倒單擺角度X1

X3為角度 θ

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-0.2 0 0.2 0.4 0.6 0.8 1 1.2

時 時(sec)

(rad)

圖 5.7 45度(0.7854 rad)旋轉盤角度X3

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 -0.8

-0.6 -0.4 -0.2 0 0.2 0.4

時 時(sec)

(rad)

圖 5.8 -45度(-0.7854 rad)倒單擺角度X1

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 -1.2

-1 -0.8 -0.6 -0.4 -0.2 0 0.2

時時(sec)

(rad)

圖 5.9 -45度(-0.7854 rad)旋轉盤角度X3

0 2 4 6 8 10 12 14 16 18 20 -2

0 2 4 6 8 10 12

時 時(sec)

(rad)

圖5.10 135度(2.3562 rad)倒單擺角度 X1

0 2 4 6 8 10 12 14 16 18 20 -20

-15 -10 -5 0 5

時 時(sec)

(rad)

圖5.11 135度(2.3562 rad)旋轉盤角度X3

0 2 4 6 8 10 12 14 16 18 20 -12

-10 -8 -6 -4 -2 0 2

時 時(sec)

(rad)

圖5.12 -135度(-2.3562 rad)倒單擺角度 X1

0 2 4 6 8 10 12 14 16 18 20 -5

0 5 10 15 20

時 時(sec)

(rad)

圖5.13 -135度(-2.3562 rad)旋轉盤角度 X3

圖5.13 -135度(-2.3562 rad)旋轉盤角度 X3

相關文件