You are on page 1of 128

4

4.1
4.1.1

Fuzzy ControllerFC
Fuzzy Logic
ControllerFLC ,

Fuzzy Language
ControllerFLC
4.1.2


1 Fuzzy interface



e

1 { }={NB, NS,
ZO, PS, PB}
2 {
}={NB, NM, NS, ZO, PS, PM, PB}
3 {
}={NB, NM, NS, NZ, PZ, PS, PM, PB}


2. Knowledge BaseKB

1 Data BaseDB





2 Rule BaseRB


if-
then else also end or

if-then also
and

E EC
R1: IF E is NB and EC is NB then U is PB
R2: IF E is NB and EC is NS then U is PM
if then
If A and B
then C, A U B
V
R, R

C A B R





3 Inference and Defuzzy-
interface




Zadeh



4.1.3
4-4

O

O


h

4-4
1
O h0
h
e h h0 h

O e

2
e NB
NS O PS
PB
e -3
-2 -1 0 +1 +2 +3
4-1
4-1


-3 -2 -1 0 1 2 3

PB 0 0 0 0 0 0.5 1

PS 0 0 0 0 1 0.5 0

O 0 0 0.5 1 0.5 0 0

NS 0 0.5 1 0 0 0 0

NB 1 0.5 0 0 0 0 0
u
NB NS
O PS PB
u -
4 -3 -2 -
1 0 +1 +2 +3 +4
4-2
4-2

-4 -3 -2 -1 0 1 2 3 4

PB 0 0 0 0 0 0 0 0.5 1

PS 0 0 0 0 0 0.5 1 0.5 0

O 0 0 0 0.5 1 0.5 0 0 0

NS 0 0.5 1 0.5 0 0 0 0 0

NB 1 0.5 0 0 0 0 0 0 0
3

1 e u
2 e u
3 e 0 u 0
4 e u
5 e u
u u

IF A THEN B

1 if e=NB then u=NB


2 if e=NS then u=NS
3 if e=0 then u=0
4 if e=PS then u=PS
5 if e=PB then u=PB
4-
3
4-3
IF NBe Nse Oe PSe PBe
THEN NBu Nsu Ou PSu PBu

4

U V
RR
(NBe NBu ) (NSe NSu ) (Oe Ou ) (PSe PSu ) (PBe PBu )

1 1. 0 0.5 0 0 0 0 0 0 0
0.5 0.5 0.5 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

NBe NBu 0 1 0.5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0
0. 5 0 0. 5 0. 5 0. 5 0 0 0 0 0

1 0 0.5 1.0 0.5 0 0 0 0 0

NSe NSu 0 0 0.5 1 0.5 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0
0 0 0 0 0.5 0.5 0.5 0 0 0

0.5 0 0 0 0.5 1.0 0.5 0 0 0

Oe Ou 1.0 0 0 0 0.5 1 0.5 0 0 0 0 0 0 0.5 0.5 0.5 0 0 0
0.5 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

PSe PSu 0 0 0 0 0 0 0.5 1.0 0.5 0 0 0 0 0 0 0 0 0 0
1.0 0 0 0 0 0 0.5 1.0 0.5 0

0. 5 0 0 0 0 0 0.5 0.5 0.5 0
0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

PBe PBu 0 0 0 0 0 0 0 0 0 . 5 1 .0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0

0 .5 0 0 0 0 0 0 0 0 .5 0 .5
1 .0 0 0 0 0 0 0 0 0.5 1.0

1.0 0.5 0 0 0 0 0 0 0
0.5 0.5 0.5 0. 5 0 0 0 0 0

0 0.5 1.0 0. 5 0. 5 0.5 0 0 0

R 0 0 0 0.5 1.0 0.5 0 0 0
0 0 0 0. 5 0. 5 0.5 1.0 0.5 0

0 0 0 0 0 0.5 0.5 0.5 0.5
0 0 0 0 0 0 0 0.5 1.0

5

u eu
e 1. 0 0.5 0 0 0 0 0
e NB

1.0 0.5 0 0 0 0 0 0 0
0.5 0.5 0.5 0.5 0 0 0 0 0

0 0.5 1.0 0.5 0.5 0.5 0 0 0

u e R 1 0.5 0 0 0 0 0 0 0 0 0.5 1.0 0.5 0 0 0
0 0 0 0.5 0.5 0.5 1.0 0.5 0

