Professional Documents
Culture Documents
11 PDF
11 PDF
“Fuzzy Control” Kevin M. Passino and Stephen Yurkovich “Fuzzy Control” Kevin M. Passino and Stephen Yurkovich
“Fuzzy Control” Kevin M. Passino and Stephen Yurkovich “Fuzzy Control” Kevin M. Passino and Stephen Yurkovich
1
CONVENTIONAL CONTROL CONVENTIONAL CONTROL
Performance Objectives: Performance Objectives:
3. Stability (e.g., in the cruise control problem, to guarantee 6. Settling time (e.g., in the cruise control problem, how much
that on a level road the actual speed will converge to the time it takes for the speed to reach to within 1% of the set-
desired set-point). point).
4. Rise-time (e.g., in the cruise control problem, a measure of
how long it takes for the actual speed to get close to the 7. Steady-state error (e.g., in the cruise control problem, if you
desired speed when there is a step change in the set- have a level road, can the error between the set-point and
point speed). actual speed actually go to zero; or if there is a long
5. Overshoot (e.g., in the cruise control problem, when there is positive road grade, can the cruise controller eventually
a step change in the set-point, how much the speed will achieve the set-point).
increase above the set-point).
“Fuzzy Control” Kevin M. Passino and Stephen Yurkovich “Fuzzy Control” Kevin M. Passino and Stephen Yurkovich
Cost: How much money will it take to implement the controller, Maintainability: Will it be easy to perform maintenance and
or how much time will it take to develop the controller? routine adjustments to the controller?
Computational complexity: How much processor power and Adaptability: Can the same design be adapted to other similar
memory will it take to implement the controller? applications so that the cost of later designs can be
Manufacturability: Does your controller have any extraordinary reduced?
requirements with regard to manufacturing the hardware Understandability: Will the people that implement it or test it be
that is to implement it? able to fully understand it?
Reliability: Will the controller always perform properly? What is Politics: Is your boss biased against your approach? Is your
its “mean time between failures?” approach too novel and does it thereby depart too much
from standard practice?
“Fuzzy Control” Kevin M. Passino and Stephen Yurkovich “Fuzzy Control” Kevin M. Passino and Stephen Yurkovich
Proportional-integral-derivative (PID) control: Over 90% of the Optimal control: Linear quadratic regulator, use of Pontryagin’s
controllers in operation today are PID controllers. Often, minimum principle or dynamic programming, and so on.
like fuzzy controllers, heuristics are used to tune PID
controllers (e.g., the Zeigler-Nichols tuning rules). Robust control: H2 or H∞ methods, quantitative feedback
theory, loop shaping, and so on.
Classical control: Lead-lag compensation, Bode and Nyquist
methods, root-locus design, and so on. Nonlinear methods: Feedback linearization, Lyapunov
redesign, sliding mode control, backstepping, and so on.
State-space methods: State feedback, observers, and so on.
“Fuzzy Control” Kevin M. Passino and Stephen Yurkovich “Fuzzy Control” Kevin M. Passino and Stephen Yurkovich
2
CONVENTIONAL CONTROL FUZZY CONTROL
Controller Design:
Fuzzy control provides a formal methodology for
representing, manipulating, and implementing a
Adaptive control: Model reference adaptive control, self-tuning human’s heuristic knowledge about how to control a
regulators, nonlinear adaptive control, and so on. system.
http://if.kaist.ac.kr/lecture/cs670/textbook/ http://if.kaist.ac.kr/lecture/cs670/textbook/
3
FUZZY CONTROL FUZZY CONTROL
Inference method: Mamdani Inference method: Larsen
– minimum operator for a fuzzy implication – product operator(•) for a fuzzy implication
– max-min operator for the composition
– max-product operator for the composition
1 A1 A′ 1 B′ B1 1 C1 1 1 1
α1
α1
0 0 0 0 0 0
u v w 1 u v w 1
1 A′ A2 1 B′ 1 0 1 1 1 0
B2 C2
α2 α2
0 0 0 0 0
0 u v min w
u v min w
http://if.kaist.ac.kr/lecture/cs670/textbook/ http://if.kaist.ac.kr/lecture/cs670/textbook/
u v w1 w
– The rule base has the form: Ri: if u is Ai and v is Bi, then w is Ci, µ µ µ
−1
– the result of rule Ri : zi = µ (α i ) Ci
α22
u v w22 w
u0
α1 z1 + α 2 z2
v0 Weighted Average
u v
µ µ
- When input data are singletons x0 and y0, then the inferred
result of rule Ri is fi(x0, y0). A2 B2
w2=p2u0+q2v0+r2
α2
4
FUZZY CONTROL FUZZY CONTROL
Step 3: Fuzzification. Process of Step 3: Fuzzification. Process of
making a crisp quantity fuzzy making a crisp quantity fuzzy
µF(x) µF(x)
• If it is assumed that input data Fuzzification function
1 1
do not contain noise of x = fuzzifier (x0)
vagueness, a fuzzy singleton - x0 is a observed crisp value
can be used x0 x x0 x
µF(x) - x is a fuzzy set µF(x)
• If the data are vague or 1 Fuzzifier() represents a 1
perturbed by noise, they fuzzification operator
should be converted into a
fuzzy number x0 x x0 x
base base
http://if.kaist.ac.kr/lecture/cs670/textbook/ http://if.kaist.ac.kr/lecture/cs670/textbook/
segments.
[+2.5, +4.5] [+0.6, +1.0]
• The scale mapping can be
uniform, non-uniform, or both. the universe of discourse [-6.9, +4.5]
is transformed into the normalized −1 0 +1
5
FUZZY CONTROL FUZZY CONTROL
Data base design. Fuzzy partition. Data base design. Fuzzy partition.
7 linguistic terms are often used x2
• ZE: zero
NB NM NS ZE PS PM PB maximum possible number of ZO
control rules. NS
• PS: positive small NB
• PM: positive medium x1
NB NS ZO PS PB
• PB: positive big
−1 0 +1 A fuzzy partition in a 2-dimensional input space.
The maximum number of control rules = 20 (5x4)
http://if.kaist.ac.kr/lecture/cs670/textbook/ http://if.kaist.ac.kr/lecture/cs670/textbook/
* Fuzzy Logic: Intelligence, control, and Information, J. Yen and R. Langari, Prentice Hall * Fuzzy Logic: Intelligence, control, and Information, J. Yen and R. Langari, Prentice Hall
6
FUZZY CONTROL FUZZY CONTROL
Data base design. Membership Rule base design.
functions of primary fuzzy
sets. Source of fuzzy control rules:
1. Expert knowledge and control engineering knowledge.
Various types of MFs: 2. Observation of operator’s actions.
- Triangular 3. Fuzzy model of the process: linguistic description of the
- Trapezoidal dynamic properties
- Gaussian 4. Learning: learning from example or self-organizing
- Bell learning.
- etc. Example of triangular membership functions
http://if.kaist.ac.kr/lecture/cs670/textbook/
7
FUZZY CONTROL FUZZY CONTROL
Step 5: Select defuzzification method. Defuzzification methods.
• In many practical applications, a control
command is given as a crisp value.
• Centroid
• a process to get a non-fuzzy control action that
best represents the possibility distribution of an
inferred fuzzy control action. k zj
• Mean-of-maximum z0 = ∑
• no systematic procedure for choosing a good j =1 k
defuzzification strategy
• select one in considering the properties of • Weighted average
application case
http://if.kaist.ac.kr/lecture/cs670/textbook/ http://if.kaist.ac.kr/lecture/cs670/textbook/
8
FUZZY CONTROL FUZZY CONTROL
Review of the design procedure.
Step 4: Determination of the knowledge base
- Discretization and normalization of state variable space
- Partition of variable space.
- Selection of the MF shapes
- Design of the rule base
Step 5: Selection of defuzzification strategy
Step 6: Test and tuning
Step 7: Construction of a lookup table
http://if.kaist.ac.kr/lecture/cs670/textbook/
• The servomotor process shows nonlinear (1) State variables (input variable of FLC):
properties - Error : the set point minus the process output (e).
• The goal is to apply the fuzzy logic control to the - Change of error (ce) : the error from the process
motor control. output minus the error from the last process output.
• The task of the control is to rotate the shaft of
(2) Control variable (output variable of FLC):
the motor to a set point without overshoot.
- Control input (v) : the voltage applied to the process.
http://if.kaist.ac.kr/lecture/cs670/textbook/ http://if.kaist.ac.kr/lecture/cs670/textbook/
9
FUZZY CONTROL EXAMPLE- FUZZY CONTROL EXAMPLE-
SERVOMOTORS SERVOMOTORS
Design procedure for servomotor control Design procedure for servomotor control
4) Discretization and normalization 4) Partition of input and output spaces
error (e) error change (ce) quantized level
−1000 ≤ e ≤ −800 −100 ≤ ce ≤ −80 −1.0 - Partition space of each input and output variable into
−800 < e ≤ −600 −80 < ce ≤ −60 −0.8
−600 < e ≤ −400 −60 < ce ≤ −40 −0.6
seven regions.
−400 ≤<e ≤ −200 −40 < ce ≤ −20 −0.4 - Each region is associated with a linguistic term
−200 < e ≤ −100 −20 < ce ≤ −10 −0.2
−100 < e ≤ 100 −10 < ce ≤ 10 0
- The maximum number of possible fuzzy rules is 49.
100 < e ≤ 200 10 < ce ≤ 20 0.2
200 < e ≤ 400 20 < ce ≤ 40 0.4
NB NM NS ZE PS PM PB
400 < e ≤ 600 40 < ce ≤ 60 0.6
600 < e ≤ 800 60 < ce ≤ 80 0.8 −1 0 +1 e
800 < e ≤ 1000 80 < ce ≤ 100 1.0 ce
v
http://if.kaist.ac.kr/lecture/cs670/textbook/ http://if.kaist.ac.kr/lecture/cs670/textbook/
NB
NB
NM
NM
NS NS
PS
ZE
NS ZE
PS
PM
PM PS
PB PB
http://if.kaist.ac.kr/lecture/cs670/textbook/ http://if.kaist.ac.kr/lecture/cs670/textbook/
10
FUZZY CONTROL EXAMPLE- FUZZY CONTROL EXAMPLE-
SERVOMOTORS TRUCK BACKER-UPPER
Design procedure for servomotor control Harder formulation:
7) Construction the look-up table Back-up a truck-trailer to a dock
Simple formulation:
Back-up a truck to a dock.
11
FUZZY CONTROL EXAMPLE- FUZZY CONTROL EXAMPLE-
TRUCK BACKER-UPPER TRUCK BACKER-UPPER
In MATLAB:
function ds=trukmod(s,u) % s(1) =x, s(2)=y, s(3)=f, u = q
The universe of
% Angles are in radians. discourse:
% CONSTANTS
L = 1; % Length of truck.
v = 1; % Velocity of truck.
% STATES
pos = s(1) + sqrt(-1)*s(2); angle = s(3);
% DERIVATIVES
dpos = v*cos(u)*exp(j*(angle-pi/2)); dangle = v*sin(u)/L;
Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Fuzzy Systems ToolBox, Mark Beale and Howard Demuth
Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Fuzzy Systems ToolBox, Mark Beale and Howard Demuth
12
FUZZY CONTROL EXAMPLE- FUZZY CONTROL EXAMPLE-
TRUCK BACKER-UPPER TRUCK BACKER-UPPER
Fuzzy rules: MATLAB simulation:
% assume time step = 0.2 second
dt = 0.2;
For I=1:100
if rem(I,5) == 1
% Evaluate controller once a second
% (5 time steps *0.2 seconds)
theta = frule(A,C,Z,[s(1);s(3)]);
end
s = s + dt * truckmod (s,theta);
end
Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Fuzzy Systems ToolBox, Mark Beale and Howard Demuth
Reason: coarse
definition of the
horizontal position
Solution: redefine
fuzzy sets for the
horizontal position
Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Fuzzy Systems ToolBox, Mark Beale and Howard Demuth
13
SUMMARY SUMMARY
Classical control does not provide a “perfect” solution Step 4: Determination of the knowledge base
- Discretization and normalization of state
Fuzzy control is a formal methodology for variable space
implementing control systems based on human’s - Partition of variable space.
heuristic knowledge - Selection of the MF shapes
- Design of the rule base
Design procedure: Step 5: Selection of defuzzification strategy
Step 1: Determination of state variables and Step 6: Test and tuning
control variables Step 7: Construction of a lookup table
Step 2: Selection of the inference method
Step 2: Selection of the fuzzification method
14