模糊控制实例1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
⎜⎛ ⎝ ⎜⎜⎝⎛
u0 − u α
u − u0 β
⎟⎞, ⎠ ⎟⎟⎠⎞,
u u
≤ ≥
u0 u0
Page 5
模糊控制器設計步驟
4 模糊決策
y Plant
Y Defuzzifier u(Y)
Fuzzy Rule Base
Inference Engine
u(X) Fuzzifier
X-
yc +
• Compositional Rule of Inference
Page 11
模糊控制器設計步驟
5 解模糊化
y Plant
Y Defuzzifier u(Y)
Fuzzy Rule Base
Inference Engine
u(X) Fuzzifier
X-
yc +
• Center of Area Method
∑∑ yCOA =
n j =1
µC
(
y
j
)
⋅
y
j
n j =1
µ A1
µB1
µC1
1 A1
0
µ A2
1
B1
X0
Y
µB2
1 C1
0
µC2
µC Z
1
1 A2
1 B2
1 C2
0
Z
0
x0
X0
y0
Y min 0
Z
Page 8
模糊控制器設計步驟
Fuzzy Reasoning Process (Min-Product-Max)
IF x is A1 AND y is B1, THEN z is C1,
0.7
0.5 0.3
1234567 y
∑ yMOM =
m j=1
wj m
= 4 +5 = 4.5 2
∑∑ yCOA =
n j=1
µC
(
y
j
)
⋅
y
j
n j =1
µC
(
y
j
)
= 2×0.5+ 3×0.5+ 4×0.7 +5×0.7 + 6×0.3 0.5+ 0.5+ 0.7 + 0.7 + 0.3
= 3.9
Page 20
Matlab Fuzzy Toolbox
1 基本命令介紹
(可在Matlab命令字元下鍵入help fuzzy得更詳細資料)
fuzzy
- Basic FIS editor.
mfedit
- Membership function editor.
ruleedit
- Rule editor and parser.
Page 12
摘要
模糊控制器設計步驟
實際例子分析
Matlab Fuzzy Toolbox實現
Page 13
實際例子分析
2 定義輸入及輸出變數 輸入變數:物體位置與目標位置之誤差 (追蹤誤差=目標位置-物體位置) 輸出變數:力量
Page 15
實際例子分析
1 問題描述(搬運一質量m之物體至1公尺遠處)
Simulink 常用工具
Page 22
Matlab Fuzzy Toolbox
4 Fuzzy Toolbox之操作介面
輸入變數 規則庫 輸出變數 模糊規則 I/O之變數
模糊推論 演算法
Page 24
Matlab Fuzzy Toolbox
5 Fuzzy Toolbox之功能介紹(一)
Matlab Fuzzy Toolbox
模糊控制系統設計
Design of Fuzzy Control System
- 使用Matlab Fuzzy Toolbox
Page 1
摘要
模糊控制器設計步驟
實際例子分析 Matlab Fuzzy Toolbox實現
Page 3
摘要
模糊控制器設計步驟 實際例子分析 Matlab Fuzzy Toolbox實現
combination of input variables).
Page 6
模糊控制器設計步驟
Fuzzy Reasoning Process (Min-Min-Max)
IF x is A1 AND y is B1, THEN z is C1,
IF x is A2 AND y is B2, THEN z is C2.
- Add variable to FIS.
plotfis
- Display FIS input-output diagram.
plotmf
- Display all membership functions for one variable.
readfis
- Load FIS from disk.
0.6
0.4
0.2
0
0
1
2
3
4
5
6
7
8
9 10
time(sec)
25
20
15
10
5
con_u 0 (Nt) -5
-10
-15
-20
-25
time(sec) m=1 0
1
2
3
4
5
6
7
8
9 10
2
1.8
1.6
1.4
p(oms_)x
1.2 1
0.8
0.6
0.4
0.2
0
time(sec) 0
1
2
3
4
5
6
7
8
4 設計控制器規則庫 1 PI 型模糊控制器
IF e is Fe and ∆e is F∆e THEN ∆u is F∆u
2 PD 型模糊控制器
IF e is Fe and ∆e is F∆e THEN u is Fu
Page 17
實際例子分析
5 設計模糊推論機構 Fuzzy Reasoning Process (Min-Min-Max)
9 10
25
20
15
10
5
con_u 0 (Nt) -5
-10
-15
-20
time(sec) -25
0
1
2
3
4
5
6
7
8
9 10
m=5 Page 34
步驟 6 Simulink模擬參數設定
Page 36
Matlab Fuzzy Toolbox
步驟 5 模糊控制器之模擬結果
2
1.8
1.6
1.4
1.2
p(oms_)x
Matlab Fuzzy Toolbox
步驟 5 建立Simulink模擬系統方塊圖
(FUZZY control)
模糊控制器
鍵入模糊推論資料之矩陣名稱 受控系統
比例因子
Page 35
Matlab Fuzzy Toolbox
步驟 5 PD控制器之模擬結果
2
1.8
1.6
1.4
1.2
pos_x 1 (m) 0.8
Output Variables:
• Fuzzy Term Sets
fi j = Bij (fuzzy term sets).
• Fuzzy Singletons
fi j = θij (fuzzy singletons).
• TSK
fi j = a0ji + a1ji x1 +L+ anji xn (Linear
Fuzzy Rule Base
Inference Engine
u(X) Fuzzifier
X-
yc +
• Fuzzy Singleton
µA′
(u)
=
⎧1, if ⎩⎨0, if
u u
= u0 ≠ u0
1.0
1.0
u0
U
α u0 β U
• Fuzzy Numbers
µ
A′ (u)
=
⎪⎪⎧1 − ⎨ ⎪⎪⎩1 −
IF part
THEN part
Page 28
Matlab Fuzzy Toolbox
步驟 2 建立輸入與輸出變數之歸屬函數
Matlab Fuzzy Toolbox
步驟 3
建立所需之模糊規則庫(一)
按兩下進入編輯 所需之模糊規則
Page 29
Matlab Fuzzy Toolbox
步驟 3 建立所需之模糊規則庫(一)
µC
(
y
j
)
1.0
1.0
yCOA y
yMOM y
• Mean of Maximum Method
∑ yMOM =
m j=1
wj m
Page 10
模糊控制器設計步驟
6 總結:設計模糊控制器的原則
(1) 定義輸入及輸出變數 (2) 決定模糊化的策略 (3) 定義各語言變數的資料庫 (4) 設計控制器規則庫 (5) 設計模糊推論機構 (6) 選擇解模糊化的方式
5
6
7
8
9 10
25
20
15
10
5
con_u 0 (Nt) -5
-10
-15
-20
time(sec) -25
0
1
2
3
4
5
6
7
8
9 10
m=5 Page 37
練習
(1)在移動物體過程中,增加考慮當有物體負載變化與磨差力之 情狀下之控制響應,且可以增加考慮PI/PD-type模糊規則形式之 運用。
0
50
5 Fuzzy Toolbox之功能介紹(二)
Page 25
Matlab Fuzzy Toolbox
5 Fuzzy Toolbox之功能介紹(三)
Page 27
Page 26
Matlab Fuzzy Toolbox
步驟 1 定義輸入及輸出變數以符合模糊規則形式
IF e is Fe and e& is Fe& THEN u is Fu
Page 2
模糊控制器設計步驟
1 模糊控制器與受控系統之間關係
y Plant
Y Defuzzifier u(Y)
Fuzzy Rule Base
Inference Engine
u(X) Fuzzifier
Fuzzy control
X-
yc +
Page 4
模糊控制器設計步驟
2 模糊化
y Plant
Y Defuzzifier u(Y)
1 0.8
0.6
0.4
0.2
0
time(sec) 0
1
2
3
4
5
6
7
8
9 10
25
20
15
10
5
c(oNnt_)u
0 -5
-10
-15
-20
-25
0
1
2
3
4
5
6
7
8
9 10
time(sec) m=1
2
1.8
1.6
1.4
pos_x1.2 (m) 1
0.8
0.6
0.4
0.2
time(sec) 0
0
1
2
3
4
Page 30
Matlab Fuzzy Toolbox
步驟 4 觀看所建立之模糊規則庫
Page 31
規則形式表現方式
表面形式表現方式
Page 32
Matlab Fuzzy Toolbox
步驟 5 建立Simulink模擬系統方塊圖
(傳統PD-type control)
PD控制器
受控系統
Page 33
6 解模糊化方式 重心法
Page 19
實際例子分析
4 設計控制器規則庫 IF e is Fe and e& is Fe& THEN u is Fu
e& e N Z P
N NB NS ZO Z NS ZO PS P ZO PS PB
Page 18
摘要
模糊控制器設計步驟 實際例子分析
Matlab Fuzzy Toolbox實現
F+f=ma
F 為施加物體之控制力 f 為施加物體之外力,如摩擦力 m 為物體之質量 a 為物體受外力時之加速度
F
m
m
0.0
0.5
1.0
Page 14
實際例子分析
3 定義各語言變數的資料庫
輸入變數的資料庫
N
Z
P
0
誤差,誤差變化
輸出變數的資料庫
NB
NS ZO PS
PB
0
控制力
Page 16
實際例子分析
IF x is A2 AND y is B2, THEN z is C2.
µ A1
µB1
µC1
1 A1
0
µ A2
1
B1
X0
Y
µB2
1 C1
0
µC2
µC Z
1
1 A2
1 B2
1 C2
0
Z
0
x0
X0
y0
Y min 0
Z
Page 9
模糊控制器設計步驟
1.0
µ(yj ) = 0.52 + 0.53 + 0.7 4 + 0.75 + 0.36
100 150 200
路面有/無磨差力 增加負載
t(sec)
Page 39
結論
利用模糊理論發展出之模糊控制器,其設計過 程中加入日常生活中的語意特質,且模糊規則 為匯集相關專家的經驗和操控法則而得,可完 全不需知道受控系統之數學模型下進行設計。 因此,在面對系統具有不確定性、時變性和非 線性等複雜狀態時,能提供傳統控制器無法達 到的成果。
writefis - Save FIS to disk.
Page 21
Matlab Fuzzy Toolbox
3 呼叫Fuzzy Toolbox圖形介面
Fuzzy
Page 23
Matlab Fuzzy Toolbox
2 Simulink 工具
Simulink 呼叫熱鍵
直接鍵入 simulink
模糊工具箱 選項
B′ = A′ o R = A′ o (A ⇒ B)
Fuzzy Relation Fuzzy Composition Implication
µ A⇒B (u, v)
min
Rc : µ A (u) ∧ µB (v)
product Rp : µ A(u) ⋅ µB (v)
Page 7
模糊控制器設計步驟
3 模糊規則庫
y Plant
Y Defuzzifier u(Y)
Fuzzy Rule Base
Inference Engine
u(X) Fuzzifier
wenku.baidu.com
X-
yc +
Rule j :
IF x1 is A1j andLand xn is Anj
THEN
y1
is
f1 j
andLand
ym
is
f
j m
.
Aij: Fuzzy term sets of input variables
ruleview - Rule viewer and fuzzy inference diagram.
surfview - Output surface viewer.
addmf
- Add membership function to FIS
addrule
- Add rule to FIS.
addvar
Page 38