0 0 0 0 0 0.5 0.5 0.5 0.5
0 0 0 0 0 0 0 0.5 1.0

1 0.5 0.5 0.5 0 0 0 0 0
6

e=NB

1 0.5 0.5 0.5 0 0 0 0 0


u
4 3 2 1 0 1 2 3 4


u 4


Matlab
4-4
e=-3 u =-
3.1481

e -3 4-4
-2
-1 0 1 2 3
u -3 -2 -1 0 1 2 3

1
Single Variable
Fuzzy ControllerSVFC

2

E EC

E EC
ECC

2
Multiple Variable
Fuzzy Controller
4-6

- MIMO
- MISO

4-6
2

1
1

2



2
S
u v u
v v
k u U , v V
u

v max

2u max m

vmax vmax vmin u


max u max u min
m V

k0
1 k k0 S
k k2
0
S

3
1

2

4
1
>1

3.1

1

2
E EC u

E EC u
NB, NM , NS , Z , PS , PM , PB
E EC {-3 -2 -1 0 1 2
3}
u {-4.5,-3,-1.5,0,1,3,4.5}
3
E EC u

5
4-5
49


u1 u2,
,u49 U

u u1 u 2 u 49
4-5
6

(1)

v0 max v
(v ) v
V

N
1
v0
N v
i 1
i vi max ( v (v))
vV

(2)

v
V
v (v ) dv

v0

V
v (v ) dv

m
m

v
k 1
k v (v k )
v0 m

k 1
v (v k )

(3)


m

v k
i 1
i i
v0 m

k
i 1
i

ki

ki V ( vi )

Matlab
1 centroid 2 bisector
3 mom
4 som 5 lom

Matlab setfis()
defuzz()

x=-10:1:10;
mf=trapmf(x,[-10,-8,-4,7]);
xx=defuzz(x,mf,centroid);

a1=setfis(a,'DefuzzMethod','centroid')
a
3.2 Matlab



1
4-5 49
[-3,3], [-
4.5,4.5] showrule(a)
49 4-6

4-6
ec -3 -2 -1 0 1 2 3
e
-3 -4 -2 -2 -1 -1 0 1

-2 -4 -2 -2 -1 0 1 1

-1 -2 -2 -1 0 1 1 2

-1 -1 -1 0 1 1 2 2

-1 -1 0 1 1 2 3 3

2 0 1 1 2 3 3 3

3 1 1 2 2 3 3 4
chap4_2.m
plotfis(a2)
4-7 4-9

NB NM NS Z PS PM PB
1

0.8
Degree of membership

0.6

0.4

0.2

-3 -2 -1 0 1 2 3
e

4-7
NB NM NS Z PS PM PB
1

0.8
Degree of membership
0.6

0.4

0.2

-3 -2 -1 0 1 2 3
ec

4-8
NB NM NS Z PS PM PB
1

0.8
Degree of membership

0.6

0.4

0.2

-4 -3 -2 -1 0 1 2 3 4
u

4-9

2

400
G(s) 2
s 50s
chap4_2.m
a2
Simulink
4-10
Simulink
chap4_3.mdl
4-10

4-10
4 -

2
SD
3

SD ( x) (50 x) / 50 0 x 50

x / 50 0 x 50
MD ( x)
(100 x) / 50 50 x 100
( x) ( x 50) / 50 50 x 100
LD


4-11
1

0.8
Degree of membership
0.6

0.4

0.2

0
0 10 20 30 40 50 60 70 80 90 100
x

4-11
Matlab
chap4_4.m
NG
MG LG
[0 100]

NG ( y ) (50 y ) / 50 0 y 50

y / 50 0 y 50
MG ( y )
(100 y ) / 50 50 y 100
( y ) ( y 50) / 50 50 y 100
LG

4-12
1

0.8
Degree of membership

0.6

0.4

0.2

0
0 10 20 30 40 50 60 70 80 90 100
y

4-12
VS
S M
L VL
[0 60]
( z ) (10 z ) / 10
VS 0 z 10
( z ) z / 10 0 z 10
S
( 25 z ) / 15 10 x 25
( z 10) / 15 10 z 25
M ( z)
( 40 z ) / 15 25 z 40
( z 25) / 15 25 z 40
L ( z )
(60 z ) / 20 40 z 60

VL ( z ) ( z 40) / 20 40 z 60

4-13
1

0.8
Degree of membership

0.6

0.4

0.2

0
0 10 20 30 40 50 60
z

