fuzzy pid control - reduce design choices - tuning, stability - standard nonlinearities
TRANSCRIPT
Design Procedure*
• Build and tune a conventional PID controller first.• Replace it with an equivalent linear fuzzy controller.• Make the fuzzy controller nonlinear.• Fine-tune the fuzzy controller.
*) Relevant whenever PID control is possible, or already implemented
Rule Base With 4 Rules
1. If error is Neg and change in error is Neg then control is NB3. If error is Neg and change in error is Pos then control is Zero7. If error is Pos and change in error is Neg then control is Zero9. If error is Pos and change in error is Pos then control is PB
FP Rule Base
1. If E(n) is Pos then u(n) is 100
2. If E(n) is Zero then u(n) is 0
3. If E(n) is Neg then u(n) is -100
Fuzzy PD Controller
GUneGCEneGEfnU *)(*),(*)(
eGE
GCE
f
Rule base
E
CE
uGU
U
de/dt
GE
GCETGUGEK
neGCEneGEneGCEneGEf
dp
,*
)(*)(*)(*),(*
FPD Rule Base
1. If E(n) is Neg and CE(n) is Neg then u(n) is -2003. If E(n) is Neg and CE(n) is Pos then u(n) is 07. If E(n) is Pos and CE(n) is Neg then u(n) is 09. If E(n) is Pos and CE(n) is Pos then u(n) is 200
Fuzzy PD+I Controller
CE
eGE
f
PD rules
GCE
++ GU
E
GIEIE
u Ude/dt
edt
GUTjeGIEneGCEneGEfnUn
js *)()(*),(*)(
1
Fuzzy Incremental Controller
eGE
GCE
f
Rule base
E
CEGCU 1/s U
CUcu
de/dt
n
jsTGCUneGCEneGEfnU
1
**)(*),(*)(
Fuzzy - PID Gain Relation
Controller Kp 1/Ti Td
FP GE*GU
FInc GCE*GCU GE/GCE
FPD GE*GU GCE/GE
FPD+I GE*GU GIE/GE GCE/GE
Ziegler-Nichols Tuning
• Increase Kp until oscillation, Kp = Ku
• Read period Tu at this setting
• Use Z-N table for approximate controller gains
Hand-Tuning
1. Set Td = 1/Ti = 0
2. Tune Kp to satisfactory response, ignore any final value offset
3. Increase Kp, adjust Td to dampen overshoot
4. Adjust 1/Ti to remove final value offset
5. Repeat from step 3 until Kp large as possible
Quick reference to controllers
Controller Advantage Disadvantage
FP Simple Maybe too simple
FPD Less overshootNoise sensitive, derivative kick
FInc Removes steady state error, smooths control signal
Slow
FPD+I All in oneWindup, derivative kick
Tuning Map 1/(s+1)3
-2 0 2-2
0
2000
a)-2 0 2
-2
0
2001
b)-2 0 2
-2
0
2010
c)-2 0 2
-2
0
2011
d)
-2 0 2-2
0
2100
e)-2 0 2
-2
0
2101
f)-2 0 2
-2
0
2110
g)-2 0 2
-2
0
2111
h)
1/(s+1)3 with FPD+I
0 10 20 30 400
0.5
1
1.5
2
Co
ntr
olle
d o
utp
ut
y
0 10 20 30 40-2
0
2
4
6
Co
ntr
ol s
ign
al u
Time [s]
-1000
100
-1000
100-200
0
200
ECE
u
-100 -50 0 50 1000
0.2
0.4
0.6
0.8
1
Input family: Neg and Pos
Me
mb
ers
hip