Académique Documents
Professionnel Documents
Culture Documents
Matteo Cavazzutti
TEKNILLINEN KORKEAKOULU
TEKNISKA HÖGSKOLAN
HELSINKI UNIVERSITY OF TECHNOLOGY
TECHNISCHE UNIVERSITÄT HELSINKI
UNIVERSITE DE TECHNOLOGIE D´HELSINKI
Helsinki University of Technology Control Engineering Laboratory
Espoo September 2000 Report 121
Matteo Cavazzutti
Abstract: The intense and increasing interest of industry on Automation Technologies claimed
deep researches in this field. Emerging techniques like Fuzzy Logic has been studied and
successful applied to process control.
Traditional control methods, e.g. PID-based, have poor performances when applied to modern
processes whose models are strongly non-linear and multivariable-based. Fuzzy logic controllers
might provide better results through advanced methodologies like gain scheduling, for example.
In this thesis, multivariable non-linear systems have been considered. To perform the control of
the process, multivariable PI controller has been used. A fuzzy gain scheduler has been
developed to allow the controller producing the optimal control action at different operating
points. An algorithm has been used to execute the off-line tuning in each of operating point, and
a fuzzy sub-system performs a fine tuning.
In that way the system works as follow: as changes in operating points are detected, the
scheduler, which behaves as a supervisor, sets new parameters for the controller. Then, the
fine-tuning provides the performances to achieve the desired results. The parameters of the gain
scheduler are stored in a fuzzy system, based on linearization at different work points of the
process. Thus a mathematical model of the process is not required, and necessary data for
process study could come simply from on-field experiments.
An example has been considered and the proposed method has been applied on it.
Keywords: fuzzy gain scheduling, multivariable control, non-linear control, PI controller, fuzzy
logic
1
A re-edition of a Master’s Thesis work, September 2000.
Distribution:
Helsinki University of Technology
Control Engineering Laboratory
P.O. Box 5400
FIN-02015 HUT, Finland
Tel. +358-9-451 5201
Fax. +358-9-451 5208
E-mail: control.engineering@hut.fi
ISBN 951-22-5281-3
ISSN 0356-0872
Picaset Oy
Helsinki 2000
Acknowledgements
The thesis has been entirely developed in the Control Engineering Laboratory of
the Helsinki University of Technology.
I want to express my personal gratitude to Professor Heikki Koivo for his proficient
support during my work. His marvelous leadership, oriented to build cooperation and
friendship within the Laboratory Staff, has represented always an excellent reference
in my improvements.
I also wish to thank all the Control Engineering Laboratory Staff for their
acquaintance and for the motivating work environment in which I found myself
working.
Finally, but not at least, I want to thank my family for their extraordinary
encouragement and patience in bearing me.
I cannot avoid spending a few words about the country in which I have lived for six
months: Finland. Looking on the globe somebody might see it’s not so far from my
own country, Italy. But between those nations people and habits, as it appeared to me,
are in general quite dissimilar. I had an unforgettable life experience because just the
different culture I discovered here made me growing-up. The day I will leave (“I left”
to the reader) Finland will be (“was”) sad and pleased at the same time: “Sad”
because I will leave friends, habits that I successfully enjoyed, and my own life I built
day by day. “Glad” because I will keep the memory of all the life teachings I learnt
here.
Matteo Cavazzutti
Contents
Chapter 1 _________________________________________________________ 1
Introduction ____________________________________________________ 1
1.1 – Historical Background ______________________________________ 1
1.2 – Gain Scheduling and multivariable processes_____________________ 2
1.3 – Thesis organization _________________________________________ 4
Chapter 2 _________________________________________________________ 5
Basics on Fuzzy Logic ____________________________________________ 5
2.1 – Looking over fuzzy world____________________________________ 5
2.2 – Fuzzy sets ________________________________________________ 6
2.3 – Fuzzy operations and relations ________________________________ 7
2.4 – Fuzzy rules _______________________________________________ 9
2.5 – An example: washing machine fuzzy control system ______________ 12
Chapter 3 ________________________________________________________ 16
PID control ____________________________________________________ 16
3.1 – General aspects of PID controller _____________________________ 16
3.2 – Implementation ___________________________________________ 18
Chapter 4 ________________________________________________________ 20
Fuzzy controller design __________________________________________ 20
4.1 – Overview ________________________________________________ 20
4.2 – Parameters design _________________________________________ 21
4.3 – Reliability _______________________________________________ 25
Chapter 5 ________________________________________________________ 26
Multivariable feedback control____________________________________ 26
5.1 – Generalities ______________________________________________ 26
5.2 – Problem definition_________________________________________ 27
5.3 – Pettinen-Koivo tuning method _______________________________ 28
Chapter 6 ________________________________________________________ 31
Gain Scheduling ________________________________________________ 31
6.1 – Overview ________________________________________________ 31
6.2 – Problem definition_________________________________________ 33
Chapter 7 ________________________________________________________ 36
Case study _____________________________________________________ 36
7.1 – Presentation ______________________________________________ 36
7.2 – The process ______________________________________________ 38
7.3 – The fuzzy gain scheduler ___________________________________ 40
7.4 – The fuzzy fine-tuning ______________________________________ 41
7.5 – Trial and error: manual adjustments ___________________________ 46
7.6 – Simulation and results ______________________________________ 47
Chapter 8 ________________________________________________________ 51
Conclusions ____________________________________________________ 51
Bibliografy _______________________________________________________ 52
Chapter 1
Introduction
Its straightforward structure makes relations between its parameters and the system
response to be clear. This means that the plant operators acquire a deep knowledge
about how to tune controller parameters.
The tuning task is nowadays fairly straightforward and deterministic. Popular
tuning algorithms are widely used, e.g. Ziegler-Nichols or Internal Model Control
(IMC) method.
The overall performance obtained is, generally speaking, considered satisfactory
with respect to the relative quickness and low cost of implementation.
In recent years new alternative methods have been explored, like, for example,
genetic algorithms, fuzzy logic and neural networks. They have been introduced
successfully into control theory in many different ways. For example, a large field is
oriented in projecting the so-called PID-like controllers. They can be considered
implementations of standard PID, using those different mathematical methods. Other
studies investigated supervising PID-controlled systems, introducing techniques like
self-tuning and scheduling. The aim is to continue using simple PID- based controllers,
since they are demanded by industry, but supporting them with more advanced control
strategies.
All those investigations set sights on improving controllers where PID shows lack
of acceptable performance. For example, when one has to deal with strong process
non-linearities, or when switching between several operating points, as this could lead
to the necessity of controller tuning at each step. Moreover, in some industrial
processes it is not possible to use conventional control methods, because of the scarcity
of a sufficient number of data regarding the input-output plant relations. In
1
multivariable system, additionally, experience shows that PID controllers, by
themselves, are not sufficient to perform the control action.
In 1965 Zadeh introduced the concept of fuzzy logic for the first time [47]. Nine
years later the first Fuzzy Logic Controller (FLC) was introduced by Mamdami [19].
From that time FLC technique, that might be defined as “rule-based control theory
able to emulate the human expert’s knowledge” [27], has been used in a significant
amount of industrial applications, like for instance, in paper machine control [42],
water quality control [6], transmission control [6], elevator control [8]. Studies and
researches in fuzzy control have been growing up quickly, as the interest of researchers
and scientists have been turned more and more on that subject.
The success of FLC is connected to the undeniable advantage of providing a way of
converting a linguistic control strategy, based on human expert skill, into an automatic
control strategy.
In fact fuzzy logic ability is in connecting human nature and mathematical models.
In that sense, the core of a FLC is a set of linguistic rules, built with the simple
consequence if-then logic connected by implications and inferences. Linguistic rules
arise from the practice, the knowledge and the know-how of expert operators and
designers, who do not form mathematical models for decision-making and control.
Long lasting experiences show that the FLC frequently yields better results than
those gained by conventional controllers. At not last, personnel supposed to handle
with FLC, is usually not required to have high educational background.
On the other hand, a designer has to take into consideration that there are not yet
systematic and straightforward procedures to manage the development of a FLC. The
most commonly used ways to proceed are still founded on trial-and-error methods.
Furthermore, usually fuzzy systems contain redundancies, that is, a FLC has more
parameters than the conventional equivalent; and this could introduce more trouble in
managing all of them than in the other case. Since the number of rules grows quickly
with the number of inputs, inputs variables have to be restricted, say to two or three.
The performance of fuzzy systems is strictly related to the ability and experience of
the designer. As a result, stability and robustness of FLC are not achieved
automatically and they need usually an ad hoc investigation.
Since realistic models of engineering systems are nonlinear, the dynamic behavior
of the system to be controlled changes with the operating point. A common approach
to this problem is to apply the notion of gain scheduling.
Gain scheduling was introduced during the 1950s with particular reference to flight
control systems [23]. It can be considered a kind of adaptive control technique: the
original idea was to evaluate auxiliary variables (other than the plant outputs) that are
strongly correlated with the changes in process dynamics [34]. In such a way there is
no need of system parameter estimation; thus control variables can be changed as soon
as changes in system dynamics are observed by the auxiliary measurement. This means
2
that change of the controller parameters depends on how quickly the operating
conditions are measured.
The conventional scheduling procedure is first to linearize the system model about
different operating points. Then linear design methods are employed to the linearized
models in order to compute local controller parameters, as they are supposed to work
just within linear regions. The last step is the development of the real gain scheduler: it
has to deal with changes in operating conditions. At its simplest level it means, that it
behaves like a switch between the operating points, forcing new control parameters as
it detects modifications in the set point. This implies that the gain scheduler together
with linear controllers handles non-linearity. In the area between two linearized
regions, the control system has to compute kind of interpolation between the control
parameters related to the close regions. The principle is shown in Fig. 1.1.
Gain Scheduler
Input Output
Controller Plant
Figure 1.1: Example of Gain Scheduling. In this scheme the input variables
to the scheduler are the current operating point and the reference signal.
Moreover, if the linearization task is not sufficiently accurate, inducted errors can
be big enough to produce instability, and therefore the failure of the control action.
In such a context, it is easily understood that fuzzy logic has been widely applied to
gain scheduling, at least for its ability to smooth sharpness, and the intuitive approach
to non-linearity.
Multivariable plants models are nowadays getting more and more studied because
many industrial processes need to be modeled with more than one variable. Fuzzy gain
scheduling techniques haven’t yet applied to multivariable systems. In this thesis the
problem of control of a 2 × 2 process is considered. A multivariable fuzzy gain
scheduler has been built to control the process.
3
1.3 – Thesis organization
4
Chapter 2
In 1961 Lofti A. Zadeh felt that new kinds of mathematic theories were required to
support recent research developments [46]:
A few years later, with the first publication on fuzzy logic, the connection between
shadowy nature and computers world was built. Since that moment fuzzy logic has
been studied, developed and applied to many different fields; nowadays it is possible
to find a huge amount of literature dealing with fuzzy logic. Nevertheless, if someone
asks what is fuzzy logic, it’s not simple and straightforward to answer, at least because
a rigorous definition of fuzzy logic doesn’t exist. It is commonly accepted that there
are two way of meaning fuzzy logic: the first one is motivated by the necessity to
overtake difficulties encountered in analyzing or developing analytically complex
systems. The second comes from the observation that human knowledge and concepts
have not sharp boundaries.
According to the former approach every mathematical field can be fuzzified
changing its native set by a fuzzy set; whereas the latter requires fuzzy logic to work
with vague concepts and shaded theories.
Both of these meanings make fuzzy logic to be a natural bridge between the
quantitative and the qualitative world.
In fact fuzzy logic essence stays in its ability to develop a connection between
human nature and mathematical models. Human language is not made of digits or
formulas, but it’s… fuzzy: it’s built on ideas, opinions and, why not, fantasy.
Depending on them, words like “a bit”, “a few”, “a lot”, “many” etc. are definitely not
numbers, but everyone can get the idea of what his interlocutor means using those
words. A computer can’t, if it doesn’t have a rigorous definition of each word. Thus
fuzzy logic can be thought as an interface between approximate and inexact nature of
real world on one side, and the planet of numbers and bits on the other.
5
With the same mentioned view points it’s clearly understandable the double
reasonings that made fuzzy logic widely used in control theory: on one side there is the
approach to manage, for example, plants models (e.g. with their non-linearities), on the
other the ability to transfer human know-how in the controllers, and to make them
easily usable by operators.
The following paragraphs do not pretend to be a handbook on fuzzy logic: the
development of such a work would be as hard as unnecessary. Fuzzy logic theory is
mainly based on some central concepts, e.g. fuzzy sets, fuzzy rules and inference. In
this contest, we only want to draw reader’s attention on some principles of fuzzy logic
theory.
0 ⇔ x ∉ Α
µ A ( x) = (2.1)
1 ⇔ x ∈ Α
The nature of the universe in which such a definition acts is black and white type,
that is every element can only belongs or not to a set. On the other hand a fuzzy set
element can partially belong to a set, and the border of its belonging is shaded. With
this guideline we could give the following [44]:
µ A : X → [ 0,1] (2.2)
6
1 1
µΑ µΒ
0 0
0
x1 x2 x3 x4 x5 x6 x7 x8 1
x
0
x1 x2 x3 x4 x5 x6 x7 x8 x9 1 x
In classical set theory (Figure 2.1.a) elements x1 , x2 , x5 , for example, belongs to the
set A. In fuzzy set theory (Figure 2.1.b) the same elements belongs to the set B as well,
but with a certain rate, whose value is given by the corresponding value of
membership function. This means that any element partially belonging to a fuzzy set is
also a partial member of its complement. Note that the membership function of Figure
2.1.a can be even thought as a particular fuzzy membership function, coherently with
the fact that fuzzy set theory is an extension of classic theory.
The most common properties of traditional set theory, like commutativity,
associativity, distributivity, identity etc. can be directly applied to fuzzy theory, but
one should note that it is not true, in general, that, given a set A ⊂ X , then Α ∩ Α = ∅
(law of contradiction) and Α ∪ Α = X (principle of excluded middle). This is actually
another way to see how the essence of fuzziness lies in the lack of distinction between
Α and Α .
Nevertheless, the last two mentioned principles keep their validity when fuzzy sets
are crisp.
Lastly, we called X ⊆ n universe of discourse. Such a name seems to fit to fuzzy
logic better than, for example, a domain, if we mean fuzzy logic as an approach to
generic problems instead of a mathematical discipline.
The notions of intersection and union are extended and generalized in fuzzy set
theory with the concepts of T-norm and S-norm operators. In particular:
F ( x, y ) = F ( y , x ) (Symmetry) (2.3)
F ( F ( x, y ), z ) = F ( x, F ( x, y )) (Associativity) (2.4)
7
if x ≤ z and y ≤ v then F ( x, y ) ≤ F ( z , v) (Monotonocity) (2.5)
The functions Min and Max are examples of T-norm and S-norm operators,
respectively, and they can be used to easily characterize how fuzzy set operations
affect membership functions, as proposed by Zadeh:
∀x ∈ X : µ A ( x) = 1 − µ A ( x) (Complement) (2.8)
∀x ∈ X : µ A∪ B ( x) = max(µ A ( x), µ B ( x)) (Union) (2.9)
∀x ∈ X : µ A∩ B ( x) = min(µ A ( x), µ B ( x)) (Intersection) (2.10)
Figure 2.2.a: intersection membership function Figure 2.2.b: union membership function
Fuzzy relations characterize how fuzzy sets are combined with classic operations.
They extend the conventional notion of relation into a matter of degree: in general a
membership function obtained combining fuzzy sets belonging to X i ( i = 1,.., n )
universes of discourse is defined as: µ R : X 1 × .. × X n → [0,1] . In classical theory the
same definition would have had, as co-domain, the set {0,1}. Fuzzy relations are
simply kinds of fuzzy subset (i.e. membership functions) over a base set [13].
Thus generalizing the definition of Cartesian product it is possible to directly obtain
fuzzy relations from membership functions:
8
Definition 2.4: (Cartesian product). Given Ai ⊂ X i ( i = 1,.., n ) fuzzy
subsets, the Cartesian product is:
The next two definitions are needed to provide fuzzy logic with operators: in other
words, given the space in which fuzzy logic lives, it’s now missing the ability to
process fuzzy information, that is, for example, how to perform arithmetic operations
between fuzzy numbers.
Definition 2.5: (composition). The composition of two relations R o S is
defined as a membership function in X × V :
The importance of the last definition is that it allows extending every punctual
operation to the fuzzy equivalent, with the fundamental property that the classical
operation is a particular case of the fuzzy correspondent. Formally µ F is simply an
extended mapping of f .
In fuzzy logic variables are called linguistic variables. In order to assume fuzzy
values they are characterized by the parameters listed below. As an example, within
parenthesis there are values for the variable “velocity”:
a symbolic name (velocity);
the set of linguistic values they can take (slow, medium, fast);
the numeric domain in which the linguistic values take numerical values
syntactic (and the semantic equivalents) rules which defines the values.
9
Velocity
slow medium fast
degree of membership
0
0 40 100 160 200
Fuzzy rules associate a certain linguistic input variables with an output. In our
contest the input is connected to a process state, whereas the output represents a
control action. A set of parallel fuzzy rules defines a fuzzy rule base; it can be seen as
a function that maps the output space as from rules.
In order to give consistency to the fuzzy system, the rule base has to be complete
(i.e. any combination of inputs results in an appropriate output) and consistent (i.e.
there can’t be two or more rules with the same antecedent and different consequences).
The structure of the rules is:
Variables xi are the inputs to the fuzzy system, y is the output. Ai j and B j are
fuzzy sets. B j can be also a singleton. Note that, in general, membership functions of
an input variable should cover the entire input space, which is the universe of
discourse, whereas the output membership functions have not such a kind of
restriction.
When a new input value enters in a fuzzy system, it has to be evaluated by the fuzzy
system to produce the appropriate output, with respect to the involved rule. This task is
called fuzzy inference.
First, for each input the degree of membership to the correspondent fuzzy set has to
be estimated. For example, with reference to Figure 2.3 a velocity of 60 Km/h is said
to be (approximately) 80% “slow” and 20% “medium”. This step is often called
matching step, e.g. in [46].
With multiple input conditions rules (e.g. rules with OR and AND conditions) a
fuzzy conjunction operator has to be used to combine the matching degree of each
condition. Commonly used operators are, for example, Min and the product: the
former works cutting off (clipping) the top of membership function whose value is
higher than the matching degree. The latter performs scaling the membership function
proportionally to the matching degree.
10
Then output membership functions are evaluated with respect to the calculated
matching degrees. This will produce the conclusion that is the weighed consequent of
each rule.
Usually rules have partially overlapping conditions: a particular input involves
more than one fuzzy set to have a non-zero matching degree. This means that the
conclusions have to be combined (aggregation). A frequently involved fuzzy operator
is, for that purpose, the max function.
µ A1 ( x1 ) µ A1 ( x)
µ B1 ( y )
1 2
µ B ( y)
µ A2 ( x ) µ A2 ( x )
2 µ B2 ( y )
1
x1 x2
min(µ A1 ( x1 ), µ A1 ( x2 )) max(µ B1 , µ B2 )
1 2
Figure 2.4: Fuzzy inference. This is an example on how inputs and rules affect the
output membership function. The numbering introduced in (2.11-12) is used, and the
min() and max() operators are applied aggregate rules and clip fuzzy sets. On the last
“shape” on the right a defuzzification method, like center of gravity for instance, has to
be applied.
Finally, the output of a fuzzy system is very often requested to be a number. That is
to say that there is need to translate fuzzy sets in crisp sets. The procedure that converts
the fuzzy output in a numeric format is called defuzzification. There are many methods
to perform this step; probably the best known is the center of gravity technique. It
works evaluating the center of gravity of a mass whose shape comes from the clipped
or scaled output membership functions. The definition of center of gravity is the
following:
∫ µ B ( y ) ydy
cog ( B) = Y (center of gravity) (2.15)
∫ B
µ
Y
( y ) dy
Note that the mentioned property of completeness of rule base finds here its
analytical interpretation since an output not included in any membership function will
produce an indetermination in calculating (2.15).
11
Observe, at last, that the defuzzification is requested even if the output membership
functions are singletons. In that case the center of gravity coincides simply with the
arithmetic mean.
The control problem in this example is about the automatic selection of cycles for a
washing machine. The reasons for choosing such a kind of weird problem, at least
from a theorist point of view, are mainly two. The first is that the involved human
knowledge to be fuzzified is easily understandable due to the fact that it is a day-life
problem. The second is that it is a “historical” application, since in 1990 such a type of
fuzzy washing machine was actually developed and put on the market. It was one of
the first examples of using fuzzy logic to design consumer-oriented products.
Proposed solution: In order to reach the desired result we will proceed through the
following steps:
Linguistic variables are identified and fuzzified. This means that also membership
functions, fuzzy sets with their ranges are chosen;
Fuzzy rule base is built;
Outputs are aggregated;
Finally, output is defuzzified to produce the conventional numeric format output.
Step 1:
As it is demanded, the output of the fuzzy system is the intensity of the washing
cycle. In order to choose the optimal value for the output let’s assume, as input
variables, the laundry quantity and the laundry softness. To describe the inputs by
fuzzy sets, we can simply use the words we would probably use from the actual know-
how of daily experience. In that way, for example, we can associate to the laundry
quantity the fuzzy sets: “small”, “medium” and “large”. With respect to the laundry
softness it’s reasonable to relate it with the words “hard”, “normal” and “soft”. A more
precise description (that is: to add others fuzzy sets) might be done, for instance,
calling the intermediate fuzzy sets “hard normal” and “hard soft”. This is actually a
designer choice. It’s, in that sense, a trivial example, but it shows how design skills and
experience are combined.
For the output variable, the washing cycle, let’s consider four fuzzy sets: “delicate”,
“light”, “normal” and “strong”.
12
Note that numeric values for these variables make sense only when the project is
physically built, and they come from the technology involved.
Let’s consider the gaussian membership functions for input variables, and triangular
for the output. The real variables ranges, which are the universes of discourse, come
from the specific implementation that one wants to use. For fuzzy ranges let’s use,
through an adequate normalization, the interval [ 0,1] .
Degree of membership
Quantity Softness
0 0
0 1
Cycle
Figure 2.6: Membership function for the output variable “washing cycles”
Step 2:
As it will be mentioned in Chapter 4 with reference to Fuzzy Controllers, the
construction of the rule base is an essential task and it might present some difficulties.
Concerning our example the whole rule base is shown in Table 2.1. In every box there
is the result (the output) of the corresponding inputs. Two rules are listed below, as
examples:
IF the Laundry Quantity is Large AND the Laundry Softness is Hard THEN
Washing Cycles is Strong;
13
IF the Laundry Quantity is Normal AND the Laundry Softness is Normal Hard
THEN Washing Cycles is Normal;
Once more the human experience is widely employed. Heuristic conjectures take
place and the rule base construction “derive benefit” from them.
Laundry
Quantity
SMALL MEDIUM LARGE
Laundry
Softness
SOFT DELICATE LIGHT NORMAL
Step 3:
Operators min-max are used to aggregate rules. An example of the inference task is
shown in Figure 2.4.
Step 4:
The defuzzification is based on center of gravity method, thus it follows Equation
2.15. In Figure 2.7 a surface graph is drawn: for each set of input values it gives the
final defuzzified output values according to the designing choices.
14
0.7
Cycle
1
1
0.5 0.6
Quantity 0
Softness
0
Quantit Softnes
Figure 2.7: With The MATLAB Fuzzy Toolbox it is possible to display the relation
between output and input variables.
For instance, let’s suppose to have, as it is shown, a Softness fuzzy value of 0.183,
and a Quantity of 0.809. These are values that “live” in the normalized universe of
discourse. The reasoning produces the output value equal to 0.529.
15
Chapter 3
PID control
As already mentioned, PID controller is the most commonly used control algorithm.
Generally speaking it has some important functions: it can be used in feedback
systems, it has the ability to eliminate steady state error through integral action and it
can anticipate the future with the derivative action (e.g. [49]). The “theoretical”
equation that summarizes its behavior is, with reference to Figure 4.1:
1
t
de(t )
u (t ) = K e(t ) + ∫ e(τ)d τ +Td (3.1)
Ti 0 dt
where: u (t ) is the control variable and e(t ) is the control error given by:
e(t ) = ysp (t ) − y (t ) .
C ontroller P lant
y sp ( t )
u(t) y (t )
G c (s) G p (s)
e(t)
16
to emphasize the values of parameters that have to be set in tuning the controller, the
Equation (3.1) is presented in the form:
t
de(t )
u (t ) = K p e(t ) + K i ∫ e(τ)d τ + K d (3.2)
0
dt
1
U (s) = K E (s ) + E ( s ) + sTd E ( s ) (3.3)
sTi
K p ysp (t )
n1 n2
ysp e
y(t)
Kp Kπ
u
Controller Plant
The idea of PID control is that integral and derivative actions compensate lack of
performances of the simple proportional action. In order to get this point by simple
static remarks, let’s consider the model in Figure 3.2. Both the controller and the plant
are assumed to be modeled by a pure proportional action, that is:
u = K p ( ysp − y ) + ub (3.4)
yπ = K π (u + n1 ) (3.5)
The parameter ub represents a bias or a reset value. When the control error is zero,
the control variable assumes the value u (t ) = ub . Inputs n1 and n2 are disturbances.
It can be easily figured out that the relation between the plant output and inputs is:
K p Kπ Kπ
yπ = ( ysp − n2 ) + (n1 + ub ) (3.6)
1 + K p Kπ 1 + K p Kπ
17
to load noises n1 . On the other hand, if n2 ≠ 0 then n2 influences the system as much
as the set point does. To avoid this effect the loop gain should be not too high.
Moreover the bias ub ≠ 0 affects the system as n1 does. Therefore the only
proportional action can’t satisfy all these requests simultaneously. This feature can be
interpreted also in terms of available freedom degrees of a generic system in order to
satisfy a certain number of conditions: each freedom degree usually can satisfy only
one request. Moreover we argued based only a static model: dynamics also sets limits
(upper bound) on how large a loop gain can be . These questions show that the P-
action is not sufficient
An integrative action is usually thought to reduce the steady state error, and this is
easy to understand: if the control error is, for instance, positive, it will produce an
increasing of the control signal, whereas a negative error will generate a decreasing
control signal.
The derivative action is used to improve closed loop performances in term of
stability, that is to say: to satisfy phase margin requests. In fact instability can occur
because of process dynamics: a control action change can’t be immediately seen in the
process output because of propagation times. As a result, the control action is always
late in correcting errors. The derivative action performs (in “co-operation” with the
proportional action) being proportional to the predicted process output, where the
prediction is made by approximating the error at the next step with its Taylor series
expansion stopped at the first order:
de(t )
e(t + Td ) ≈ e(t ) + Td (3.7)
dt
Thus the control signal is proportional to an estimation of the control error at time
Td . In that sense the D-action is said to predict the process output.
3.2 – Implementation
18
In the derivative path of a PID a problem occurs: the gain of this part increase as
frequency increases. This means that a fast change in the input signal can make the D-
action being very strong: for instance, a step signal has an infinite derivative. A real
step signal can’t have, of course, an infinite slope; nevertheless it can generate values
too high for the system stability, in fact the measurement noise would benefit by all the
available gain.
Thus very often the derivative transfer function (i.e. in Laplace domain) is
approximated, in order to reduce the gain [16], by:
sTd
sTd ≈ (3.9)
sT
1+ d
N
19
Chapter 4
4.1 – Overview
where F is the fuzzy control law. This equation has not to be considered as a
difference equation: it indicates only that the FLC can use information from previous
steps over the last one. This means that information about rate of change in variables is
available, since we can write, referring to e(k ) , for instance:
When input variables are chosen it has to be considered that every new input will
add anything but a negligible contribution to increment number of rules. In fact the
number of rules grows exponentially with number of inputs. For instance, if we assume
to use two membership functions for inputs, then covering all the occurrences will
cause rules growing at least proportionally to 2nx , where nx is the number of input
fuzzy sets. This is a rough evaluation, but practice reveals that in real applications the
number of inputs is seldom greater than three or four.
The choice of variables to use is demanded by the class of fuzzy controller. Since
the target of a control system is to keep the error e(k ) small, usually the change of
error, defined in Equation (4.2), is considered, besides the real error, obviously. It
20
gives information about the derivative of error. Therefore it can be used to figure out
how quickly the error is changing, and if it is decreasing or not. Additionally, input
(i.e. operating point) or output to the system ought to be employed in order to notify
the controller about changing in operating point. In fact one should note that providing
the controller with information only about error and its changes, it will make the
controller behaving in the same way at different operating points, as the error is
interpreted to be the same (in a fuzzy set sense), no matter if the plant is, as always it
is, non-linear.
If the fuzzy controller is designed as a cascade controller, then its output is a control
variable that is forcing the plant. Otherwise, if the fuzzy controller is a supervisor then
its output is a general parameter (eventually a set of parameters) that will drive the real
controller.
Input and output variables of the fuzzy controller must be expected to belong to
certain intervals. These intervals have to be specified in the fuzzy controller. In fact,
with regards to input variables: every possible input value should be fuzzified, thus
fuzzy sets have to cover all the range of varying. Given the error e(k ) = ysp (k ) − y (k ) ,
its range is defined by the maximal and minimal values of variables that identify it. It
is reasonable to assume that set point and the measurement fluctuate in the same
interval. Hence, if ysp (k ), y (k ) ∈ [ ymin , ymax ] then e(k ) ∈ [emin , emax ] , where:
In the same way, the change of error ∆e(k ) belongs to the range [∆emin , ∆emax ] ,
with:
*
imax − imin
*
x* = f ( x ) = ( x − imin ) + imin
*
(4.7)
imax − imin
21
where x* represents the new normalized variable.
(*)
If the ranges are taken symmetric with respect to the origin: imax = −imin
(*)
= i (*) then
i*
Equation (4.7) becomes: x* = x . Therefore we define:
i
i*
ki = (4.8)
i
as a general scaling factor. The reasoning mechanism in the fuzzy controller applies
to the normalized values. The scaling factors are applied also to output variables. It’s
obvious that the simplest shape of the scaling factor given by Equation (4.8) can be
used if the input variable interval is (almost) symmetric. Otherwise, if this interval is
non-negative (or non-positive) then Equation (4.7) has to be considered. However the
normalized interval is chosen by the designer, thus it can always be taken symmetric.
The choice of the number of fuzzy subsets is another important task: when a
number has to be evaluated, it can be said to be only small, medium or large (with
respect to certain implicit estimation criteria), but a more accurate assessment could be
done adding intermediate sets like quite small and quite large. Thus it’s plain that
accuracy might be improved unlimitedly: the course of the fuzzified variable could be
classified in several fuzzy sets and a very thorough fuzzy description will be achieved.
An upper bound to the amount of fuzzy sets is given by the growth of the number of
rules: having a large amount of sets will increase the number of rules, in order to keep
completeness of the fuzzy system. To clarify this aspect if we consider, for instance, a
fuzzy system with two inputs, then a new fuzzy set added in one of those inputs, will
make rules number rising, by completeness, as much as the number of sets of the other
variable.
A good remark is that it is not necessary to have the same shape and dimension (i.e.
areas) for fuzzy sets. Therefore it follows that different dimensions of sets can be
selected. This technique is useful to deal with non-linearities: where strong non-linear
behaviors are handled, a local thick set of membership functions could increase
performances. On the other hand, linear-like might need less sets, thus rules number
can be kept locally small. However, this is not a straightforward way to proceed,
because a fuzzy system introduces by itself non-linearities.
The rule base choice depends, as already pointed out, on input and output variables
and fuzzy subsets; but its roots are, above all, in the designer approach, skill and know-
how. It is surely the most difficult and crucial aspect in outlining a fuzzy controller.
The construction of the rule base can follow basically two methodologies [44]. The
former is based on the concept of template: when a fuzzy controller is designed
starting from a template it indicates that common and well-known knowledge coming
from designers is applied. The templates should be meant as general guidelines in
developing the rules. A very general template rule base is for example the Mac Vicar-
Whelan’s. It can be used to build problem-oriented rule bases for PID-like fuzzy
controllers, by modifying, add or excluding its rules. Such an approach is
recommendable, for example, when an a priori knowledge of the rules is not available:
from a template some rules can be extracted to provide a reasonable starting point.
The latter method is based on intuitive knowledge and experience. The fuzzy
controller is, in that sense, thought as an expert system. The rule base source can be
expert operator’s experience and a good knowledge of the problem to solve. This
22
method probably is more strictly related to the original interpretation of fuzzy logic
than the previous one. In the first method, fuzzy logic is a mathematical approach to
implement handbook rules. The second provide the connection between human
experience and heuristic strategies on one side, and the controller on the other one.
The combination of both of these ways can be also an interesting alternative: first a
controller could be designed as a “handbook prototype”, following principles of a
template. Then, test and incoming experience can improve and personalize the
effectiveness of the rule base.
Considerations on the kind of rules should be done: the rule type shown in Equation
(2.14) is said to be a Mamdami rule type. Its main characteristic is that the
consequence is a fuzzy proposition, as the antecedents are. Another kind of rule is
commonly adopted, the Sugeno rule type. The general form of this kind of rule has, as
a consequence, a function of the controller inputs.
A set of Sugeno rules can be seen as a set of local controllers, each one with its own
set of controller parameters. Thus different controller parameters for different input
combinations are defined. It acts as a sort of gain scheduler, if the consequences
functions are linear. Although the ideas in Mamdami’s and Suogeno’s rules come from
different reasoning, it can be shown that in practical implementations rules can be
equivalent. This occurs when in Sugeno reasoning the output functions (i.e. the
functions adopted as rules consequences) are constant.
A practical consideration takes place in choosing which of kind of rules to apply. In
fact, actual implementations of standard PID controllers are very different from the
textbook version and, above all, more complicated. This means that Sugeno type rule
results to be more problematic because every time the fuzzy system has to produce an
output, there is a function to be evaluated in each rule, possibly also non linear, with
different parameters. Therefore when gain scheduling technique is invoked Mamdami
rules are simpler and more efficient to apply.
1
input1
Degree of membership
Figure 4.1: Fuzzy sets can be chosen thicker in regions of strong non-linearity.
23
Once the rule base has been written down reasonably, a tuning step of the fuzzy
controller is required. In fact rule base is made trying to lead to an expected control
action, and this task is only the framework of the controller.
It’s worthwhile to emphasize that for our purpose the tuning task in this Chapter is
referred to the fuzzy controller meant as a generic fuzzy system. Therefore it deals
with general aspects of the controller that are not connected with the controlled
process. Tuning with respect to the process is discussed in Chapter 5.
The tuning of a fuzzy controller is a significantly sophisticated phase, especially if
we compare it with the tuning of a conventional controller. In fact a fuzzy controller,
being a fuzzy system, is extremely flexible; its behavior is determined by a copious
number of parameters. These parameters come from, for example, defining
membership functions, fuzzy subsets and the inference procedure.
A few organized tuning methods have been presented in literature, but they mostly
are concerned about specific problems (see, e.g. [30]). This lack of available methods
makes the tuning to be performed usually by trial and error methods.
Tuning by trial and error can be executed by introducing scaling factors, varying the
position, within the borders, and the shape of membership functions. “Shape” is here
meant as a general varying of the area, keeping the same kind of membership function:
for instance if we are handling a triangular membership function, then moving the
peaks (making them sliding) of the figure is a “shaping” actions, and the nature of the
membership function is not modified. A graphic example of this concept is, for
example, Figure 4.1.
The scaling factors are an essential aspect of tuning. They change the normalized
interval of input and output; therefore they operate a transformation of the space state,
as inputs are error and change of error. In general, high values of the scaling factor
e*
related to error, ke = , improve responsiveness of the system but they increase the
e
overshoot and thus the stability might be compromised. Moreover a fast convergence
∆e*
is bounded by high values of both ke and k∆e = that is the scaling factor of the
∆e
change of error.
When insufficient results are obtained locally, that is: the system does not reach the
expected performance into certain subintervals of the universes of the discourse of
input variables, then fuzzy subsets are “moved” into the prescribed range as already
mentioned above. The same tuning can be done for output variables, but if the output
membership functions are singletons then this task is easier, because a change in the
value of a singleton will affect only the support of the corresponding rules.
The choice of the kind of membership function (e.g. triangle, trapezoid, gaussian
etc.) might be also a designing task. But, at least in control theory, it is seldom taken
into consideration because suitable results are usually achieved using very simple
membership functions.
24
4.3 – Reliability
25
Chapter 5
5.1 – Generalities
The task of tuning a multivariable controller with respect to the involved process is
considered. In a multivariable process the design of the controller must take into
consideration interactions between process variables. This is not a trivial problem.
The simplest way to proceed is to have scalar controllers, each one of these is
forcing a control action only on one channel. However, if the interactions are enough
strong so that a scalar approach is not sufficient, then a multivariable controller has to
be used. If we focalize our attention on PID controllers, then for a generic n × n
process the controller has n × n × 3 parameters to tune. Geometrically, tuning such a
controller corresponds to search a point or a set of points in the n × n × 3 space.
A difficulty in that case is that in multivariable control the relations between
modifications in control parameters and response of the system are not straightforward
to be figured out. Practically it means that parameters that in the scalar case have a
predictable action on the process, in the multivariable case they simply have not.
Therefore desired performances and robustness characteristics of the system are not
easily achievable. This means that it’s almost impossible to adjust parameters for a
multivariable controller by trial and error. Automatic tuning methods are required. In
literature many tuning methods have been presented and tested. The choice of the best
method is usually related to the specific purpose.
Moreover if using a fuzzy system, the number of parameters increases quickly and
is even greater than in the traditional approach. While a big number of parameters
gives more degrees of freedom in designing, it becomes harder to keep a general
outlook of the system.
A first alternative is to consider a PI controller, thus the derivative action is not
used. A smaller number of parameters is therefore involved. The feasibility of this
choice has been considered in Chapter 3. Several methods have been proposed to
facilitate the tuning of multivariable PI controllers [30].
26
5.2 – Problem definition
Y(s)=G(s)U(s) (5.1)
where Y(s) and U(s) are, respectively, the vectors of transfer functions of output
and input signals. In this context we assume the number of elements of each vectors to
be two. Thus the matrix G(s) is 2×2 .
A conventional MIMO PI controller is described by a transfer function matrix:
1
U(s)= K p +K i E(s) (5.2)
s
where E(s) is the vector of the transfer functions of measured errors and:
are the gain matrixes of the proportional (P) and integral (I) parts of the
multivariable controller. Terms on the main diagonals of the matrices correspond to the
direct action of one channel on itself. While terms on the secondary diagonals
represent the cross control actions. Therefore control scalar variables are, in the
Laplace domain:
1 1
u1 ( s ) = (k11p + k11i )e1 ( s ) + (k12p + k12i )e2 ( s )
s s
1 i 1
u2 ( s ) = (k21p + k21i )e1 ( s ) + (k22p + k22 )e2 ( s )
s s
With this representation we highlight how each channel interferes the other one. A
PI scalar controller has two parameters to set. With a simple 2 × 2 PI controller (that is
actually the simplest multivariable controller) the number of parameters has become
eight. With a 3 × 3 PI controller eighteen parameters would have to be adjusted. When
vector approach is used, and interferences are taken into account, number of
parameters grows very quickly.
Another thing to be considered is that when a step occurs in one of the input
variables, there is a fast and big change in the system conditions. At the beginning the
output is far from the set point because the controller has still to act. This means that
the control parameters are changing, as it is expected. Therefore if we consider, for
instance, the channel “number one”, a change in ysp1 (t ) will affect, immediately, e1 (t )
and ∆e1 (t ) . The new inputs to the controller will force changes in control parameters.
It can be seen, by Equations (5.4) and (5.5) that even if e2 (t ) and ∆e2 (t ) are not
changing (or at least if they are changing because of previous adjustments, without any
27
regard about the last step change) the control variable on this channel, u2 (t ) , changes.
And it is not exaggerated to say that probably the change is important. In fact e1 (t ) is
big and its coefficients k21p and k21i come from the previous evaluation. Hence
everything changes.
One could think to set equal to zero coefficients of secondary diagonals in K p and
K i matrices. Actually this is a simpler way to develop the controller, and it
corresponds to the scalar case. The number of control parameters is half of the
previous case. However, in this case interferences inside the process cannot be taken
into consideration because the controller parameters on each channel vary only
depending on the correspondent variable. Moreover fewer parameters are involved and
this could give less autonomy in designing.
PI
U1 PI
PI controller 2 Y1
PI controller 1
PI controller 3 PI controller 4
Y2
U2 PI PI
The present tuning method has been developed for multivariable PI-controllers and
can be seen as an improved extension of the Davison’s method. Davison proposed to
take the tuning matrices both for proportional and integrative part. They differ only for
a fine tuning parameters. Davidson tuning matrices are:
K p = δG −1(0)
Ki = εG −1(0)
This method aims to decouple the system at low frequencies. Pettinen and Koivo
modified this method in order to achieve decoupling at high frequencies as well.
28
It has been found out in [20] that their method can achieve good performances,
even if no general rules exist to state if one method is better than others for every
application.
&
x=Ax+bu
(5.4)
y=Cx
CB CAB CA2 B
G(s)= + 2 + 3 + ... (5.5)
s s s
The method suggests to use the first term of the series expansion as a rough tuning
matrix for the proportional part of the controller:
K p = δ ( CB )
−1
(5.6)
The reason for such a kind of choice originates from evaluating the limit of the
transfer function with the Laplace variable. In fact, since:
CB
G(s) → as |s| → ∞ (5.7)
s
then
I
G(s)K p → δ as |s| → ∞ (5.8)
s
therefore its inverse is used as a rough tuning matrix for the integral part K i :
The parameters δ and ε are intended to be for fine-tuning. Often they can be
selected to be equal. Usually tight controller tuning can be achieved by selecting large
values for these parameters, whereas smaller values produce looser tunings.
29
A problem arises when the matrix CB is not invertible. In that case [29] the tuning
matrix should assumed to be:
K p = δ ( CB + CAB )
−1
(5.11)
The matrix CAB is taken from the second term of the series expansion of Equation
(5.5), so that the essence of the method is kept.
If one element of G(s) is such that the degree of the element’s denominator is two
or more greater than the degree of its numerator, then the corresponding element in
matrix CB is zero. Thus the matrix CB will be singular if all elements of G(s) have
this property. An approach to that problem is to reduce the model order before
computing the tuning matrices. Therefore in this case, firstly all elements of G(s) are
reduced into first order transfer functions. Then the method is applied to the reduced
model.
This method has been originally developed for tuning of multivariable PI
controllers. If an extension to the PID case is needed, one possibility might be to
assume for the derivative part the same tuning matrix as for the proportional part.
Note that the method, as long as it has been presented based on a linear system (see
Equations: (5.4), (5.6), (5.10)), would presume a linear model of the process to be
available. However Equations (5.6) and (5.10) can be computed even from step
response experiments, without any assumption of linearity on the process.
30
Chapter 6
Gain Scheduling
6.1 – Overview
Realistic models of engineering systems often are non linear. One consequence is
that the dynamic behavior of a system to be controlled changes with the operating
region. The notion of gain scheduling is widely applied to such a kind of situation. A
definition has been proposed in [12]:
Historically the roots of gain scheduling come after the Second World War, when
aviation technology started dealing with jets and supersonic airplanes. Gain scheduling
was applied to autopilot systems. Other fields of applications are automotive engine
control, for example: gains scheduling came as a response to de demand of fuel
economy and exhaust reductions. In power electronics gain scheduling has been
applied for instance to control systems for switch-mode AC/DC converters [5] or for
Load Frequency Control [36].
How to apply gain scheduling? The first step is to linearize the model about some
operating points. The linearization can be based mainly on two different approaches:
the evaluation of the Jacobian is probably the most common and well-known way.
Another method is the quasi-linear parameter varying scheduling (or simply quasi-
LPV scheduling). It is based on the idea of rewriting a process model in which non-
linear terms have been replaced with time-varying terms that are then included in the
scheduling variable.
Then linear design methods are applied to the linearized model at each operating
point, in order to arrive at a set of linear feedback control laws that perform
satisfactorily when the closed-loop system is operating near the respective operating
points. What one should have is, therefore, a set of linear controllers corresponding to
the different linearizations.
The gain scheduling is then intended to handle non linear aspects of the design
problem. The basic idea involves interpolating the linear control law designs at
intermediate operating conditions. That is: a scheme is devised for changing
31
(scheduling) the parameters (gains) in the linear control law structure based on the
monitored operating condition.
Many types of gain scheduling methods have been experimented. Usually the
model is arranged so that the operating condition is specified by the values of one or
more variables of the process, and the gains are scheduled according to the
instantaneous values of these scheduling variables.
As probably it is already clear to the reader, the main advantage of the gain
scheduling approach is that linear design methods are applied to the linearized system
at each operating point. The wealth of linear control methods, performances measures,
design intuition and computational tools can be brought to support control design for
general, multivariable non linear processes. For example frequency domain notions
can be used in specifying performances, while this tool is much less understood in an
explicit non linear process. Moreover, methods of robust control for linear systems can
be applied to counter uncertainty in the plant parameters in order to obtain robustness
in the final gain scheduled system. Another advantage is related to the fact that a gain
scheduled control system has the ability to rapidly respond to changing in operating
conditions. This means also that it is crucial to choose the scheduling variables that
reflect the process dynamic so that changing in the operating conditions are
immediately notified.
X
Figure 6.1: Gain scheduling based on a series of local approximations: the global controller is
obtained by patching the overall model by a series of local controllers associated with the
linearization of the model.
Gain scheduling does not require strict assumptions on the plant model, thus it can
be used also without an analytical model of the process. This is indeed an interesting
feature because industrial applications need very often to deal with databases, i.e.
inexact models.
On the other side some difficulties can slightly compensate this advantages. One
difficulty is the selection of appropriate scheduling variables. General proposals have
not yet reached and rules of thumb mainly show the way to the designers. Practice
shows that scheduling variables selection usually is based on the “physics” of the
situation, and on particular characteristics of the process.
Perhaps the major difficulty in gain scheduling design is the selection of the
scheduling procedure, which is the control law that varies gains changing as a function
32
of the scheduling variables. This aspect is actually seldom discussed in literature, and it
appears that scheduling is currently an art, and simple curves-fitting approaches are
used. On the other hand it is also true that as complexity increases, scheduling become
much more difficult to be managed satisfactory with not general methods.
Another aspect of gain scheduling is that the overall performances of the control
system must be checked by deep simulation studies. This is a consequence of the local
use of linear design methods. However, one should note that in real application most of
non linear methods are local as well.
When stability has to be studied it is difficult to perform an overall analysis.
Usually stability can be guaranteed only locally and with slow time variations.
However gain scheduling has become a popular reality in many applications. Rugh
wrote [32]: “Machines that walk, swim, or fly are gain scheduled”.
Gain scheduling has been studied also on multivariable systems [16]. However, up
to now, none of these control design studies have led to implementation of such
multivariable control laws to operational and running processes. One of the difficulties
with implementing the gain scheduled multivariable control laws is the complexity of
these control laws, due to the large number of controller parameters that need to be
scheduled.
With the evolution and increase of studies on gain scheduling many ideas have been
investigated. For a long time gain scheduling appeared mainly to be a point of view to
approach control problem instead of a branch of control theory. Only in the last ten
years gain scheduling has been much more considered a real design methodology for
non–linear control, e.g. in [1] and [3]. Nevertheless literature doesn’t exhibit yet
uniform analytical treatments.
We shortly show a formalism proposed by Rough [32], as it appears the best one
that summarizes exhaustively many years of studies gain scheduling oriented.
Given the non-linear plant:
x& = a ( x, u, w, v )
z = c1 ( x, u, w, v ) (6.1)
y = c ( x, w, v )
2
where: x is the state, u is the input, z denotes an error signal to be controlled, and
y is a measured output available to the controller. Both v and w denote exogenous
inputs to the plant. They may be easily confused, but v represents external signals like
references, disturbances etc. The linearization is computed with respect to v , while w
represents the parametric dependence of the plant on exogenous variables.
A plant equilibrium point ( xe , u , ue , we ) is a point such that:
a ( xe , ue , we , ve ) = 0 (6.2)
33
Let’s consider σ a scheduling variable. It is function of w and y . We then affirm
that:
a ( xe (σ ), ue (σ ), we (σ ), ve (σ )) = 0 σ ∈S (6.3)
Associated with this equilibrium family there is the error equilibrium family:
ze (σ ) = c1 ( xe (σ ), ue (σ ), we (σ ), ve (σ )) σ ∈S (6.4)
ye (σ ) = c2 ( xe (σ ), we (σ ), ve (σ )) σ ∈S (6.5)
For example, if the target is that z (t ) tracks a constant reference input r with zero
steady state error, then we should have:
a ( xe (σ ), ue (σ ), we (σ ), ve (σ )) = 0
ze (σ ) = 0
x&δ A(σ ) B1 (σ ) B2 (σ ) xδ
z& = C (σ ) D (σ ) D (σ ) z σ ∈S (6.6)
δ 1 11 12 δ
y&δ C2 (σ ) D21 (σ ) 0 yδ
∂c1
A(σ ) = ( xe (σ ), ue (σ ), we (σ ), ve (σ )) (6.7)
∂x
∂c
D12 (σ ) = 1 ( xe (σ ), ue (σ ), we (σ ), ve (σ )) (6.8)
∂u
34
xδ (t ) = x(t ) − xe (σ ) , uδ (t ) = u(t ) − ue (σ ) . (6.9)
Thus, for each fixed σ , Equation (6.6), that is the linearization, describes the local
behavior of the non-linear model of Equation (6.1), about the corresponding
equilibrium.
Given a set of equilibrium values σ 1 ,..,σ K of the equilibrium family σ ∈ S , let’s
assume to have evaluated a linear controller for each value according to the
specifications. Thus we describe a linear controller family as:
x&δc F k G (σ ) xδ
c
c = k k = 1,.., K (6.10)
u&δ H E k uδc
x& c = f ( x c , y, w) , u = h ( x c , y , w) . (6.11)
At the equilibrium, Equations (6.1), (6.2) and (6.10) show that there must be a
function x& c (σ ) so that:
f ( xec (σ ), ye (σ ), we (σ )) = 0 (6.12)
ue (σ ) = h( xec (σ ), ye (σ ), we (σ )) (6.13)
u = H (σ )[ x c − x c (σ )] + E (σ )[ y − ye (σ )] + ue (σ ) ,
∂
h ( xec (σ ), ye (σ ), we (σ )) = E (σ ) σ ∈S (6.14)
∂y
The most direct way to satisfy these equations is to consider the following
controller:
x& c = F (σ )[ x c − x c (σ )] + G (σ )[ y − ye (σ )] ,
u = H (σ )[ x c − x c (σ )] + E (σ )[ y − ye (σ )] + ue (σ ) . (6.15)
35
Chapter 7
Case study
7.1 – Presentation
36
Kp
Ki
Fuzzy Scheduler
ε
In1 Fuzzy Tuner
δ Out1
1 1
2 2
In2
PI Controller Process Out2
These control parameters are optimized for the work point, which reasonably
corresponds to the middle point of each interval. Thus, when the set point moves from
one range to a neighborhood range, the system is in the worst operating condition (that
is the distance between the work point and the real set point is the largest, relatively to
the interval length).
Another consideration that one should keep on mind, is that the process we are
handling is not linear. Therefore better or, more realistically, even worse occurrences
can take place, depending strictly on the local non-linearity in the process.
Fuzzy logic is used in the scheduler to deal with these non-linearities. The idea is
that best control parameters cannot be obviously the same for the whole interval in
which they are defined. Moreover the conjunctions between intervals might need some
specific evaluations. In fact, the error of the linearization, i.e. the difference between it
and the real value can be relatively high.
Nevertheless note that the different derivatives that two linearizations have in the
border point between two intervals do not affect the possible hitch that can be found in
that point. In fact the parameters concern only the work points. Therefore the fuzzy
scheduler works modifying in a fuzzy way parameters between intervals, so that the
ability of fuzzy logic to fit non-linear functions is widely involved.
Thus, when the input signal changes, that is a new set point is defined, the fuzzy
scheduler receives a new input. This input is then processed in the fuzzy system so that
the output is proposed.
The controller chosen is a multivariable PI controller. Its control parameters are the
two gain matrices, K p and K i .
As those matrices are defined (Pettinen-Koivo method), parameters for fine-tuning
have to be calculated. Experimentally it can be seen that usually a stronger control
action is achieved by choosing high values of fine-tuning parameters, while small
values trigger weaker actions.
37
In fact, the gain scheduling, even being fuzzy, needs an additional tuning, because
of the linearization, whose implications we already pointed out. Furthermore, the
presence of two different interfering channels makes the control even harder. In the
proposed solutions those fine-tuning parameters have been made variable with the set
points through a fuzzy system. They are supposed to take care of the real fine-tuning of
the system. They have been chosen to be equal, because it was figured out that
different values could engender oscillations and instability.
A fuzzy system has been developed for optimizing the choice of their values
depending on the requested control actions.
The whole development of the control system is based on linearization of the
involved process. Therefore a mathematical model of the process is not actually
demanded. The data source can be only experimental information, and from them a
linear model can be developed. This feature is remarkable because it shows the way to
use multivariable fuzzy gain scheduling techniques in industrial applications.
x&1 (t ) = x2 (t ) − u1 (t )
x& (t ) = [4.75 − 4.5 x (t )]u (t ) − 0.7[ x (t ) − u (t )] − 0.25 x (t )
2 1 2 2 1 1
(7.1)
1y (t ) = x1 (t )
y2 (t ) = x2 (t )
where ui (t ) are inputs, yi (t ) are outputs and xi (t ) are state variables. A feasible
block-type representation is shown in Figure 7.2.
The generic linearization, is:
x&1 0 1 x1 −1 0 u1
x& = −4.5u − 0.25 −0.7 x + 0.7 4.75 − 4.5 x u
2 20 2 10 2
y1 1 0 x1
y = 0 1 x (7.2)
2 2
x2 = u1
4.75 − 4.5 x10 (7.3)
x1 = 4.5u − 0.25 u2
20
38
4.5
4.75-4.5x1 1 x1
s
4.75
.25
Input 1 x1’ Output 1
.7(x2-u1)
Input 2 .7 .25x1 Output 2
1
x2
s
(4.75-4.5x1)u2 I
The linearization of x1 = f (u2 ) has been achieved through five linear pieces, as it is
shown in Figure 7.3.
1.4
1.2
0.8
x1
0.6
0.4
0.2
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
u2
Figure 7.3: Proposed linarization for x1 = f (u2 )
Not all elements of gain matrices are varying with the work points, but this is
strictly related to the process. In Table 7.1 are represented the values assumed by gain
matrices elements in different intervals of linearity.
39
Zone 1 Zone 2 Zone 3 Zone 5 Zone 5
k11p 1 1 1 1 1
k12p 0.2662 0.3965 0.6691 1.2471 2.429
k21p 0.1996 0.3418 0.5711 0.9922 1.9582
k22p 0.28513 0.4883 0.8159 1.4174 2.7975
k11i 0 0 0 0 0
k i
12
1 1 1 1 1
k i
21
0.10015 0.2869 0.8208 2.4368 9.7758
k i
22
0.0651 0.1224 0.4155 1.3409 5.0175
Table 7.1: Values of gain matrices elements for each interval (“Zone”) of linearity
The gain scheduler detects the input signal, i.e. the set point, and it produces, as
output, the values for elements of gain matrices of the PI multivariable controller.
Therefore it has, as input signals, the set points of the system. As output, it has the
mentioned matrices K p and K i . A representative scheme is shown in Figure 7.4.
kp11
kp12
Set 1 In1 Out1 kp21
Point 1 kp22
DeNormalization 1
Set 1
In1 Out1 ki11
Point 2
ki12
Fuzzy Logic
DeNormalization 2 ki21
Gain Scheduler
Mux Demux ki22
40
Thus: since control parameters come from a linear model, which is the generic
approximation of the system, and since the tuning equations are linear, it follows that
the relationships between set point and parameters are linear.
Therefore normalizations blocks contain the implementation of Equation (4.7), with
[0,1] being the normalized interval, and with maximum and minimum of output values
corresponding to the equivalent values taken into consideration in the set point.
Note that a fuzzy system is non-linear, but it doesn’t affect the linear mapping from
an interval to another one.
Membership functions of the scheduler are shown in Figure 7.5. The rule base is
simply a correspondence between intervals (fuzzy sets) and control parameters.
m f1 mf2 m f3 m f4 m f5
1
Degree of membership
0 .8
0 .6
0 .4
0 .2
0 0 .1 0 .2 0 .3 0 .4 0.5 0 .6 0 .7 0 .8 0 .9 1
Ys p
Figure 7.5: Membership function for input variable in the fuzzy scheduler
The control parameters turned out by the scheduler are supposed to present their
best effects during set point changes, like steps signals. The choice of the parameters
comes from the Pettinen-Koivo algorithm. For this algorithm the more the frequency
of the signals is high, the more one could expect good performances. Therefore during
input step signals the fuzzy scheduler is expected to work properly. However, due to
approximations from the non-linear model, the parameters cannot achieve optimal
results. The scheduler, as it has been concerned in this work, takes as inputs only the
set points. Therefore the presence of a fine-tuning system is compulsory.
The fine-tuning parameters δ and ε are the choice as output of the fuzzy tuner. As
inputs, set points and measured errors are considered.
41
1
1 1
e1 Discrete Filter
Ysp1
2
1-z -1 de1
Y1 1
Discrete Filter
1
1 d,e
1 Fuzzy Logic
3 Tuner
e2 Discrete Filter
Ysp2
4 de2
1-z -1
Y2 1
Discrete
A rule base has been developed and successfully applied to the systems.
Experimentally it was discovered that δ and ε performed better if taken of the same
value. Thus a common rule base had to be studied. Difficulties in choosing rule-base
were related mostly to the fact that contrasting actions can be needed sometimes. This
means, for instance, that the tuner could have to manage opposite control situations. A
problem, in this case, arises in selecting which action the controller should prefer.
If the knowledge on the system is not enough deep, there is no way to be sure that
the action the controller is acting will be, in the best case, the right one. The risk is to
generate, with a strong and incorrect action, oscillations and possibly the failure of the
control.
An alternative is what we might call a “do nothing” procedure. The idea starts from
the hardest case, which is when the two channels need opposite kinds of action. The
central consideration is that the system is already going, or at least we presume it, to a
stable situation, due to the scheduling. “Do nothing” means: “wait, and see how the
overall system behave”. In fact the tuning algorithm, by itself is supposed to be
enough.
When something changes (i.e. the derivative of one error is going to zero or, even
better, it changes sign, that is the correspondent error is decreasing), and the worst
situation is running out, the controller may start “doing something” that is: changing
the parameters.
When the two channels still require different actions, but one of them needs a softer
action, it has been chosen the control action to prefer more the demand of the channel
that needs more control.
42
When measured errors are going in the same “direction”, that is they have similar
relative bigness, and derivative, obviously there is no doubt in choosing the control
action, because there is not ambiguity.
Therefore let’s summarize the inspiring guidelines for the tuner:
If the errors need strongly opposite control actions, then “do nothing”;
If the errors need opposite actions but not heavily, then perform a soft action that is
a mid point between the requests;
If the errors are coherent, then perform the action, as it is demanded.
Note that even for coherent control actions there could be a problem with the
requested power. We apply the same rule as for “weak” contradictories actions, That
is: evaluate a medium action, softly moderated, to avoid instability warning.
For the fuzzy system, as we already mentioned, inputs are errors and their changes.
The output is a normalized gain. After the normalization it represents the values of δ
and ε .
The fuzzy rule-base has been practically developed as follow: firstly the need of
every channel has been fuzzified individually. Then the two rule-tables have been
combined following the principles shown above, obtaining one 7 × 7 table. Therefore
39 rules have been imposed.
BB=”big-big” SB=”small-big”
Abbreviations: BM=”big-medium” SM=”small-medium”
BS=”big-small” SS=”small-small”
U=”unitary” DC=”Do nothing”
∆e(t )
Positive Zero (Z) Negative
e(t ) (P) (N)
Positive (P) BB BM BS
Zero (Z) U U U
Negative SB SM SS
(N)
43
SS SM SB U BS BM BB
SS SS SM SM SM SM SB DC
SM SM SM SB SB SB DC BS
SB SM SB SB DC DC BS BM
U SM SB DC DC DC BS BM
BS SM SB DC DC BS BS BM
BM SB DC BS BS BS BM BM
BB DC BS BM BM BM BM BB
SS SM SB U BS BM BB
0 1
Figure 7.7: Correspondences between linguistic set and numerical values.
1
z e ro
n e g a tiv e p o s itiv e
0 .8
Degree of membership
0 .6
0 .4
0 .2
-1 -0 .8 -0 .6 -0 .4 -0 .2 0 0 .2 0 .4 0 .6 0 .8 1
e rro r 1
44
1 zero
negative positive
Degree of membership
0.8
0.6
0.4
0.2
1 zero
negative positive
0.8
Degree of membership
0.6
0.4
0.2
1 zero
negative positive
0.8
Degree of membership
0.6
0.4
0.2
45
7.5 – Trial and error: manual adjustments
∂
SCL (7.5)
∂kijx
can be considered. This task is strictly related to the particular process under control
and no general rules are applicable. Therefore analytical evaluations could be given for
example in terms of step response, i.e. rise time, overshoot, settle time etc.
Obviously, the fact that the process is multivariable and non linear is an enormous
obstacle in performing such kinds of analysis, because the influence of an element can
be extreme in some operating points and negligible in others. Therefore the uncertainty
in obtaining useful results doesn’t justify an analytical investigation. For that reason
trial and error is still the most reasonable procedure.
What might be found out in this way is that the overall system performs better if
some elements of gain matrices K p and K i are multiplied by constant values, which
can be greater or smaller than the unit.
With regard to the gain scheduler, what is mainly important is that the linearization
is enough detailed, that is: the maximal error between process and its approximation is
small. If the fine-tuning doesn’t make available satisfactory results it is requested to
revisit the linearization. We would highlight that this task is anything but easy:
interferences between variables are often unpredictable.
46
7.6 – Simulation and results
In order to test the system performances, random sources has been put as inputs on
both of the variables. Those sources vary within the whole range of scheduling.
Moreover no limits have been put in the height of the steps. In that way they could
be very affecting the system, so that the system had to work in all possible and hard
operating conditions.
It’s worth to put our attention on Figure 7.13. Sometimes the output seems to have a
spikes type of behavior. As it is possible to see comparing Figures 7.13 and 7.14, those
spikes take place when a big change, that is what sort of “long” step, in the value of the
other variable, occurs. Thus they are only consequences related to the non-linearity of
the process. In fact in these singletons the rise time (or the slope time, if the singleton
points downwards) is just about zero, while the slope time (rise time in the second
case) is greater and it corresponds to the system reaction.
In order to have a comparison for the present results with other controllers we
developed a fuzzy gain scheduler based on a simpler and less accurate linearization. In
this case, in fact, only three linear pieces have been used. Thus the fuzzy scheduler has
three work points to manage. Performances decrease, due to the fact that the control
parameters are less accurate. Figures 7.15 and 7.16 show the same input sequences
applied to the simplified scheduled system.
Another comparison has been made excluding the fuzzy fine tuner from the control
system. The results, as it is viewable in Figures 7.17 and 7.18, are very clear: the fine
tuning parameters are fundamental in achieving reasonable performances. Without any
fine-tuning the step response keeps oscillations for a longer time, and those oscillations
are much more wide than in the proposed solution.
0.9
0.8
0.7
0.6
x10.5
0.4
0.3
0.2
0.1
0
0 0.2 0.4 0.6 0.8 1
u2
Figure 7.12: Less accurate linearization
47
1.2
0.8
0.6
y1
0.4
0.2
-0.2
0 50 100 150 200
time
Figure 7.13: Random step signal response for input y1 (t )
1.2
0.8
y2 0.6
0.4
0.2
0
0 50 100 150 200
time
Figure 7.14: Random step signal response for input y2 (t )
48
1.2
0.8
0.6
y1
0.4
0.2
-0.2
0 50 100 150 200
time
Figure 7.15: Output y1 (t ) : the same input sequence applied to a simplified fuzzy gain scheduling
scheme.
1.2
0.8
y2 0.6
0.4
0.2
0
0 50 100 150 200
time
Figure 7.16: Output y2 (t ) : the same input sequence applied to a simplified fuzzy gain scheduling
scheme.
49
1.4
1.2
0.8
y1 0.6
0.4
0.2
-0.2
0 50 100 150 200
time
Figure 7.17: Performances obtained excluding the fuzzy fine-tuner ( y1 (t ) )
1.2
0.8
y2 0.6
0.4
0.2
0
0 50 100 150 200
time
Figure 7.18: Performances obtained excluding the fuzzy fine-tuner ( y2 (t ) )
50
Chapter 8
Conclusions
51
Bibliografy
52
[17] H. N. Koivo. Soft computing: unified approach to fuzzy logic and neural
networks. Helsinki, 1997.
[18] F. Leung. A simple gain scheduled PID controller with stability consideration
based on a grid- point concept. ISIE’97, Guimaraes, Portugal. IEEE Catalag Number:
97TH8280. 1997.
[19] H. X. Li, H. B. Gatland, and A. W. Green. Fuzzy variable structure control.
IEEE Transactions on System, Man and Cybernetics-Part B: Cybernetics, vol. 27, No 2
April 1997.
[20] J. Lieslehto. An Expert System for Multivariable Controller Design.
Doctorate’s Thesis, Tampere University of Technology, publication No. 116, Tampere,
1993.
[21] U. M. Maciejowski. Multivariable feedback design.
[22] The Mathlab Works Inc. Simulink.
[23] D. Mc Lean. Automatic Flight Control System.
[24] H. T. Ngdyen, M. Sugeno, R. Tong, R. R. Yager. Theoretical aspects of fuzzy
control.
[25] A. Nissinen, H. N. Koivo, T. Huhtelin. Multivariable PI control of industrial
paper machine headboxes. IFAC, 13th Triennal World Congress, San Francisco, USA,
1996.
[26] A. Ollero, J. Aracil, F. Gordillo. Stability analysis of MIMO fuzzy control
system in the frequency domain. IEEE Transactions on Control System, October 1998.
[27] W. Pedrycz. Fuzzy Control and Fuzzy System. Research Studies Press,
England, 1993.
[28] W. Pedrycz, J. F. Peters. Hierarchical fuzzy controllers: fuzzy gain scheduling.
IEEE, 0-7803-4053, January 1997.
[29] A. Peltomaa, H. N. Koivo. Tuning of Multivariable Discrete Time PI controller
for Unknown Systems. International Journal of Control, No.38, pp.735-745, 1983.
[30] J. Pettinen. H. N. Koivo. Multivariable Tuning Regulators for Unknown
Sysetms. Automatica, No. 16, pp. 393-398, 1980.
[31] C. Phillips, R. D. Harbor. Feedback control Systems.
[32] W. J. Rough, J. S. Shamma. Research on Gain Scheduling. Automatica 36, pp
1401-1425, 2000.
[33] M. Santos, J. M. de la Cruz, S. Dormido, A. P. De Madrid. Between fuzzy-PID
and PID-conventional controllers: a good choice. Fuzzy Information Processing
Society, 1996. NAFIPS. 1996. Biennial Conference of the North American , 1996 , pp:
123-127.
[34] S. Sastry, M. Bodson. Adaptive Control.
[35] F. G. Shinskey. Process control systems.
[36] J. Talaq, F. Al-Basri. Adaptive Fuzzy Gain Scheduling for Load Frequency
Control. IEEE Transactions on Power Systems, Vol.14, No.1, February 1999.
[37] A. M. Trooper. Linear Algebra.
[38] R. J. Vaccaro. Digital control.
[39] P.Viljiamaa, H. N. Koivo. Fuzzy logic in PID gain scheduling. Third
European Congress on Fuzzy and Intelligent Technologies EUFIT’95. Aachen,
Germany, August 28-31, ELITE-foundation, Vol. 2, pp. 927-931, 1995.
[40] P.Viljiamaa, H. N. Koivo. Tuning of multivariable fuzzy logic controller.
Intelligent Automation and Soft Computing, Vol. 1, No. 1, pp. 15-28, 1995.
53
[41] P.Viljiamaa, H. N. Koivo. Tuning of multivariable PI-like fuzzy logic
controller. Proceedings of the 3rd IEEE International Conference on Fuzzy System
FUZZ-IEEE’94. Orlando, FL, USA, June 26- July 2, IEEE Vol. 1, pp. 388-393.
[42] P. Viljamaa, H. Peltonen, H. N. Koivo. Target Value Computing in Paper
Machine Grade Changes by Fuzzy System. The 9th IEEE International Conference on
Fuzzy System FUZZ-IEEE 2000. San Antonio, Tx, USA, May 7-10, IEEE, Vol. 1, pp
105-109.
[43] B. Wu, X. Yu. Evolutionary design of fuzzy gain scheduling controllers. IEEE
Transactions on Control System, pp. 2139- 2144. September 1999.
[44] R. R. Yager, D. P. Filev. Essentials of Fuzzy Modelling and Control.
[45] O. Yagishita, O. Itih, M. Sugeno. Application of Fuzzy Reasoning to the Water
Purification Process. Industrial Application of Fuzzy Control, M. Sugeno Ed.
Amsterdam: North-Holland, 1985, pp.19-40.
[46] J. Yen, R. Langari. Fuzzy Logic.
[47] Zadeh. Fuzzy set.
[48] Z. Zhao, M. Tomizuka, S. Isaka. Fuzzy gain scheduling of PID controllers.
IEEE Transactions on System, Man and Cybernetics. Vol 23, No. 5,
September/October 1993.
[49] K. Åström, T. Hägglund. PID controllers: theory, design and tuning.
[50] K. Åström, B. Wittenmark. Computer controlled System.
54
HELSINKI UNIVERSITY OF TECHNOLOGY CONTROL ENGINEERING LABORATORY
Editor: H. Koivo
Report 120 Ylöstalo, T., Salonen, K., Siika-aho, M., Suni, S., Hyötyniemi, H., Rauhala, H., Koivo, H.
Paperikoneen kiertovesien konsentroitumisen vaikutus mikrobien kasvuun. September 2000.
ISBN 951-22-5281-3
ISSN 0356-0872