4-13
Matlab
chap4_5
4




5
4-
7
4-7

x

z
NG MG LG
SD VS* M L

MD S M L

y LD M L VL
* IF
THEN
6


x0 () 60 y 0 ()
70

4 1
MD (60) LD (60)
5 5
3 2
MG (70) LG (70)
5 5


4-8

4-8
x

z
NG MG3/5 LG2/5
SD 0 0 0

MD 0 M (z ) L (z )
4/5
y LD 0 L (z ) VL (z )
1/5

4
Rule 1 IF y is MD and x is MG THEN z is M
Rule 2 IF y is MD and x is LG THEN z is L
Rule 3 IF y is LD and x is MG THEN z is L
Rule 4 IF y is LD and x is LG THEN z is VL

1 min 4/5 3/5


=3/5
2 min 4/5 2/5

4-9

4-9
x

z
NG MG3/5 LG2/5
SD 0 0 0

MD 0 3/5 2/5
4/5
y LD 0 1/5 1/5
1/5

4-10

4-10
x

z
NG MG3/5 LG2/5
SD 0 0 0

MD 0 3 2
min( , M ( z )) min( , L ( z ))
4/5 5 5
y LD 0 1 1
min( , L ( z )) min( , VL ( z ))
1/5 5 5

3 2 1 1
agg ( z ) max min( , M ( z )), min( , L ( z )), min( , L ( z )), min( , VL ( z ))
5 5 5 5
3 2 1
max min( , M ( z )), min( , L ( z )), min( , VL ( z ))
5 5 5

3
M (z )
5


3

5

M (z )

z 10 3 40 z 3
M ( z) M ( z)
15 5 15 5

z1 19 z 2 31

z1 z 2 19 31
z* 25
2 2
MATLAB

x=60
y=70
33.6853 ruleview

4-16

chap4_6.m
4-16
5 PID
4.5.1 PID

PID PID

PID
PID
PID

PID

( PID )

PID
PID
PID
PID
PID
PID PID
4-15
4-15

PID PID

PID

PID 3-4

PID PID
e ec,


Kp, Ki, Kd

(1) Kp 4-11

4-11

kp

e
NB NM NS ZO PS PM PB
ec
NB PB PB PM PM PS ZO ZO
NM PB PB PM PS PS ZO NS
NS PM PM PM PS ZO NS NS
ZO PM PM PS ZO NS NM NM
PS PS PS ZO NS NS NM NM
PM PS ZO NS NM NM NM NB
PB ZO ZO NM NM NM NB NB
2 Ki 4-12

4-12 Ki

NB NM NS ZO PS PM PB

NB NB NB NM NM NS ZO ZO
NM NB NB NM NS NS ZO ZO
NS NB NM NS NS ZO PS PS
ZO NM NM NS ZO PS PM PM
PS NM NS ZO PS PS PM PB
PM ZO ZO PS PS PM PB PB
PB ZO ZO PS PM PM PB PB
3 Kd 4-13

4-13 Kd

NB NM NS ZO PS PM PB

NB PS NS NB NB NB NM PS
NM PS NS NB NM NM NS ZO
NS ZO NS NM NM NS NS ZO
ZO ZO NS NS NS NS NS ZO
PS ZO ZO ZO ZO ZO ZO ZO
PM PB NS PS PS PS PS PB
PB PB PM PM PM PS PS PB
Kp,Ki,Kd

e ec

e,ec {-5,-4,-3,-2,-1,0,1,2,3,4,5} (4.9)



e,ec {NB, NM, NS, O, PS, PM, PB}

e ec

PID


k p k p ei , ec i p

k i k i ei , ec i i (4.10)

k d k d ei , ec i d


PID
4-16

4-16
4.5.2

523500
Gp ( s )
s 3 87.35 s 2 + 10470 s

1ms z

yout ( k ) den ( 2) yout ( k 1) den (3) yout ( k 2) den ( 4) yout ( k 3)


num(2)u( k 1) num(3)u( k 2) num( 4)u( k 3)
1.0
r k sgn sin 2t

chap4_7a.m fuzzpid.fis

chap4_7b.m
chap4_7a.m 4-11
4-13 e de
k k i
kd
p

MATLAB
a plotmf
4-17 4-21 showrule

fuzzpid.fis fuzzy
4-22
ruleview 4-23

NB NM NS Z PS PM PB
1

0.8
Degree of membership

0.6

0.4

0.2

-3 -2 -1 0 1 2 3
e

4-17

NB NM NS Z PS PM PB
1

0.8
Degree of membership

0.6

0.4

0.2

-3 -2 -1 0 1 2 3
ec

4-18
NB NM NS Z PS PM PB
1

0.8
Degree of membership

0.6

0.4

0.2

-0.25 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 0.25
kp

4-19 k p
NB NM NS Z PS PM PB
1

0.8
Degree of membership

0.6

0.4

0.2

-0.06 -0.04 -0.02 0 0.02 0.04 0.06


ki

4-20 k i
NB NM NS Z PS PM PB
1

0.8
Degree of membership

0.6

0.4

0.2

-3 -2 -1 0 1 2 3
kd

4-21 k d
kp (7)
fuzzpid
e (7)

(mamdani)

49 rules ki (7)

ec (7)
kd (7)

System fuzzpid: 2 inputs, 3 outputs, 49 rules

4-22 fuzzpid.fis

4-23

chap4_7b.m fuzzpid.fis
PID PID
300 1.0
PID 4-24
4-29
1.5

0.5
rin,yout

-0.5

-1
0 0.5 1 1.5 2 2.5 3
time(s)

4-22 PID

2

1.5

0.5

0
error

-0.5

-1

-1.5

-2

-2.5
0 0.5 1 1.5 2 2.5 3
time(s)

4-23 PID

5

1
u

-1

-2

-3
0 0.5 1 1.5 2 2.5 3
time(s)

4-24 U
0.65

0.6

0.55

0.5

0.45
kp

0.4

0.35

0.3

0.25
0 0.5 1 1.5 2 2.5 3
time(s)

4-25 kp
0.03

0.02

0.01

0
ki

-0.01

-0.02

-0.03
0 0.5 1 1.5 2 2.5 3
time(s)

4-26
ki

2

1.5

1
kd

0.5

-0.5
0 0.5 1 1.5 2 2.5 3
time(s)

4-27 k d

PID
chap4_7a.m chap4_7b.m
6 Sugeno
6.1 Sugeno
Mamdani

Sugeno constant
linear ya
y ax b
Mamdani
1
2
6.2 Sugeno
X 0,5
0,10

Y

If X small and Y small then Z -x y -3

If X small and Y big then Z x y 1

If X big and Y small then Z -2y 2

If X big and Y big then Z 2 x y 6



Sugeno

chap4_8.m
MF Degree of input 1
1
little big
0.8
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
x
MF Degree of input 2

1
little big
0.8
0.6
0.4
0.2
0
0 1 2 3 4 5 6 7 8 9 10
x

Sugeno
10

Z
0

10
5
5 4
3
2
1
Y 0 0
X

Sugeno /
7 Sugeno
7.1

Sugeno


x1 x2
g sin( x1 ) amlx22 sin( 2 x1 ) / 2 a cos( x1 )u
x 2
4 / 3l aml cos 2 x1
x1
x1 x
2


x 2 g 9.8m / s 2
m
2l a l /( m M ) M



sin x1 x1 cos x1 1


amlx 2 2 0


x1 x2
g a
x 2 x1 u
4 / 3l aml 4 / 3l aml
7.2


m 2kg M 8kg l 0.5m
x

x1

x2

x = Ax Bu
0 1 0
A B
15.8919 0 0.0811

Sugeno
If x1 ZR and x 2ZR then x = Ax Bu
10 10i,10 10i

u Fx
place(A,B,P)
F

F -2662.7 - 246.7

15 15

200 200 /

200 200 / 2

0.2,0
chap4_9.m

8
1
21

1990 3

3
RE-SEI 12

2 pH

9
1
Zadeh

4-14
4-1

1965 Zadeh

1972 Zadeh

1973 Zadeh

1974 Mamdani et al

1976 Rutherford et al

1977 Ostergaad

1977 Willaey et al

1979 Komolov et al

1980 Tong et al

1980 Fukami et al

1983 Hirota et al

1983 Takagi et al

1983 Yasunobu et al

1984 Sugeno et al

1985 Kiszka et al

1985 Togai et al

1986 Yamakawa

1988 Dubois et al

1988 Czogala

1991 De Neyer et al

1992 Yager

1992 L.X.Wang

1992 L.X.Wang

1993 L.X.Wang
2


(1) Fuzzy-PID
Fuzzy-PID PID

PID
(2)

(3)

(4)

(5)

3
1

4
5
6

You might also like