Nonlinear Systems and Controls - Jürgen Adamy - 2024
Nonlinear Systems and Controls - Jürgen Adamy - 2024
Nonlinear
Systems and
Controls
Second Edition
Nonlinear Systems and Controls
Jürgen Adamy
Nonlinear Systems
and Controls
Second Edition
Jürgen Adamy
Fachgebiet Regelungsmethoden und
Intelligente Systeme
Technische Universität Darmstadt
Darmstadt, Germany
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material
is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, repro-
duction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic
adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does
not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective
laws and regulations and therefore free for general use.
The publisher, the authors, and the editors are safe to assume that the advice and information in this book are
believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give
a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that
may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and
institutional affiliations.
This Springer imprint is published by the registered company Springer-Verlag GmbH, DE, part of Springer Nature.
The registered company address is: Heidelberger Platz 3, 14197 Berlin, Germany
vii
viii Preface
H
H C H
C C
C
C
C
H
~
@B
H
H ∆ ~
Ε @t
~
Understanding
scientific theories
Publishing theories Mathematician
and
patenting inventions
Observation Building
of nature of machinery
ematical hypotheses and prove them. Engineers make use both of scientific
theories, especially physical theories, and mathematics, the language in which
these theories are formulated. They use this knowledge of the objective world
to create, within the world of their subjective ego, the idea for a new ma-
chine or a new technical process: they invent something new. By realizing
these inventions, they change the material world. They build skyscrapers, air-
planes, power plants, and robots. Construction plans and system descriptions
published in patents and journals become part of the objective world.
Preface ix
Although these three disciplines are sharply delineated above, there are
a large number of fields in which they overlap. These include experimental
physics, in which scientists build special equipment for their research such
as particle accelerators, and control engineering, in which new mathemati-
cal theories, such as that of flat systems, are developed to solve engineering
problems.
This book is primarily oriented towards the engineer’s point of view. The
aim of the book is therefore to convey the knowledge of nonlinear systems and
controls that is important for an engineer, and to illustrate its applicability. In
doing so, the book describes the current state of the theory of these systems.
For this purpose, the theorems of this mathematical theory which have proved
useful in engineering practice have been selected. Since these theorems and
their proofs are available in the literature, the proofs have not been shown
here in the classical theorem-proof sequence: the emphasis in this book is on
teaching the theory and its application rather than proving of the theorems.
Literature Recommendations
To learn more about a particular field of research in detail, it is useful to
consult various books which address that field. In the case of the theory of
nonlinear systems and controls, for example, the works of H. K. Khalil, E.
D. Sontag, S. Sastry, H. Nijmeijer and A. van der Schaft, J.-J. E. Slotine and
W. Li, H. J. Marquez, and A. Isidori are recommended. C. M. Kellett and
P. Braun cover both linear and nonlinear control systems in their book. An
introduction to the subject is given in the compact book by G. Chen.
To understand the theory of nonlinear systems, the theory of linear systems
is useful or necessary in many cases. Describing this theory would require a
similarly extensive volume, so it cannot be addressed in detail in this book and
it is assumed that the reader is already familiar with it. Suitable works on this
topic have been written by G. F. Franklin, J. D. Powell, and A. Emami-Naeini,
as well as R. C. Dorf and R. H. Bishop, among others.
Acknowledgements
A large number of scholars have proofread the book for comprehensibility, er-
rors, and mistakes, and have contributed to its layout. For the first as well as
the second English edition, I would like to especially thank K. Olhofer-Karova
for patiently preparing the LATEX source code and Matlab simulations, and V.
Ansel for preparing the color images. My thanks go to the American transla-
tor H. Krehbiel for the linguistic revision of the text.
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Literature Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
xi
xii Contents
A Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
A.1 Proof of the General Circle Criterion . . . . . . . . . . . . . . . . . . . . . . . 695
A.2 Parameters of the Container Crane Control . . . . . . . . . . . . . . . . . 699
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
1
Fundamentals of Nonlinear Systems
Only some of the processes and systems that are regularly encountered in
nature or industrial practice can be adequately described by linear models
and linear systems theory. A significant number of processes and systems are
nonlinear and must be represented by nonlinear models. Linear systems theory
is not generally applicable to nonlinear systems. Exceptions are nonlinear
systems, which can be sufficiently well approximated by a linear model.
Therefore, nonlinear systems and control loops require their own analy-
sis and design methods. Because nonlinear systems are mathematically much
more complex than linear systems, so far such methods have only been devel-
oped for certain classes of nonlinear systems and for specific applications. This
is quite different in the case of linear systems, for which an almost completely
elaborated systems theory exists with only a few unexplored areas [133, 152].
Figure 1.1 illustrates this different level of knowledge.
It is not entirely correct to speak of a nonlinear systems theory, since
the term actually refers to a collection of incoherent methods and theories.
Rather than a single theory, as shown schematically in Figure 1.1, there are
a number of theories for different classes of nonlinear systems and controllers
[77, 203, 232, 338, 402, 465]. Despite this diversity and depending on the focus,
it is common to subsume these theories under the terms nonlinear control or
nonlinear systems. One of the most important and most developed theories is
that of control-affine systems, which depend nonlinearly on the system states
but linearly on the input variables. The theory of such systems is almost
completely elaborated and is also of practical importance.
The most important great methods of nonlinear control engineering, which
are also most relevant to industrial practice, are the subject of this book. To
begin with, in this chapter, the system dynamics and the solution of non-
linear differential equations are addressed. This is followed by a description
Fig. 1.1: Level of knowledge regarding linear and nonlinear systems. Blue represents
the known areas; white represents the unexplored areas.
ẋ = Ax + Bu,
y = Cx + Du,
we call A ∈ IRn×n the system matrix , B ∈ IRn×m the input matrix or the
input vector if m = 1, C ∈ IRr×n the output matrix or the output vector if
r = 1, and D ∈ IRr×m the feedthrough or direct transmission matrix.
In contrast to linear systems, which are defined on the entire real coor-
dinate space IRn , nonlinear systems, more precisely the functions f and g,
are sometimes defined only on a subset. This subset, the system’s domain of
definition, is the intersection of the functions f and g’s domains of definition.
It can be represented as the Cartesian product Dx,def × Du,def of the sets
Dx,def ⊆ IRn of vectors x and Du,def ⊆ IRm of vectors u, where Dx,def and
Du,def are the sets on which the two functions f (x, u) and g(x, u) are both
defined. For simplicity, we will often only refer to the subspace Dx,def as the
system’s domain of definition. In the following, if no domain of definition is
explicitly mentioned, we will assume Dx,def × Du,def .
Sometimes, especially when a system possesses only a single-input and
single-output variable, this system can be described by an explicit higher
order differential equation
x1 = y,
x2 = ẏ,
..
.
xn = y (n−1) ,
ẋ = f (x).
ẋ = f (x, u, t)
ẋ = f (x, t, u = 0) or ẋ = f (x, t)
holds, we call it a free system. A function x(t) that fulfills the differential
equation (1.3) for a given initial vector x(0) and a given input signal u(t) is
called solution or trajectory.
In control theory, three classes of nonlinear control systems are considered
to be most relevant. The first class consists of the linear controllers for non-
linear plants, as depicted in Figure 1.2. They are often associated with linear
controller design methods, since in this case the plant is linearizable and the
ẋ = f (x, u).
ẋ = f (xeq , 0) = 0
holds.
In this definition, it was assumed that
u = 0.
6 Chapter 1. Fundamentals of Nonlinear Systems
u = c 6= 0
ẋ = f (x, u = c) = 0 (1.4)
u = ũ + c
ẋ = f˜(xeq , 0) = 0
holds.
Determining an equilibrium point of a nonlinear system is often not an
easy task to accomplish. This is because we must solve the implicit equation
ẋ = f (xeq , 0) = 0
for xeq . One, zero, or multiple solutions may exist. A continuum of solutions
is also possible, or there may be none at all. This is illustrated in Figure 1.5
for a one-dimensional function f .
When calculating the equilibrium points xeq , the following three cases
may occur. In the first case, the implicit equation f (xeq , 0) = 0 is explicitly
solvable for xeq , i. e.
xeq = f −1 (0)
holds.
In the second case, the implicit equation is transcendental. Here we must
resort to numerical methods, such as the multidimensional Newton’s method.
This can be difficult because we often face the problem of not knowing how
many equilibrium points exist, or even if there are any equilibrium points at
all.
The third case applies to many technical systems: we can often surmise an
equilibrium point xeq , either from intuition or from knowledge that is available
about the system. Substituting this estimate into the equation system allows
us to verify our assumption.
1.1. System Description and System Behavior 7
x x
xeq
xeq1 xeq2 xeq3
x x
Let us consider the rotation of a satellite or a space probe that can be rotated
around its axes via control jets. Figure 1.6 shows such a satellite with its corre-
sponding body-fixed coordinate system (x, y, z) and a space-fixed coordinate
system (x̃, ỹ, z̃).
For the angular momentum vector L of the satellite which rotates with
its corresponding body-fixed coordinate system and angular velocity vector
ω around the space-fixed coordinate system, using the inertia tensor J, the
relation
L = Jω
holds. The equation of motion is derived from
dL
= M, (1.5)
dt
wherein the torque vector M contains the torques caused by the control jets.
For the derivative of the angular momentum L with respect to time, we obtain
dL
= J ω̇ + ω × (J ω), (1.6)
dt
where the cross product ω × (J ω) results from the rotation of the body-fixed
coordinate system around the space-fixed coordinate system with velocity ω.
From equation (1.5) and equation (1.6), it follows that
J ω̇ = −ω × (J ω) + M . (1.7)
z̃
x̃
z
ωz
γ
β ỹ
x
ωx
ωy
Fig. 1.6: Satellite with a body-fixed coordinate system (x, y, z) and a space-fixed
coordinate system (x̃, ỹ, z̃). The orientation of the satellite relative to the space-
fixed coordinate system is specified by the Euler angles α, β, γ.
Jx 0 0
J = 0 Jy 0 .
0 0 Jz
In this case, Euler’s rotation equations
Jx ω̇x = −(Jz − Jy )ωy ωz + Mx ,
Jy ω̇y = −(Jx − Jz )ωx ωz + My , (1.8)
Jz ω̇z = −(Jy − Jx )ωx ωy + Mz
ω1 = ω2 = ω3 = 0
ϕ = [α β γ]T ,
ϕ̇ = Λ(ϕ)ω
ẋ = Ax + Bu,
y = Cx + Du
ẋ = Axeq = 0
if u = 0 holds. The following cases may occur: if det(A) 6= 0 holds, only the
equilibrium point xeq = 0 exists. If det(A) = 0, the system A has zero-valued
eigenvalues and there is a linear subspace of vectors xeq , for which
Axeq = 0
are equilibrium points. This means that the x1 -axis forms a continuum of
equilibrium points, as illustrated in Figure 1.7.
If u = c and det(A) = 0 holds, it is possible that no equilibrium point
exists. This could occur when
Ax = −Bc
x2
Continuum of
equilibrium points
u=0 1 x2 1 x1
s s x1
Fig. 1.7: The system 1/s2 and its continuum of equilibrium points xeq = [a 0]T with
a ∈ IR
1.1. System Description and System Behavior 11
ẋ = Ax
all trajectories x(t) of the system obviously lead to the equilibrium point
xeq = 0 for t → ∞ if the inequality
Re {λi } < 0
holds for every eigenvalue λi of the system. In this case, both the equilibrium
point and the linear system are referred to as stable. Figure 1.8 shows the
trajectories of such a linear system.
However, if
Re {λi } > 0
holds for at least one of the eigenvalues of the system, the equilibrium point is
unstable. Then there are trajectories aiming away from the equilibrium point
and tending to infinity. Such a linear system is referred to as unstable. Figure
1.9 provides an example of the trajectories of an unstable system.
If a linear second-order system has a pair of complex conjugate eigenvalues
λ1/2 = ±j, the system is called a simple harmonic oscillator. Its trajectories
are shown in Figure 1.10. Obviously, the trajectories do not tend to the equi-
librium point xeq = 0 or to infinity. In this case, the equilibrium point xeq = 0
still possesses stability to a certain extent. A similar case is that of a second-
order system with one eigenvalue λ1 = 0 and one eigenvalue λ2 < 0, as shown
in Figure 1.11. Although all trajectories tend to an equilibrium point on the
x1 -axis, none of the equilibrium points attracts all trajectories. On the other
hand, none of the trajectories tends to infinity. Therefore such systems are
also referred to as stable systems.
To develop a preliminary impression of stability conditions for nonlinear
systems, the system defined by
12 Chapter 1. Fundamentals of Nonlinear Systems
x2 x2
x1 x1
Fig. 1.8: Trajectories of a stable lin- Fig. 1.9: Trajectories of an unstable lin-
ear system with eigenvalues λ1 , λ2 with ear system with eigenvalues λ1 , λ2 with
Re {λ1 } < 0, Re {λ2 } < 0 Re {λ1 } > 0, Re {λ2 } > 0
x2 x2
x1 x1
2 x2
x̃2
1 s
x̃1
State x2
xeq
0 s
x1
-1
-2
-2 -1 0 1 2
State x1
Fig. 1.12: Course of the trajectories of Fig. 1.13: Transformation, more pre-
the system that is described by equa- cisely translation, of an equilibrium
tion (1.10). point xeq into the origin
T
to the equilibrium point xeq2 = [1 1] tend away from this point to infinity,
which means that this equilibrium point must be considered unstable.
This example demonstrates that nonlinear systems cannot generally be
classified as being stable or unstable, which is possible for linear systems.
Rather, we must consider the stability behavior of the system in the neigh-
borhood of an equilibrium point, i. e. the stability behavior of the equilibrium
point. If multiple equilibrium points exist, the term stability only refers to a
specifically considered equilibrium point and not to the entire system. In this
context there is a need for clarification of
(1) the behavior of trajectories in the neighborhood of an equilibrium point,
(2) the size of the region surrounding an equilibrium point, in which all tra-
jectories starting within the region tend to the equilibrium point, and
(3) the mathematical definition of the stability of an equilibrium point.
Before the above three issues are clarified, a simplification of the analysis
must be conducted. If an equilibrium point xeq has been determined for a
system, it can be shifted by an appropriate transformation
x = xeq + x̃
into the origin, i. e. to x̃ = 0. The system equations are then given by
x̃˙ = f (xeq + x̃, u) = f˜(x̃, u),
y = g(xeq + x̃, u) = g̃(x̃, u).
Since this transformation is always possible, we assume hereafter that the
equilibrium point of interest has been shifted to zero if it is not already at
this point. Figure 1.13 illustrates this transformation.
14 Chapter 1. Fundamentals of Nonlinear Systems
x2 x2
x(t)
x1 x1
x0 Uδ
U (0) Uε
State x2
0 s s
-1
-2
-2 -1 0 1 2
State x1
Fig. 1.16: A system for which the equilibrium point xTeq2 = [1 0] is attractive but
not Lyapunov stable
U2
1 s
U1
State x2
0 s
-1
-2
-2 -1 0 1 2
State x1
ẋ = f (x, u).
We call the system stable if the following conditions hold for the free system:
(1) There is a bounded set S in which all trajectories remain during their
course.
(2) There is a bounded set H ⊃ S for every bounded set G ⊃ S such that all
trajectories beginning in H remain in G during their course.
(3) There is a set G ⊃ S for every set H.
This definition enables us to estimate the behavior of the system as a whole
and not just its behavior around its equilibrium points. Notice that Definition
8 provides us with a global definition of stability which is similar to Lyapunov’s
global definition of stability. This kind of stability of a system ensures that
there is no solution tending to infinity. However, it does not ensure that all
trajectories converge to a single equilibrium point. It is also possible that
trajectories do not run into an equilibrium point and therefore ẋ(t) does not
become zero. The simple harmonic oscillator, for example, is a stable system.
If we want to ensure that the trajectories of a stable system all converge
to a bounded set, we have to formulate a stricter version of Definition 8. We
then obtain
Definition 9 (Strict Stability of a System). We call a stable system
ẋ = f (x, u) strictly stable if there is a bounded set S such that x(t → ∞) ∈ S
holds for all trajectories x(t) of the free system.
It is worth noting that the size of the set S is not specified in Definition 9.
It can be of any size. In practical applications, however, the size of the set S
does matter. In most cases, it should be as small as possible. As in Definition
8, the trajectories x(t) within the set S do not have to converge or tend to
stable equilibrium points. System (1.11), for example, is strictly stable even
though its two equilibrium points are unstable.
The term asymptotically stable signifies that the trajectories x(t) of a system
for t → ∞ tend to the corresponding equilibrium point. However, it does not
provide us with a measure of how quickly this happens. For example, let us
consider the linear asymptotically stable system
1.1. System Description and System Behavior 19
x(t) = x0 e−λt .
We can see that the solution of the system not only tends asymptotically to
zero but also decreases exponentially fast.
Accordingly, for all systems whose solutions decrease toward zero expo-
nentially or faster than exponentially, we can now define the term exponential
stability.
ẋ = −x3 , x(0) = x0 ,
|x0 |
|x(t)| = p 2 > me−αt |x0 |, t > t0 , (1.13)
2x0 t + 1
20 Chapter 1. Fundamentals of Nonlinear Systems
is attractive. This means that all trajectories which start within an arbitrar-
ily small neighborhood around it finally converge to it. In their course, the
trajectories are bounded and never depart from the region that lies inside a
circle with a diameter greater than one after they have reached it. Thus no
trajectory tends to infinity.
However, systems exist with an equilibrium point for which trajectories
which start within an arbitrarily small neighborhood around it not only depart
from the equilibrium point, but also tend to infinity. From an engineering
perspective, such behavior is more dangerous for the functionality of a system
than the case of an unstable equilibrium point, for which no trajectory tends
to infinity. It is thus reasonable to introduce an instability definition that goes
beyond the concept given in Definition 11.
Definition 12 (Strict Instability). Let a system ẋ = f (x, u) possess an
equilibrium point at x = 0 for u = 0. This equilibrium point is called strictly
unstable if, for every neighborhood U of the equilibrium point, there is at least
one trajectory x(t) of the free system which begins at x(0) ∈ U and has the
limit
1.1. System Description and System Behavior 21
lim |x(t)| = ∞
t→tinf
with the initial values x1 (0) = x10 and x2 (0) = x20 . It possesses the solution
x10 − x210 + x220 t
x1 (t) = 2 ,
(x10 + x220 ) t2 − 2x10 t + 1 (1.15)
x20
x2 (t) = 2
(x10 + x220 ) t2 − 2x10 t + 1
10
5
State x2
0 s
-5
-10
-10 -5 0 5 10
State x1
Fig. 1.18: Trajectories of the system given in equation (1.14)
22 Chapter 1. Fundamentals of Nonlinear Systems
x10
x(t) = 1 − x10 t .
(1.16)
0
For
1
t → tinf = ,
x10
they tend to infinity. If we now consider the time progression of the state x1
for x10 > 0, as shown in Figure 1.19, we observe that the state x1 (t) first
reaches infinity for t = 1/x10 , and subsequently returns from infinity and
tends asymptotically to zero via the negative x1 -axis for
1
t > tinf = .
x10
If we include the point infinity in the progression of the trajectories, it follows
that every trajectory (1.16) ultimately tends to zero. Below we will examine
this behavior in more detail.
First we will consider the trajectory points
0
x(t) =
x2 (t)
0 < x20 ≤ 1
becomes, i. e. the more closely it approaches the x1 -axis, the larger the inter-
section point
x2 + 1
xs2 = 20
x20
with the x2 -axis becomes. This intersection point coincides with the diameter
d = xs2
1.1. System Description and System Behavior 23
x1 (t) d
x10
0 tinf t 0 1 x20
Fig. 1.19: Time course of the solution Fig. 1.20: Diameter d of the trajectory
x1 (t) for x10 > 0 and x20 = 0 with dependence on x20
North pole
x2
xc
xp
x1
Fig. 1.21: Illustration of the one-point compactification of IR2 . The north pole cor-
responds to infinity in the real plane.
progression of the trajectory on the negative real axis to the equilibrium point
xeq = 0. In conclusion, all trajectories (1.15) tend to the equilibrium point
xeq = 0 for t → ∞. The equilibrium point is therefore globally attractive. As
noted previously, however, it is also strictly unstable.
Thus systems with attractive, but unstable, or even strictly unstable equi-
librium points also exist. We will conclude our descriptions of stability and
instability with a visual summary of their relations. For this purpose, Figure
1.22 illustrates the sets
M us = set of unstable equilibrium points,
M sus = set of strictly unstable equilibrium points, M sus ⊂ M us ,
M Ls = set of Lyapunov stable equilibrium points, M Ls ∩M us = ∅,
M as = set of asymptotically stable equilibrium points, M as ⊂ M Ls ,
M es = set of exponentially stable equilibrium points, M es ⊂ M as ,
M att = set of attractive equilibrium points, M as ⊂ M att , M att ∩M sus 6= ∅.
At this point, it becomes clear once again that the term attractivity is unsuited
to describe the stability behavior of an equilibrium point.
1.1. System Description and System Behavior 25
Lyapunov stable, M Ls
Asymptotically stable, M as
Exponentially stable, M es
Unstable, M us
Attractive, M att
Fig. 1.22: The sets describing different types of stable, unstable, and attractive
equilibrium points and the relations among them
β(|x0 |, t) + γ(sup(|u(t)|)),
t≥0
therefore remaining bounded for bounded input signals u(t) and bounded
initial values x0 . If we set u = 0 in the defining equation of input-output
stability, we see that all trajectories x(t) of an input-to-state stable system
tend to zero for t → ∞. Consequently, an input-to-state stable system has
a globally asymptotically stable equilibrium point. However, in general, the
reverse conclusion does not hold.
Below we will determine the functions β and γ for a linear system
ẋ = Ax + Bu (1.17)
Based on this, we obtain an upper bound of the absolute value x(t) using
Zt Zt
A(t−τ )
|x(t)| = |e At
x0 + e Bu(τ )dτ | ≤ |e At
x0 | + | eA(t−τ ) Bu(τ )dτ |.
0 0
(1.19)
Firstly, the inequality
Zt Zt Zt
A(t−τ ) A(t−τ )
| e Bu(τ )dτ | ≤ |e Bu(τ )|dτ ≤ me−α(t−τ ) |Bu(τ )|dτ.
0 0 0
(1.21)
Zt Zt
−α(t−τ ) √
me |Bu(τ )|dτ ≤ m µ sup(|u(t)|) · eα(τ −t) dτ
t≥0
0 0
√ 1
= m µ sup(|u(t)|) (1 − e−αt )
t≥0 α
√
m µ
≤ sup(|u(t)|) = γ(sup(|u(t)|)).
α t≥0 t≥0
Using the bounds given in equations (1.19), (1.20), and (1.21), we obtain
inequality
√
−αt m µ
|x(t)| ≤ me · |x0 | + sup(|u(t)|).
α t≥0
| {z } | {z }
β(|x0 |, t) γ(sup(|u(t)|))
t≥0
Using Definition 13, from the asymptotic stability of a linear system (1.17),
i. e. α > 0, we can now conclude its input-to-state stability. Thus we arrive at
Theorem 1 (Input-to-State Stability of Linear Systems). A linear
system is input-to-state stable if and only if it is asymptotically stable.
As mentioned above, this equivalence does not generally apply to nonlinear
systems; additionally, the functions β and γ usually cannot be determined for
nonlinear systems. To illustrate the first, let us consider the system
ẋ = −x(1 − u).
ẋ = f (x, u),
y = g(x, u)
is called input-output stable if, for all its initial state vectors x0 = x(0) and for
every bounded input function u(t), there exist two functions β and γ according
to Definition 13, so that
ẋ = −x + u,
1
y=
x
illustrates that not every system with a globally asymptotically stable equi-
librium point xeq = 0 is also input-output stable. If the trajectory x(t) of this
example tends to the globally asymptotically stable equilibrium point xeq = 0,
the output variable y(t) becomes infinitely large.
3 5
State x2
State x1
0 0 s
-1
-2
-3 -5
0 10 20 30 40 -5 0 5
Time t in s State x1
Fig. 1.23: The graph on the left shows the temporal variation of x1 (t); on the right,
the trajectories x(t) and the limit cycle of the Van der Pol differential equation.
e u x1
u = −(1 − e2 )ė ẍ1 + x1 = u
ẋ1 = x2 ,
ẋ2 = −x1 + (1 − x21 )x2
ẍ1 + x1 = u
is the plant, as shown in Figure 1.24. The purpose of the control loop, in this
case, is not to control the trajectory into an equilibrium point, but to main-
tain an oscillation. In this example, the limit cycle is produced deliberately.
Normally, however, limit cycles are undesired in control loops. Generally, the
30 Chapter 1. Fundamentals of Nonlinear Systems
purpose of a control loop is to keep the controlled variable constant and not
to generate oscillations.
Similar to equilibrium points, the trajectories either tend to a limit cycle
or away from it. The term stability can thus be applied to limit cycles. Three
cases can be distinguished. Firstly, there are asymptotically stable limit cycles,
toward which all trajectories in the closer vicinity converge. Secondly, there
are semi-stable limit cycles for which all trajectories on one side of the limit
cycle converge and the trajectories on the other side tend away from the
limit cycle. In the third case, all trajectories originating from the vicinity of
the limit cycle diverge, so it is called unstable. Figure 1.25 illustrates these
cases. In linear systems, neither stable, unstable, nor semi-stable limit cycles
can occur. In these cases only harmonic oscillators are possible, for which an
infinite number of closed trajectories exist. No other trajectories approach or
tend away from these trajectories.
Unstable and semi-stable limit cycles are of no practical significance, since
the trajectory always departs from the limit cycle when very small distur-
bances, which are always present in a real system, occur. However, what is
most relevant to control theory is the stable limit cycle. In general, as men-
tioned before, it is undesired. To detect limit cycles in control loops, we typ-
ically use the method of harmonic balance, which will be discussed in detail
in Section 2.1.
Apart from limit cycles, nonlinear systems exhibit further behavior which
does not exist in linear systems. Sliding modes belong to this category of
phenomena. They occur in systems with unsteady behavior, e. g. in systems
ẋ = f (x, u) with discontinuous functions f .
To explain the sliding mode phenomenon, we will consider the plant
0 1 0
ẋ = x+ u,
−2 −3 1
y = 0.5 1 x,
1 u s + 0.5 y
-1 (s + 1)(s + 2)
1
0.5
0.5 u 0
y
0 -0.5
-0.5 -1
s + 0.5
G(s) = .
(s + 1)(s + 2)
which is sometimes termed a bang-bang controller. Figure 1.26 shows the cor-
responding control loop. Simulating the system for the initial values x1 (0) = 1
and x2 (0) = 1, we obtain the courses of the output variable y and the control
variable u which are plotted in Figure 1.27. Obviously, the output variable y
tends to zero. The control variable u, on the other hand, from a certain point
onward does not remain constant but switches back and forth between the
values u = 1 and u = −1 with a high frequency.
This behavior can be explained by considering the trajectories x(t) of
the system in the phase plane, as depicted in Figure 1.28, and analyzing the
control law (
1, x2 ≤ −0.5x1 ,
u=
−1, x2 > −0.5x1 .
32 Chapter 1. Fundamentals of Nonlinear Systems
x1 and x2
State x2
0 0.5
-0.5 0
x2
-1 -0.5
-1 -0.5 0 0.5 1 0 2 4 6 8 10
State x1 Time t in s
Fig. 1.28: Trajectories x(t) and sliding mode on the (blue) switching line and time
courses of the states x1 (t) and x2 (t)
Obviously, the actuator signal takes the value of u = 1 below the line defined
by
x2 = −0.5x1 (1.22)
and takes the value u = −1 above this line.
The trajectories x(t) converge from both sides onto the straight line de-
scribed by equation (1.22). If a trajectory impinges onto the line, it briefly
switches to the other side and the actuator signal jumps from u = 1 to u = −1,
or vice versa. The trajectory then again impinges onto the line, briefly switches
sides, and the process starts all over again. This explains the previously ob-
served high-frequency switching of the actuator signal. The trajectory itself
slides along the switching line, accompanied by high-frequency switching of
the actuator signal, into the equilibrium point
xeq = 0.
1.1.12 Chaos
g l1
Θ1 m1
l2
m2
Θ2
1
Θ1 , Θ̃1 in rad
-1
-2
0 5 10 15 20 25 30 35 40 45 50
Time t in s
Fig. 1.30: Time courses of the angles Θ1 (black curve) and Θ̃1 (blue curve) of the
double pendulum with chaotic behavior
1.1. System Description and System Behavior 35
and compare the two resulting progressions of the angles Θ1 (t) and Θ̃1 (t). It
can be seen from Figure 1.30 that, after a while, the angles progress entirely
differently and without any recognizable pattern, even though their initial
conditions were nearly identical.
Technical systems very rarely exhibit chaotic behavior. This is because the
developers and users of technical systems are generally interested in designing
their devices, processes, or vehicles in such a way that they exhibit predictable
behavior. In Section 5.6, we will consider another chaotic technical system,
a fluid system, and how to control it in such a way that it has a globally
asymptotically stable equilibrium point and, consequently, no longer exhibits
chaotic behavior. It turns out that a chaotic system is no more difficult to
control than a conventional one. A detailed description of chaotic systems can
be found in [19, 20, 77, 92, 354, 436, 452].
possess the equilibrium point xeq = 0. This equilibrium point is called Lya-
punov stable if, for every ε-neighborhood
such that all sequences of states x(k) of the free system which begin in the
δ-neighborhood, i. e.
x(0) ∈ Uδ (0),
in their further progression, remain within the ε-neighborhood, i. e.
If the condition
lim x(k) = 0
k→∞
is additionally fulfilled for all x(0) ∈ Uδ (0), the equilibrium point is called
asymptotically stable.
Limit cycles can occur in discrete-time systems, just as in continuous-time
systems. This is the case if for a sequence of state vectors x(0), x(1), . . . , x(l),
the relation
x(0) = x(l)
is fulfilled for a constant input variable vector u(k). Since the limit cycle
i. e. a cycle of length three, exists [276]. Of course, the cycle itself is not chaotic.
However, as soon as the state departs marginally from the values x(0), x(1),
x(2) of the cycle, the course x(k) becomes chaotic. It is worth mentioning
that chaos can occur in discrete-time systems of order n = 1 or larger. In au-
tonomous continuous-time systems, however, chaos can only arise in systems
of order n = 3 or larger.
1.2. Solution of Nonlinear Differential Equations 37
ẋ = Ax + Bu
x(0) = x0 ,
we know the solution. It can be explicitly stated and, as we know from linear
control theory [133], it is given by
Zt
x(t) = eAt x0 + eA(t−τ ) Bu(τ )dτ.
0
The time-varying input function u(t) can also be interpreted, in its effect, as
a time-dependence of the function f , i. e.
f (x(t), t) = f˜(x(t), u(t)).
Equations of the (1.24) type are thus included in
ẋ = f (x(t), t), (1.25)
provided the input signal u(t) is known.
Determining a solution of the differential equation (1.25) requires that a
solution actually exists. Whether a solution exists is shown by [327]
Theorem 3 (Peano Existence Theorem). Let
ẋ = f (x, t), x ∈ Dx,def ⊆ IRn , t ∈ Dt,def ⊆ IR,
x(t0 ) = x0 ,
be a given initial-value problem. If the function f is continuous in a neigh-
borhood of the point (x0 , t0 ), the initial-value problem possesses at least one
solution x(t) in an open interval around t0 .
Peano’s existence theorem guarantees the solvability of a differential equa-
tion. However, it does not guarantee the uniqueness of the solution. This
means that multiple solutions may well exist. To illustrate this, we can con-
sider the differential equation
√
3
ẋ = x2 (1.26)
with the initial value
x(0) = 0 (1.27)
as an example. All functions
!3
1
t−a , t < 3a,
3
x= 0, 3a ≤ t ≤ 3b,
!3
1
t−b , t > 3b,
3
We notice that no solution exists for values t > 1. The time t ∈ IR, for which
x(t) → ∞ (in this case t = 1) is called finite escape time. In contrast to some
nonlinear systems, unstable linear systems cannot run to infinity in finite time.
If we want to guarantee the existence of a solution for all values t ∈ IR, we
must resort to [264]
Theorem 5 (Picard-Lindelöf Global Existence Theorem). Let
ẋ = Ax,
x(0) = x0 .
x(t) = eAt x0 ,
which is defined for all t ∈ IR. This result is consistent with our global existence
theorem, since the linear function
f (x) = Ax
is globally Lipschitz continuous, and thus a solution exists for all t ∈ IR.
We have already mentioned in the previous section that unlike linear differ-
ential equations, solving nonlinear differential equations with initial values
x(t0 ), i. e. initial-value problems
Zt
x(t) = x(t0 ) + f (x(τ ), u(τ )) dτ (1.30)
t0
of the differential equation. Note that this equation is implicit with respect
to x(t), and therefore it is usually not analytically solvable. The integration
methods thus solve the integral in equation (1.30) numerically via approxima-
tions, which are more or less suitable. Accuracy and computational complexity
depend on the choice of the numerical integration method.
To obtain a numerical solution, we discretize equation (1.30). As shown in
Figure 1.31, the time-axis is divided by a set of equidistant points
42 Chapter 1. Fundamentals of Nonlinear Systems
ti = t0 + h · i, i = 0, . . . , k,
where the sampling interval h is called the step size. Now it is possible to
write the solution of the differential equation (1.29) at the time instances ti
as a recursive formula
Zti tZ
i +1
F = f (x, u)dt
ti
t0 t1 t2 t3 t4 ... ti
Fig. 1.31: Time instances ti and step size h of the numerical solution
F app
ti ti+1 t
f x,
x̂
Exact solution x(t)
x̂(t5 )
x̂(t4 )
x(t0 ) x̂(t1 ) x̂(t2 ) x̂(t3 )
t0 t1 t2 t3 t4 t5 t t0 t1 t2 t3 t4 t5 t
Fig. 1.33: Area calculation using the Eu- Fig. 1.34: Comparison between the exact
ler method solution x(t) and its approximation x̂(ti )
holds.
Here x̂0 = x0 serves as the initial value for this recursion. The calculation
above is referred to as the Euler method. It is simple but inaccurate. Figure
1.33 illustrates the approximation that is yielded by this procedure.
The approximation of the area under the curve of the differential equation’s
solution by a series of rectangles has a direct influence on the accuracy of the
solution, as illustrated in Figure 1.34. The error at step i, the cumulative error
p
εi = |x(ti ) − x̂(ti )| = (x1 (ti ) − x̂1 (ti ))2 + . . . + (xn (ti ) − x̂n (ti ))2 ,
is dependent on the overall number of previous steps and on the step size h.
Using the Euler method, the estimation
εk ≤ α · h
holds for the error εk after a fixed integration time T = k · h with k steps.
The method error εk therefore decreases for decreasing step sizes. In general,
α is an unknown constant.
For integration methods that are more accurate than the Euler method,
the error εk of the approximate solution can be decreased much more quickly
by reducing the step size h. In general, it holds that
44 Chapter 1. Fundamentals of Nonlinear Systems
εn ,
εr ,
εtot
Cumulative error εk
Rounding error εr
h∗ h
Fig. 1.35: The total error εtot of a numerical integration method is made up of the
method error εk and the rounding error εr .
ε k ≤ α · hq .
The Euler method is very imprecise because of the chosen rectangular approx-
imation h · f (x̂i , ui ). It can be improved by not choosing the value
f (x̂(ti ), u(ti ))
f f
f (x̂i+ 1 , ui+ 1 )
2 2
f (x̂i , ui )
F app F app
and
h
ui+1/2 = u(ti +).
2
Figures 1.36 and 1.37 illustrate these conditions.
The integral of the modified Euler method, also known as the midpoint
method, is calculated as
F app = h · f x̂i+1/2 , ui+1/2 .
In this way we obtain the following algorithm for the improved method in the
general case of multidimensional system equations:
h
(1) x̂i+1/2 = x̂i + · f (x̂i , ui ),
2
(2) x̂i+1 = x̂i + h · f x̂i+1/2 , ui+1/2 .
In contrast to the Euler method with the order of accuracy q = 1, the modified
Euler method has the order of accuracy q = 2.
F = f (x(t), u(t))dt
ti
h
F app = [f (xi , ui ) +f (xi+1 , ui+1 )] ,
2
as illustrated in Figure 1.38. Thus we obtain the recurrence relation
h
x̂i+1 = x̂i + [f (x̂i , ui ) + f (x̂i+1 , ui+1 )].
2
Here, however, the integration point x̂i+1 is also present on the right-hand
side of the equation. We could solve this implicit equation iteratively for x̂i+1 .
Using the Heun method, however, we proceed differently and compute x̂i+1
approximately via a Euler step that is given by
x̂i+1 ≈ x̃i+1 = x̂i + h · f (x̂i , ui ).
In summary, we arrive at the Heun method for the general multidimensional
case:
(1) x̃i+1 = x̂i + h · f (x̂i , ui ),
h
(2) x̂i+1 = x̂i + [f (x̂i , ui ) + f (x̃i+1 , ui+1 )].
2
Heun’s method is a so-called predictor-corrector method. The result of its
first equation yields the predictor with an approximation of the solution. This
is improved upon by the second equation, which is called the corrector. It is
worth noting that the Heun method, like the modified Euler method, has the
order of accuracy q = 2, and therefore does not improve upon the modified
Euler method in terms of accuracy.
If we use a parabola for the approximation of the area
tZi+1
F = f (x, u)dt
ti
as the interpolation function for the function f on the interval [ti , ti+1 ], the
accuracy can be further increased. By using the parabola, as depicted in Figure
1.39, we arrive at Simpson’s rule. To compute the parameters of the parabola,
an additional point at
h
ti+1/2 = ti + ,
2
which lies between the points (ti , f (x̂i , ui )) and (ti+1 , f (x̂i+1 , ui+1 )) of the
Heun method, and the intermediate value
h
ui+1/2 = u(ti + )
2
of the control signal are required. The integration of the parabola on the
interval [ti , ti+1 ] then provides the estimate F app of the area to be integrated.
The resulting calculation rule is called the Simpson method and is sum-
marized as follows:
1.2. Solution of Nonlinear Differential Equations 47
f f
c1 t + c0
c2 t2 + c1 t + c0
f
F app F app
(1) k1 = f (x̂i , ui ),
h
(2) k2 = f (x̂i + k1 , ui+1/2 ),
2
(3) k3 = f (x̂i − hk1 + 2hk2 , ui+1 ),
h
(4) x̂i+1 = xi + (k1 + 4k2 + k3 ).
6
It has the order of accuracy q = 3. The method is also known as the third-order
Runge-Kutta method.
The Euler methods, the Heun method, and the Simpson method are special
cases of the Runge-Kutta methods. All of these calculation rules are called
one-step methods, since they determine a new integration point x̂i+1 based
only on a previous point x̂i . The Runge-Kutta methods have the following
general form:
(1) k1 = f (x̂i , ui ),
m 1 2 3 4 5 6 7 8 9
q 1 2 3 4 4 5 6 6 7
The corresponding orders of accuracy are listed in Table 1.1. With an increas-
ing number of approximation computations, i. e. the number m of stages, the
accuracy q of the method being used also increases. The special cases of the
Euler method, the modified Euler method, and the Heun and Simpson meth-
ods result from the parameters m, γ, β, and α, which are given in Table
1.2.
m γ β αij
Euler m=1 γ1 = 1 − −
Several variants exist for the same value of m ≥ 2, of which the classical
Runge-Kutta method with number of stages m = 4 is the most common. On
the one hand, this is because the computational effort is limited in this case.
On the other hand, it is because the order of accuracy q, as shown in Table 1.1,
does not increase when the number of stages increases from m = 4 to m = 5,
whereas the computational effort becomes greater. Also, the achievable ac-
curacy is high in proportion to the computational effort. Another advantage
is the simplicity of the Runge-Kutta equations; they are easy to remember.
A good mnemonic for the methods’ parameters provides the Butcher tableau
[23]. The most commonly used and best-known Runge-Kutta method is
1.2. Solution of Nonlinear Differential Equations 49
(1) k1 = f (x̂i , ui ) ,
h
(2) k2 = f (x̂i + k1 , ui+1/2 ),
2
h
(3) k3 = f (x̂i + k2 , ui+1/2 ),
2
(4) k4 = f (x̂i + hk3 , ui+1 ) ,
h
(5) x̂i+1 = x̂i + (k1 + 2k2 + 2k3 + k4 ) .
6
So far, the step size h has been kept constant during the recursion. This is
not always appropriate. If the differential equation inhibits parts of strongly
differing dynamics, as illustrated in Figure 1.40, the integration methods that
we have discussed so far lead to inaccurate or computationally intensive so-
lutions. This is because we would have to choose a constant step size h to be
small enough to produce a good approximation of the course in the region of
the oscillations (t < 5s). In the regions that do not contain oscillations, i. e.
(t > 5s), the simulation would require an unnecessarily large amount of steps,
since the step size is too small in that region. Therefore, during the simulation
2
x(t)
-1
0 2 4 6 8 10
Time t in s
Fig. 1.40: Differential equation with strongly differing dynamic components
50 Chapter 1. Fundamentals of Nonlinear Systems
Step 3: If
|x̂i+2 − x̃i+2 | > ε,
set h∗ = h/2 and i∗ = i. If
A much more effective step-size adaptation than the intuitive one men-
tioned above is as follows. We choose two one-step integration methods, i. e.
a method Γ with the order of accuracy q and a method Φ with q + 1. Let the
ε be a prespecified error. Then the following algorithm [108] applies:
Step 1: Compute
x̌i+1 = x̂i + hΓ (x̂i , ui , h),
x̃i+1 = x̂i + hΦ(x̂i , ui , h),
s
q h·ε
S= .
|x̌i+1 − x̃i+1 |
Particularly for complex systems with dynamics that are difficult to assess, it
is advisable to always use an adaptive step size.
1.2. Solution of Nonlinear Differential Equations 51
So far we have only dealt with one-step methods, i. e. methods for which only
one preceding value x̂i is used to estimate the area F and thereby the value
xi+1 . To approximate the integral
tZi+1
F = f (x(t), u(t))dt
ti
and possibly
This latter interpolation point is precisely the one that we wish to calculate,
meaning it is not yet known. Figure 1.41 illustrates this. Since more than
one interpolation point is used for the area approximation, these methods are
called multi-step methods.
The case in which the point (ti+1 , fi+1 ) is not used as an interpolation point
results in the Adams-Bashforth methods. Where four interpolation points are
used, i. e. a polynomial of order three, the Adams-Bashforth method is given
by
f
Interpolation polynomial
fi+1
fi−2 fi−1
fi
F app
h
x̂i+1 = x̂i + 55f i − 59f i−1 + 37f i−2 − 9f i−3
24
with the order of accuracy q = 4. Note that the first three values x̂1 , x̂2 ,
x̂3 and f 1 , f 2 , f 3 , beginning from x̂0 and f 0 , must be computed using a
one-step method.
An advantage of the Adams-Bashforth methods is that we only need to
calculate one new function value in each step. A disadvantage is that the
interpolation polynomial uses only the interpolation points
but not
(ti+1 , fi+1 ).
However, the approximation of F by F app is performed on the interval
[ti , ti+1 ]. Now, the problem is that an interpolation polynomial outside its
interpolation interval, which is here [ti−k , ti ], tends to infinity for x → ∞.
Consequently, the interpolation polynomial deviates more and more from f (x)
with increasing stepsize and the approximation error is larger than desired.
To compensate for this disadvantage in the Adams-Bashforth methods, we
will improve upon them in the following section.
(ti+1 , fi+1 )
(l+1) h (l)
x̂i+1 = x̂i + 251f (x̂i+1 , ui+1 ) + 646fi − 264fi−1 + 106fi−2 − 19fi−3 .
720
(l)
This has to be done until x̂i+1 no longer changes significantly. The chosen step
size h should be small enough that two iteration steps l = 1, 2 are sufficient.
In summary, in the multidimensional case this yields the Adams-Moulton
predictor-corrector method with the two recursions
1.2. Solution of Nonlinear Differential Equations 53
(0) h
(1) x̂i+1 = x̂i + 55f i − 59f i−1 + 37f i−2 − 9f i−3 ,
24
(l+1) h (l)
(2) x̂i+1 = x̂i + 251f(x̂i+1 , ui+1 )+646f i −264f i−1 +106f i−2 −19f i−3
720
and the order of accuracy q = 5. In this case, the first three points x̂i after
x0 must be computed again using a one-step method. It is advisable to use a
one-step method of the same order of accuracy q = 5 as the Adams-Moulton
multi-step method has.
The step size can also be adapted in the case of multi-step methods. How-
ever, this is more complex than for one-step methods [63].
is fulfilled. This result can also be obtained by determining the zero of the
system’s characteristic polynomial from equation (1.32),
P (z) = z − (1 − hλ),
which must lie within the interval [−1, 1] for the difference equation (1.32)
to be Lyapunov stable and within the interval (−1, 1) to be asymptotically
54 Chapter 1. Fundamentals of Nonlinear Systems
Euler hλ < 2
Modified Euler hλ < 2
Heun hλ < 2
Simpson hλ < 2.5359
Runge-Kutta (4th order) hλ < 2.7853
Adams-Bashforth (4th order) hλ < 0.3
Adams-Moulton (5th order) hλ < 1.8367
stable. For hλ < 2 the solution of the difference equation (1.32) thus tends
to the same value as the solution of the differential equation (1.31). The
progression of x̂i , however, can deviate substantially from x(t).
In a way similar to the Euler method, stability for the test case of ẋ = −λx
can also be determined for other methods. In these methods, the respective
characteristic polynomial has an order greater than one. If its roots lie within
the unit circle, the method is stable. Taking this into account, we obtain the
stability ranges hλ that are provided in Table 1.3. Note that hλ > 0 must
hold.
The Adams-Bashforth method has a very small range of stability. This
can be explained by the fact that the interpolation on the interval [ti , ti+1 ] is
computed via a polynomial that is based on the previous interpolation points
(ti−k , xi−k ) , . . . , (ti , xi ), as mentioned previously. Interpolation polynomials
are only sufficiently exact between the interpolation points. Outside the inter-
polation range, they often differ significantly from the course that they should
approximate. This is why the computation of the integral becomes inaccurate.
To illustrate the stability behavior of the methods, Figure 1.42 plots dif-
ferent simulations which have been carried out for the test case
ẋ = −λx
with λ = 1 and the initial value x(0) = 1 for different step sizes h. The an-
alytical solution of this differential equation is
x(t) = e−t .
As we can see from Figure 1.42, stable step sizes h do not always lead to nu-
merically determined solutions with sufficiently small simulation errors. Figure
1.43 provides the relative error as a percentage for the example of ẋ = −x,
i. e.
|εn | |xn − x̂n |
εrel
n = · 100% = · 100%,
|xn | |xn |
1.2. Solution of Nonlinear Differential Equations 55
2 2
h=3
e−t
1 1
h = 2.7853
h = 0.5 h=2
0.5 h=1 h = 1.5 0.5 h=1 h = 2.5
x(t)
x(t)
0 0
e−t
-0.5 -0.5
-1 -1
0 2 4 6 8 10 0 2 4 6 8 10
Time t in s Time t in s
Fig. 1.42: Solution of ẋ = −x with the Euler method (left) and the fourth-order
Runge-Kutta method (right) for different step sizes h
120
100
Relative error in %
80
5 6 7
60
40
1 2 3
20
4
0
0 0.2 0.4 0.6 0.8 1
Step size h
104
102
Relative error in %
1
100
2
10−2
10−4 3
5
10−6 4
10 −8 6 7
10−10
10−2 10−1 100
Step size h
Fig. 1.43: Relative error (in percentage points) in linear representation and in double
logarithmic representation for the following methods: 1. Euler, 2. modified Euler,
3. Simpson, 4. fourth-order Runge-Kutta, 5. Adams-Bashforth with the order of
accuracy q = 4, 6. Adams-Moulton with q = 5 (one iteration), 7. Adams-Moulton
with q = 5 (ten iterations)
56 Chapter 1. Fundamentals of Nonlinear Systems
at the instant t = 10s for different step sizes h. The logarithmic representation
of the error shows the course of the error in more detail for small step sizes,
contrasted with the linear representation.
It becomes clear from Figure 1.43 that the classical fourth-order Runge-
Kutta method provides an approximate solution with a small error and rea-
sonable computational effort. Compared to other methods, this is an excel-
lent compromise between accuracy and effort; therefore this method is very
commonly used. For small step sizes, the Adams-Moulton predictor-corrector
method is even more precise than the fourth-order Runge-Kutta method.
The one-step and multi-step methods that we have outlined so far are often
not suitable for systems
ẋ = f (x),
ẋ1 = −x1 ,
ẋ2 = −100x2 .
0.8
0.6 x1
x1 , x2
0.4
0.2 x2
0
0 0.5 1 1.5 2 2.5
Time t in s
Fig. 1.44: Example of a stiff system
1.2. Solution of Nonlinear Differential Equations 57
instead of
F ≈ hf (xi , ui ).
This method is called the implicit Euler method , which is also the simplest of
an entire class of integration methods for stiff differential equations: the Gear
methods. All these methods are implicit calculation rules. Table 1.4 lists the
Gear formulas up to the order of accuracy q = 4 for the multidimensional
case. Here M denotes the number of interpolation points. As initialization for
the corrector equations, the simple predictor
x̂0i+1 = x̂i
M Gear formulas q
(l+1) (l)
1 x̂i+1 = x̂i + hf i+1 1
(l+1) 1 (l)
2 x̂i+1 = 4x̂i − x̂i−1 + 2hf i+1 2
3
(l+1) 1 (l)
3 x̂i+1 = 18x̂i − 9x̂i−1 + 2x̂i−2 + 6hf i+1 3
11
(l+1) 1 (l)
4 x̂i+1 = 48x̂i − 36x̂i−1 + 16x̂i−2 − 3x̂i−3 + 12hf i+1 4
25
58 Chapter 1. Fundamentals of Nonlinear Systems
ẋ = −λx, λ > 0.
1.3 Exercises
calculate the differential equation which is only dependent on the output vari-
able y and its time derivatives, as well as on the input variable u.
Exercise 1.2 Let us consider the system
ẋ1 = x1 (1 − x1 − x2 ),
ẋ2 = x2 (1 − x1 − 2x2 ).
Calculate the zero set of ẋ1 , i.e. the set of values x1 and x2 for which
x1 (1 − x1 − x2 ) = 0
applies. Next, calculate the zero set of ẋ2 . Using the zero sets, determine the
system’s equilibrium points.
Exercise 1.3 Calculate the equilibrium points of the systems
(a) ẋ = x2 + 1, (d) ẋ1 = −x1 + x2 ,
ẋ2 = 0.1x1 − 2x2 − x21 − 0.1x31 ,
(b) ẋ1 = (x2 − 1)2 sin(x1 ),
ẋ2 = x21 (1 − cos2 (x2 )),
with
α representing the birth rate,
N the population size, which we assume to be constant,
r the number of contacts between people per unit of time,
β the probability of infection per contact,
µ the death rate, and
γ the recovery rate.
(a) Determine the model’s equilibrium points.
(b) Which situation is represented by each of the equilibrium points?
Let us now examine the case of an incurable infectious disease such as AIDS.
In this case, no recovered patients exist and thus x3 is not included in our
calculation. Let us assume that the population size N = x1 + x2 remains
constant. We will use the simplified model
x2
ẋ1 = −rβ x1 ,
N
x2
ẋ2 = rβ x1 .
N
(c) Reduce the system of differential equations to one differential equation
with x2 as the variable.
(d) Determine the equilibrium points.
(e) Calculate the solution to the differential equation. For this purpose, trans-
form the differential equation using x2 = z −1 .
(f) Which equilibrium point does the system tend to if one or more persons
are contagious?
(g) What is the shortcoming of the model from (c), and how can it be reme-
died?
60 Chapter 1. Fundamentals of Nonlinear Systems
whose solution is
s
5e2t
x1 (t) = x10 3
, x2 (t) = x20 e−t ,
x310 x220 + (5 − x310 x220 )e5t
uC1 uC2 R R2
x1 = , x2 = , x3 = iL with u0 = ud
u0 u0 u0 R2 + R3
iL iR R i
R4
iC2 iC1
C2 C1 R3 R3
L
uC2 uC1 R4
R2 R2
-ud ud R1
t = RC2 τ.
C2 R2 C2 R R2 + R3 R
α= , β= , a=− , b=R − .
C1 L R1 R2 R3 R1
Based on this, calculate the normalized equations of the model.
(d) What type does this normalization take, and why do we perform it?
Exercise 1.7 Let us consider the system
ẋ1 = α (−x1 + x2 − g(x1 )) , bx1 + a − b, x1 ≥ 1,
ẋ2 = x1 − x2 + x3 , with g(x1 ) = ax1 , |x1 | < 1,
ẋ3 = −βx2 , bx1 + b − a, x1 ≤ −1.
Here, a < b < 0 and a < −1, as well as α > 0 and β > 0 apply.
(a) Determine the equilibrium points of the system.
(b) Now
a = −8/7, b = −5/7, α = 44/5, and β = 15
apply. For each equilibrium point, determine whether it is asymptotically
stable, Lyapunov stable, or unstable.
(c) The system has no limit cycle, and no trajectory tends to infinity. What
do you conclude from this, taking into account the results from (b)?
Exercise 1.8 If linear systems are connected in series, it is possible to change
their order without changing anything in the overall transfer behavior. This
does not apply if nonlinear components are connected in series. Let us examine
two examples shown in Fig. 1.46. An oscillation of the type u(t) = A cos (ωt),
A > a, is applied at the inputs of both circuits at t = 0. What form do the
output signals y1 and y2 take? Make a sketch.
a a
u1 1 x1 y1 u2 x2 1 y2
s s
-a -a
y ref
3
y ref e -1 1 u 1 x=y
s
-11 10 20 t
-3
Fig. 1.47: Loop with three-position control Fig. 1.48: Input signal y ref (t)
Exercise 1.10 We will now analyze the stability behavior of the control loop
shown in Figure 1.49.
(a) What are the eigenvalues of the plant?
(b) Calculate all the possible trajectories and sketch them on the x1 x2 -plane.
(c) Where do equilibrium points occur, and what are the stability properties
of each?
(d) How does the choice of the initial vector x(0) influence the stability be-
havior?
y ref = 0 e 1 u x1 = y
ẋ1 = x2
ẋ2 = x1 + u
-1
Plant
Fig. 1.49: Control loop with two-position control and unstable plant
ẋ1 = x2 ,
ẋ2 = u
Draw the trajectories of the control loop. What equilibrium points does
it have, and what is their stability behavior?
(e) We will now change the switching control law to the following:
(
−4y, x1 x2 < 0,
u=
−0.25y, x1 x2 ≥ 0.
Now draw the trajectories of the control loop again. What equilibrium
points does it have, and what is their stability behavior?
Exercise 1.12 Prove that a gradient system
T
∂h(x)
ẋ = −
∂x
has no limit cycles.
Exercise 1.13 Commercial fishing has a significant impact on the population
dynamics of fish species. This example deals with tuna and mackerel. Both
are prey of human beings; however, the mackerel is also the prey of tuna. The
population variable x1 of the mackerel can be described by
ẋ1 = a1 x1 − a2 x1 x2 − b1 x1 u1
[36, 400]. The change ẋ1 in the population size x1 of the mackerel depends
on a1 x1 , where a1 is the growth coefficient, the number of predators x2 , and
the catch rate u1 by human fishers. The increase ẋ2 in the number of tuna
depends on the number x1 of their prey, but also on the competition −a3 x2
between them and their catch rate u2 by human fishers. It is given by
ẋ2 = −a3 x2 + a4 x1 x2 − b2 x2 u2 ,
V̇in
0.1V
V̇out
V̇out
and serve as buffer storage units for the subsequent removal and continued
transport of the granular material via two conveyer belts which carry it on
to processing plants. The volume flows V̇1,out and V̇2,out exiting the silos can
be regulated using adjustable unloaders. Figure 1.50 shows how this process
works.
A control mechanism is required to swivel the filling tube from the left-
hand to the right-hand silo and vice versa, ensuring that neither of the silos
is emptied entirely. The control mechanism in this example is such that the
tube swings out over the silo whose contents have fallen to 10% and pours the
material into that silo.
1.3. Exercises 65
In the special case examined in the following, the constant volume flow V̇in
of the material being transported amounts to 9/50 of a silo’s volume V per
hour; furthermore, the relation
10
V̇ in = V̇ 1,out + V̇ 2,out
9
holds. The two volume flows exiting the silos are constant and equal, i.e.
V̇1,out = V̇2,out = V̇out applies. For safety reasons, the process is stopped when
one of the silos has contents lower than 0.1V .
(a) Determine the state-space model of the system with the control mecha-
nism described above. As state variables, use the filled volume V1 and V2
of the silos, which depend on the volume flow V̇ in being transported into
each silo, and as a switching variable z. If the swiveling tube fills the left
silo, z = 1 holds; if it fills the right one, then z = 0 applies.
(b) Calculate the time intervals ∆ti between switchovers of the swiveling tube
from one silo to the other. At time t = 0, V1 = 0.1V and V2 = 0.5V apply.
(c) Calculate the switching times ti at which the supplying mechanism swivels
from one silo to the other.
(d) Calculate the sum ttot of the times ∆ti of all switching intervals.
(e) Assess the control mechanism described here in terms of its applicability.
(f) What problem occurs if we simulate the system using an integration
method, e. g. a Runge-Kutta method?
Exercise 1.15 Let us examine the ordinary differential equation
ẋ = f (x)g(t)
are called separable, since we can separate the variables x and t such that the
left side of the equation depends only on x and the right one only on t. Thus
we obtain
1
dx = g(t)dt.
f (x)
Determine the general solution of a separable differential equation.
66 Chapter 1. Fundamentals of Nonlinear Systems
Exercise 1.18 Determine the analytical solutions x(t) of the following differ-
ential equations:
(a) ẋ = nx(n−1)/n , x(0) = 0,
2(1 + x3 )
(b) ẋ = − , x(0) ∈ IR, hint: transform z = 1 + x3 ,
3x2
(c) ẋ = −x + x2 , x(0) ∈ IR,
p
(d) ẋ = t2 1 − x2 , x(0) ∈ [−1, 1], and
p
(e) ẍ = 1 + ẋ2 , x(0) ∈ IR, ẋ(0) ∈ IR.
104
102
1
Relative error in % 100
2
10−2
3
10−4
5
10−6 4
6 7
10−8
10−10
10−2 10−1
Step size h
Fig. 1.51: Relative error in double logarithmic representation for the following meth-
ods: 1. Euler, 2. modified Euler, 3. Simpson, 4. fourth-order Runge-Kutta,
5. Adams-Bashforth with q = 4, 6. Adams-Moulton with q = 5 (one iteration),
7. Adams-Moulton with q = 5 (ten iterations)
The describing function method, also called the method of harmonic balance,
is used to detect limit cycles in nonlinear control loops, which are structured
as depicted in Figure 2.1. It can also be used for nonlinear control loops that
have been transformed into such a structure. The control loop shown is re-
ferred to as the nonlinear standard control loop. It consists of a linear system,
represented here by its Laplace transfer function G(s), and a nonlinear char-
acteristic curve u = f (e), representing a controller or a plant’s nonlinearity,
for example.
The absence of a reference variable y ref does not pose a serious problem,
since a constant reference variable can be shifted to zero via a transformation.
In any case, a limit cycle must also be ruled out for y ref = 0. Thus it is
adequate to consider only the case y ref = 0.
Nonlinear standard control loops are frequently encountered in practice,
either because nonlinear controllers are deliberately deployed, or because non-
linear characteristic curves are included as undesirable elements within the
control-loop structure, e. g. in the form of the limiting characteristic curve of
the actuator. Typical characteristic curves are illustrated in Figure 2.2.
e u y
u = f (e) G(s)
e u e u
e u e u
A question that arises is whether limit cycles can occur in the above control
loop. To gradually approach the solution of this problem, we will first consider
the special case of a linear characteristic curve
u = f (e) = K · e.
In this case, the control loop takes the form shown in Figure 2.3. A permanent
oscillation, i. e. one that is self-sustaining within the control loop, arises if a
harmonic signal
e(t) = A · sin(ω0 t) (2.1)
is fed into the control loop at the input of the linear characteristic and is
phase-shifted by π, i. e. 180◦, and of amplitude A at the output of the linear
plant G(s), i. e.
because then this signal is fed into the control loop at the summation point,
the new signal e(t) = −y(t) corresponds to the old one (2.1), and the process
repeats. In this way, the loop generates a self-sustaining oscillation.
In the frequency domain, the above condition for a sustained oscillation is
formulated as
A · ej(ω0 t−π) = K · G(jω0 ) · A · ejω0 t
or
K · G(jω0 ) = −1. (2.2)
2.1. The Describing Function Method 71
e u y
K G(s)
e u
e u
u = f (e)
t t
This perpetuation of the sinusoidal oscillations at the input and the output
of the open loop is referred to as the state of harmonic balance.
From the above, we can now deduce the nonlinear situation as follows. If
we feed a sinusoidal signal
e(t) = A · sin(ω0 t)
into the nonlinearity, we obtain a distorted sinusoidal signal at the output, as
illustrated in Figure 2.4.
The output signal u can be represented by a Fourier series as
∞
X
u(t) = c0 (A) + ci (A) · sin(i · ω0 t + ϕi (A)).
i=1
or in phasor representations
π π
e(t) = A · ej(ω0 t− 2 ) and u(t) = c1 (A) · ej(ω0 t− 2 +ϕ1 (A))
as
u(t) c1 (A)
N (A) = = · e j ϕ1 (A) . (2.3)
e(t) A
This gain N (A) of the linearized characteristic element is called the describ-
ing function. Note that N (A) is not frequency-dependent. However, the gain
factor c1 (A)/A and phase rotation ϕ1 (A) do depend on the amplitude A of
the input signal.
The nonlinear characteristic element is now replaced by its linear approxi-
mation (2.3) in the control loop, as shown in Figure 2.5. For this linear control
loop the previously derived condition (2.2) for the state of harmonic balance,
i. e. a self-sustaining oscillation, is given by
N (A) · G(jω) = −1
or
1
G(jω) = − . (2.4)
N (A)
Of course, the above equation only holds if the neglected harmonics occur-
ring at the frequencies 2ω0 , 3ω0 , 4ω0 , . . . are sufficiently damped by the plant
G(s). This means that the transfer function G(s) must exhibit a sufficiently
strong low-pass behavior.
Summarizing the results above and generalizing them to the characteristic
curves
u = f (e, ė),
we obtain the following heuristic.
e u y
N (A) G(jω)
Let the characteristic curve u = f (e, ė) be point-symmetric with respect to the
origin, i. e. f (−e, −ė) = −f (e, ė) holds. Further, assume that the plant G(s)
possesses a sufficiently strong low-pass characteristic. If there exist values ω
and A, such that the equality
1
G(jω) = −
N (A)
is fulfilled, presumably a sustained oscillation occurs which has approximately
the frequency ω and the amplitude A.
u = −b · sgn(y).
e b u 9 y
-b s(s + 1)(s + 9)
Approximating
4b
u(t) ≈ sin(ω0 t) = c1 (A) · sin(ω0 t),
π
we obtain
c1 (A) 4b
N (A) = = .
A πA
To detect a sustained oscillation, both sides of the equation of the harmonic
balance
1
G(jω) = − ,
N (A)
i. e.
9 πA
=− , (2.5)
jω(jω + 1)(jω + 9) 4b
4 10 9ω − ω 3
− = − ω2 + j ,
πA 9 9
to be
2
ω=3 and A= ≈ 0.127.
5π
The approximative nature of the method becomes apparent when we compare
these values to a simulation, from which the values
are obtained.
2.1. The Describing Function Method 75
0.04
0.02
1
−
N (A) A=0
Imaginary part
A→∞
0
ω
-0.02
-0.04
G(jω)
Fig. 2.7: Nyquist plot of G(jω) and the nonlinear locus −1/N (A)
u u
ė < 0
b
ė < 0
ė > 0
−a a e −a a e
Slope m
−b
ė > 0
is the Heaviside function. For most systems, especially mechanical ones, the
slope is m = 1.
The describing functions N (A) of the hysteresis and backlash characteristic
curves are also determined by choosing a sine function as the input signal and
representing the output as a Fourier series. The describing function N (A) then
results again from the fundamental wave. The describing functions N (A) of
the hysteresis, backlash, and other important characteristic curves are given
in Table 2.1.
Many characteristic curves can be represented as an additive combination
of standard characteristic curves. This summation of characteristic curves
corresponds to a parallel connection of their function blocks. Examples are
step curves which are point-symmetric. They can be formed by adding three-
position characteristic curves. In this way, the step curve of an A/D converter
can be emulated, for example.
Since the relation
holds, the total describing function N tot (A) of k characteristic curves which
are connected in parallel, i. e.
2.1. The Describing Function Method 77
a a
k
X
u= fi (e, ė),
i=1
is given by the sum of the describing functions Ni (A) of the individual non-
linearities fi , according to
k
X
Ntot (A) = Ni (A).
i=1
[±ai , ±ai+1 ), i = 0, . . . , k,
of the polygon, there is one straight line with corresponding slope mi . Further,
the polygon line is point-symmetric to the origin and consequently passes
through zero, so we obtain
m1 e, e ∈ [0, ±a1 ),
m2 e ± (m1 − m2 )a1 , e ∈ [±a1 , ±a2 ),
m3 e ± (m1 − m2 )a1 ± (m2 − m3 )a2 , e ∈ [±a2 , ±a3 ),
u= ..
.
k−1
X
mk e ± (mi − mi+1 )ai , e ∈ [±ak−1 , ±∞).
i=1
Two-position Im
1
element −
N (A)
u
A→∞ A=0
b
Re
−b 4b
N (A) = , A≥0
πA
Preload Im
1
−
u N (A)
b m
A→∞ A=0
1 Re
e −
m
−b
4b
N (A) = + m, A ≥ 0
πA
Slope: m
Three-position Im
1
element −
N (A)
u √
A→ ∞ A=a 2
b
πa Re
A→ a −
−a 2b
a e
−b
r
4b a 2
N (A) = 1− , A≥a
πA A
2.1. The Describing Function Method 79
Dead zone Im
1
u −
N (A)
m A→a A→∞
−a Re
1
a e −
m
m
!
2 a 2 ar a 2
Slope: m N (A) = m 1− arcsin − 1− , A≥a
π A πA A
Saturation Im
1
u −
N (A)
b A≤a
A→∞
1 Re
−
−a a e m
−b
m, 0≤A≤a
b N (A) =
r !
Slope: m = 2m a a a 2
a π arcsin A + A 1− ,A>a
A
Power Im
1
u −
N (A)
A→0 A→∞
Re
e
8A
N (A) = , for u = e |e| and A ≥ 0
u = e |e| , 3π
3
N (A) = A2 , for u = e3 and A ≥ 0
u = e3 4
80 Chapter 2. Limit Cycles and Stability Criteria
Roots Im
1
u −
N (A)
A→∞ A=0
Re
e
p p
u = sgn(e) |e|, N (A) = 1.11A−1/2 , for u = sgn(e) |e| and A ≥ 0
√ √
u= 3e N (A) = 1.16A−2/3 , for u = 3 e and A ≥ 0
Dry friction
u 1 Im
−
N (A)
b Re
A=0
ė
A→∞
−b
Force of friction: b 4b
N (A) = −j ,A≥0
πA
u = −b sgn (ė)
Backlash Im
1
u −
N (A)
A→∞
−a 1 Re
−
a e m
A→a
m m p m
1−α2
N (A) = + arcsin(α) + α 1−α2 − j
2 π π
Slope: m 2a
with α = 1 − ,A>a
A
2.1. The Describing Function Method 81
Im
Sharp hysteresis 1
−
N (A)
u b
Re
A→∞ A=a πa
−a a e −
4b
−b r
4b a 2 4ab
N (A) = 1− −j , A≥a
πA A πA2
Elastic hysteresis Im
1
−
u N (A)
b
A→∞ b + ma Re
A=
a
−a a e
m
−b
m b + ma b − ma 4ba
N (A) = µ +µ −j ,
π mA mA πA2
Slope: m p b + ma
µ(x) = arcsin(x) + x 1 − x2 , A ≥
m
Im
Three-position 1
−
element with
q
N (A) − πa a+c
4b a−c
hysteresis
u Re
b
A→∞
πa
−a −c −
A=a 4b
c a e
r !
2b c 2 r a 2 2b(a − c)
−b N (A) = 1− + 1− −j ,
πA A A πA2
A≥a
82 Chapter 2. Limit Cycles and Stability Criteria
with
p
µ(x) = arcsin(x) + x 1 − x2 .
Based on the Nyquist plot of G(jω) and the nonlinear locus −1/N (A), it is
not only possible to determine whether a limit cycle could exist; it is also
possible to deduce its stability behavior. Thus we can ascertain whether the
limit cycle is stable, semi-stable, or unstable.
For this purpose, we will assume that the limit cycle of amplitude Alc
has been determined. Then within a vicinity of the limit cycle, the behavior
of the control loop can be approximately described by the linear substitute
loop shown in Figure 2.3. In this case, the gain factor of the linear substitute
controller is
K = N (A).
A = Alc + ∆A,
K also changes only slightly. With this change in the amplitude A, we have
left the limit cycle and have to answer the question of whether the trajectory
returns to the limit cycle or departs from it. This question can be answered
by examining the stability behavior of the linear substitute control loop (see
Figure 2.5) for changes in K = N (Alc + ∆A). Four cases are possible; see also
Figure 2.11.
For Case (a), let ∆A > 0 and the linear substitute control loop be unstable.
Thus the trajectory of the linear substitute control loop tends to infinity. Since
the linear substitute control loop is a good approximation of the nonlinear
control loop, we can conclude that the trajectory of the nonlinear loop departs
from the limit cycle.
For Case (b), let ∆A > 0 and the linear substitute control loop be stable,
so that the amplitude A decreases over time. Consequently, the trajectory of
the nonlinear control loop tends to the limit cycle.
For Case (c), let ∆A < 0 and the linear substitute control loop be unstable,
which is why the amplitude A increases over time and the trajectory of the
nonlinear control loop tends to the limit cycle.
2.1. The Describing Function Method 83
∆A > 0
∆A = 0
Case (a): ∆A > 0 and unstable Case (b): ∆A > 0 and stable lin-
linear substitute control loop ear substitute control loop
∆A < 0
Case (c): ∆A < 0 and unstable Case (d): ∆A < 0 and stable lin-
linear substitute control loop ear substitute control loop
Fig. 2.11: Stability behavior for amplitude changes ∆A in the limit cycle
For Case (d), let ∆A < 0 and the linear substitute control loop be stable.
As a consequence, the trajectory of the nonlinear control loop departs from
the limit cycle.
Because both of the cases ∆A > 0 and ∆A < 0 occur in the control loop,
the stability of the limit cycle can be inferred from the following situations:
Situation 1: Cases (a) and (c) : semi-stable limit cycle,
Situation 2: Cases (a) and (d) : unstable limit cycle,
Situation 3: Cases (b) and (c) : stable limit cycle,
Situation 4: Cases (b) and (d) : semi-stable limit cycle.
Based on the simplified Nyquist criterion [130], we will decide whether the
linear substitute control loop becomes stable or unstable with a change in ∆A
and therefore a change in
K = N (Alc + ∆A).
In this way we can find out which of the above situations arises. From linear
systems theory, we know that the simplified Nyquist criterion is applicable to
an open loop with a transfer function K · G(s) that has exclusively poles λi
with Re {λi } < 0 and at most two poles at s = 0. If, in this case, the Nyquist
plot of G(jω) does not enclose or touch the critical point
1 1
− =−
K N (Alc + ∆A)
for 0 ≤ ω ≤ ∞, which is especially so when the Nyquist plot passes the
critical point on its right-hand side, the control loop is asymptotically stable.
84 Chapter 2. Limit Cycles and Stability Criteria
∆A < 0 ∆A > 0
1 1
− −
N (A) N (A)
G(jω) G(jω)
Situation 1: Cases (a) and (c) occur. Situation 2: Cases (a) and (d) occur.
The limit cycle is semi-stable. The limit cycle is unstable.
−1 −1
N (Alc +∆A) N (Alc +∆A)
Alc
∆A > 0 ∆A < 0
1 1
− −
N (A) N (A)
G(jω) G(jω)
Situation 3: Cases (b) and (c) occur. Situation 4: Cases (b) and (d) occur.
The limit cycle is stable. The limit cycle is semi-stable.
(1) stable if the nonlinear locus crosses the Nyquist plot from right to left at
the corresponding intersection point,
(2) semi-stable if the nonlinear locus is tangential to the Nyquist plot at the
corresponding intersection point,
(3) unstable if the nonlinear locus crosses the Nyquist plot from left to right
at the corresponding intersection point.
In this context, the directions left and right refer to the directions resulting
from moving along the Nyquist plot beginning at ω = 0.
We cannot normally observe unstable or semi-stable limit cycles in practi-
cal applications. Furthermore, an unstable or semi-stable limit cycle is often
not seriously critical for a control loop if the system has an asymptotically sta-
ble equilibrium point. This is the case because the trajectory departs from the
limit cycle, even for the smallest disturbances, and then, for example, tends
to the equilibrium point. Functions −1/N (A) with a nonlinear locus which,
as shown in Situation 2 of Figure 2.12, aim toward the origin usually do not
lead to stable limit cycles. This is due to the fact that the nonlinear locus
−1/N (A) crosses the Nyquist plot of G(jω) from left to right if the Nyquist
plot of G(jω) progresses in a clockwise rotating manner. The latter is usually
the case.
For the harmonic balance method, there are a number of extensions for
control loops with multiple characteristic curves, asymmetric characteristic
curves, and discrete controllers [88, 147, 319, 446].
Now we will consider a power-assisted steering system for motor vehicles which
utilizes the principle of angle superposition [225, 243, 244]. In a vehicle’s steer-
ing system, a high steering transmission ratio is used to reduce the steering
wheel torque for the driver. A resulting disadvantage is the large steering
wheel angle. A motor-powered superposition gear therefore reduces the steer-
ing wheel angle to increase driving comfort. To do this, the superposition
gear generates a supplementary angle δ2 which is superposed onto the steer-
ing wheel angle δ1 . Both together produce the output angle δ y . Figure 2.13
shows the principle structure.
Steering systems with angle superposition are also used for active steering.
At low speeds, active steering reduces the steering wheel angle that the driver
must set for cornering. In this way, a driver can drive along narrow curves
with small movements of the steering wheel. At high speeds, the superposition
motor counter-steers. Hence large steering wheel rotations lead only to small
steering angles. This increases driving safety in this velocity range.
Normally the driver holds onto the steering wheel and specifies a steering
angle δ1 . When the driver releases the steering wheel, this specification of the
steering angle disappears, and limit cycles can occur in the steering system,
which of course are undesired.
86 Chapter 2. Limit Cycles and Stability Criteria
δ1
δy
δ2 , M
Fig. 2.13: Power-assisted steering system which uses the principle of angle superpo-
sition
δy = δ1 + δ2 .
On the other hand, the steering wheel angle δ1 is also an output variable,
since the driver does not hold onto the steering wheel. The PD controller for
the supplementary angle δ2 has the parameters
δ̇2 δ2
Fig. 2.14: Control loop of the steering system for a steering wheel that is not held
by the driver
Mc M −M c
G(s)
Fig. 2.15: Steering system’s nonlinear standard control loop, which is derived by
transformation of the control loop depicted in Figure 2.14
0 0 1 0 0
0 0 0 1 0
δ̇ = δ +
−67.3568 −67.3568 −11.3988 −11.3988 −4.0123 · 10 M.
−2
M c = K PD (δ 2,ref − δ2 − T D δ̇2 )
specifies torques M c , which exceed these limits, they are limited by the satu-
ration characteristic
Mmax , M c > Mmax ,
M= M c, |M c | ≤ Mmax ,
−Mmax, M c < −Mmax .
The steering wheel angle δ1 specifies the reference value δ2,ref of the sup-
plementary angle δ2 for a given vehicular velocity by using the factor KP = 1.5.
Since the driver is not holding onto the steering wheel, the superposition gear
impacts directly upon the steering wheel angle δ1 , as shown in Figure 2.14.
The control loop in Figure 2.14 can be transformed into a nonlinear stan-
dard control loop, as shown in Figure 2.15. Taking into account the dynamics
88 Chapter 2. Limit Cycles and Stability Criteria
30
25
G(jω)
20
Imaginary part
15
ω
10
5 − 1
N (A) A
0
-5 ω1 ω2
-50
-1500
-1000 -500 0
Real part
Fig. 2.16: Nyquist plot of G(jω) and nonlin-
ear locus −1/N (A)
6
δ1
δ1 , δ2 , δy in rad 4 δ2
2 δy
0
-2
-4
-6
0 0.5 1 1.5 2 2.5
50
u in Nm
-50
0 0.5 1 1.5 2 2.5
Time t in s
Fig. 2.17: Time courses of the angles δ1 , δ2 , δy , and the actuating
variable u of the limit cycle
u = K1 e and u = K2 e.
e u y
u = f (e) G(s)
Figure 2.19 plots this sector, for which we will use the short-hand notation
[K1 , K2 ], as it is commonly utilized for intervals. Next, we will define a new
stability term [10] which is related to this sector [K1 , K2 ].
Definition 18 (Absolute Stability). The nonlinear standard control loop
Y (s) = G(s)U (s),
e = −y,
u = f (e)
is called absolutely stable in a sector
[K1 , K2 ]
if for every function
u = f (e)
which lies in this sector, is defined for all values e ∈ IR, and is piecewise
continuous, it possesses a globally asymptotically stable equilibrium point.
Here, Y (s) and U (s) denote the Laplace transform of the signals y(t) and
u(t), respectively.
It is already possible to initially estimate the size of the sector of absolute
stability[1] . Taking only linear characteristics into account, i. e. functions
u = f (e) = K · e,
we can determine the maximum range of parameters
(K H1 , K H2 ) (2.7)
which result in an asymptotically stable linear control loop by using the Routh
criterion or the root locus method. The sector (2.7) is called the Hurwitz
sector [2] . Obviously, the maximum sector of absolute stability is always smaller
than or equal to the Hurwitz sector. Figure 2.20 illustrates the situation.
[1]
The problem of finding conditions which guarantee that the nonlinear standard
control loop has a globally stable equilibrium point xeq is known as the Lur'e
problem. In this context, and when the nonlinearity has been shifted into the
feedback connection, the nonlinear standard control loop is usually called a Lur'e
system, which is shown in the figure below. A. I. Lur'e was the first to examine
the stability of this class of systems [290, 291].
y
G(s)
v=f (y)
[2]
Only gains K ∈ (K H1 , K H2 ) lead to an asymptotically stable control loop. The
non-included interval endpoints K H1 and K H2 lead to unstable or Lyapunov-
stable control loops. This is similar in the case of the largest sector of absolute
stability.
2.2. Absolute Stability 91
u u
Hurwitz sector
u = K2 e u = f (e) u = K H2 e
e e
u = K1 e u = K H1 e
Sector of absolute
stability
Fig. 2.19: Sector of characteristic Fig. 2.20: Hurwitz sector and sector of
curves bounded by u = K1 e and u = absolute stability
K2 e
Re {pi } ≤ 0,
where Re {pi } = 0 holds for at least one pole. We call a marginally stable
linear system strictly marginally stable if the linear control loop
G(s)
Gε (s) =
1 + ε G(s)
Im
Root locus
Re
u=ε·e
tends to infinity for e → ∞, but it does so more weakly than any line u = ε · e,
so that there is always an intersection
p point. Thus in this example as well, the
characteristic curve u = sgn(e) |e| will not lie in a sector [ε, K].
u u
e e
[K1 − K1 , K2 − K1 ] = [0, K = K2 − K1 ].
e u y
f (e) G(s)
K1 K1
Fig. 2.24: Inserting a factor K1 into the nonlinear standard control loop
e u G(s) y
fˆ(e) = f (e) − K1 e Ĝ(s) =
1 + K1 G(s)
Fig. 2.25: A standard nonlinear control loop which is an equivalent version of the
control loop shown in Figure 2.24
1
Re {(1 + q · jω) · G(jω)} > −
K
is fulfilled for all ω ≥ 0 .
The solution of the Popov inequality can be illustrated in graph form. To
do this, we first need to rearrange the inequality to obtain
1
Re {G(jω)} −q · ω Im {G(jω)} > − .
| {z } | {z } K
X(ω) Y (ω)
−1
K
X
Slope 1q
X − qY > − 1
K
X(ω) = Re {G(jω)},
(2.9)
Y (ω) = ω Im {G(jω)}.
The curve defined by equation (2.9) can be pictured in the coordinate plane
with X and Y as its coordinates. It is similar to a Nyquist plot if we set
The related locus is termed the Popov plot . It results from the Nyquist plot
of G(jω) when we multiply the imaginary part of G(jω) by ω. The graphic
interpretation of this is that the Nyquist plot of G(jω) is modified in the
direction of the imaginary axis. However, the real part is left unchanged, as
we see in Figure 2.27.
The possible values for X and Y are thus given by equation (2.9): they
are the values of the Popov plot. This result can be depicted in a graph and
utilized as follows. Popov’s inequality is fulfilled if the Popov plot lies on the
right-hand side of a line with the arbitrary slope 1/q which intersects the
X-axis, i. e. the real axis at −1/K.
With the above method, it is possible to solve the Popov inequality graph-
ically. Obviously, all lines to the left of the Popov plot fulfill the inequality.
From these, the value of −1/K and thus the sectors of absolute stability
[0, K] or [ε, K]
are directly visible. Clearly, we are interested in determining the largest pos-
sible sector. To do this, the Popov line is shifted to the Popov plot such that
it is its tangent, which results in the largest possible K = K Po , as shown in
Figure 2.28. The corresponding sector
[0, K Po ) or [ε, K Po )
96 Chapter 2. Limit Cycles and Stability Criteria
Arbitrary
Im Critical Im
slope 1q
Popov line
−1 − 1
K K Po
Re Re
Popov
line G(jω)
ω=1
Fig. 2.27: The Nyquist plot of G(jω), Fig. 2.28: The critical Popov line is
the Popov plot, a possible Popov line, the tangent to the Popov plot which
and a region (blue) where Popov’s in- produces the largest Popov sector.
equality is fulfilled
is called the Popov sector . For the gain K Po of the Popov sector [0, K Po ),
stability is not proven by the Popov criterion, since the Popov inequality
requires values Re{G(jω)} − qωIm {G(jω)} to be greater than, not greater
than or equal to −1/K. However, this distinction is not relevant in practice,
since, in any practical application, a safety distance from the critical value
K Po is always maintained.
It should be noted that the Popov criterion is of course also applicable if
the control loop takes the form
ẋ = Ax − bf (cT x)
and its linear plant is controllable and observable.
Below we will consider two extensions of the Popov criterion. The Popov
criterion is also applicable if G(s) takes the form
G(s) = Ĝ(s) · e −T s
and Ĝ(s) is asymptotically stable. In this case, however, only positive values
of q are allowed in the Popov inequality and the nonlinearity is required to be
continuous [277, 373].
In the case that the nonlinearity is time-variant, i. e. if u = f (e, t) holds,
the Popov criterion is also applicable. However, in this case, the following
additional restrictions apply [391]:
f (e, t)
(1) 0 < < K, e 6= 0, and f (e, t) = 0 for all t ∈ IR,
e
(2) G(s) has no more than one pole at s = 0, and otherwise only poles si with
Re {si } < 0, and
2.2. Absolute Stability 97
(3) q = 0.
The requirement q = 0 implies that the Popov line is vertical.
For many nonlinear standard control loops, the application of the Popov crite-
rion is unnecessary. This is because for these systems, Aizerman’s conjecture
[9] holds. It states that the largest sector of absolute stability is identical to
the Hurwitz sector (2.7), which is much easier to determine. Even though the
conjecture does not hold for cases in general [93, 122], it is true for all first-
and second-order[3] plants with m < n. It is also true for all third-order plants
without zeros and only real poles [10, 37, 139]. If we restrict ourselves to sec-
tors [0, K H2 ) and [ε, K H2 ), i. e. if we only consider the nonnegative part of
the Hurwitz sector, Aizerman’s conjecture also holds for the following plants
[404, 478]:
(1) asymptotically stable third-order systems with
b1 s + b0
G(s) =
s3 + a2 s2 + a1 s + a0
or strictly marginally stable systems with
1 b1 s + b0
G(s) = · ,
s s2 + a1 s + a0
(2) fourth-order systems without zeros, with at most one pole at s = 0, and
otherwise only real negative poles.
Similar to Aizerman’s conjecture, Kalman [217] guesses equality of the
Hurwitz sector and the sector of absolute stability if the nonlinearity’s deriva-
tive is bounded by
∂f (e)
K1 < < K2 . (2.10)
∂e
Note that this restriction is stricter than Aizerman’s requirement of a sector
f (e)
K1 < < K2 , e 6= 0. (2.11)
e
In both cases above, we assume that f (0) = 0 holds. Thus, every function f
which fulfills inequality (2.10) satisfies inequality (2.11).
The Kalman conjecture is also false in general [255, 271]. However,
Kalman’s conjecture is valid in some cases not covered by the cases in which
Aizerman’s conjecture was proven to be true. For example, it holds for all
[3]
There is a special case [10, 57, 380] in which Aizerman’s conjecture does not hold
for second-order systems, but it has no practical significance in engineering tasks.
98 Chapter 2. Limit Cycles and Stability Criteria
linear systems of the third order or below with m < n; thus, for these, the
sector of absolute stability and the Hurwitz sector are identical if inequality
(2.10) holds [28, 270].
Furthermore, similar to the Kalman conjecture, we can easily calculate a
sector of absolute stability
[0, K H2 ) or [ε, K H2 )
for nonlinear standard control loops which may have an integrator and a
delay. Here, the gain K H2 > 0 is again the upper bound of the Hurwitz sector
(K H1 , K H2 ), which results when we use only linear characteristics u = Ke.
The gain K H2 is also known as the Nyquist value of a linear plant, since it
results from the Nyquist criterion and indicates the control loop’s gain where
the system’s behavior changes from stability to instability. We use the results
from [498] and obtain
Theorem 7 (Absolute Stability of Control Loops with Delay). Con-
sider a nonlinear standard control loop with a plant
be−T s be−T s
G1 (s) = or G2 (s) =
D(s) sD(s)
where b > 0 and T ≥ 0, and a nonlinear controller
If
(1) the polynomial D(s) has only roots λi with
and
(2) the nonlinearity’s derivative is bounded by
∂f (e)
0≤ < K H2 ,
∂e
where K H2 is the Nyquist value of G1 (s) or G2 (s),
then the nonlinear standard control loop is absolutely stable in the sector
[0, K H2 ) for G1 (s) and in the sector [ε, K H2 ) for G2 (s).
At least for the plants above, it is possible to simply determine the largest
possible sector of absolute stability or its nonnegative part by calculating the
Hurwitz sector (K H1 , K H2 ) or its subsector [0, K H2 ).
Next we will look at an example to complement the above considerations.
The plant is given by
1
G(s) = .
(s2 + 0.1s + 10)(s2 + 0.2s + 20)
2.2. Absolute Stability 99
0.6 Popov
plot
1
−
0.2 K Po
-0.2 1
Im
−
KH2
G(jω)
-0.6
-1
Figure 2.29 shows the corresponding Nyquist and Popov plots, so that the
Popov sector can be graphically calculated as [0, K Po ≈ 8.7). From the
Nyquist plot, it also becomes clear that the nonnegative Hurwitz sector with
the maximum slope K H2 is larger than the Popov sector, since it holds that
1012
K Po ≈ 8.7 < = K H2 .
45
However, the fact that the Popov sector is smaller than the Hurwitz sector
is not sufficient for us to conclude that the sector of absolute stability is
smaller than the Hurwitz sector. This is because the proof [431] of the Popov
criterion only shows its sufficiency, and we do not know if it delivers the largest
sector of absolute stability. Thus, Aizerman’s conjecture could still hold for
the above system. As mentioned previously, it does not hold for every system
[93, 122, 246, 362, 363]. However, this is difficult to prove in specific cases.
The following general rule deserves emphasis:
So far, we have not addressed the question whether the Popov sector [0, K Po )
is always equal to the largest nonnegative sector of absolute stability [0, K as ).
It has been shown that this is not the case [281, 377].
the course ϕ of 10◦ requires a maximum settling time of 50 s. In this case, the
control variable ϑ should not exceed ±10◦ . The yaw rate ϕ̇ is measured with
a gyroscope.
The Tampa’s transfer function G(s) which relates the rudder angle ϑ to
the yaw rate ϕ̇ has been experimentally determined [133] to be
where Ω(s) and Θ(s) are the Laplace transforms of ω = ϕ̇ and ϑ, respectively.
The variable to be controlled is ϕ. For this reason, the yaw rate ϕ̇, which
is measured by the gyroscope, is integrated to obtain ϕ. A cascade control
with two proportional controllers for the yaw rate and the course angle are
used. The integral part of the plant ensures that no permanent control error
exists. To limit the rudder angle to ±10◦, a saturation element is added in
front of the plant. The control loop is shown in Figure 2.31. The controls
are designed in such a way that a 10◦ change in the course corresponds to a
maximum control variable of 10◦ . In this case, the control loop is linear. For
larger changes in the course, the actuating variable saturates, i. e. the control
loop becomes nonlinear.
Now the question arises whether the control loop is also stable in nonlinear
cases. To investigate this using the Popov criterion, the control loop is first
2.2. Absolute Stability 101
ϕref ϑ̂ 10 ϑ ϕ̇ 1 ϕ
0.08 −12.5 G(s)
10 s
e 10 u 0.0184(s + 0.0068) ϕ̇ 1 ϕ
12.5(s + 0.08)
10 (s + 0.2647)(s + 0.0063) s
Fig. 2.32: Control loop of the ship in the form of a nonlinear standard control loop
−ec ec e
transformed into the nonlinear standard control loop. Figure 2.32 shows the
result of this transformation. Since the plant contains an integrator and is
strictly marginally stable, only sectors [ε, K] can be obtained using the Popov
criterion. The sector [ε, K > 1], however, does not include the saturation
characteristic curve, since its parallel to the abscissa always intersects any
arbitrary line with slope ε > 0. However, for small values of ε, this only
happens for large values of e. The saturation characteristic curve thus does
not lie in the sector [ε, K > 1], and the Popov criterion is hence inapplicable
in this case.
Because we wish to apply it anyway, we will resort to the following remedy.
We can note that it is not possible for arbitrarily large values of the control
error e to occur in a practically operated control loop. For this reason, the
saturation characteristic curve may be allowed to increase further beyond
some determinable value ec , which is never exceeded in a practically operated
system. This change in the characteristic curve, as depicted in Figure 2.33,
102 Chapter 2. Limit Cycles and Stability Criteria
does not affect the behavior of the control loop. With this modification, the
characteristic curve lies in the Popov sector [ε, K > 1] and absolute stability
can be ensured.
It is worth noting that a reference input ϕref 6= 0 does not affect the
applicability of the Popov criterion. This is because the negated reference
input −ϕref can also be interpreted as the initial value ϕ(0) of the course
angle.
The corresponding Popov plot of the ship is depicted in Figure 2.34. It is
evident that a line can be shifted from the left such that it touches the Popov
plot and passes through the origin. The system is thus absolutely stable in
the sector [ε, ∞).
100
90◦
0.05
80
0
ϕ in degrees
-0.05 60
45◦
-0.1
Im
ω=0 40
-0.15
-0.2 20
10◦
-0.25 0
ω→∞
-0.4 -0.2 0 0.2 0.4 0.6 0 50 100 150 200 250
Re Time t in s
Fig. 2.34: Popov plot of the ship Fig. 2.35: Course angle ϕ of the
ship
1600 0
10◦
-2
1200 90◦ 45◦
ϑ in degrees
45◦ -4
y in m
800 90◦
-6
400 -8
10◦ -10
0
0 500 1000 1500 2000 0 50 100 150 200 250
x in m Time t in s
Fig. 2.36: View of the ship’s Fig. 2.37: Control signal, i. e.
course from the top rudder angle ϑ
2.2. Absolute Stability 103
Figures 2.35, 2.36, and 2.37 show the simulated trajectories of the course
control for course angle changes of 10◦ , 45◦ , and 90◦ beginning at t = 10 s.
Here the velocity of the ship is assumed to be 10 m s−1 . Figure 2.37 illustrates
that, for a course change exceeding 10◦ , the control signal reaches saturation.
The ship’s rudder then has its maximum deflection. It also becomes clear from
these figures that, due to the saturation effect, large changes in the course are
carried out more slowly than small changes. This is reasonable, since large
curves should not be navigated as rapidly as small ones. Figure 2.36 shows
the curves that were navigated and the ship’s course changes from the top,
i. e. in the xy-plane.
Like the Popov criterion, the circle criterion allows us to analyze nonlinear
standard control loops, such as the one shown in Figure 2.38, regarding abso-
lute stability. The nonlinear function
u = f (e, t)
0 ≤ K1 < K2 ,
i. e. it holds that
f (e, t)
K1 ≤ ≤ K2 , e 6= 0.
e
Consequently,
f (0, t) = 0
must be fulfilled. Figure 2.39 illustrates this case.
The circle criterion [330, 401, 402, 491, 492] confirms whether absolute sta-
bility of the standard nonlinear control loop is guaranteed in a sector [K1 , K2 ].
Like the Popov criterion, however, the circle criterion is only a sufficient con-
dition. Thus, in general, we do not know whether we have determined the
maximum possible sector of absolute stability.
e u y
u = f (e, t) G(s)
Fig. 2.38: Nonlinear standard control loop with a time-varying characteristic curve
104 Chapter 2. Limit Cycles and Stability Criteria
u
K2 e
f (e)
K1 e
Largest Im Im
possible
G(jω)
circle
Re
Re
−1
K G̃(jω)
− 1 − 1
K1 K2
G(jω)
Popov line
Fig. 2.40: Application of the circle cri- Fig. 2.41: Comparison of the Popov
terion and circle criteria
The circle criterion is somewhat easier to apply than the Popov criterion,
since we only need the Nyquist plot of G(jω) and not the Popov plot. In
specific cases, however, the circle criterion yields a different sector of absolute
stability. Figure 2.41 illustrates such a case, where the Popov plot is denoted
with G̃(jω).
In the case of an unstable plant or sectors with negative K1 , the sector
transformation we introduced for the Popov criterion in Section 2.2.2 is ap-
plied. In this way, we obtain an asymptotically stable plant or a transformed
sector with K1 ≥ 0 and the circle criterion is applicable again. As an alter-
native to this approach, the circle criterion can be formulated in such a way
[308, 402, 465] that the sector transformation is not required and the crite-
rion encompasses the cases mentioned above. Then the following criterion for
systems without poles on the imaginary axis holds.
Theorem 9 (Circle Criterion for Systems without Poles on the
Imaginary Axis). Let the nonlinear standard control loop
be given whose open-loop transfer function G(s) is coprime and has a degree
m of the numerator which is less than the degree n of the denominator; let
G(s) have ν ∈ {0, 1, . . . , n} poles λi with Re {λi } > 0 and no poles λi with
Re {λi } = 0. Let the function f (e, t) lie in the sector [K1 , K2 ], let f (0, t) = 0
for all t ∈ IR, and let D(K1 , K2 ) represent the circle in the complex plane
which passes through the points
1 1
− and −
K1 K2
106 Chapter 2. Limit Cycles and Stability Criteria
and which has its center on the real axis. In this case, the control loop is
absolutely stable in the sector [K1 , K2 ]
(1) for 0 < K1 < K2 if the Nyquist plot of G(jω) for frequencies ω ranging
from −∞ to ∞ does not intersect or touch the circle D(K1 , K2 ), and
orbits it ν times in a counterclockwise direction,
(2) for 0 = K1 < K2 and ν = 0 if the Nyquist plot is located to the right of
the vertical line crossing the real axis at −1/K2,
(3) for K1 < 0 < K2 and ν = 0 if the Nyquist plot lies inside the circle
D(K1 , K2 ), and
(4) for K1 < K2 ≤ 0 if, after replacing G(jω) with −G(jω), and K1 and K2
with −K1 and −K2 , respectively, either Condition (1) or (2) is fulfilled.
Figure 2.42 illustrates the four cases of the above theorem in graphic form.The
subplots are shown as the areas colored in blue through which the Nyquist
plot must not pass if absolute stability is to be proven. If, on the other hand,
Im Im
Re Re
− 1
K2
− 1 − 1
K1 K2
Im Im
Re Re
− 1 − 1 1 1
K2 K1 K2 K1
Fig. 2.42: To achieve absolute stability in the sector [K1 , K2 ] using Theorem 9, the
Nyquist plot of G(jω) must lie entirely in the white areas.
2.2. Absolute Stability 107
the Nyquist plot runs through a blue area, absolute stability of the control
loop cannot be proven.
Note that in the case of Condition (1), it is absolutely necessary to use
the Nyquist plot of G(jω) with −∞ < ω < ∞. In all other cases and in
Theorem 8, it is irrelevant whether the Nyquist plot is drawn for all frequencies
−∞ < ω < ∞, or only for nonnegative frequencies 0 ≤ ω < ∞. This is because
of the mirror symmetry of the Nyquist plot with −∞ < ω < ∞ with respect
to the real axis.
In the following, we will examine a specific example [213] for Case (1) of
Theorem 9. The plant is chosen as
2
G(s) = . (2.12)
(s − 1)(s + 2)
It has a stable pole at s1 = −2 and an unstable pole at s2 = 1. Therefore,
ν = 1 holds. Figure 2.43 shows the corresponding Nyquist plot. The Nyquist
plot orbits the circle D(K1 , K2 ) once in a counterclockwise direction, so we
can deduce that the nonlinear standard control loop is absolutely stable in
the sector [K1 , K2 ].
The above circle criterion enables us to address unstable systems whose
poles lie in the open right half-plane of the complex numbers. However, it is
limited to systems which do not have poles on the imaginary axis[4] . It can
admittedly be extended to systems with poles on the imaginary axis [274].
However, this can be laborious. This is unsatisfactory because many systems
in practical applications have such poles. Therefore, it would be useful if we
were also able to apply the circle criterion to such systems in a simple way.
Im
ω<0
D
ω=0 ω = −∞ Re
− 1 − 1 ω=∞
K1 K2
−1
ω>0
Fig. 2.43: Nyquist plot of G(jω) of system (2.12) and application of Case (1) of the
circle criterion. Here are K1 = 1.083 and K2 = 2.003.
[4]
An illustrative example of this restriction is the system G(s) = 1/s4 . If poles on
the imaginary axis were allowed in Theorem 9, it would seem as if there were a
sector [ε, ∞) of absolute stability. However, there is no Hurwitz sector for this
system and, therefore, no sector of absolute stability.
108 Chapter 2. Limit Cycles and Stability Criteria
In some cases the Nyquist plot is piecewise continuous, i. e. the Nyquist plot
has jump discontinuities between its continuous segments. If this is the case,
the continuous angle variation Ω consists of the sum of all continuous angle
variations of the segments.
Two examples of a continuous angle variation Ω are shown in Figure 2.44
and 2.45. For the first example
1
G(s) = ,
(s + 1)(s + 2)(s + 3)
we can easily read the continuous angle variation Ω = 0 from the Nyquist
plot. The second example
4s2 + 3s + 1
G(s) =
s2 (s − 1)
Im Im
ω=0
1
G(s) =
(s+1)(s+2)(s+3)
Ω=0 v Ω = 2π
p p ϕ(ω)
ω=∞ Re Re
ω=0 ω=∞
v
4s2 + 3s + 1
G(s) =
s2 (s − 1)
Fig. 2.44: Nyquist plot of G(jω) for Fig. 2.45: Nyquist plot of G(jω) for
ω ∈ [0, ∞] and a continuous angle ω ∈ [0, ∞] and a continuous angle
variation Ω = 0 of the phasor v variation Ω = 2π of the phasor v
2.2. Absolute Stability 109
requires a bit of calculation since we do not know the phasor’s angle ϕ(ω) of
G(jω) for ω = 0 in advance. Using
Im {G(jω)} ω3 − ω
ϕ(ω) = arctan = arctan 4 2 ,
Re {G(jω)} − p 7ω − 1 + p ω 2 (1 + ω 2 )
we obtain ϕ(0) = 0. With this result, we can read a continuous angle variation
of Ω = 2π from the Nyquist plot. In general, Ω is easy to determine.
Using the continuous angle variation, we obtain the following general circle
criterion, the proof of which is given in Appendix A.1.
be given whose open-loop transfer function G(s) is coprime and has a degree
m of the numerator which is less then the degree n of the denominator; let
G(s) have ν poles λi with Re {λi } > 0 and µ poles λi with Re {λi } = 0. Let
the function f (e, t) lie in the sector [K1 , K2 ], let f (0, t) = 0 for all t ∈ IR, and
let D(K1 , K2 ) represent the circle in the complex plane which passes through
the points
1 1
− and −
K1 K2
and which has its center on the real axis. In this case, the control loop is
absolutely stable in the sector [K1 , K2 ]
(1) for 0 < K1 < K2 if the Nyquist plot of G(jω) does not intersect or touch
the circle D(K1 , K2 ) and if the continuous angle variation of G(jω) with
respect to the point −1/K1 is
π
Ω = νπ + µ , (2.13)
2
(2) for 0 = K1 < K2 and ν = µ = 0 if the Nyquist plot is located to the right
of the vertical line crossing the real axis at −1/K2 ,
(3) for K1 < 0 < K2 and ν = µ = 0 if the Nyquist plot lies inside the circle
D(K1 , K2 ), and
(4) for K1 < K2 ≤ 0 if, after replacing G(jω) with −G(jω), and K1 and K2
with −K1 and −K2 , respectively, either Condition (1) or (2) is fulfilled.
As an example, we look again at system (2.12) and its Nyquist plot, which
is shown in Figure 2.43. The circle D(K1 , K2 ) is not intersected or touched by
the Nyquist plot of G(jω), and the continuous angle variation Ω with respect
110 Chapter 2. Limit Cycles and Stability Criteria
with the plant G(z) be given. Let the function u = f (e) be defined for all values
e ∈ IR, piecewise continuous, pass through zero, and fulfill f (e → ∞) 6= 0.
Then the control loop is absolutely stable
(1) in the sector [0, K] for asymptotically stable transfer functions G(z) and
(2) in the sector [ε, K] with an arbitrarily small ε > 0 for transfer functions
G(z) with only one pole λi with λi = 1 and otherwise only poles λi with
|λi | < 1
if the inequality
1
Re {G(z = ejωT )} > −
K
is fulfilled for all 0 ≤ ωT ≤ π.
e u bm z m + . . . + b1 z + b0 y
u = f (e) G(z) =
z n + . . . + a1 z + a0
the line reaches the plot but does not yet touch it. The intersection −1/K
with the real axis yields the sector [0, K] or [ε, K], of absolute stability. The
advantage of this criterion is its simple applicability. Its disadvantage is that,
in some cases, it does not provide a good estimate of the sector of absolute
stability. A criterion providing a better estimation is
Theorem 12 (Extended Tsypkin Criterion). Let the nonlinear standard
control loop
with an asymptotically stable plant G(z) be given. Let the function u = f (e)
be defined for all values e ∈ IR, piecewise continuous, pass through zero, and
be monotonous. Then the control loop is absolutely stable in the sector [0, K]
if there exists a real number q ≥ 0 for which the Tsypkin inequality
1
Re { 1 + q(1 − e−jωT ) · G(z = ejωT )} > −
K
is fulfilled for all 0 ≤ ωT ≤ π.
Critical
Tsypkin Im
line
Re
−1
K
Here, Y (z) and U (z) denote the z-transforms of the signals y(t) and u(t),
respectively.
The above criterion is the discrete-time equivalent to the Popov criterion
with the difference that the characteristic curve u = f (e) is required to be
monotonous. This, however, is not a strong restriction, since almost all char-
acteristic curves which exist in practice fulfill this additional requirement.
Further, q ≥ 0 must hold.
The extended Tsypkin criterion can be calculated in graphic terms in a
fashion similar to the Popov criterion. The Tsypkin inequality
1
Re {G(ejωT ) + q(1 − e−jωT ) · G(ejωT )} > −
K
is rearranged to
1
Re {G(ejωT )} −q Re {e−jωT G(ejωT )} − Re {G(ejωT )} > − .
| {z } | {z } K
U (ω) V (ω)
As in the case of the Popov criterion, this results in the parameterized in-
equality
1
U (ω) − qV (ω) + > 0.
K
Again, an artificial frequency response, or more precisely the corresponding
locus curve, the Tsypkin plot, is defined by
If the Tsypkin plot lies to the right-hand side, or below a line with slope 1/q
which intersects the real axis at −1/K, the control loop is absolutely stable.
Figure 2.48 illustrates this. Again, a line is moved until it touches the Tsypkin
Im
Critical
Tsypkin
−1 line
K
Re
Tsypkin
plot
G̃(ejωT )
Slope 1q
G(jω)
plot, resulting in the largest possible sector of absolute stability that can be
determined using the Tsypkin criterion.
For discrete-time systems, it is also possible to apply the circle criteria,
more precisely Theorem 8 and Theorem 9 [465, 504]. In this case, the Nyquist
plot of G(jω) of the continuous-time system must be replaced with the Nyquist
plot of G(z = ejωT ), where −π ≤ ωT ≤ π holds. The variable ν again repre-
sents the number of unstable poles of the plant, i. e. the number of poles λi
with |λi | > 1.
In the previous sections, we dealt with methods for analyzing the stability of
nonlinear standard control loops, i. e. a limited class of systems. These include
the describing function method, the circle criterion, and the Popov criterion.
The methods mentioned above are important to control theory, since they
deal with types of control loops that frequently occur in practice.
Unfortunately, these methods of stability analysis are not applicable to
arbitrary nonlinear systems. A generic method for analyzing the stability of
nonlinear systems was introduced in 1892 by A. M. Lyapunov[5] [279, 292,
293, 355]. This method has been extended in many ways [26, 162, 170, 389]. In
principle, we can analyze whether an equilibrium point of a dynamical system
is stable or not using the Lyapunov method. It will become apparent, however,
that this is often not possible in practice. Hence the Lyapunov method does
not entirely solve the problem of how to analyze the stability of nonlinear
systems.
To illustrate the key principle behind the Lyapunov method, we will look
at different cases of possible stability behavior using the example of a ball
with friction influenced by the acceleration of gravity g. Figure 2.49 shows the
mechanical arrangements used for this purpose; only the left one exhibits a
stable equilibrium point.
The potential energy
E pot = mgy
of the ball with mass m is proportional to its height y. Each of the arrange-
ments in question forces the ball to move along a specific track, so that the
y-coordinate is a function f of x and z. For the potential energy, we therefore
obtain
E pot = mgf (x, z).
Obviously an equilibrium point is only stable if the potential energy has a
minimum at the equilibrium point, i. e. in this example, the function f must
have a minimum.
[5]
The name is also sometimes spelled Liapunov.
114 Chapter 2. Limit Cycles and Stability Criteria
y
z
x
Fig. 2.49: Stability and instability of a ball influenced by gravity
Fig. 2.50: Ball with energy source and force driving an upswing
The following example demonstrates that this alone, however, does not
suffice to ensure stability. Now imagine that the ball has an energy source
which causes it to swing up and move upwards, as illustrated in Figure 2.50.
Thus the equilibrium point is not stable, even though the potential energy
has a minimum. This is due to the fact that the system has an internal source
of energy.
In addition to the requirement that the potential energy has a minimum,
a further condition must obviously be satisfied to ensure stability of the equi-
librium point. We therefore require the potential energy along all trajectories
in the neighborhood of the equilibrium point to decrease or at least stay con-
stant.
Looking at the problem more closely, it seems possible to move away from
our starting point of a potential energy function and to generalize the above
idea. To assess the stability of an equilibrium point, it seems to be sufficient to
use an arbitrary function for which the following two conditions are fulfilled:
(1) The function must have a minimum at the equilibrium point.
(2) The function must decrease within a neighborhood of the equilibrium
point along all of its trajectories.
This is the basic concept behind the direct Lyapunov method, which is also
referred to as his second method . A. M. Lyapunov proved the following theorem
[170, 279, 389], which is essential to the stability analysis of dynamic systems.
2.3. Lyapunov’s Stability Theory 115
A function V which fulfills Conditions (1) and (2) is called positive definite
and has a minimum at x = 0. Condition (3) means that V decreases or stays
constant over time along all trajectories x(t) starting from U2 (0). It is worth
noting, once again, that the assumption of an equilibrium point at x = 0 is
not a loss of generality, since every equilibrium point can be transformed to
x = 0.
Theorem 13 allows us to verify whether an equilibrium point is Lyapunov
stable or asymptotically stable. This depends on whether V̇ (x) ≤ 0 or V̇ (x) <
0 holds. Figure 2.51 illustrates a case in which V̇ (x) ≤ 0. Where V̇ (x) = 0
holds, it is possible that trajectories x(t) which do not tend to the equilibrium
point xeq = 0 fulfill the inequality V̇ (x) ≤ 0, i. e. the equilibrium point
is only Lyapunov stable. Figure 2.52, on the other hand, illustrates a case
of asymptotic stability. In this case the function V (x) decreases along all
trajectories x(t) except the trivial trajectory x(t) = 0, i. e. it holds for the
time derivative that V̇ (x) < 0 and x 6= 0.
If Conditions (2) and (3) are fulfilled for the entire state space, and addi-
tionally
x2 x2
V (x) = c V (x) = c
x1 x1
ẋ = f (x)
can now be inserted into equation (2.15). Then we must check if V̇ (x) ≤ 0 or
if V̇ (x) < 0 holds for x 6= 0. This is illustrated by Figure 2.53. The solution of
the differential equation, which for nonlinear systems in many cases cannot be
computed analytically, is not required for us to apply Theorem 13. The name
direct method stems from the direct application of the differential equation
for the calculation of V̇ (x).
Next we will address the case in which we know a Lyapunov function V
for a system ẋ = f (x) for which we can only show that V̇ (x) ≤ 0. Therefore,
using Theorem 13, we can only prove Lyapunov stability and not asymptotic
stability. However, if no trajectory x(t) exists which starts at some initial
value x(0) and along which the derivative V̇ (x(t)) is continuously identical
to zero, the function V decreases along all trajectories that start within the
neighborhood of the equilibrium point xeq = 0. Thus the asymptotic stability
of the equilibrium point can also be proven for this case [29]. This is more
precisely formulated in
Theorem 14 (Barbashin and Krasovskii Theorem). Let the differen-
tial equation ẋ = f (x) with the equilibrium point xeq = 0 possess a contin-
uous and unique solution for every initial state vector within a neighborhood
U1 (0) of the origin. Let a function V (x) exist which possesses continuous
partial derivatives and fulfills the following conditions within a neighborhood
U2 (0) ⊆ U1 (0):
(1) V (0) = 0,
(2) V (x) > 0 for x 6= 0,
(3) V̇ (x) ≤ 0.
(4) The set of state vectors x for which V̇ (x) = 0 holds does not include a
trajectory x(t), except x(t) = 0.
Then the equilibrium point xeq = 0 is asymptotically stable.
If the Lyapunov function of the above theorem is also radially unbounded and
U2 (0) = IRn , the equilibrium point is globally asymptotically stable.
2.3. Lyapunov’s Stability Theory 117
V (x)
V (x)
ẋ
x2
•
grad(V(x)) x1
Fig. 2.53: Illustration of the equation V̇ (x) = ẋT grad(V (x)) < 0
holds. Condition (4), however, does not rule out the existence of individual
points x of the trajectory for which equation (2.16) is fulfilled. It requires that
equation (2.16) does not hold for the entire trajectory x(t).
Theorem 14 is often useful in practice when it is only possible to find a
Lyapunov function with V̇ (x) ≤ 0. Condition (4) can be verified by determin-
ing the set of vectors x, for which V̇ (x) = 0 holds. These vectors are inserted
into ẋ = f (x). If the set contains a solution x(t) of the differential equation,
which is different from the equilibrium point xeq = 0, Condition (4) is not
fulfilled. In most cases, Condition (4) is fulfilled, since it only rarely happens
that a trajectory x(t) continuously runs along a contour line of the Lyapunov
function V .
The problem with applying the above stability theorems mainly consists
of finding a Lyapunov function V (x). For linear systems and for some special
cases of nonlinear systems, as discussed below, it is easy to find a Lyapunov
function based on intuition aided by graphs. Generally, however, it turns out
118 Chapter 2. Limit Cycles and Stability Criteria
∂V ∂V
V̇ (x, t) = ẋ + ≤0
∂x ∂t
for x 6= 0 is guaranteed [448].
with the equilibrium points xeq1 = 0 and xeq2 = [1 1]T . Its trajectories
are shown in Figure 2.54. A candidate for a Lyapunov function to prove the
stability of the equilibrium point xeq1 = 0 is
since it holds that V (0) = 0 and V (x) > 0 otherwise. The contour lines of
the function V are circles. As we remember, the equilibrium point xeq2 is
unstable.
2.3. Lyapunov’s Stability Theory 119
1 s
State x2
0 s
-1
-2
-2 -1 0 1 2
State x1
Fig. 2.54: Trajectories x(t) and circular contour lines (blue) of the Lyapunov function
V (x) = x21 + x22
It holds that
so that the equilibrium point xeq = 0 is asymptotically stable and the function
(2.17) is a strict Lyapunov function. Figure 2.54 illustrates these results, with
the contour lines V (x) forming circles as mentioned earlier.
V (0) = 0,
x2
x1
V (x) = const
ẋ = Ax. (2.18)
With
V (x) = xT R x,
it holds for V̇ (x) that
V̇ (x) = xT R ẋ + ẋT R x.
V̇ (x) = xT RA x + xT AT R x
= xT RA + AT R x.
| {z }
−Q
For asymptotic stability, we have to fulfill the inequality
AT R + RA = −Q (2.19)
AT R + RA = −Q
cd − ef
which is created by mutualism. In the case where ef > cd, no equilibrium point
with positive coordinates exists, since the mutualism is much stronger than
2.3. Lyapunov’s Stability Theory 123
Figure 2.57 depicts the courses of the trajectories in this ecological system. We
are especially interested in the equilibrium point xeq4 caused by mutualism.
To prove its stability, we will first transform xeq4 via
x = z + xeq4
ż1 = (z1 + 2000) − 10−3 (z1 + 2000)2 + 0.5 · 10−3 (z1 + 2000)(z2 + 2000),
ż2 = (z2 + 2000) − 10−3 (z2 + 2000)2 + 0.5 · 10−3 (z1 + 2000)(z2 + 2000)
for the system (2.21) after transformation. The courses of the trajectories in
the transformed system are shown in Figure 2.58.
Now we choose
3000
2000 s
State x2
1000 s
0 s s
2000
1000
State z2
0 s
-1000 s
V(z)=r 2
-2000 s s
-2000 -1000 0 1000 2000
State z1
Fig. 2.58: A circular catchment region with radius r = 1924 (blue) of the mutualistic
equilibrium point, which has been transformed to z = 0
In order to determine when V̇ (z) < 0 holds, we will define the polar
coordinates
z1 = r cos(ϕ),
z2 = r sin(ϕ).
Here r denotes the radius, ϕ represents the angle of the polar coordinates,
and r2 further represents the level of a contour line of the Lyapunov function
xk+1 = f (xk ).
The first two conditions of the Stability Theorem 13, V (0) = 0 and V (x) > 0
for all x 6= 0, hold unchanged. Only the third condition,
which we are only calculating for the asymptotically stable case at this point,
has to be replaced by the condition
xk+1 = Φxk
V (xk ) = xTk R xk ,
we arrive at
ΦT R Φ − R = −Q (2.24)
The above results for continuous-time linear systems are the basis for the
stability analysis of nonlinear systems of the form
ẋ = Ax + g(x) (2.25)
with the associated equilibrium point xeq = 0. Here g(x) should tend faster
to x = 0 than |x| for |x| → 0. This is the case when
g(x)
lim =0 (2.26)
|x|→0 |x|
holds. For these systems, Lyapunov’s stability theory allows us to prove the fol-
lowing theorem [320], which is also referred to as Lyapunov’s indirect method ,
Lyapunov’s first method , or Lyapunov’s linearization method .
If, in this case, the matrix A has only eigenvalues with a negative real part, the
equilibrium point xeq = 0 is asymptotically stable and a Lyapunov function
V (x) = xT R x
AT R + RA = −Q
ẋ = f (x)
∂f
ẋ = f (x) = f (0) + x + g(x)
| {z } ∂x x=0
0 | {z }
A
with residual g(x) and can be defined in terms of equation (2.25) in this way.
In these cases, equation (2.26) always holds for the residual g(x) of a function
f which is representable by a Taylor series. Thus using the above theorem,
we can deduce the stability behavior of the equilibrium point xeq = 0 of a
differential equation ẋ = f (x) by its corresponding linearization
∂f
ẋ = Ax with A=
∂x x=0
around the equilibrium point xeq = 0. For this reason, the above theorem is
of exceptional importance, since it states that the stability behavior of a large
class of nonlinear systems can be easily determined based on the corresponding
linearized systems. However, it does not guarantee a large catchment region.
is fulfilled. We know this from Definition 10, p. 19. The solution x(t) of the
differential equation ẋ = f (x) tends to the equilibrium point xeq = 0 faster
than or equally as fast as the exponential function me−αt |x(0)|. For simplic-
ity’s sake, we will write x for x(t) and x0 for the initial value x(0) in the
following.
For nonlinear differential equations ẋ = f (x) it is generally very difficult,
if not impossible, to prove exponential stability using the defining equation
(2.27), since in most cases we cannot determine the solution x(t) of the differ-
ential equation ẋ = f (x) analytically. Also, in this case, Lyapunov functions
often allow us to prove stability. However, the conditions on the Lyapunov
function are stricter in the case of exponential stability than in the case of
asymptotic stability. The requirements that
128 Chapter 2. Limit Cycles and Stability Criteria
V (0) = 0
and
V (x) > 0, x 6= 0,
from the Stability Theorem 13 on p. 115, are replaced by the stricter require-
ments
k1 |x|p ≤ V (x) ≤ k2 |x|p , (2.28)
where k1 , k2 and p are positive constants which remain to be determined.
Below we will assume that V is continuously differentiable. Now we will replace
the condition
V̇ (x) < 0, x 6= 0,
of Theorem 13 with the stricter condition
k3 k3
V̇ (x) ≤ − V (x) = −aV (x), a= . (2.30)
k2 k2
holds for all t ∈ [0, T ] [357]. Note that in the case discussed here, x and therefore
V are functions of time t, and it holds that Ψ (t) = 0.
2.3. Lyapunov’s Stability Theory 129
and thus
r r
p k2 −at p k2 a
|x| ≤ |x0 |e p = m|x0 |e−αt , m= , α= .
k1 k1 p
Underwater gliders are a type of autonomous underwater robot used for long-
term missions, such as to measure environmental data or salinity in oceans
and seas [178, 183, 263, 294]. Figure 2.59 illustrates a possible structure for
such a glider. They consume very little energy and can operate autonomously
for years. These gliders are about 2 m long or longer and have wings on the
sides of their hull, similar to sailplanes. Their principle of movement is also
similar to that of sailplanes. However, the cause of the glider’s movement is
different. It is based on a density change within the glider. To this end, for
example, a hydraulic liquid is pumped back and forth between an internal
swim bladder, i. e. one located inside the hull of the glider, and an external
one located outside the impermeable part of the hull at the stern.
For example, if the underwater glider is at the surface and the hydraulic
liquid is pumped from the external swim bladder to the internal one, the
volume of the glider is reduced due to the contraction of the external bladder,
and the specific density of the underwater vehicle becomes greater than that of
the surrounding water. Simultaneously, the center of gravity of the underwater
vehicle moves toward the bow and the glider begins to sink, bow first. The
center of gravity can be fine-tuned by a motor which changes the position
of the accumulator providing the energy supply for the glider. Due to the
wings, which have a similar effect as the wings of an aircraft, the glider does
130 Chapter 2. Limit Cycles and Stability Criteria
Internal
v swim bladder
γ
External
swim bladder
Movable
accumulator
not sink vertically; it glides on a slanting course into the depths, as shown
in Figure 2.60. After the glider reaches a prespecified depth, the hydraulic
liquid is pumped back into the external bladder at the stern. Consequently,
the volume of the glider increases while its weight remains constant and the
glider begins to rise. This takes place along a slanting upward path with a
gliding angle of γ. When the glider has reached the surface, radio frequency
signals can be transmitted and then the glider descends again. The resulting
motion as a function of time is a sawtooth-like course of movement. A typical
velocity for such a glider is approximately 1 km h−1 .
Below we will present a simplified model of the underwater glider [45, 46].
It describes the relative deviation
v − vs
x1 =
vs
of the glider’s velocity v from the stationary velocity v s and the deviation
x2 = γ − γ s
and with a = −mg sin(γ s ) and b = mg cos(γ s ) from equation (2.32), it follows
that
1
V̇ (x) = − a(1 + x1 )4 + a(1 + x1 )2 cos(x2 )
a
+ mg(1 + x1 )2 (cos(γ s ) sin(x2 ) − sin(x2 + γ s )) −a
| {z }
− sin(γ s ) cos(x2 )
1
= −a(1 + x1 )4 + 2a(1 + x1 )2 cos(x2 ) − a
a
= −1 + 2(1 + x1 )2 cos(x2 ) − (1 + x1 )4 . (2.36)
and the second condition for exponential stability, the inequality (2.35), is
also fulfilled. Therefore the glider always tends exponentially from an initial
deflection or a disturbance to the equilibrium point xeq = 0, i. e. it dives on
a path at a stationary velocity v s and stationary gliding angle γ s .
1 s
State x2
0 s
-1
-2
-2 -1 0 1 2
State x1
Fig. 2.61: Maximal catchment region (blue) of the exemplary system (1.10) on p. 12
2.3. Lyapunov’s Stability Theory 135
x21
V (x) = + 2x22 . (2.38)
1 + x21
This function is not radially unbounded, i. e. it does not hold that V (x) → ∞
for |x| → ∞, and thus there are also regions
G = x ∈ IR2 | V (x) < c
136 Chapter 2. Limit Cycles and Stability Criteria
which are unbounded, i. e. the contour lines are not closed in every case; rather,
they tend to infinity for values c ≥ 1. The graph of the contour lines of this
function is shown in Figure 2.62.
There are systems with an equilibrium point xeq = 0 for which the function
(2.38) is a Lyapunov function V and V̇ (x) < 0 holds everywhere in IRn \{0}.
Nevertheless, trajectories may tend to infinity along the contour lines of V (x)
with c > 1, even though along the contour lines it holds that V̇ (x) < 0. Figure
2.62 shows such a trajectory. Obviously, in this case, G is not a catchment
region of the equilibrium point xeq = 0.
Such a system is [44]
ẋ1 = −x1 + 2x31 x22 ,
(2.39)
ẋ2 = −x2 .
Its trajectories are shown in Figure 2.63. For this system, which has a single
equilibrium point at xeq = 0, and the function (2.38), the inequality
2x21 + 4x22 1 + 2x21
V̇ (x) = − 2 <0
(1 + x21 )
holds for all x ∈ IR2 \{0}. Thus, the function (2.38) is a Lyapunov function
for system (2.39), and the equilibrium point xeq = 0 is asymptotically stable.
However, as we will soon see, it is not globally asymptotically stable. Note
that the latter cannot be verified by means of the Lyapunov function (2.38),
because it is not radially unbounded. Radial unboundedness, however, is a
necessary condition of a Lyapunov function V to prove global stability, as
required in equation (2.14) on p. 115.
The solutions of the system (2.39) are given by
x10 et
x1 (t) = p 2 2 ,
x10 x20 + (1 − x210 x220 ) e4t (2.40)
−t
x2 (t) = x20 e ,
where x10 = x1 (0) and x20 = x2 (0). From (2.40), we can directly deduce that
the trajectory x(t) tend to the equilibrium point xeq = 0 for x210 x220 < 1
and to infinity for x210 x220 ≥ 1. The initial values which fulfill the equation
x210 x220 = 1, i. e.
1
x20 = ± ,
x10
make up the separatrix, which represents the boundary between stable and
unstable trajectories. The trajectories that lie on the separatrix itself are
unstable and are given by
x1 (t) = x10 et ,
x2 (t) = x20 e−t .
2.3. Lyapunov’s Stability Theory 137
1.5 1.5
1 1
0.5 0.5
State x2
State x2
0 0 s
-0.5 -0.5
-1 -1
-1.5 -1.5
-20 -10 0 10 20 -20 -10 0 10 20
State x1 State x1
Fig. 2.62: The contour lines of the Lya- Fig. 2.63: Trajectories x(t) of the sys-
punov function (2.38). The region with tem (2.39). The region of asymptotic
closed contour lines is gray, an unstable stability Gmax is shown in blue. All tra-
trajectory of the system (2.39) is shown jectories outside of Gmax are unstable.
in red.
In the case where x210 x220 > 1, all trajectories tend to infinity in finite time.
The denominator of equation (2.40), in this case, for the finite escape time
1 x210 x220
te = ln
4 x210 x220 − 1
Figure 2.63 not only illustrates the course of the trajectories x(t) but also the
region GRAS , whose boundary is the separatrix of the system. Figure 2.62 also
shows an unstable trajectory, which has its starting point at x10 = x20 = 1.5.
This illustrates the previously mentioned case in which V (x) decreases along
a trajectory, which nevertheless tends to infinity.
In addition to the direct Lyapunov method, there is a more general and more
powerful method for analyzing the convergence of the solutions of a differential
[7]
The solution (2.40) of the system (2.39) is only defined for the time interval
[−∞, te ). For times t ≥ te no solution exists. This is because the right side of the
differential equation (2.39) is locally but not globally Lipschitz continuous. See
Theorems 4 and 5 on p. 40.
138 Chapter 2. Limit Cycles and Stability Criteria
V̇ LaSalle (x) ≤ 0
for all x ∈ Ω. Further, let N denote the set of all points x ∈ Ω with
V̇ LaSalle (x) = 0
and let M denote the largest invariant set in N . In this case all solutions x(t)
that start within Ω tend to the set M for t → ∞.
2.3. Lyapunov’s Stability Theory 139
V LaSalle
Ω N
M
• x(t)
x2
x1
Fig. 2.64: The function V LaSalle , the positively invariant set Ω, the set N , and the
invariant set M , to which the trajectory x(t) tends
Figure 2.64 illustrates the sets Ω, N , and M , as well as the LaSalle function
V LaSalle . The invariance principle does not require the function V LaSalle to be
positive definite and V LaSalle (0) = 0 to hold, as was the case for Lyapunov’s di-
rect method. However, the approach using a positive definite function V LaSalle
is reasonable, since it then holds that
V̇ LaSalle (x) ≤ 0
holds. Note that the set (2.41) is closed, but not necessarily bounded. It is
compact only if it is closed and bounded. Since this property is required in
Theorem 20, we have to verify the boundedness of set (2.41) in the use of this
theorem.
A special case of the invariance principle occurs when only the solution
x(t) = 0 ∈ Ω
i. e. when
N = {0}
holds, and everywhere else V̇ LaSalle (x) < 0 is fulfilled. Obviously, the trivial
solution x(t) = 0 of the differential equation in this case is also the largest
invariant set, i. e.
M = N = {0}.
Thus x = 0 is an asymptotically stable equilibrium point, since all trajectories
tend to zero. This special case equates to Lyapunov’s direct method, given in
Theorem 13 on p. 115, if we assume that V LaSalle is a positive definite function.
Barbashin and Krasovskii’s Theorem on p. 116 is also a special case of the
invariance principle, because M = {0} is stipulated in this theorem, although
it does not usually hold that N = {0}.
As a further example, we will examine the limit cycle of the system
It is depicted in Figure 2.65. We can show that the unit circle is a limit cycle of
the system by inserting equation (2.43) into equation (2.42). The derivatives
of x1 and x2 on the unit circle are then
ẋ1 = −x2 ,
(2.44)
ẋ2 = x1 .
We can prove that the unit circle is a closed trajectory by means of the normal
vectors
∂(x21 + x22 ) x
n= = 2 1 , x ∈ x ∈ IR2 | x21 + x22 = 1 ,
∂x x2
of the circle, i. e. the vectors which are perpendicular to the boundary of the
circle. Then, applying equation (2.44), we obtain
nT ẋ = 0,
for which
2.3. Lyapunov’s Stability Theory 141
2
V LaSalle
1
State x2
0 s
−1
-1 1
0
x2
-2 x1
-2 -1 0 1 2
State x1
Fig. 2.65: Trajectories and limit cy- Fig. 2.66: Shape of the LaSalle function
cle of the system (2.42) V LaSalle (x) = (x21 + x22 − 1)2
V LaSalle (x) ≥ 0
holds, but not
V LaSalle (0) = 0.
Instead of the latter, all points of the unit circle satisfy the equation V LaSalle (x) =
0, i. e.
V LaSalle (x) = 0 for all x ∈ {x ∈ IR2 | x21 + x22 − 1 = 0}.
Furthermore, the function V LaSalle shown in Figure 2.66 has its minima on
the unit circle. For the time derivative, we obtain
V̇ LaSalle (x) = −4(x21 + x22 )(x21 + x22 − 1)2 .
On the unit circle and in x = 0, the derivative of the LaSalle function becomes
V̇ LaSalle (x) = 0.
We are leaving the point x = 0 out of our calculations. Taking this exception
into account, we obtain the sets
Ω = {x ∈ IR2 | V LaSalle (x) = (x21 + x22 − 1)2 ≤ 1 − ε}, 1 ≫ ε > 0,
2
N = {x ∈ IR | x21 + x22 = 1},
M = N,
where ε is an arbitrarily small positive number.
By means of Theorem 20 and the result above, we can calculate that all
trajectories x(t) which begin outside of N tend to the set M = N , i. e. the
unit circle, in its further progression. We have thus verified that the unit circle
is an asymptotically stable limit cycle.
142 Chapter 2. Limit Cycles and Stability Criteria
V (x)
V (x)
x2
•
x1
grad(V(x))
ẋ
Fig. 2.67: Illustration of the equation V̇ (x) = ẋT grad(V (x)) > 0
2.4. Passivity and Stability 143
(1) V (0) = 0,
(2) V (x) > 0 for x 6= 0,
6 0
(3) V̇ (x) > 0 for x =
in a neighborhood U2 (0) ⊆ U1 (0), then the equilibrium point xeq = 0 is un-
stable.
This theorem, however, cannot prove the instability of an equilibrium point if
in addition to the trajectories progressing away from it, there are trajectories
that tend to it. Theorems that allow for such an analysis can be found in
[170, 389]. These are not often used in practice, however.
i iL iR
u y=i
u L R
(a) (b)
Fig. 2.68: RL circuit as a) a circuit diagram and b) a block diagram with input
variable u and output variable y = i
We can now generalize the above law, which states that the stored energy
always has to be smaller than or equal to the energy supplied, to arbitrary
systems including MIMO systems
ẋ = f (x, u),
y = g(x, u)
Zt
S(x(t)) − S(x(0)) ≤ u(τ )T y(τ ) dτ, (2.45)
0
where S(x(t)) describes the total energy contained in the system. Since this
is positive, S is a function with S(x(t)) ≥ 0, where with no loss of generality
we can assume S(0) = 0. In this context, we use
Definition 23 (Positive and Negative Definite Functions). A function
v(x) with v(0) = 0 is called
(1) negative semidefinite if v(x) ≤ 0,
(2) negative definite if v(x) < 0 for all x 6= 0,
(3) positive semidefinite if v(x) ≥ 0,
(4) positive definite if v(x) > 0 for all x 6= 0.
The storage function S is therefore at least positive semidefinite. Lyapunov
functions, which we described in the previous section and, as we will soon
see, are closely related to storage functions, are positive definite. Below we
keep in mind that the variables depend on the time, and we will write them
in simplified form without explicitly referring to the time t, e. g. x instead of
x(t).
We can now drop the restriction which states that the function S must
describe the total energy of the system and regard S as a general positive
semidefinite function.
The inequality (2.45) can be transformed to
2.4. Passivity and Stability 145
∂S(x)
Ṡ(x) = ẋ ≤ uT y,
∂x
since equation (2.45) must hold for all t ≥ 0. Combining this with the above
results, we arrive at the following definition of passivity, strict passivity, and
losslessness.
Definition 24 (Passivity, Strict Passivity, and Losslessness). Let a
system be defined by
ẋ = f (x, u),
y = g(x, u)
y = g(u),
the state vector x is not present. In this case, we can see that S(x) is inde-
pendent of x and therefore it is constant. Thus it holds that
Ṡ(x) = 0
0 ≤ uT y
holds.
For the scalar case, this equation simplifies to
0 ≤ uy, (2.46)
sgn(u) = sgn(y).
All characteristic curves which satisfy equation (2.46) therefore lie within the
first and third quadrants and pass through the origin, as illustrated in Figure
2.69. The limiting element, the dead zone, and the three-position element are
passive, for example.
146 Chapter 2. Limit Cycles and Stability Criteria
Fig. 2.69: Characteristic elements y = g(u), whose characteristic curves lie entirely
in the blue shaded sector, are passive.
Ṡ(x) ≤ 0.
for which the state variable x2 (t) is unobservable and unstable. A positive
semidefinite storage function for this system is
1 1 0
S(x) = xT x.
2 0 0
2.4. Passivity and Stability 147
−x21 ≤ 0,
{x ∈ IRn | Ṡ(x) = 0}
does not contain a trajectory x(t) except for x(t) = 0, this means that the
conditions from the Barbashin and Krasovskii stability theorem, i. e. Theorem
14 on p. 116, are fulfilled. In this case x = 0 is an asymptotically stable
equilibrium point, and we obtain
Theorem 23 (Asymptotic Stability of Passive Systems). A passive
system with a positive definite storage function S possesses an asymptotically
stable equilibrium point at x = 0 if no trajectory x(t) other than x(t) = 0 is
contained within the set {x ∈ IRn | Ṡ(x) = 0}.
For strictly passive systems, similar to the passive case above, the inequal-
ity
Ṡ(x) + R(x) ≤ 0
we can first deduce that S(x) is positive definite and not only positive semidef-
inite. This is because if S(x) were only positive semidefinite, points x 6= 0
with S(x) = 0 would exist. Such points are inevitably minima of a positive
semidefinite function. Consequently, the gradient of S(x) would have to fulfill
the equation
T
∂S(x)
=0
∂x
for these points. The latter, however, is impossible, since because of equation
(2.47), i. e.
∂S(x)
Ṡ(x) = ẋ ≤ −R(x) < 0 for x 6= 0, (2.48)
∂x
148 Chapter 2. Limit Cycles and Stability Criteria
the derivative
∂S(x)
∂x
must be different from zero. Thus we can conclude that there is no minimum,
except for x = 0 with S(0) = 0. Therefore, it follows that S is positive definite.
Furthermore, because of the positive definiteness of R(x) and equation
(2.48), the inequality
Ṡ(x) < 0
When passive systems are connected, in many cases, a passive system again
results. We will first illustrate this by examining two strictly passive systems
which are connected in parallel. Figure 2.70 illustrates the parallel connection
of both strictly passive systems and their input and output variables.
For the strict passivity of the individual systems, it holds that
is fulfilled. With the connection scheme of Figure 2.70 and with the equations
u1 ẋ1 = f 1 (x1 , u1 ) y1
y 1 = g 1 (x1 , u1 )
u y
ẋ2 = f 2 (x2 , u2 )
y 2 = g 2 (x2 , u2 ) y2
u2
y1 u2
u1 e1 ẋ1 = f 1 (x1 , e1 ) e2 ẋ2 = f 2 (x2 , e2 ) y2
y 1 = g 1 (x1 , e1 ) y 2 = g 2 (x2 , e2 )
Ṡ1 (x1 )+R1 (x1 )+ Ṡ2 (x2 )+R2 (x2 ) ≤ (e1 +y2 )Ty 1 +(e2 −y1 )Ty 2 = eT1 y 1+eT2 y 2 .
(2.52)
the inequality (2.52) is fulfilled and the control loop is also strictly passive.
With the results above, we have also derived the passivity of the control loop
for the case of two passive subsystems, since for this derivation, we only have
to set R1 (x) = 0 and R2 (x) = 0.
Thus we obtain
Theorem 26 (Control Loop with Passive Subsystems). Let there be
two (strictly) passive systems
ẋ1 = f 1 (x1 , u1 − y 2 ),
ẋ2 = f 2 (x2 , u2 + y 1 ),
y 1 = g 1 (x1 , u1 − y 2 ),
y 2 = g 2 (x2 , u2 + y 1 )
plant with a strictly passive controller leads to a control loop with a globally
asymptotically stable equilibrium point xeq = 0. This always requires that
the storage functions of the subsystems are radially unbounded and positive
definite.
In summary, passive systems with positive definite storage functions are
Lyapunov stable, while strictly passive systems are even asymptotically stable.
(More precisely: their equilibrium point xeq = 0 is Lyapunov stable.) Since
suitably connected passive systems are themselves passive, the connected sys-
tems also have a stable equilibrium point at x = 0. Thus, such connected
passive systems always yield stable systems. Showing that a system is pas-
sive, or even better strictly passive, is therefore very advantageous.
1 1
M= M − MT + M + MT .
|2 {z } |2 {z }
skew-symmetric symmetric
which leads to
Theorem 27 (Passivity of Linear Systems). A linear system
is negative semidefinite.
The matrix above can now be represented by a matrix L and a matrix W
as
" #
T
A R + RA RB − C T LT
=− L W , (2.56)
BT R − C −D − DT WT
where the matrix on the right-hand side of the equation above is always neg-
ative semidefinite[8] .
Taking into account the symmetry of the matrix, the matrix equation
(2.56) leads to the three so-called Kalman-Yakubovich-Popov equations (KYP
equations)
[8]
An initial and detailed treatment of this topic can be found in J. G. Willems [477]
and further information is provided in [163].
2.4. Passivity and Stability 153
AT R + RA = −LT L,
RB − C T = −LT W , (2.57)
T T
D + D = W W.
or
L ∈ IRm×n and W ∈ IRm×m (2.59)
would fit together. Thus, the dimensions of the matrices L and W are not
predetermined. When choosing them, however, their compatibility with each
other and with the other matrices which occur in the Kalman-Yakubovich-
Popov equations (2.57) must be maintained. The choice of matrices (2.59),
which allows for low dimensions of the matrices, is sufficient for the solvability
of the KYP equations [477].
Using the above results, we formulate
Theorem 28 (Passivity and the KYP Equations). A linear system
is passive with a positive definite storage function if and only if the Kalman-
Yakubovich-Popov equations
AT R + RA = −LT L,
LT W = C T − RB,
W T W = D + DT
In the case of strictly passive linear systems (2.53), we can proceed simi-
larly as in the case of passivity above. We will examine the defining inequality
for strict passivity. Once again, we will choose a positive definite storage func-
tion
1 T
S(x) = x Rx (2.61)
2
with the n × n matrix R and also a quadratic function
1
R(x) = µ xT P x (2.62)
2
with a positive, real-valued constant µ and a positive definite matrix P . At
this point, we will note that choosing a general quadratic form (2.62) for the
function R(x) does not restrict the generality of our further deductions.
If we now insert the functions (2.61) and (2.62) into equation (2.60), we
obtain – similarly to the case of passivity – the inequality (2.60) for strict
passivity in the form of
1 T T 1
x A R + RA + µP x + uT B T R − C x − uT D + D T u ≤ 0
2 2
or, equivalently,
T " #
1 x AT R + RA + µP RB − C T x
≤ 0. (2.63)
2 u BT R − C −DT − D u
The linear system (2.53) is thus strictly passive if and only if positive definite
matrices R and µP exist such that the matrix of the quadratic form (2.63) is
negative semidefinite.
This is equivalently formulated as
Theorem 29 (Strict Passivity and the KYP Equations). A linear
system
AT R + RA = −LT L − µP ,
LT W = C T − RB,
W T W = D + DT
AT R + RA = −Q,
C = B T R.
Q = LT L
In the industrial production of paper, plastic foil, and textile fabrics, the
material webs are transported over a roller system, either during production
or subsequent treatment, such as coating. For this purpose, pairs of rollers
located between the dispenser and the rewinder press down onto the material
web, so that it is moved along by them. Figure 2.72 illustrates the basic
process.
The speed of the material web must be equal everywhere, i. e. the an-
gular velocity ωi of rollers with the same radius must be equal. From this
requirement, it follows as a further condition that the differences
Fi − Fi−1
between tractions Fi affecting the web at its contact points with the rollers
should be zero or at least not too large, since otherwise the material web will
tear or flutter [324, 488]. We now want to determine the torque equilibria at
the individual rollers. Here Mi is the driving torque of the ith roller, Fi is the
tension force which impacts the material web between the rollers i and i + 1,
r denotes the roller radius, J the moment of inertia of the roller elements,
and d · ωi , with d being the friction coefficient, describes the sliding friction of
the gears. Simplifying, we assume that the radius of the rolls, including the
wound web, is the same.
For the dispenser, it holds that
F1
F2
F3
ω1
ω2
ω3
ω4
Fig. 2.72: Transporting system for material webs; the roller elements are constructed
in such a way that they all have the same inertia moment J.
in a similar way. Further, we must take into account that, between the rollers,
the material web acts like a spring, with c denoting the spring constant. Ac-
cording to Hooke’s law, it follows for the change in the tension between the
rollers i and i + 1 that
holds.
Using equations (2.64), (2.65), (2.66), and (2.67), we thus obtain seven
differential equations in total, which we subsume with the state vector
T
x = ω1 F1 ω2 F2 ω3 F3 ω4
ẋ = Ax + Bu,
T T (2.68)
y = x1 x3 x5 x7 = ω1 ω2 ω3 ω4
with
2.4. Passivity and Stability 157
d r
− 0 0 0 0 0
J J
−cr 0 cr 0 0 0 0 1 0 0 0
r d r 0 0 0 0
0 − − 0 0 0
0
J J J 1 0 0
1
A= 0 0 −cr 0 cr 0 0 , B= 0 0 0 0.
J
0 0 1 0
r d r
0 0 0 − − 0 0 0 0 0
J J J
0 0 0 0 −cr 0 cr 0 0 0 1
r d
0 0 0 0 0 − −
J J
To verify the system’s passivity, we will choose
J 0 0 0 0 0 0
0 1 0 0
0 0 0
c
0 0 J 0 0 0 0
1 T 1
S(x) = x Rx, R = 0 0 0 0 0 0 (2.69)
2 c
0 0 0 0 J 0 0
1
0 0 0 0 0 0
c
0 0 0 0 0 0 J
as the storage function. For the temporal derivative of the storage function,
it holds that
1 T T
Ṡ(x) = x (A R + RA)x + uT B T R x
2
= −d(x21 + x23 + x25 + x27 ) + u1 x1 + u2 x3 + u3 x5 + u4 x7
= −d(x21 + x23 + x25 + x27 ) + u1 y1 + u2 y2 + u3 y3 + u4 y4 . (2.70)
From the passivity inequality
Ṡ(x) ≤ uT y = u1 y1 + u2 y2 + u3 y3 + u4 y4 ,
inserting equation (2.70), we obtain the inequality
−d(x21 + x23 + x25 + x27 ) ≤ 0,
which is obviously fulfilled. The system is thus passive.
This conclusion is also reached when verifying the Kalman-Yakubovich-
Popov equations from Theorem 29,
AT R + RA = −Q, (2.71)
C T = RB, (2.72)
158 Chapter 2. Limit Cycles and Stability Criteria
in the case that there is no feedthrough. Equation (2.71) is fulfilled with the
matrix R from equation (2.69), where
d 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 d 0 0 0 0
Q = 2 0 0 0 0 0 0 0
0 0 0 0 d 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 d
holds. This corresponds to the output matrix C of the system (2.68) in the
output equation y = Cx.
Re {G(s)} ≥ 0
holds. It is called strictly positive real if G(s − ǫ) for some ǫ > 0 is positive
real.
2.4. Passivity and Stability 159
Here C denotes the set of complex numbers. The term positive real [9],[10] is
derived from the fact that the real part Re {G(s)} of the transfer function
must always be positive or equal to zero.
Some properties of positive real transfer functions can be deduced from
the definition itself. First of all, we can easily conclude for
Re {s} > 0
and with s = σ + jω that
lim Re {G(σ + jω)} = Re {G(jω)} ≥ 0.
σ→0
The Nyquist plot of G(jω) of positive real or strictly positive real systems
must therefore lie within the closed or open right half-plane of the complex
plane. Figure 2.73 illustrates this.
From the fact that the Nyquist plot of G(jω) must lie within the right
complex half-plane, for a positive real transfer function G(s) it follows that
n−m=0 or n−m=1
holds for its degree m of the nominator and its degree n of the denominator.
Otherwise the phase would be less than −90◦ .
Since the requirements of Definition 25 are generally difficult to verify, the
following necessary and sufficient criteria are useful. We start with [58]
Im
ω=∞ ω=0
Re
Nyquist plot
Fig. 2.73: Positive real transfer functions have a Nyquist plot in the closed right
half-plane.
[9]
Both the term positive real and in particular the term strictly positive real are
defined differently and inconsistently in the literature [214, 228, 240, 288, 445].
Of the known definitions, we use here those from which it follows that passivity
and strict passivity are equivalent to positive realness and strict positive realness,
respectively.
[10]
Closely related to the properties of passivity and positive realness is the property
of hyperstability, which was introduced by V. M. Popov [374, 375]. However, in
the literature the term passivity has prevailed over hyperstability. Detailed infor-
mation on hyperstability can be found in [16, 375].
160 Chapter 2. Limit Cycles and Stability Criteria
The conditions of the above sufficient and necessary theorem are also often
used as an alternative to Definition 25, to define the term positive realness
[58, 232]. Furthermore we can use [78, 473]
Theorem 31 (Positive Real Transfer Functions II). A coprime transfer
function
N (s)
G(s) =
D(s)
is positive real if and only if
(1) the polynomial N (s) + D(s) only has zeros with a negative real part, and
(2) Re {G(jω)} ≥ 0 holds for every ω ≥ 0, for which jω is not a pole of G(s).
The property of positive realness at most ensures the Lyapunov stability
of a system and not asymptotic stability, since the real parts of the poles are
allowed to be equal to zero. On the other hand, strictly positive real transfer
functions only have poles with negative real parts. This property guarantees
asymptotic stability, which is extremely important in control loops. From a
practical point of view, strict positive realness is thus of much greater relevance
than positive realness.
For strictly positive real transfer functions the following holds [84, 85, 232]:
Theorem 32 (Strictly Positive Real Transfer Functions). A transfer
function G(s) is strictly positive real if and only if
(1) G(s) only has poles pi with Re {pi } < 0, and
(2) for every ω with 0 ≤ ω < ∞ the inequality Re {G(jω)} > 0 holds, and
(3) either
G(∞) > 0
or
G(∞) = 0
is fulfilled and, in the latter case,
lim ω 2 Re {G(jω)} > 0
ω→∞
holds.
2.4. Passivity and Stability 161
holds. It is called strictly positive real if G(s − ǫ) is positive real for a constant
ǫ > 0.
Here z ∗ denotes the complex conjugate transpose of the vector z and Cm is
the m - dimensional space of complex numbers.
The defining equation (2.74) is equivalent to the requirement that the
matrix
G∗ (s) = GT (s)
G(jω) + G∗ (jω)
G∗ (jω) = GT (−jω)
holds.
Analogous to the above Theorem 34, there is a counterpart to strictly
positive real transfer matrices [83, 84, 118], namely
Theorem 35 (Strictly Positive Real Transfer Matrices). The m × m
transfer matrix G(s) is strictly positive real if and only if
(1) all transfer functions Gij (s) only have poles pi with Re {pi } < 0, and
(2) for every ω with 0 ≤ ω < ∞, the matrix
G(jω) + G∗ (jω)
is fulfilled.
2.4. Passivity and Stability 163
ẋ = Ax + Bu,
(2.76)
y = Cx + Du,
The rank µ of the matrix G(∞) + G∗ (∞) from the theorem above can thus
also be determined via
µ = rank (D + D T ).
AT R + RA = −LT L, (2.77)
T T
L W = C − RB, (2.78)
T T
W W =D+D , (2.79)
we can derive criteria for positive or strict positive realness which are based
on the state-space representation. These are often easier to utilize than the
corresponding frequency-domain criteria. Our starting point is the defining
inequality (2.74) for positive real transfer functions, or the equivalent require-
ment that the matrix (2.75), i. e.
must be positive semidefinite for all s ∈ C with Re {s} > 0. We assume that
the system in question
ẋ = Ax + Bu,
(2.81)
y = Cx + Du
In this context, we recall linear system theory and the relationship be-
tween transfer matrix and state-space representation. A consequence of the
controllability and observability of a MIMO state-space model (2.81) with
degree n is that its transfer matrix (2.82) has the same degree and coprime
transfer functions Gij (s) as elements. Conversely, a state-space model (2.81)
is a controllable and observable realization of the transfer matrix (2.82) if and
only if all Gij (s) are coprime and the degree of this state-space model is equal
to the degree of the transfer matrix[11] [73].
We now insert equation (2.82) into equation (2.80). This yields the expres-
sion
for equation (2.80). By applying the KYP equations (2.78) and (2.79), i. e.
C = W T L + BT R and D + D T = W T W ,
the equation
G(s) + GT (s) =
= (W TL+B TR)(sI −A)−1B+B T(sI −AT )−1(LTW +RB)+W T W
= W T L(sI −A)−1 B+B T(sI −AT )−1 LT W +W T W
h i
+ B T R(sI −A)−1 +(sI −AT )−1 R B (2.83)
| {z }
F
follows. In the last summand F of the equation above, we now factor out the
matrix (sI − A)−1 and its complex conjugate variant (sI − AT )−1 . This last
summand F then takes the form
h i
F = B T (sI − AT )−1 (sI − AT )R + R(sI − A) (sI − A)−1 B
h i
= B T (sI − AT )−1 (s + s)R − AT R − RA (sI − A)−1 B
h i
= B T (sI − AT )−1 2Re {s} · R + LT L (sI − A)−1 B, (2.84)
where the last conversion is based on the KYP equation (2.77). Equation
(2.84) is now inserted into equation (2.83), which yields
h i
G(s) + GT (s) = W T + B T(sI − AT )−1 LT W + L(sI − A)−1 B
+ 2Re {s} · B T (sI − AT )−1 R(sI − A)−1 B.
[11]
The degree n of a transfer matrix G(s) is defined as the degree of the lowest
common denominator of all minors of G(s). This denominator is called the char-
acteristic polynomial of the transfer matrix.
2.4. Passivity and Stability 165
M ∗ M + 2Re {s} · N ∗ RN
of both matrices is also positive semidefinite only, and not positive definite,
since the determinant
is a polynomial in s and can take the value zero. The KYP inequalities (2.77),
(2.78), and (2.79) are thus sufficient for the positive realness of the transfer
matrix (2.82). As shown in [17, 58] they are also necessary, so the following
theorem holds:
The transfer matrix G(s) is positive real if and only if the Kalman-Yakubovich-
Popov equations
AT R + RA = −LT L,
LT W = C T − RB,
W T W = D + DT
Further, we obtain the KYP equations for the strictly positive real case if
we combine the KYP equation
AT R + RA = −LT L (2.85)
166 Chapter 2. Limit Cycles and Stability Criteria
of the above theorem with the requirement from Definition 26 of strict positive
realness, i. e. that
AT R + RA = −LT L − 2ǫR,
µ = 2ǫ > 0
as
AT R + RA = −LT L − µR.
The transfer matrix G(s) is strictly positive real if and only if the Kalman-
Yakubovich-Popov equations
AT R + RA = −LT L − µR,
LT W = C T − RB,
W T W = D + DT
positive real transfer functions seems not to be present. This is because the
KYP equation
AT R + RA = −LT L − µP (2.86)
AT R + RA = −LT L − µR (2.87)
P = R,
equation (2.86) is also fulfilled. Thus we have so far only proven that systems
with strictly positive real transfer functions are strictly passive.
However, it is possible to show that the reverse is also true [297], because
in the case of positive definite solution matrices R and P for equation (2.86),
equation (2.87) is also fulfilled in every case. The system properties of strict
passivity and strict positive realness are thus equivalent to each other. They
describe the same circumstance: one is based on the system representation
in the state space, the other on the system representation in the frequency
domain.
Summarizing all of this, we can formulate [297]
Theorem 38 (Passivity and Positive Realness). A controllable and
observable system
ẋ = Ax + Bu,
y = Cx + Du
is (strictly) passive with a positive definite storage function if and only if its
transfer matrix is (strictly) positive real.
Via the theorems on positive realness, which are based on transfer func-
tions, we obtain an alternate way of evaluating whether a system is passive or
strictly passive. Here the criteria for SISO systems are easy to utilize, while
the criteria for MIMO systems are often very laborious.
All theorems that are based on the KYP equations involve searching for a
matrix R which solves them. Especially for the determination of strict passiv-
ity, a criterion would be useful which provides a statement on the strict pas-
sivity or strict positive realness of a system without requiring the search for a
matrix R. For the most common case, i. e. for systems without a feedthrough,
this is provided by [85]
168 Chapter 2. Limit Cycles and Stability Criteria
τ1
τ = ...
τk
denote forces or torques.
For illustration purposes, we will look at a frictionless spring-mass system,
as depicted in Figure 2.74. By applying an external force u that extends the
spring, the mass m can be displaced by a stretch z1 . The spring with its
associated stiffness c counteracts this action. For the kinetic and potential
energy, it holds that
1
E kin = mż 2 ,
2 1
1
E pot = cz12 ,
2
and therefore
1
L= mż12 − cz12 .
2
Inserting this into the Lagrange equation yields
1 d ∂(mż12 − cz12 ) ∂(mż12 − cz12 )
− = u.
2 dt ∂ ż1 ∂z1
Now we differentiate equation (2.91) on both sides with respect to time and
arrive at
dH(q, p) d q̇ T p dL(q, q̇)
= − ,
dt dt dt
which yields
∂H ∂H ∂L ∂L
q̇ + ṗ = q̈ T p + q̇ T ṗ − q̇ − q̈. (2.92)
∂q ∂p ∂q ∂ q̇
Now we insert equation (2.90) into equation (2.92), which yields
∂H ∂H ∂L
q̇ + ṗ = − q̇ + q̇ T ṗ. (2.93)
∂q ∂p ∂q
From the Lagrange equation (2.88) and using equation (2.90), it follows that
∂L d ∂L
= − τ T = ṗT − τ T .
∂q dt ∂ q̇
We insert this into equation (2.93) and arrive at
∂H ∂H
q̇ + ṗ = (−ṗ + τ )T q̇ + q̇ T ṗ. (2.94)
∂q ∂p
By comparing both sides of the equation, we obtain the system equations,
which are known as the Hamiltonian canonical form
T
∂H
q̇ = ,
∂p
T (2.95)
∂H
ṗ = − + τ.
∂q
They are also referred to as the Hamiltonian equations, which are 2k first-order
differential equations, while the corresponding equivalent Lagrange equations
are k second-order differential equations.
2.4. Passivity and Stability 171
dH
= 0,
dt
which means that H, and thus the total energy of the system, is constant.
This case describes lossless systems without an external energy input, such
as ideal pendulum clocks, meaning clocks without friction.
(2) An external force τ influences the system. In this case,
dH
= τ T q̇
dt
defines the supplied power. An example of this is an industrial robot, for
which motors induce forces onto the joints.
What specific steps do we take to determine the Hamiltonian equations?
The following five steps describe the procedure:
Step 3: By inverting the equation from the previous step, determine the
generalized velocities
q̇ = M −1 (q)p.
1 1 1 2 c 2
H = E kin + E pot = mż 2 + cz 2 = p + q , (2.99)
2 1 2 1 2m 2
which yields
∂H p
q̇ = = ,
∂p m
(2.100)
∂H
ṗ = − + u = −cq + u
∂q
for the Hamiltonian equations (2.95). In this example, the Hamiltonian equa-
tions have a simple form.
Now we will investigate the Hamiltonian equations (2.95) for passivity. We
subsume the coordinates q and p to a state vector
q
x=
p
as the output vector, set u = τ , and assume a storage function S(x), it holds
for the passivity inequality that
S(x) = H(x)
Ṡ = Ḣ = τ T q̇ (2.104)
holds and H(p, q) is positive everywhere else, both of which we can see from
equation (2.99). Further, with equation (2.99) and equation (2.100) it holds
that
pṗ up
Ḣ = + cq q̇ = = uq̇ = uy,
m m
so that equation (2.103) is fulfilled, and thus the spring-mass system is passive.
In the following, we generalize the Hamiltonian equations (2.101) with the
output function (2.102) to
T
∂S
ẋ = J (x) + B(x) · u,
∂x
T (2.105)
T ∂S
y = B (x)
∂x
by considering the matrices J and B to be dependent on the state vector x.
Here arbitrary skew-symmetric matrices
J (x) = −J T (x)
are allowed. They describe the lossless energy exchange within the system. The
positive definite function S(x) we are now using instead of the Hamiltonian
function H(x) also constitutes a generalization. It may be a Hamiltonian
function, but could also be a differently obtained positive definite function.
However, we will restrict ourselves to positive definite functions S(x), since
only these functions, when used as storage functions, guarantee stability in
connection with passivity. The generalized system (2.105), which is described
by the generalized Hamiltonian equations, is called an input or port-controlled
Hamiltonian system (PCH system). The term port-controlled results from the
fact that we analyze systems with input variables u or τ .
The system (2.105) is also passive and lossless, and consequently stable if
S(x) is positive definite, since it holds that
T
∂S ∂S ∂S ∂S
Ṡ(x) = ẋ = J (x) + B(x) · u.
∂x ∂x ∂x ∂x
Based on the skew-symmetry of J , we obtain
T
∂S ∂S
J = 0,
∂x ∂x
and thus
∂S
Ṡ(x) = B(x) · u = uT y.
∂x
The passivity inequality (2.103) is therefore fulfilled, and the function S is the
storage function that we were searching for.
2.4. Passivity and Stability 175
S vc
r
ω, M
To set up the dynamic equations in PCH form, we will first determine the
kinetic energy of the wheels
1 1 1 Jw 2 1
E kin,w = J w ω 2 + mw r 2 ω 2 = ẋ + mw ẋ2 ,
2 2 2 r2 2
where ω denotes the angular velocity of the wheels, which we consider to be
equal for both wheels. The velocity of the vehicle is given by ẋ = rω. The sum
of the inertia moment of the wheels is denoted as J w . Their mass and radius
are denoted by mw and r, respectively. The driving force that acts upon the
wheels is the torque M , which is generated by the motor.
Similarly, for the combined kinetic energy of the driver and chassis mounted
between the wheels, it holds that
1 1
E kin,c = J c ϕ̇2 + mc |v c |2 , (2.106)
2 2
where ϕ is the angle between the vertical z-coordinate axis and the line passing
through the center of gravity S and the wheel axis, v c is the velocity of the
176 Chapter 2. Limit Cycles and Stability Criteria
center of gravity S, J c is the inertia moment of the driver and chassis with
respect to the wheel axis as the axis of rotation, and mc is the mass of the
driver and chassis.
For the velocity v c of the center of gravity S, it holds that
rω + lϕ̇ cos(ϕ) ẋ + lϕ̇ cos(ϕ)
vc = =
−lϕ̇ sin(ϕ) −lϕ̇ sin(ϕ)
and thus for the kinetic energy (2.106) of the driver and chassis it follows that
1 1
E kin,c = J c ϕ̇2 + mc ẋ2 + 2lẋϕ̇ cos(ϕ) + l2 ϕ̇2 .
2 2
Subsequently, we will determine the potential energy according to
The constant term in the potential energy formula can be arbitrarily chosen
with no loss of generality, since the value at which the potential energy be-
comes zero can always be set arbitrarily. We choose mc gl as this value, so that
the minimum of the potential energy is zero. It lies at ϕ = π. Thus it holds
that
from which, in the subsequent second step, we will be able to determine the
generalized impulses
T
∂L
p= .
∂ q̇
and thus
∂L
!T Jw
∂L ∂ ẋ mw + mc + mc l cos(ϕ) ẋ
p= = = r2 (2.107)
∂ q̇
∂L
mc l cos(ϕ) mc l 2 + J c ϕ̇
∂ ϕ̇ | {z } | {z }
M (q) q̇
2.4. Passivity and Stability 177
holds.
In the third step, we can determine from equation (2.107), i. e. from
p = M (q)q̇,
the vector
q̇ = M −1 (q)p,
which yields
ẋ 1 b −c · cos(ϕ)
q̇ = = p (2.108)
ϕ̇ ab − c2 cos2 (ϕ) −c · cos(ϕ) a
p = [p1 p2 ]T .
This results in
ap22 + bp21 − 2cp1 p2 cos(ϕ)
H(q, p) = + cg cos(ϕ) + cg. (2.109)
2 (ab − c2 cos2 (ϕ))
H([x π]T , 0) = 0.
The angle ϕ = π obviously does not appear in the real system; however, in
the mathematical system it provides stable equilibrium points for all states
x ∈ IR and p = 0. It is plausible that the equilibrium points at ϕ = 0, x ∈ IR,
and p = 0 are unstable.
178 Chapter 2. Limit Cycles and Stability Criteria
They are not only easier to determine, but are also less complex than the
Hamiltonian equations (2.110). However, the passivity of the system cannot
be immediately determined from these equations of dynamics and equation
(2.111).
T
∂V
ẋ = (J(x) − D(x)) + B(x) · u, J (x) = −J T (x),
∂x
T (2.112)
∂V
y = B T (x) .
∂x
sense and does not necessarily have to represent the energy of the system.
However, V (x) should be a positive definite function. With
T T
∂V ∂V ∂V ∂V ∂V ∂V
V̇ (x) = ẋ = J (x) − D(x) + B(x) · u
∂x ∂x ∂x ∂x ∂x ∂x
| {z }
=0
we obtain the passivity inequality
T
T ∂V ∂V
V̇ (x) = u y − D(x) ≤ uT y, (2.113)
∂x ∂x
which is obviously fulfilled because of the positive semidefiniteness of D(x).
PCHD systems are thus always passive. For this reason, the system repre-
sentation (2.112) is also referred to as the passivity canonical form [253, 419].
Since the storage function V is assumed to be positive definite, and because
V̇ (x) ≤ 0
holds for u = 0, V is a Lyapunov function of the passive system. This is also
the reason why we no longer use the letter S but the letter V for the symbol
of the storage function. The latter typically represents Lyapunov functions.
Furthermore, if the dissipation matrix D(x) is positive definite, we can
fulfill the defining inequality for strict passivity
V̇ (x) + R(x) ≤ uT y,
for example by choosing
T
1 ∂V ∂V
R(x) = D(x) .
2 ∂x ∂x
It subsequently holds that
T
T 1 ∂V ∂V
V̇ (x) + R(x) = u y − D(x) ≤ uT y.
2 ∂x ∂x
A PCHD system with a positive definite matrix D(x) is thus strictly passive.
According to Theorem 24 on p. 148, a strictly passive system possesses an
asymptotically stable equilibrium point at x = 0. This brings us to
Theorem 40 (Stability of PCHD Systems). A PCHD system
T
∂V
ẋ = (J (x) − D(x)) + B(x) · u,
∂x
T
T ∂V
y = B (x)
∂x
is strictly passive and has an asymptotically stable equilibrium point at x = 0
if D(x) is positive definite.
2.4. Passivity and Stability 181
z1 , u
c
m
d
ż1 = z2 ,
c d u (2.114)
ż2 = − z1 − z2 + .
m m m
For the PCHD representation, we again set
1 1 1 p2 1
V (q, p) = E kin + E pot = mż12 + cz12 = + cq 2 ,
2 2 2m 2
and x = [q p]T , we can represent system (2.114) as
∂V !T
∂p 0
∂V
q̇ 0 0 1 0 0 0
ẋ = = − d + = − + u
ṗ ∂V p u −1 0 0 d ∂x 1
− m
∂q
From this example, it becomes clear that, because of the additional damp-
ing term, we can no longer derive the differential equations for PCHD sys-
tems from the Hamiltonian function or the storage function by using equation
(2.95), as we can for lossless Hamiltonian systems. This especially holds for
the dissipation matrix D.
Furthermore, the PCHD representation of a system is not unique. Rather,
there are many different PCHD representations whose forms depend on the
choice of the storage function V . It is not possible to prove asymptotic stability
of a strictly passive system’s equilibrium point xeq = 0 using every PCHD
representation, since the matrix D need not be positive definite for a strictly
passive system, as the above example illustrates. It depends on the choice
of the function V whether a PCHD representation has a positive or positive
semidefinite matrix D. In Section 2.4.12 we will continue with example (2.114)
and determine a PCHD representation with a positive definite matrix D.
It is worth noting that many physical systems can be modeled as PCHD
systems (2.112). In particular, passive mechanical and electrotechnical systems
can be represented in this form. However, it is not always easy to find a PCHD
representation for a strictly passive system.
Ψ s = Ls is ,
where Ls is the inductance of the stator winding. Figure 2.77 shows the cor-
responding circuit diagram. Since the equation
usw = Ls i̇s = Ψ̇ s
holds for the voltage usw which is induced in the stator winding, we obtain
Rs
us = usw + Rs is = Ψ̇ s + Ψs (2.116)
Ls
for the stator voltage us as the sum of the induced voltage usw and the voltage
at the ohmic stator resistor Rs .
The voltage induced in the rotor winding can be calculated using
urw = kωΨ s .
It depends bilinearly on the angular velocity ω and the flux linkage Ψ s via the
machine constant k. This yields the differential equation
2.4. Passivity and Stability 183
is ir
Rs Lr Rr
us Ls M kωΨ s ur
Stator Rotor
for the rotor current ir , where ur is the terminal voltage, Lr is the rotor
inductance, and Rr is the rotor resistance.
The machine generates the torque
M DCM = kir Ψ s ,
so that we obtain
J ω̇ = kir Ψ s − d · ω − M L (2.118)
1 2
E rot = Jω ,
2
we obtain
1 1 1 2 1 2
V (x) = E ind + E rot = Lr i2r + Ψ + Jω
2 2 Ls s 2
1 1 1 2 1 2
= Lr x21 + x + Jx
2 2 Ls 2 2 3
as a storage function which we can use to show that the separately excited
direct-current machine is passive. For the passivity inequality, we obtain
1
V̇ (x) = Lr x1 ẋ1 + x2 ẋ2 + Jx3 ẋ3 ≤ uT y,
Ls
where the input variable vector u is given by
u = [ur us M L ]T .
V̇ (x) + R(x) ≤ uT y
1
L 0 0
r
B(x) = 0 1 0 .
1
0 0 −
J
The dissipation matrix D describes the energy loss resulting from the ma-
chine’s ohmic resistances and friction. Since this matrix is positive definite,
according to Theorem 40 the system is strictly passive and its equilibrium
point xeq = 0 is asymptotically stable.
ẋ = Ax + Bu,
(2.121)
y = Cx,
we can ask in which case such a system can be represented as a PCH system
T
∂V
ẋ = J + Bu,
∂x
T (2.122)
T ∂V
y=B
∂x
with the associated storage function V (x). As a condition for the storage
function, by comparing equation (2.121) with equation (2.122), we obtain the
identity
T
∂V
Cx = B T . (2.123)
∂x
This means that the positive definite storage function V must be a quadratic
form
1 T
V (x) = x Rx, R = RT , (2.124)
2
186 Chapter 2. Limit Cycles and Stability Criteria
C = B T R. (2.125)
ATR + RA = 0, (2.126)
which is equivalent to
V̇ (x) = 0 for u = 0.
This in turn is equivalent to the fact that the storage function V is a Lyapunov
function and that all the system’s trajectories run along the ellipsoidal contour
lines of the function V . The system (2.121) is thus Lyapunov stable, but not
asymptotically stable. Consequently, the system may not have more than one
eigenvalue at λi = 0, and otherwise has only complex conjugate eigenvalues
λi = jωi and λi+1 = −jωi with ωi ∈ IR\{0}.
For us to be able to represent the system (2.121) in PCH form (2.122), it
must further hold that
T
∂V
Ax = J = JR x,
∂x
or
J = AR−1 . (2.127)
AT R + RA = 0.
ẋ = Ax + Bu,
y = Cx
AT R + RA = 0,
BT R = C
holds.
Next we will examine PCHD systems
T
∂V
ẋ = (J − D) + Bu,
∂x
T (2.128)
∂V
y = BT ,
∂x
AT R + RA = −Q (2.129)
V̇ (x) + R(x) ≤ uT y,
i. e.
1 T T
x A R + RA x + R(x) ≤ 0, (2.130)
2
is fulfilled with R(x) being a positive definite function, it follows that the
system (2.121) is strictly passive. Since R(x) is positive definite, the matrix
AT R + RA
must be negative definite in this case, so that equation (2.130) can be fulfilled.
Since we are free to choose R(x) as we wish, we will set
1 1
R(x) = − xT AT R + RA x = xT Qx > 0 for x 6= 0,
4 4
which for equation (2.130) yields
1 T T
x A R + RA x ≤ 0.
4
This inequality is obviously fulfilled. Thus if the matrix Q from equation
(2.129) is positive definite, it follows that the system (2.121) is strictly passive.
According to Theorem 16 on p. 121, the storage function V (x) is thus a strict
Lyapunov function of the system (2.121) and the system is, in contrast to
PCH systems, asymptotically stable.
With the storage function (2.124) the differential equation of system
(2.128) takes the form
ẋ = (J − D) Rx + Bu.
A = (J − D) R. (2.131)
Similar to the previous case involving PCH systems, we will utilize the fact
that
J = AR−1 + D
It follows that
2.4. Passivity and Stability 189
After multiplying both sides of this equation by R and using the matrix
Q = 2RDR,
AT R + RA = −Q. (2.132)
J − D = AR−1 .
ẋ = Ax + Bu,
(2.133)
y = Cx
can be represented in PCHD form (2.128) under the condition that equation
(2.125) and equation (2.132) hold. Again, these two equations are the condi-
tions of the Kalman-Yakubovich-Popov lemma, i. e. Theorem 28 on p. 153, or
Theorem 29 on p. 154. Since this is sufficient and necessary for passivity, we
can formulate
190 Chapter 2. Limit Cycles and Stability Criteria
ẋ = Ax + Bu,
y = Cx
AT R + RA = −Q, (2.135)
T
B R=C
holds.
Similar to the case of PCH systems, it follows that a linear system (2.133)
can be represented as a PCHD system if and only if it is passive.
The theorem above once again highlights why the system representation
of PCHD systems is referred to as the passivity canonical form. This results
from the fact that passive linear systems can always be written in the passivity
canonical form, i. e. as PCHD systems. As already mentioned, it may well be
that there is a strictly passive system for which the storage function (2.134)
only leads to a positive semidefinite matrix Q in equation (2.135). However,
choosing a different appropriate storage function, or more precisely, a matrix
R, we can prove strict passivity.
For illustrative purposes, we will again consider the damped spring-mass
system (2.114), or (2.115) with
c = 1 N m−1 ,
d = 1 kg s−1 ,
m = 0.5 kg,
2.4. Passivity and Stability 191
i. e.
0 1 0
ż = z+ u. (2.136)
−2 −2 2
| {z } |{z}
A b
Accordingly, a PCHD system representation is given by
T
0 1 0 0 ∂V 0
ż = − + u,
−1 0 0 2 ∂z 2
| {z } | {z } |{z} (2.137)
J D b
y = b T R1 z
with
1 T 2 0
V (z) = z z. (2.138)
2 0 1
| {z }
R1
This PCHD representation differs from the one given in equation (2.115),
since we are not using the Hamiltonian coordinates
q = z1
and
p = mz2 ,
but the original coordinates z1 and z2 . In this way, we do not have to perform a
change of coordinates, and we can use the same state vector z in both system
representations (2.136) and (2.137). The storage function (2.138), which is
also a Lyapunov function, leads – as already shown in equation (2.113) – to
the passivity inequality
T
∂V ∂V
V̇ (z) = uy − D ≤ uy, (2.139)
∂z ∂z
i. e. to
T
∂V ∂V
− D ≤0
∂z ∂z
with the positive semidefinite matrix D. The matrix
T 0 0
A R1 + R1 A = −
0 4
specific cases. So with equation (2.139), we have only provided evidence for
the passivity of the system.
If, on the other hand, we choose
1 2 1
V (z) = z T z, (2.140)
2 1 1
| {z }
R2
as the storage function, we arrive at the PCHD representation
T
0 1 1 −1 ∂V 0
ż = − + u,
−1 0 −1 2 ∂z 2
| {z } | {z } |{z} (2.141)
J D b
y = bT R2 z.
For strict passivity, the inequality
T
∂V ∂V
V̇ (z) + R(z) = − D + R(z) + uy ≤ uy, (2.142)
∂z ∂z
must be satisfied, where R(z) must be a positive definite function. With the
derivative
∂V
= R2 z,
∂z
equation (2.142) is equivalent to
−z T R2 DR2 z + R(z) ≤ 0. (2.143)
Since the matrix D and thus the matrix R2 DR2 are positive definite, we can
choose
1
R(z) = z T R2 DR2 z
2
as a positive definite function which fulfills equation (2.142) or, equivalently,
equation (2.143). Furthermore, it is also equivalent to the result given in equa-
tion (2.143), that the matrix
T 4 2
A R2 + R2 A = −
2 2
is negative definite. We have thus proven the strict passivity of the system
(2.141) with the associated storage function (2.140). At this point, we note
that different PCHD models of a system have different output variables and
that the output is irrelevant to stability.
In conclusion, we will note that there is an infinite number of PCHD
representations of the same system. Whether only the passivity of the system
can be proven based on the storage function V , or whether the strict passivity
can be proven as well, depends on whether the dissipation matrix D is positive
semidefinite or positive definite.
2.5. Exercises 193
2.5 Exercises
Exercise 2.1 Calculate the describing functions for the four functions in Fig-
ure 2.78.
(a) u (b) u
b
m
-a -a
a e a e
-b
(c) u m2 (d) u
3b
-a m1
b
a e a 5a e
2 2
Exercise 2.2 Calculate the describing functions for the following two func-
tions:
Xn
(a) f (e) = k1 e + k2 e3 + k3 e5 , (b) f (e) = ki e2i−1 .
i=1
Exercise 2.3 As in Exercises 1.6 and 1.7, we will now view Chua’s circuit,
here in the normalized form already calculated in Exercise 1.6 on p. 60 and
analyzed in Exercise 1.7 on p. 61:
44 44
− 0 1
1 −5x1 − 3, x1 ≥ 1,
5 5
ẋ =
x + 0(−g(x1 )), g(x1 ) = −8x1 , |x1 | < 1,
1 −1 1 7
0
−5x1 + 3, x1 ≤ −1,
0 −15 0
with the output variable y = x1 .
(a) Determine the transfer function G(s) = Y (s)/U (s) with u = −g(x1 ).
(b) Represent Chua’s circuit as a nonlinear standard control loop.
(c) Determine the describing function of −g(x1 ). Note that g(−x1 ) = −g(x1 ).
(d) Demonstrate that the harmonic balance does not give any indication of a
limit cycle.
194 Chapter 2. Limit Cycles and Stability Criteria
Exercise 2.4 Let us examine the nonlinear standard control loop shown in
Figure 2.79.
u
y ref = 0 e b u y
e G(s)
a
Using the describing function method, calculate how the parameters a and
b need to be adjusted so that the control loop does not go into a sustained
oscillation.
Exercise 2.5 Let us examine the control loop shown in Figure 2.80.
u
y ref = 0 e c u y
e G(s)
a b
Fig. 2.80: Nonlinear standard control loop with a limited dead zone
(a) Calculate and sketch the describing function of the nonlinear element.
Let us now examine the special case a = 1, b = 3, c = 2.
(b) Assume the plant to be
K
G(s) = .
0.25s3 + 0.375s2 + s + 1
Approximately calculate the amplitudes of the two limit circles that can
occur and determine their frequency for K = 1.
(c) For which value K = K s do we obtain a semi-stable limit circle? How
would you describe its stability behavior for varying input amplitudes A?
(d) What types of stability behavior do the limit cycles have for values K
which are smaller or greater than K s ?
2.5. Exercises 195
Oxygenated
blood to upper body
Deoxygenated blood
from upper body
Baroreceptors
Deoxygenated
Deoxygenated blood to lungs
blood to lungs
Sinoatrial
node
Deoxygenated
blood from lower body
Oxygenated
blood from lungs
Oxygenated
blood to lower body
Fig. 2.81: The circulatory system of humans and mammals and its control
2.5. Exercises 197
yref ẽ ũ y
k f (ẽ) G(s)
H(s)
220
Neuronal activity
180
140
100
60
50 100 150 200 250
Blood pressure in mHg
Fig. 2.83: Neuronal activity, given as a dimensionless measure
(c) Determine whether a limit cycle can exist in this case, and if so, what its
frequency is.
(d) What statement can you make about the stability behavior of the limit
cycle?
Exercise 2.7 Now we will examine a nonlinear standard control loop with
the plant
0.1111
G(s) =
s4 + 0.5s3 + 10.06s2 + 2.1s + 9
and an unspecified nonlinear element. Figure 2.84 shows the Nyquist plot
(dashed line) and the Popov plot (solid line).
(a) Using the Popov criterion, identify the maximum possible sector [0, K Po )
of absolute stability which can be determined using this criterion.
(b) In which sector can a linear curve lie so that asymptotic stability is en-
sured? What controller do we obtain in this case?
(c) Let us examine the nonlinearity
u = e3 .
0.05
0
Im
-0.05
Fig. 2.84: Nyquist plot (dashed line) and Popov plot (solid line)
Controller
Oxygen sensor
Throttle
Catalytic converter
Fuel injector
Crankshaft
PI controller Engine
e 1+T I s v Ke λ
KP e−T d s
T Is 1+T e s
∆u
u
1V
0.5V
(a) Configure the PI controller K PI = K P (1+T I s)/(T I s)) such that the linear
part of the open control loop has the transfer function ce−T d s /s.
(b) Determine the value c and thus also the gain KP of the PI controller such
that the control loop is absolutely stable in the sector [ε, 12) where ε > 0.
Exercise 2.9 Let us consider
1
G(s) = .
(s + 1)(s + 2)(s + 3)
(a) Determine the largest sector of absolute stability that can be obtained
using the circle criterion.
(b) Determine the Popov sector.
(c) Determine the largest possible sector of absolute stability.
Exercise 2.10 Consider the plant
30
G(s) = .
(s − 1)(s + 2)(s + 3)
(a) Sketch the Nyquist plot of G(jw) for ω ∈ [−∞, ∞]. To do this, use the
points G(j0), G(±j∞), and the points for which Im {G(jω)} = 0 applies.
In addition, use the points for which the imaginary part assumes its max-
ima and/or minima. Determine these extreme values approximately by
trying out various values ω.
(b) If we apply the circle criterion, where should the midpoint of the circle lie
in order to prove that a sector of absolute stability exists?
(c) Determine the midpoint c and radius r of the largest possible circle. How
large is the sector for which we can prove absolute stability?
(d) How large is the Hurwitz sector?
Exercise 2.11 Consider the plant
s+1
G(s) = .
s2 + 1
s+1 2s s2 − 1
G1 (s) = , G2 (s) = , and G3 (s) = .
s2 s2 − 2s + 4 s3
(a) Sketch the Nyquist plots. Use the circle criterion. Which sector of absolute
stability can you determine in each case?
2.5. Exercises 201
ẋ1 = x2 ,
ẋ2 = −2x1 − 2x2 − 4x31
ẍ + dẋ3 + kx = 0
ẋ1 = −x1 − x2 ,
ẋ2 = x1 + (x21 − 1)x2 .
(a) Using Lyapunov’s indirect method, show that the origin is asymptotically
stable.
(b) Show that V (x) = xT x is a Lyapunov function of the linearized system.
(c) What is the maximum catchment region we can calculate using the Lya-
punov function V (x) = xT x?
Exercise 2.17 Let us examine the system
ẋ1 = x2 ,
x2 = −x1 .
202 Chapter 2. Limit Cycles and Stability Criteria
is a Lyapunov function for the equilibrium point xeq = 0 and that this
equilibrium point is Lyapunov stable.
(b) What form do the level curves of the function V (x) take?
(c) Sketch the function V (x) for x1 ∈ [−50, 50] and x2 = 0.
(d) What shape do the trajectories x(t) of the system take, and what is a
system of this kind called?
Exercise 2.18 Consider the control loop shown in Figure 2.88 with the pa-
rameters
−1 6 1
A= , b= , kT = 3 21 ,
−1 −2 1
u
y ref = 0 e u x
e ẋ = Ax + bu
u = e + e3
kT x
with parameters pi which are either unknown or change only very slowly over
time. We will assume that the parameters pi are limited by the hyperrectangle
Prove that the system for all p = [p1 p2 ... pk ]T ∈ P has a globally asymp-
totically stable equilibrium point at x = 0 with a Lyapunov function V (x) =
xT Rx if
V̇ (x) < 0
applies at all 2k vertices pv,i of the hyperrectangle P .
Exercise 2.21 Let us examine the passivity of the satellite model (1.8) from
Section 1.1.4 on p. 8.
(a) Choose a suitable storage function S(ω), and show that the model is
passive and lossless where the input variable vector u = M and the
output variable vector y = ω.
(b) What property must the matrix K have in the control law u = −Kω
such that the closed control loop has a globally asymptotically stable
equilibrium point at ω = 0?
(c) Represent the satellite model as a PCH system. For this purpose, select
suitable new coordinates.
(d) Now choose a control law with the moment vector M as the control vari-
able vector such that a PCHD system with a globally asymptotically stable
equilibrium point at the origin results.
Exercise 2.22 Is a PID controller passive, strictly passive, or neither?
Exercise 2.23 If a system
ẋ = Ax + bu, y = cT x
AT R + RA = −Q, cT = bT R
(a) Is the system strictly positive real, only positive real, or neither?
(b) Is the system strictly passive, only passive, or lossless?
(c) For the general case, show that the nonlinear standard control loop is
strictly passive if the plant is strictly passive and the nonlinearity is pas-
sive. Which nonlinearities are possible in this case if we wish the control
loop to have a globally asymptotic equilibrium point?
(d) How large is the largest sector of absolute stability in the case of system
(2.144)?
Exercise 2.25 State the condition for the series connection of a system with
a strictly positive real transfer function G(s) and a PI controller
I
H(s) = P +
s
to be a passive system.
Exercise 2.26 Consider a mathematical pendulum, i.e. an ideal pendulum
with a massless rod of length l, point mass m, and no friction losses. It is
shown in Figure 2.89.
3.1 Controllability
ẋ = f (x, u)
ẋ = f (x, u)
controllable, the question arises whether the modeling has been performed
correctly.
An example of an uncontrollable system is
ẋ = u2 ,
ẋ1 = u,
(3.1)
ẋ2 = x1 .
The direction [ẋ1 ẋ2 ]T in which a trajectory can move is limited by ẋ2 = x1 .
For positive values of x1 , the state variable x2 always increases, whereas for
negative values, it always decreases. Figure 3.1 illustrates the possible direc-
tions of the trajectories. The figure also shows a realizable and an unrealizable
trajectory.
However, the above system is controllable. We can show this using the
controllability criterion [152, 98] for linear systems. A linear system
ẋ = Ax + Bu
it holds that
1 0
rank(M contr ) = rank( ) = 2.
0 1
The example of system (3.1) also illustrates that, even though controlla-
bility implies that any point x can be reached, it does not necessarily mean
that we can remain at this point. Here, such points are [x1 6= 0 x2 ] since it
holds that ẋ2 = x1 6= 0.
Next we will discuss a stricter definition of controllability which gives us
new possibilities of influencing the system. First, let us consider the set of all
points xe = x(t) which the trajectories x(t) of a system reach for all times t
with 0 ≤ t ≤ T and all possible u(t) beginning at x0 = x(0). This set, which
3.1. Controllability 207
Unrealizable x2
xe
trajectory
ẋ2 = x1
x0
ẋ1 = −u x0 ẋ1 = u
x1
xe Realizable
trajectory
x0
x0
Fig. 3.1: Directions of realizable and unrealizable trajectories of the system (3.1)
we call the reachable set, is denoted by R(x0 , T ). In short, R(x0 , T ) is the set
of all states that can be reached from x0 within a finite time T or a shorter
period of time. The above definition of the set R(x0 , T ) also implies that all
trajectories x(t) with 0 ≤ t ≤ T take their course within R(x0 , T ). Using
R(x0 , T ) we can define the term small-time local controllability (STLC):
Definition 28 (Small-Time Local Controllability). Let a system
ẋ = f (x, u)
be defined for x ∈ Dx,def ⊆ IRn and u ∈ Du,def ⊂ IRm . Let Dx ⊆ Dx,def be
an open set and Du ⊆ Du,def a closed and bounded set. Then the system is
called small-time locally controllable if for every state x0 ∈ Dx , for u(t) ∈ Du
where 0 < t ≤ T , and for all 0 < T < ∞ the sets R(x0 , T ) are neighborhoods
of x0 .
Obviously, as stated above, Dx must be an open set if the system is to be
small-time locally controllable on this set, since the boundary points xb of a
closed set Dx do not possess a neighborhood R(xb , T ) ⊂ Dx .
According to the above definition, every set R(x0 , T ) is a neighborhood
of x0 . Small-time local controllability thus means that we can reach every
point xe located within an arbitrarily small neighborhood R(x0 , T ) on a tra-
jectory whose course, beginning from x0 , lies entirely within this neighbor-
hood R(x0 , T ) in small time. This, however, does not imply that trajectories
208 Chapter 3. Controllability and Flatness
x0
x0 R(x0 , T )
R(x0 , T )
Fig. 3.2: A set R(x0 , T ) of a controllable Fig. 3.3: A set R(x0 , T ) where small-
system which can be reached within the time local controllability exists. The tra-
time T starting from the point x0 . Here, jectories, in general, cannot progress
R(x0 , T ) is not a neighborhood of x0 . from the point x0 in all directions.
3.1. Controllability 209
on the other hand, this route is very short and lies within a neighborhood
close to x0 and xe .
For some systems, the controlling possibilities allow the realization of any
arbitrary trajectory x(t). For this, the trajectories must be able to progress
from x in all directions, i. e. the vector ẋ representing the direction of motion
must be omnidirectionally controllable by the actuating variable u. Accord-
ingly, we can now introduce the term omnidirectional controllability, which is
a stricter form of controllability than the two controllability definitions given
previously.
Definition 29 (Omnidirectional Controllability). Let a system
ẋ = f (x, u)
holds. This may occur if the temporal change ẋ of the trajectories x(t) is
limited, i. e. |ẋ| < a, a > 0. For example, bounded input variables u cause
this.
For the case of omnidirectional controllability, the reachable set R(x0 , T )
is also a neighborhood of the state x0 , as was the case for the small-time
local controllability. In contrast to the latter, as illustrated in Figure 3.4, a
trajectory that starts at x0 can progress in every direction. Accordingly, any
arbitrary trajectory can be realized. From an engineering perspective, omnidi-
rectional controllability is thus a more valuable property than controllability
or small-time local controllability.
For linear systems
ẋ = Ax + Bu,
Omnidirectionally
controllable
x0
Small-time locally
R(x0 , T ) controllable
Controllable
Fig. 3.4: The set R(x0 , T ) in the case Fig. 3.5: The sets of controllable, small-
of omnidirectional controllability. The time locally, and omnidirectionally con-
trajectories can progress starting from trollable systems in case of path-
x0 in all directions. connected open sets Dx
Fig. 3.6: Ship with transverse thrusters in the bow and stern, shown here in a service
ship which provides maintenance for submarine boreholes
x0 x0 x0
xe xe xe
Small-time locally Omnidirectionally
Controllable controllable
controllable
Fig. 3.8: The shortest trajectories from x0 to xe for all three kinds of controllability
The shortest trajectories from one point x0 to a different point xe for the
cases of controllability, small-time local controllability, and omnidirectional
controllability are illustrated in Figure 3.8. This figure also illustrates the
meaning of the different kinds of controllability; for example, where a system
is to be controlled such that it follows a predefined trajectory. For controllable
systems, this is only possible with restrictions since their trajectories can
only move in specific directions. An improvement is provided by small-time
locally controllable systems which, inside a small neighborhood of a point
x(t), can change direction ẋ within a wider range than controllable systems
normally can. However, only omnidirectionally controllable systems allow any
predefined trajectory to be followed exactly.
An example of the abovementioned restrictions would be a motor vehicle
without a reverse gear, with position and orientation as state variables, such
as a motorbike. It is merely controllable, but not small-time locally control-
lable. This is why motorbikes cannot be turned around in a small space by
shunting. In contrast to this, motor vehicles with a reverse gear and tracked
vehicles are small-time locally controllable. However, neither is omnidirection-
ally controllable, since they cannot be moved orthogonally to their direction
of travel, in contrast to the ship discussed above.
In the next section, we will distinguish between locally and globally con-
trollable systems.
If they are controllable, linear systems are always controllable in the entire
state space IRn . Therefore, the controllability is – similar to the stability
of the equilibrium point xeq = 0 – a global system characteristic of linear
systems. For nonlinear systems, this is not always the case. Nonlinear systems
exist which are only controllable on subsets Dx of their domain of definition
Dx,def , i. e. they are only locally controllable. Furthermore, there are also
nonlinear systems whose controllability characteristic varies, e. g. a system
which is small-time locally controllable on one subset and omnidirectionally
3.1. Controllability 213
controllable on another. Consequently, we can define the terms global and local
controllability.
Definition 30 (Global Controllability). Let a system
ẋ = f (x, u)
be defined for x ∈ Dx,def ⊆ IRn and for u ∈ Du,def ⊆ IRm . If the system
is (small-time locally or omnidirectionally) controllable on its domain of def-
inition Dx,def by means of u ∈ Du ⊆ Du,def , the system is called globally
(small-time locally or omnidirectionally) controllable by Du .
In this context, we recall that the set on which a system is controllable or
omnidirectional controllable must be path-connected.
Definition 31 (Local Controllability). Let a system
ẋ = f (x, u)
be defined for x ∈ Dx,def ⊆ IRn and for u ∈ Du,def ⊆ IRm . If the system is
only (small-time locally or omnidirectionally) controllable on a proper subset
Dx of the system’s domain of definition Dx,def by means of u ∈ Du ⊆ Du,def ,
it is called locally (small-time locally or omnidirectionally) controllable on Dx
by Du .
It should be noted that in practical applications, the set Du of admissible or
available control variable vectors u is often not identical to the set Du,def , on
which the system is defined. Since in some cases controllability depends not
only on the size of the set Dx but also on that of the set Du ⊆ Du,def , as in
the definitions above, it is useful to describe this dependence as controllable
on Dx by Du .
For illustration purposes, as an initial example, we will consider the system
u
ẋ =
x
with the domain of definition Dx,def = IR\{0}. It is directly apparent from
the differential equation that it is not possible to reach any negative endpoint
xe from any positive starting point x0 , or vice versa. For this, the trajectory
would have to run through the point x = 0, for which the system is not
defined. This is also evident from the solution
v
u Zt
u
u 2
x(t) = sgn(x0 ) · tx0 + 2 u(τ )dτ , x0 6= 0, (3.3)
0
of the differential equation, because the sign of the solution x(t) can never
change.
214 Chapter 3. Controllability and Flatness
ẋ = xu (3.4)
R(x0 , T ) 6= {0},
Now that we have introduced and defined the different concepts of control-
lability, which are of fundamental importance for feedforward and feedback
control systems, the question arises how to verify the controllability of a spe-
cific system.
For linear systems, we know the answer: we check if the rank of the control-
lability matrix (3.2) equals n. For general nonlinear systems, no such easily
applicable criterion exists. This unsatisfactory situation arises because it is
necessary – with some exceptions – to know the solution of the system’s dif-
ferential equation to determine whether it is possible to transform any point
x0 into any other point xe by means of an input signal within finite time.
However, these solutions are rarely analytically determinable for nonlinear
systems.
For a special class of nonlinear systems, however, the controllability can
be examined. These are systems that are nonlinear in their state variables
xi , but linear in their input variables ui , i. e. they can be represented by the
differential equation
m
X
ẋ = a(x) + B(x) · u = a(x) + bi (x) · ui (3.6)
i=1
with x ∈ Dx,def ⊆ IRn and u ∈ IRm . Such systems are called control-affine
systems [2] . In practice, this class of systems is of great importance because
many technological systems are control-affine.
We will now consider a particular control-affine system of the form
ẋ1 x2 0
ẋ2 x3 0
.. .. ..
. = . + . u (3.7)
ẋn−1 xn 0
ẋn α(x) β(x)
with T
x = x1 x2 · · · xn ,
which is referred to as the nonlinear controller canonical form. Figure 3.9
shows the associated block diagram.
Assuming that
β(x) 6= 0
holds for all x ∈ Dx ⊆ Dx,def , it follows that a new control or input variable
v can be used via
[2]
Such systems are also termed input-linear systems, input-affine systems, or affine-
in-control systems in the literature.
216 Chapter 3. Controllability and Flatness
α(x)
1 1 1
β(x)
u s xn x3 s x2 s x1
− α(x) + v
u= . (3.8)
β(x)
With equation (3.8) the system (3.7) takes the form of a linear system
ẋ1 0 1 0 ··· 0 x1 0
ẋ2 0
0 1 ··· 0
x2 0
.. .. .. .. . . .. .. + .. v
. =. . . . . . (3.9)
.
ẋn−1 0 0 0 ··· 1 xn−1 0
ẋn 0 0 0 ··· 0 xn 1
similar to the SISO case, we can use a new input variable vector v via
α1 (x) v1
α2 (x) v2
u = D−1 (x) · − . + . .
(3.11)
.
. ..
αm (x) vm
We call the matrix D the decoupling matrix . Here it is assumed that βi,i (x) 6=
0 holds for all x ∈ Dx and i = 1, . . . , m, so that
ẋ = f (x, u)
holds.
The above theorem is of great importance because quite a few nonlinear
systems exist which can be transformed into the nonlinear controller canonical
form. The most important of these belong to the class of control-affine systems.
How these systems can be transformed into the nonlinear controller canonical
form, and how to control them, is discussed in Section 5.2.
3.1. Controllability 219
We will consider an industrial robot with three degrees of freedom, two rota-
tional degrees and one translational. The rotation angle Θ1 of a vertical arm
A1 with associated mass m1 constitutes the first degree of freedom of move-
ment with respect to the foundation, as shown in Figure 3.10. Attached to the
endpoint of the arm is a joint which realizes the second degree of freedom by
means of a rotation with angle Θ2 . The third degree of freedom is obtained
through a shiftably mounted arm A2 within the rotary joint with associated
mass m2 . The arm allows for a translational movement along the stretch r,
which defines the distance of the center of gravity of A2 to the rotary joint.
In order to derive the dynamic model of the robot, we first compute the
robot’s kinetic and potential energy, Ekin and Epot . The difference between
the two is the Lagrange function
d ∂L ∂L
Mi = − , i = 1, 2,
dt ∂ Θ̇i ∂Θi
(3.13)
d ∂L ∂L
F = −
dt ∂ ṙ ∂r
and thereby determine the torques Mi and the force F . The torques Mi and
the force F are the robot’s control variables, and are proportional to the
currents of the electric motors which adjust the joints’ angles Θi and the
translation r.
The kinetic energy of the arm A1 is
1
Ekin,A1 = Jz Θ̇12 ,
2
where Jz is the moment of inertia of arm A1 with respect to its longitudinal
axis z.
For arm A2 , the kinetic energy is composed of its rotational energy Erot,A2
and the energy Etrans,A2 from the translational movement. With the angular
velocity vector ω A2 and the inertia matrix
Jx̃ 0 0
J = 0 Jỹ 0
0 0 Jz̃
ỹ
x̃
g
r A2
Θ2
z̃
Θ̇1
Θ2
A1
Θ̇1 cos(Θ2 )
z
Θ̇1 sin(Θ2 )
Θ1
y
x
Fig. 3.10: Industrial robot with three degrees of freedom. The x̃, ỹ, z̃-coordinate
system has its origin in the center of gravity of the robot arm A2 .
With the unit vectors of the space-fixed coordinate system (x, y, z) and the
arm-coordinate system (x̃, ỹ, z̃)
1 0 0 1 0 0
ex = 0 , ey = 1 , ez = 0 and ex̃ = 0 , eỹ = 1 , ez̃ = 0 ,
0 0 1 0 0 1
as well as the angular velocity Θ̇2 ez̃ of the arm A2 rotating around the z̃-joint
axis, it holds that
ωA2 = Θ̇1 sin(Θ2 )ex̃ + Θ̇1 cos(Θ2 )eỹ + Θ̇2 ez̃ . (3.15)
3.1. Controllability 221
We then obtain
1 1 h i
Etrans,A2 = m2 v TA2 vA2 = m2 ṙ2 + r2 Θ̇22 + Θ̇12 cos2 (Θ2 ) .
2 2
Furthermore, we have to determine the robot’s potential energy, for which
we obtain
Epot = m2 g r sin(Θ2 ).
It then follows according to equation (3.12) that
holds.
We now insert equation (3.16) into the Lagrange equations (3.13) and
obtain the expressions for the torques M1 , M2 , and the force F as
M1 = Jz + Jx̃ sin2 (Θ2 ) + (Jỹ + m2 r2 ) cos2 (Θ2 ) Θ̈1
+ 2m2 r ṙ Θ̇1 cos2 (Θ2 ) − (Jỹ − Jx̃ + m2 r2 )Θ̇1 Θ̇2 sin(2Θ2 ),
M2 = (Jz̃ + m2 r2 )Θ̈2 + 2m2 r ṙ Θ̇2 (3.17)
1
+ (Jỹ − Jx̃ + m2 r2 )Θ̇12 sin(2Θ2 ) + m2 g r cos(Θ2 ),
2
F = m2 r̈ − m2 r(Θ̇12 cos2 (Θ2 ) + Θ̇22 ) + m2 g sin(Θ2 ).
We can reformulate equation (3.17) by using the state vector x, the input
variable vector u, and the output variable vector y,
T T T
x = Θ1 Θ̇1 Θ2 Θ̇2 r ṙ , u = M1 M2 F , y = Θ1 Θ2 r ,
ẋ = a(x) + B(x) · u,
(3.18)
y = c(x)
with
x2
2 2
2m2 x2 x5 x6 cos (x3 ) − (Jỹ − Jx̃ + m2 x5 )x2 x4 sin(2x3 )
−
Jz + Jx̃ sin2 (x3 ) + (Jỹ + m2 x25 ) cos2 (x3 )
x4
a(x) = ,
1
2m2 x4 x5 x6 + (Jỹ − Jx̃ + m2 x25 )x22 sin(2x3 ) + m2 g x5 cos(x3 )
− 2
Jz̃ + m2 x25
x6
2 2 2
x5 (x2 cos (x3 ) + x4 ) − g sin(x3 )
0 0 0
1
J + J sin2 (x ) + (J + m x2 ) cos2 (x ) 0 0
z x̃ 3 ỹ 2 5 3
0 0 0
B(x) = 1
,
0 0
Jz̃ + m2 x25
0 0 0
1
0 0
m2
x1
c(x) = x3 .
x5
is different from zero, since βi (x) 6= 0 holds for i = 1, 2, 3. Thus the robot is
controllable.
The nonlinear controller canonical form allows for controller design which
is especially easy to handle, hence its name. For this design, we use the control
law
−1
β1 (x) 0 0 α1 (x) + a1,1 x2 + a1,0 x1 − V1 · y ref,1
β2−1 (x)
u = − 0 0 α2 (x) + a2,1 x4 + a2,0 x3 − V2 · y ref,2 =
0 0 β3−1 (x) α3 (x) + a3,1 x6 + a3,0 x5 − V3 · y ref,3
2 2 a1,1 x2 +a1,0 x1 −V1 y ref,1
2m x
2 2 5 6x x cos (x3 )−(J ∆ +m x )x
2 5 2 4x sin(2x 3 )−
β1 (x)
(J∆+m2 x25 )x22 sin(2x3 )
a2,1 x4+a2,0 x3−V2 y ref,2
2m2 x4 x5 x6 + +m2 gx5 cos(x3)− ,
2 β 2 (x)
2 2 2 a3,1 x6 +a3,0 x5 −V3 y ref,3
−m2 x5 (x2 cos (x3 )+x4 )+m2 g sin(x3 )−
β3 (x)
(3.20)
where y ref,1, y ref,2, and y ref,3 are the reference variables and
J∆ = Jỹ − Jx̃ .
The coefficients ai,j and Vi are freely selectable. Inserted into equation (3.18)
or (3.19), the control law (3.20) yields a linear control loop with the system
equations
It is possible to design such linear control loops not only for the industrial
robot described here, but for all other nonlinear plants that can be represented
in nonlinear controller canonical form as well. We will utilize this property in
Section 5.2.
224 Chapter 3. Controllability and Flatness
ẋ = B(x) · u.
Accordingly, these systems are called driftless systems. For the special case of
a driftless linear system
ẋ = Bu, (3.21)
controllability exists if and only if the control matrix B is of rank n, i. e. if
det(B) 6= 0
holds. On the one hand, this is plausible, since all n derivatives must be
manipulated to change a state x0 into a different state xe . On the other hand,
controllability also follows from the full rank of the controllability matrix of
the system, i. e. from
rank (M contr ) = rank B AB A2 B · · · An−1 B
= rank (B) = n.
which describes a mobile robot with two individually driven wheels and a
freely movable stabilizing wheel, as shown in Figure 3.11. The control variable
u1 is the robot’s angular velocity and the control variable u2 is its translational
velocity in the direction of motion. The state variables x1 and x2 describe the
position of the robot and x3 denotes the angular orientation of the robot in
space.
Obviously, the direction on the xy-plane where the robot can move, i. e.
b2 (x3 ), depends on its orientation x3 . Figure 3.12 illustrates this dependency.
Choosing a suitable sequence of rotations u1 and longitudinal movements u2 ,
it is possible to reach any arbitrary point xe from any other arbitrary point
x0 , although b1 and b2 (x3 ) only span IR2 for a fixed x3 . The red line in
Figure 3.12 shows such a trajectory. To generate this trajectory, we use the
control signal sequence
u1 0 u1 1 u1 0
= , = , =
u2 −1 u2 0 u2 1
with x ∈ IRn . Similar to the case of the mobile robot above, we utilize the
sequence
y u2
x3
x2 u1
x1 x
Fig. 3.11: Mobile robot with two individually driven wheels and a stabilizing wheel
226 Chapter 3. Controllability and Flatness
x3
xe x2
π
x(2∆t)
x(∆t)
x3 0 x0
x1
−π
−1 0 x2
0
x1 −1
1
T
u = [ 1 0], 0 ≤ t < ∆t,
uT = [ 0 1], ∆t ≤ t < 2∆t,
u(t) = (3.24)
uT = [−1 0], 2∆t ≤ t < 3∆t,
T
u = [ 0 −1], 3∆t ≤ t < 4∆t,
as the control signal. Next we examine the solution x(t) of the differential
equation (3.23) for the points in time 0, ∆t, 2∆t, 3∆t, and 4∆t, making the
abbreviations
x0 = x(0),
x1 = x(∆t),
x2 = x(2∆t),
x3 = x(3∆t),
x4 = x(4∆t) = xe .
To compute these values, we then approximate x(t) using the first elements
of a Taylor series
1
x((i + 1)∆t) ≈ x(i∆t) + ∆tẋ(i∆t) + ∆t2 ẍ(i∆t),
2
3.1. Controllability 227
1 ∂b1
x1 ≈ x0 + ∆t b1 (x0 ) + ∆t2 · b1 (x0 ), (3.25)
2 ∂x x0
1 ∂b2
x2 ≈ x1 + ∆t b2 (x1 ) + ∆t2 · b2 (x1 ), (3.26)
2 ∂x x1
1 ∂b1
x3 ≈ x2 − ∆t b1 (x2 ) + ∆t2 · b1 (x2 ), (3.27)
2 ∂x x2
1 ∂b2
x4 ≈ x3 − ∆t b2 (x3 ) + ∆t2 · b2 (x3 ). (3.28)
2 ∂x x3
In the following we will first insert equation (3.25) into equation (3.26) and
subsequently insert the result into equation (3.27). The result obtained from
this is in turn inserted into equation (3.28). We thus obtain x4 in dependence
on the starting point x0 , so that we can deduce the direction which points
from x0 to x4 due to the control signal sequence (3.24).
As stated above, we will begin by inserting equation (3.25) into equation
(3.26) and obtain
1 ∂b1
x2 ≈ x0 + ∆t b1 (x0 ) + ∆t2 · b1 (x0 ) + ∆t b2 (x0 + ∆tb1 (x0 ) + . . . )
2 ∂x x0
1 ∂b2
+ ∆t2 · b2 (x0 + ∆tb1 (x0 ) + . . . ). (3.29)
2 ∂x x0 +∆tb1 (x0 )+...
In the following, just as above, we will only include the terms up to the power
of two, i. e. ∆t2 , in all approximations, since we are only interested in small
values of ∆t. Again, we approximate
1 ∂b1 ∂b2
b2 (x0 + ∆t b1 (x0 ) + ∆t2 · b1 (x0 )) ≈ b2 (x0 ) + ∆t · b1 (x0 )
2 ∂x ∂x
x0 x0
using the Taylor series and insert the result into equation (3.29), at which
point we can make the approximation
x1 = x0 + ∆tb1 (x0 ) + . . . ≈ x0
for the differentiation point x0 + ∆tb1 (x0 ) + . . . in the last term of equation
(3.29). It follows that
228 Chapter 3. Controllability and Flatness
Based on equation (3.30) we can deduce that, at least for small time intervals
∆t, we can move from x0 in the direction
∂b2 ∂b1
b3 (x) = · b1 (x0 ) − · b2 (x0 ) = [b1 , b2 ]
∂x ∂x
x0 x0
∂f 2 (x) ∂f 1 (x)
[f 1 , f 2 ] = f 1 (x) − f 2 (x)
∂x ∂x
be defined for x ∈ Dx,def ⊆ IRn . Let Dx ⊆ Dx,def be an open set, and assume
that ui ∈ [umin,i , umax,i ] holds with 0 > umin,i ∈ IR and 0 < umax,i ∈ IR for
i = 1, . . . , m. Then, if n of the vectors
b1 , . . . , bm , [b1 , b2 ], . . . , [bm−1 , bm ], [b1 , [b1 , b2 ]], . . . , [[b1 , b2 ], [b2 , b3 ]], . . .
are linearly independent for all x ∈ Dx , the system is small-time locally con-
trollable.
Below we will discuss the details of the theorem above. The requirement
that positive as well as negative control values ui exist is essential. If ui is only
either positive or negative, generally not all directions can be accessed. Note
once again that the controllability of the system is derived from the small-time
local controllability according to Theorem 43 on p. 208 for a path-connected
set Dx only. The small-time local controllability is more useful in control
applications than the controllability, since it allows for shorter trajectories
from x0 to xe .
When calculating a Lie bracket in the above theorem, we begin with the
simple brackets [bi , bj ] and determine whether it is possible to derive a matrix
from them and the vectors bi with a determinant that is different from zero.
If this is not possible, higher, i. e. nested Lie brackets must be included. In
this case, all combinations of Lie brackets and vectors bi , and combinations
of combinations, must be included.
Let us return to the mobile robot and its system description (3.22). Its
controllability is plausible due to its design. Since
0 cos(x3 ) − sin(x3 )
M = b1 b2 [b1 , b2 ] = 0 sin(x3 ) cos(x3 )
1 0 0
holds additionally, and therefore for the determinant of this matrix it follows
that
det(M ) = cos2 (x3 ) + sin2 (x3 ) = 1,
the conditions of Theorem 46 are fulfilled and the robot is also small-time
locally controllable.
It is easy to see that the robot is controllable. However, its small-time local
controllability is not apparent. If we consider a small neighborhood around a
point, such as x0 = 0, all directions in which the robot can move are severely
limited. Figure 3.13 shows an example.
Nevertheless, we can reach the point xe which lies outside the blue high-
lighted area in Figure 3.13 by executing the following steps. First, we will
proceed toward the state
230 Chapter 3. Controllability and Flatness
x2
xe
x0 x1
Fig. 3.13: Directions on the x1 x2 -plane in which the robot can move if only small
changes in x3 around zero are included
x3 x2
x(3∆t)
xe x(2∆t)
x0
x2 x1
x0 , x(∆t)
x1 xe
Fig. 3.14: Trajectory of the robot from Fig. 3.15: Trajectory of the robot
x0 to xe = x(4∆t) viewed from above
0
x(∆t) = 0
x3 (∆t)
x(3∆t). From here, we move to xe = x(4∆t) using the control signal vector
u = [0 −1]T .
By taking a zigzag trajectory, it is therefore possible to maneuver to any
arbitrary position. This explains why, for small-time locally controllable sys-
tems, it is possible to create trajectories which remain within an arbitrarily
small neighborhood of a point x0 and reach any point there.
l u1
x3
x4
u2
x2
d
x5
x1 x
Fig. 3.16: Schematic view from above of the motor vehicle with its trailer in the
space-fixed xy-coordinate system
This yields
π π
Dx = {x ∈ IR5 | x1 , x2 ∈ IR, |x3 | < , |x5 − x4 | < }
4 2
as the admissible domain of the state variables.
We will now examine the system’s controllability, and for this purpose we
need to compute the Lie brackets
sin(x3 ) cos(x4 )
1
− l sin(x4 )
sin(x3 ) sin(x4 )
1
cos(x4 )
0 l
[b1 , b2 ] = , [b1 , [b1 , b2 ]] =
0
,
1
− cos(x3 )
0
l
1 1
sin(x3 ) sin(x4 − x5 ) cos(x − x )
d ld
4 5
and
3.1. Controllability 233
1
− 2 sin(x3 ) cos(x4 )
l
1
− 2 sin(x3 ) sin(x4 )
l
[b1 , [b1 , [b1 , b2 ]]] =
0
.
0
l cos(x3 ) − d sin(x3 ) sin(x4 − x5 )
l2 d2
Along with the vectors b1 (x) and b2 (x), we generate the matrix
M = b1 b2 [b1 , b2 ] [b1 , [b1 , b2 ]] [b1 , [b1 , [b1 , b2 ]]]
and compute its determinant as
cos(x3 )
det(M ) = − .
l3 d2
Since the steering angle of the vehicle’s wheel x3 is limited to the interval
(−π/4, π/4), the determinant is different from zero. The system is therefore
small-time locally controllable.
ẋ = a(x) + B(x) · u
follows from the robot’s kinematics. Here x1 denotes its x-position and x2
denotes its y-position in space. The orientation of the robot, i. e. the angle
between its main axis and the x-axis of the space-fixed coordinate system, is
denoted by x3 . The control variable u1 represents the angular velocity with
respect to the robot’s vertical axis, the control variable u2 is the velocity in
the longitudinal direction, and u3 is the velocity in the transverse direction.
Since
det(B(x)) = 1
holds, the robot is omnidirectionally controllable. This is also intuitively plau-
sible based on its design.
For the general nonlinear system
ẋ = f (x, u)
y u3 u2
x3
x2 u1
x1 x
Fig. 3.17: Omnidirectional robot with three individually powered wheel axles and
Swedish wheels
deduce the required input variable vector u from equation (3.33), which is
interpreted as the control law. The requirement that the inverse function f −1
exists, however, need not be fulfilled for the omnidirectional controllability in
every case, since, in some cases, ẋ can be generated not only by a single u,
but also by several different vectors u. In the latter case, however, an inverse
function would not exist.
Computing the inverse function f −1 is often difficult or impossible, so
it would be useful if the verification of the omnidirectional controllability
could be simplified. This is achieved as follows. According to the fundamental
theorem on implicit functions [167], the inverse function f −1 exists if the
Jacobian matrix
∂f (x, u)
(3.34)
∂u
is of rank n. This is also sufficient if dim(u) > n holds. This leads to the
general
Theorem 48 (Omnidirectional Controllability). A system
ẋ = f (x, u)
∂f (x, u)
rank( )=n
∂u
holds for all x of a path-connected set Dx ⊆ Dx,def and u ∈ IRm .
Alternatively, this theorem can also be proven by calculating the Taylor se-
ries expansion for f around the point (xp , up ), and thereby representing the
system as
236 Chapter 3. Controllability and Flatness
∂f ∂f
ẋ = f (xp , up )+ ·(x−xp )+ ·(u−up ) +remainder . (3.35)
∂x ∂u
xp ,up xp ,up
Among other applications, steam generators are used in power plants to gen-
erate hot steam for a turbine. For this purpose, gas, oil, or pulverized coal
are burnt in a combustion chamber. Water flowing in a pipe system contained
in this combustion chamber is heated up. As illustrated in Figure 3.18, the
hot water ascends in the pipes and reaches the steam boiler. Here in the
boiler, steam rises up and is channeled into the turbine. Because colder water
has a higher specific gravity than hot water, colder water streams out of the
steam boiler into the lower pipe system in the combustion chamber. There
it is heated up anew and subsequently rises into the steam boiler again. The
fresh water is also fed into the steam boiler, either directly or via a preheater
which heats the water using the exhaust gas from the burner.
The steam thus generated is fed into a superheater which heats the steam
past the evaporation temperature so that the remaining liquid droplets are
dissolved. On the one hand, this serves to prevent damage to the turbine
blades by liquid droplets striking them. On the other hand, it increases the
degree of efficiency of the process. Downstream of the superheater, there is a
desuperheater. It compensates for the rise in temperature that occurs when
the load of the turbine decreases. For this purpose, demineralized water is
finely atomized and fed into the steam current. Using a valve, the injected
water can be controlled such that the desired steam temperature is reached
when the steam enters the turbine. Before this is done, the blend of steam and
water vapor is subsequently dried again in a second superheater, i. e. liquid
droplets are reheated so that they evaporate. After leaving the superheater
the amount of steam that is finally injected into the turbine can be controlled
by another valve.
The three state variables, i. e. the boiler pressure p in kg cm−2 , the mass
flow q of the steam at the entrance of the turbine in kg s−1 , and the water level
3.1. Controllability 237
Demineralized water
Mass flow q
to the turbine
Superheater
Valve opening v
Desuperheater
Hot steam outlet
Boiler Feedwater
ṁw
Pressure p Exhaust
Combustion chamber
with pipe system Combustible supply ṁs
h in cm can be influenced by three control variables. The latter are the mass
flow ṁs of the combustible material in kg s−1 , the degree of opening v of the
valve in front of the turbine, and the amount ṁw in kg s−1 of the feedwater
per second that is injected into the boiler.
As a specific application, we will examine the steam generator of a 200 MW
plant fired by coal, gas, or oil [383]. The plant is modeled by the equations
√
ṗ −0.00193 q 8 p + 0.00121 h
q̇
= −0.785716 q
2 2
ḣ −0.000006 p − 0.007328 q − 0.00914 h − 0.000082 h
0.014524 0 −0.000736 ṁs
√
+ 0 10 p 0 v . (3.36)
0.002 0.463 0.00863 ṁw
The control variables ṁs , v, and ṁw are all positive. Therefore this system rep-
resentation is not appropriate to analyze the controllability, since the control
signals must have both positive and negative values. Without loss of general-
ity, we now transform the system to the operating point at 60 percent of the
maximum continuous rating using the new variables
u = 0.
The control variables u1 , u2 , and u3 can take on both positive and negative
values. For the determinant of B(x), we obtain
3.2. Flatness 239
√
det(B(x)) = 0.001268 175.8 + x1 ,
i. e. it is different from zero for all x1 > −175.8. Since p > 0 holds, only
values x1 > −175.8 are possible, the determinant is always positive, and the
mathematical model (3.37) of the steam generator is omnidirectionally con-
trollable. Since all control variables ui and states xi are limited in a real-world
system, the real system is only locally weakly omnidirectionally controllable
in practice.
3.2 Flatness
3.2.1 Basic Concept and Definition of Flatness
The term flatness signifies that we can rearrange the dynamic equations of a
system in such a way that all input variables and state variables of a system
can be represented by functions that depend only on the output variable
vector and its derivatives [124, 125, 127, 273]. The practical use of this system
property is obvious: if a system is flat, by specifying the trajectory of the
output variable vector it is possible to directly calculate the required course
of the input variables, i. e. the appropriate feedforward control.
As an example, we will consider the system of linear differential equations
ẋ1 = x2 ,
ẋ2 = −x1 − x2 + u, (3.38)
y = x1
with the state variables x1 , x2 , the input variable u, and the output variable
y. We can describe the state variables as a function of the output variable and
its derivative as
x y
x= 1 = . (3.39)
x2 ẏ
The system of differential equations (3.38) can be reformulated as the differ-
ential equation
ÿ + ẏ + y = u. (3.40)
With this representation, we also know the relationship which explicitly de-
scribes u in dependence on y, ẏ, and ÿ.
If we know y(t), ẏ(t), and ÿ(t) or if we specify their progressions, it is
not only possible to compute the progression of u(t) associated with y(t)
using equation (3.40), but also to determine the associated state progressions
x1 (t) and x2 (t) using equation (3.39). Here the input variable u and the state
variables x1 (t) and x2 (t) can be directly determined from the output variable
y and its derivatives by evaluating a function. The output y is then called a
flat output and the system is called flat.
240 Chapter 3. Controllability and Flatness
The above example of a flat system illustrates why the property of flatness
is useful. The result obtained for this specific example can be generalized to all
flat systems. As mentioned previously, this allows for a simple determination
of the control signal u(t), which generates a desired trajectory
ẋ = f (x, u) (3.41)
∂f ∂f
ẋ = f (x0 , u0 ) + · (x − x0 ) + · (u − u0 ) + remainder ,
∂x ∂u
x0 ,u0 x0 ,u0
has a matrix
∂f
∂u
x0 ,u0
of rank m for all x0 and u0 . We will now specify the concept of flatness more
precisely in
Definition 32 (Flatness). Let a system
ẋ = f (x, u)
be defined for x ∈ Dx,def ⊆ IRn and u ∈ Du,def ⊆ IRm with m ≤ n and let
∂f (x, u)
rank( )=m
∂u
hold. The system is called flat if a real or fictitious output variable vector
and
(3) it holds for the input and output variable vector that
dim(y) = dim(u) .
In this case, the output variable vector y is called flat output.
For SISO systems, it holds that y = h(x) and β = n − 1. On the other hand,
the value of β is not known a priori for MIMO systems [467]. Usually, not
only in SISO systems but in MIMO systems as well, the flat output y does
not directly depend on the control variable u or one of its derivatives u(i) . It
therefore often holds that y = h(x).
In general, we can distinguish between local and global flatness, depending
on whether Conditions (1), (2), and (3) of the above definition are only fulfilled
for a proper subset of the domain of definition of f (x, u), or whether they are
fulfilled for its entire domain of definition.
The term differentially flat is often used synonymously with the term flat.
This is because only the derivatives of y, but no integrals of y, are used to
determine u and x in the functions Ψ 1 and Ψ 2 .
The Conditions (2) and (3) of Definition 32 are equivalent to stating that
the function y(t) does not fulfill any differential equation
If, for example, dim(y) > dim(u), cases would exist for which equation (3.44)
would be fulfilled. The example
u = y1 + 2ẏ1 + y2 + ẏ2
with dim(u) = 1 and dim(y) = 2 illustrates this. Obviously, for this case, we
can choose y2 and ẏ2 such that
y2 + ẏ2 = 0,
u1 = y1 + ẏ1 ,
u 2 = y1 ,
from which
u1 = u2 + u̇2
242 Chapter 3. Controllability and Flatness
and can also realize this trajectory using the control input from equation
(3.43).
It is most useful if a real output y is flat. On the one hand, in this case
the flatness can be easily verified using equation (3.42) and equation (3.43).
On the other hand, we can directly specify the required control (3.43) from
the trajectory (y, ẏ, ÿ, . . . , y (β+1) ).
Unfortunately, the real output is frequently not flat. In this case, it is
necessary to search for a fictitious flat output. Similar to the case of the
Lyapunov function, no practically applicable general method exists to find or
construct a fictitious flat output. Therefore we have to try out different outputs
to determine a flat output. It has proven useful to start by considering outputs
y which exhibit a derivative y (k) which depends on the input variable vector
u as the first of the derivatives y (i), i = 1, . . . , k, and has an order k which
is as high as possible. However, for a flat system there is not only one single
flat output, but an infinite number of flat outputs. All these outputs can be
converted into each other.
After determining a candidate y for a flat output, we can verify whether
it is truly flat. To do this, the function
until an algebraic system of equations for the variables x, u, u̇, . . . , u(α) is ob-
tained which can be solved. From this system, we can determine the functions
L = Ekin − Epot
ẋ = f (x, u) (3.45)
we use the state vector x and its time course x(t) to describe the system’s
behavior. In order to calculate the course of the state vector x(t) and the
output variable vector y(t), we need to solve the differential equation. As
mentioned, the output function h in equation (3.46) only depends on x in the
majority of cases, i. e. there is no feedthrough.
If, on the other hand, we use the flat system representation
x = Ψ 1 (y, ẏ, . . . , y (β) ), (3.47)
(β+1)
u = Ψ 2 (y, ẏ, . . . , y ) (3.48)
and the flat output variable vector y, we do not need to solve a differential
equation to determine x. The flat coordinates
y
ẏ
z f = ..
.
y (β)
are not subject to any dynamics since they are differentially independent
of each other, i. e. they do not have a mutual dependence in the form of a
differential equation (3.44). Rather, the time course of the m output variables
yi as well as all the associated derivatives
(k)
yi (t), k = 1, 2, . . . ,
can be chosen arbitrarily. They therefore represent a system without dynam-
ics, which is referred to as a trivial system. The two system descriptions (3.45),
(3.46) and (3.47), (3.48) are equivalent to each other. They can be bijectively
converted into each other via a transformation that is called the Lie-Bäcklund
transformation or Lie-Bäcklund isomorphism [18, 126]. The equations (3.47),
(3.48), and
u̇ = Ψ̇ 2 (y, ẏ, . . . , y (β+1) ),
ü = Ψ̈ 2 (y, ẏ, . . . , y (β+1) ),
..
.
make up the Lie-Bäcklund transformations and the equations
y = h(x, u, u̇, . . . , u(α) ),
ẏ = ḣ(x, u, u̇, . . . , u(α) ),
ÿ = ḧ(x, u, u̇, . . . , u(α) ),
..
.
the associated inverse transformation. Figure 3.19 illustrates both coordi-
nate spaces with their coordinate vectors x and z f which consists of y (i) ,
i = 0, 1, . . . , β + 1, and the Lie-Bäcklund transformation.
3.2. Flatness 245
x2
x(t) x(T )
h x(0)
x ∈ IRn
x1
Lie-Bäcklund transformation
ẏ
y(t)
y
ẏ(t) zf = ∈ IRm(β+1)
ẏ
hf y(0)
ẏ(0)
y(T )
ẏ(T )
y
Fig. 3.19: The Lie-Bäcklund transformation transforms the system representation
from the state-space coordinate system to the space of flat coordinates. For illustra-
tion purposes, the potential h of a so-called gradient system ẋ = f (x, u) with its
gradient grad(h) = f (x, 0) and the potential function hf of the trivial system in flat
system representation with grad(hf ) = 0 is shown here.
ẋ1 = x2 = ẏ,
ẋ2 = −x1 − x2 + u = ÿ,
y = x1 = y.
Incorporating ẋ1 = ẏ and ẋ2 = ÿ from equation (3.50), the trivial relation
ẏ = ẏ,
ÿ = ÿ,
y=y
follows. This means that, as expected, we obtain a trivial system that can be
freely specified in terms of its variable y and the associated derivatives.
If we apply the inverse transformation equations (3.50) and insert them
into the trivial system, for which y, ẏ, and ÿ are independent and can be freely
chosen, we get
ẏ = ẋ1 = x2 ,
ÿ = ẋ2 = −x1 − x2 + u,
y = x1 ,
which is the original system once again.
Here, m denotes the mass of the airplane, J is the inertia moment with respect
to the roll axis, α is the angle of inclination of an engine with respect to the
3.2. Flatness 247
α Yaw axis
Fl
u1
ϕ g
Fr
a
z2
u2
S
z1 b Pitch axis
Fig. 3.20: The AgustaWestland AW609, an example of a VTOL aircraft. The two
smaller diagrams illustrate the front view of the aircraft and the relevant parameters.
yaw axis, and a and b represent the distances of an engine to the center of
gravity S in the direction of the yaw and pitch axis, respectively. For the
gravitational acceleration, the common notation g is used.
For simplification, we will define the control variable u1 as the acceleration
in relation to the direction of the aircraft’s yaw axis, i. e.
cos(α)
u1 = (F l + F r ), (3.53)
m
and the control variable u2 as the angular acceleration in relation to the roll
axis, i. e.
b cos(α) − a sin(α)
u2 = (F l − F r ). (3.54)
J
For the sake of convenience, we will use the artificial length
248 Chapter 3. Controllability and Flatness
J sin(α)
ε= (3.55)
m(b cos(α) − a sin(α))
in the following calculations. It assumes low values due to the small angle α.
From equations (3.51) to (3.55), along with the state vector
T
x = ż1 ż2 ϕ̇ z1 z2 ϕ ,
as a possible candidate.
According to the definition of flatness, the system equations (3.56) to (3.61)
must be reformulated such that the state vector x and the input variable
vector
u = [u1 u2 ]T
are represented as functions
x4 = y1 + ε sin(x6 ), (3.63)
x5 = y2 − ε cos(x6 ). (3.64)
The next task is the elimination of the state variable x6 in equations (3.63)
and (3.64). To do this, we compute the second derivative of equation (3.63)
which yields
ÿ1 = ẍ4 − εẍ6 cos(x6 ) + εẋ26 sin(x6 ).
In this equation, we incorporate equations (3.56), (3.58), (3.59), and (3.61) so
that
ÿ1 = (εẋ26 − u1 ) sin(x6 ) (3.65)
3.2. Flatness 249
By applying ! !
p p
arctan = arcsin p ,
q p2 + q 2
it follows from equation (3.63) and equation (3.67) that
ÿ1
x4 = y1 − ε p . (3.68)
ÿ12 + (ÿ2 + g)2
In a comparable way, we obtain
ÿ2 + g
x5 = y2 − ε p 2 (3.69)
ÿ1 + (ÿ2 + g)2
β=3
from equation (3.67) to equation (3.72), we still have to prove the existence
of
250 Chapter 3. Controllability and Flatness
so that we have also determined the function Ψ 2 . Thus, the VTOL aircraft
model (3.56) to (3.61) is flat.
i. e. h iT
(n−1)
x = y f ẏ f ÿf · · · yf(n−1) = Ψ 1 (y f , ẏf , . . . , yf ),
and
Although it is not possible to directly specify the set of flat outputs of a system
in general, it can easily be done for linear systems
ẋ = Ax + bu. (3.74)
This makes sense, since flatness is an important and useful property of linear
systems as well. As is the case for nonlinear systems, it allows us to design a
control system for a specified output variable signal y ref (t).
252 Chapter 3. Controllability and Flatness
In the previous section, we have already determined a flat output for the
special case of linear systems in controller canonical form. After multiplication
by an arbitrary constant different from zero, this output generates the set of
all flat outputs in controller canonical form. Consequently, a possible method
of determining the flat outputs of a linear system (3.74) is to transform it to
the controller canonical form. The flat outputs of the controller canonical form
are then transformed back to the original coordinates of the system (3.74).
Below, we will discuss an alternative possibility.
To determine the flat outputs
y f = cT x
of a linear system in the general form (3.74), we will first derive the equation
(n−1)
x = Ψ 1 (y f , ẏf , . . . , yf ). (3.75)
y f = cT x,
ẏf = cT ẋ = cTAx + cT bu,
ÿf = cTAẋ + cT bu̇ = cTA2 x + cTAbu + cT bu̇,
..
.
(n−1)
yf = cTAn−2 ẋ . . . = cTAn−1 x+cTAn−2 bu+cTAn−3 bu̇ +. . .+ cTbu(n−2).
cT b = 0,
cT Ab = 0,
cT A2 b = 0, (3.76)
..
.
cT An−2 b = 0.
It follows that
yf cT
ẏf T
c A
ÿf
= cT A2
x,
.. ..
. .
(n−1)
yf cT An−1
| {z }
M obs
3.2. Flatness 253
where M obs is the observability matrix of the linear system (3.74) with the
output y f = cT x. Assuming the regularity of M obs , i. e. the observability of
the linear system with output y f , it holds that
yf
ẏ f
x = M obs ÿ f = Ψ 1 (y f , ẏf , . . . , y (n−1) ).
−1
..
.
(n−1)
yf
The derivative
(n)
yf = cT An x + cT An−1 bu + cT An−2 bu̇ + . . . + cT bu(n−1) ,
which reduces to
(n)
yf = cT An x + cT An−1 bu (3.77)
cT An−1 b = α (3.78)
cT = 0 · · · 0 α M −1
contr .
y f = cT x = α[0 · · · 1]M −1
contr x
can be transformed into the controller canonical form (3.80). The output
y f = αz̃1 with an arbitrary α 6= 0 already describes all flat outputs. Equation
(3.80) can therefore be called the flat canonical form of a linear system.
ẋ = a(x) + B(x) · u
ẋ = f (x, u),
Its flatness can be verified as follows. With δi denoting the orders of the m
subsystems and
n 1 = δ1 ,
n 2 = δ1 + δ2 ,
n 3 = δ1 + δ2 + δ3 ,
..
.
nm−1 = δ1 + . . . + δm−1 ,
n = δ1 + . . . + δm ,
and, with
this yields
(δ1 −1) (δm −1) T
x = [y1 ẏ1 . . . y1 . . . ym ẏm . . . ym ]
(3.82)
= Ψ 1 (y, ẏ, . . . , y (δmax −1) ).
composed of the elements βi,j (x) used in equation (3.81) is regular for all x,
we obtain
(δ )
α1 (x) y1 1
α2 (x) y (δ2 )
−1 2
u = D (x) − . + .
.. .
.
αm (x) ym(δm )
for the system’s input signal. With equation (3.82), this can also be written
as
(δ1 ) (δmax −1)
y1 α1 (Ψ 1 (y, ẏ, . . . , y ))
(δ2 ) (δmax −1)
y2 α2 (Ψ 1 (y, ẏ, . . . , y ))
u = D −1 Ψ 1 (y, ẏ, . . . , y (δmax −1) )
. −
..
.. .
(δm )
ym αm (Ψ 1 (y, ẏ, . . . , y (δmax −1) ))
= Ψ 2 (y, ẏ, . . . , y (δmax ) ).
(3.83)
Based on Definition 32 and using equations (3.82) and (3.83), we have shown
that y is a flat output. Now we can formulate the following sufficient crite-
rion for MIMO systems. For SISO systems, it is not only sufficient but also
necessary [420].
Theorem 51 (Flatness of the Controller Canonical Form). A system
ẋ = f (x, u)
det (D(x)) 6= 0
h(p, q + λa) = 0
is fulfilled for all real numbers λ and all p, q ∈ IRn , for which h(p, q) = 0
holds.
We will consider the example
ẋ1 = u, (3.84)
ẋ2 = −x1 + u3 . (3.85)
Inserting equation (3.84) into equation (3.85) yields the underdetermined sys-
tem of equations
h(x, ẋ) = −x1 + ẋ31 − ẋ2 = 0
and the algebraic equation
We then insert
h(p, q) = q13 − p1 − q2 = 0
into equation (3.86) and obtain the equation
as a necessary condition for the flatness of the system, which must be fulfilled
for all λ ∈ IR. This is only possible if
a1 = a2 = 0
ẋ = f (x),
∂Ψ 1 ∂Ψ 1 ∂Ψ 1 (β+1)
ẏ + ÿ + . . . + y = f (Ψ 1 (y, ẏ, . . . , y (β) )).
∂y ∂ ẏ ∂y (β)
x = Tz (3.88)
where the vector z represents the new coordinates. The matrix T is a regular
n × n matrix. The new system is then represented by
ż = T −1 AT z + T −1 Bu. (3.89)
260 Chapter 3. Controllability and Flatness
Often the transformation matrix T is chosen such that the new system matrix
T −1 AT is diagonal or takes the form of a companion matrix
0 1 0 ··· 0
0 0 1 ··· 0
T −1 AT = .
. .
. .. .. .
. . . .
−a0 −a1 −a2 · · · −an−1
These representations are useful for the controller design or for directly iden-
tifying system properties.
Similarly, for nonlinear systems
the transformations
dq −1 (z)
= f (q −1 (z), u),
dt
from which
∂q −1 (z)
· ż = f (q −1 (z), u)
∂z
and, finally, the transformed system representation
−1
∂q −1 (z)
ż = f (q −1 (z), u) = fˆ(z, u) (3.92)
∂z
x = q −1 (z) = T z
and
∂q −1 (z)
=T
∂z
hold.
Next we will derive an important theorem on diffeomorphisms, i. e. bijec-
tive and continuously differentiable coordinate transformations q(x). It holds
that
q −1 (q(x)) = x
∂q −1 (z) ∂q(x)
· = I.
∂z ∂x
Here I is the identity matrix. Accordingly, the Jacobian matrix ∂q(x)/∂x of
a diffeomorphism q(x) must be regular.
The regularity of the Jacobian matrix, however, is not only necessary for a
diffeomorphism; it is also sufficient. If the Jacobian matrix of q(x) is regular
262 Chapter 3. Controllability and Flatness
The determinant
" #
∂q(x) ex1 cos(x2 ) −ex1 sin(x2 )
det( ) = det( x1 ) = e2x1
∂x e sin(x2 ) ex1 cos(x2 )
both result in
1
q(xa ) = q(xb ) = .
0
In some cases, we are interested in having a global diffeomorphism to map
IRn into IRn and vice versa. The best, but mostly very laborious way to verify
whether a mapping q is a global diffeomorphism is calculating its inverse q −1 .
The following theorem [154, 245, 394, 481], Hadamard’s global inverse function
theorem, provides us with a less laborious way, but does not yield the inverse.
3.3. Nonlinear State Transformations 263
or
x = q −1 (z, u, u̇, . . . , u(i) ). (3.94)
If we now transform the system
ẋ = f (x, u)
to z-coordinates, we obtain
i
dq −1 (z,u, . . . ,u(i) ) ∂q−1 (z,u, . . . ,u(i) ) X ∂q −1 (z,u, . . . ,u(i) ) (j+1)
= · ż+ ·u
dt ∂z j=0
∂u(j)
= f (q −1 (z,u, . . . ,u(i)), u)
after inserting equation (3.94) into the system equation ẋ = f (x, u). The
transformed system equation follows as
(i) −1 i
−1 −1 (i)
∂q (z,u,. . . ,u ) −1 X ∂q (z,u,. . . ,u ) (j+1)
ż = · f (q (z,u,. . . ,u(i)),u)− u .
∂z j=0
∂u(j)
(3.95)
The equation for the retransformation can be derived in a comparable fashion.
It generally requires some effort to determine a transformation
z = q(x)
or
z = q(x,u,u̇, . . . ,u(i) )
which induces a change of coordinates resulting in the desired system rep-
resentation. This is already the case for linear systems when diagonalizing a
system, for example. To do this, the eigenvectors which make up the columns
of the transformation matrix T must be determined. For the nonlinear case,
the effort required is often much greater. We will discuss this problem in
Section 3.3.4.
264 Chapter 3. Controllability and Flatness
The transformation rules (3.97) and (3.98) are bijective, continuously differ-
entiable, and q maps the space of real numbers IR to the interval (0, ∞).
Figure 3.21 shows the graph of q(x). We are now able to calculate the deriva-
tive −1/2
∂q −1 (z) ln z 2
=
∂z z
and, consistent with equation (3.92), we obtain
−1/2
!−1 !
ln z 2 1
ż = · 1/2
z sgn (ln (z 2 )) |ln (z 2 )|
q(x)
8
2
6 esgn(x)x /2
-1 0 1 x
from which
sgn(x0 ) = sgn ln z02
between the initial values x0 and z0 follows. Inserting this result into equation
(3.100) yields
sgn (x0 ) · x20 + 2t 1/2 , x0 > 0,
x(t) = 1/2
sgn (x ) · −x2 − 2t , x0 < 0,
0 0
1/2
= sgn (x0 ) · x20 + 2t , x 6= 0,
Rotor
Pm + P e
Pm
usabc
Slip rings
Pm
DFIM
urabc
~ =
Gear box = ~
Pe Converter Pe
Fig. 3.22: Wind turbine with a doubly fed induction machine (DFIM). The graph
also shows the energy flow associated with the absorbed wind power Pm and the
power of the rotor circuit P e , where losses are assumed to be zero. The vectors usabc
and urabc correspond to the stator and rotor voltages of the phases a, b, c.
3.3. Nonlinear State Transformations 267
First we will derive the model of the doubly fed induction machine [247,
254]. Figure 3.23 shows the stator and rotor coils, as well as their positions
relative to each other. The rotor of the induction generator, powered by the
turbine, turns with the mechanical frequency
ωm = Θ̇.
Here the geometric angle Θ denotes the angle between the rotor coil in phase
ar and the stator coil in phase as , as shown in Figure 3.23. The indices r and s
stand for the rotor and stator, respectively. The rotor currents ira , irb , and irc
of frequency ∆ω are fed into the rotor coils via the slip rings and the current
converter. For a machine with p pole pairs, the magnetic field of the rotor
revolves with the frequency
∆ω
= ϕ̇
p
around it. Here ϕ is the rotation angle of the rotor’s magnetic field. With
respect to the stator, the magnetic field therefore rotates at a frequency of
∆ω
ωs = ωm + .
p
The rotor field induces a magnetic field in the stator coils that also rotates at
ωs = β̇ = Θ̇ + ϕ̇,
isb usb
Stator
ωm
irb ura ira
Θ isa
urb
Rotor usa
urc
irc
usc
isc
Fig. 3.23: Rotor and stator coils and their relative positions
268 Chapter 3. Controllability and Flatness
ω electric = p · ωs
ω electric = p · ω s = p · ω m + ∆ω
via the rotor frequency ∆ω such that it is identical to the line frequency even
if the wind turbine has a varying rotational frequency ω m .
For the stator voltages of the phases as , bs , cs , we obtain
usa Ψ̇sa Rs 0 0 i
sa
usb = Ψ̇sb + 0 Rs 0 isb , (3.102)
usc Ψ̇sc 0 0 Rs isc
| {z } | {z } | {z } | {z }
usabc Ψ̇ sabc Rs isabc
where Ψsa is the magnetic flux linkage, Ψ̇sa is the induced voltage of the coil
of phase as , isa is the current that flows through the coil, and Rs is its ohmic
resistance. Similarly, for the rotor voltages, we obtain
ura Ψ̇ra Rr 0 0 i
ra
urb = Ψ̇rb + 0 Rr 0 irb (3.103)
urc Ψ̇rc 0 0 Rr irc
| {z } | {z } | {z } | {z }
urabc Ψ̇ rabc Rr irabc
with the resistance Rr of each rotor coil, and the corresponding voltages,
currents, and flux linkages.
The stator and the rotor coils are coupled via the magnetic fluxes Ψ rabc and
Ψ sabc . Since the rotor rotates with frequency ωm = Θ̇, the mutual inductance
of the rotor coils and stator coils changes according to the rotor angle Θ.
For the flux linkage of the stator coil of phase as , we obtain
2π 2π
Ψsa=Lss isa +Lms (isb +isc)+Lmsr ira cos(Θ)+irb cos(Θ+ )+irc cos(Θ− ) ,
3 3
(3.104)
3.3. Nonlinear State Transformations 269
holds.
Here Lss is the self-inductance of the stator coils, Lsr is that of the rotor
coils, Lms is the mutual inductance of two stator coils, while Lmr is that of
two rotor coils and Lmsr is the mutual inductance of the stator coil of phase
as with respect to the rotor coil of phase ar at Θ = 0.
Using
isa + isb + isc = 0, ira + irb + irc = 0,
the abbreviations
and
Ψ sabc Ls 0 isabc 0 Γ s (Θ) isabc
= + Lmsr (3.109)
Ψ rabc 0 Lr irabc Γ r (Θ) 0 irabc
with
3.3. Nonlinear State Transformations 271
2π 2π
cos(α) cos(α − ) cos(α + )
3 3
2 2π 2π
T (α) = − sin(α) − sin(α − ) − sin(α + ) ,
3 3 3
1 1 1
2 2 2
cos(α) − sin(α) 1
2π 2π
−1
(α) = cos(α − 3 ) − sin(α − ) 1
T 3 .
2π 2π
cos(α + ) − sin(α + ) 1
3 3
The transformation (3.111) depends on the angles β(t) and ϕ(t), and therefore
also on the state variable
Θ = β − ϕ.
It is thus a transformation consistent with equation (3.91), i. e. a diffeomor-
phism which nonlinearly depends on the state of the system.
By inserting the transformation equations (3.111) into the system equation
(3.108), we arrive at
−1 −1
d T (β) 0 Ψ sdq0 T (β) 0 usdq0
=
dt 0 T −1 (ϕ) Ψ rdq0 0 T −1 (ϕ) urdq0
−1
Rs 0 T (β) 0 isdq0
− ,
0 Rr 0 T −1 (ϕ) irdq0
We now determine
−1
T (β) 0 0 Γ s (Θ) T (β) 0 3 0 U
=
0 T (ϕ) Γ r (Θ) 0 0 T −1 (ϕ) 2 U 0
with
1 0 0
U = 0 1 0.
0 0 0
Using this result, and the abbreviation Lm = 3Lmsr /2, we then simplify equa-
tion (3.114) in order to get the transformed equation
Ψ sdq0 Ls 0 isdq0 0 U isdq0
= + Lm , (3.115)
Ψ rdq0 0 Lr irdq0 U 0 irdq0
for the electrical equations of the doubly fed induction machine, which are
independent of the flux linkage. For the mechanical equation of the machine,
equation (3.110), we obtain
M Θ̈ M
Θ̈ = −ṡω s = or ṡ = − =− ,
J ωs ωsJ
assuming a constant stator frequency ω s in equation (3.101). Similarly, for
synchronous machines, the Park transformation allows for a simplification of
the system equations, i. e. an independence of the mutual inductances relative
to the rotor position.
∂p(z) ˆ
· f (z, u) − f (p(z), u) = 0 (3.120)
∂z
ż = Âz + b̂ · u. (3.122)
∂p(z)
(Âz + b̂ · u) − (Ap(z) + b · u) = 0.
∂z
It follows that
∂p(z) ∂p(z)
Âz − Ap(z) + b̂ − b u = 0.
∂z ∂z
Since the above equation must hold for all z ∈ IRn and u ∈ IR, we obtain
∂p(z)
Âz − Ap(z) = 0,
∂z (3.123)
∂p(z)
b̂ − b = 0
∂z
from the previous equation. Our approach to solving this partial differential
equation utilizes the linear transformation (3.88), i. e.
x = T z = p(z) (3.124)
with the n × n matrix T which was previously used in Section 3.3.1. Inserting
this transformation into equation (3.123) yields
∂T z
Âz − AT z = 0 ⇔ T Â − AT = 0, (3.125)
∂z
∂T z
b̂ − b = 0 ⇔ T b̂ − b = 0.
∂z
We note that, according to Theorem 55, the Jacobian matrix
∂p(z)
=T
∂z
must be regular. The known result from linear systems theory follows as
 = T −1 AT , (3.126)
b̂ = T −1 b.
3.3. Nonlinear State Transformations 275
From equation (3.126) we can conclude that the matrix  of the desired
system (3.122) must possess the same eigenvalues as the system matrix A. If
this is not the case, no diffeomorphism (3.124) exists to transform the system
(3.121) into the form of equation (3.122).
It remains to be determined how the matrix T can be computed from A
and Â, or, more precisely, from equation (3.125),
T Â − AT = 0. (3.127)
First, note that the matrix T is regular if and only if A and  can be
transformed to the same Jordan canonical form J [258], meaning that the
matrices A and  must have the same eigenvalues with the same associated
algebraic and geometric multiplicities[1] . The matrices V and V̂ transform
the matrices A and  into the Jordan canonical form J according to
V −1 AV = J ,
−1
V̂ ÂV̂ = J .
where K is a block diagonal matrix. Let the matrices A and  possess the
eigenvalues λ1 , . . . , λk . Each eigenvalue λi is of algebraic multiplicity ri , and
of geometric multiplicity si . Then the associated Jordan canonical form [155]
is consistent with the block diagonal matrix
J 1,1 · · · 0 0 · · · 0 · · · 0 · · · 0
. . . . . . . .. . . .
. ..
. .. .. . . .. . ..
. . .
0 · · ·J 1,s1 0 · · · 0 · · · 0 · · · 0
0 ··· 0 J ··· 0 ··· 0 ··· 0 λi 1 0 · · · 0 0
2,1 0 λi 1 · · · 0 0
. .
. . . .. .. . . . .. . . . .. . . . ..
J = . . . . . . , where J i,j = .. .. .. . . .. .. ,
. . . . . .
0 · · · 0 0 · · ·J 2,s2 · · · 0 · · · 0 0 0 0 · · · λi 1
. .
. . . .. .. . . . .. . . . .. . . . ..
. . . . . . 0 0 0 · · · 0 λi
0 · · · 0 0 · · · 0 · · ·J k,1 · · · 0
. .. .. . . .. . . .. . . ..
. ..
. . . . . . . . . .
0 · · · 0 0 · · · 0 · · · 0 · · ·J k,sk
and where the matrices J i,j are pij × pij matrices. It holds that
[1]
The algebraic multiplicity ri of an eigenvalue λi of matrix X determines the
number of linear factors (s − λi ) of the characteristic polynomial of X. The
number of linearly independent eigenvectors of an eigenvalue λi corresponds to
its geometric multiplicity si .
276 Chapter 3. Controllability and Flatness
The submatrices K i,j are upper pij × pij triangular Toeplitz matrices with
pij arbitrary parameters kl (i, j), where l = 1, . . . , pij . Because of the freely
selectable parameters, the solution (3.128) is not unique. Hence, an infinite
number of transformations exist which transform the system ẋ = Ax + bu
into a form consistent with ż = Âz + b̂u.
Where A and  possess exactly n different eigenvalues, the Jordan canon-
ical form is diagonal. This means the matrix K is a diagonal matrix and the
solution (3.128) of the conditional equation (3.127) can be easily determined
from T . In this case, the matrices V and V̂ are made up of the eigenvectors
of the matrices A and Â.
Based on this example of a linear system, it seems plausible that for non-
linear systems as well, the choice of the transformed system, i. e. the system
ż = fˆ(z, u) into which we wish to transform the original system ẋ = f (x, u),
is severely limited. (In the linear case described above, this limitation is due
to the requirement of identical eigenvalues and  and A having an identi-
cal Jordan canonical form.) Consequently, a diffeomorphism does not exist
for any choice of ż = fˆ(z, u); and, even if it did exist, determining it could
become very involved.
3.4. Exercises 277
3.4 Exercises
Determine the overall model with [xT v T ]T as the state vector resulting
from the model from (a) above and equation (3.129). Examine whether
x2
v1
v2
x3 , v3
x1
Fig. 3.24: State and input variables of the service ship model
278 Chapter 3. Controllability and Flatness
i
O2
H2
Anode Cathode
H2 O
(a) Identify the diffeomorphism which transforms the system into the nonlin-
ear controller canonical form.
(b) Identify the vector b(z) of the transformed system ż = a(z) + b(z)u, i.e.
of the nonlinear controller canonical form for the case in question.
(c) Is the system always controllable?
Exercise 3.7 Let us consider the linear system
01 0
ẋ = x+ u.
−1 0 1
280 Chapter 3. Controllability and Flatness
(a) Identify a flat output and the corresponding flat system representation.
(b) Determine the input signal u(t) of a feedforward control for the system
such that y = 1 − e−t − te−t applies.
Exercise 3.8 Determine a flat output and the flat system description for the
following systems:
(a) the satellite model (1.8) on p. 8 in Section 1.1.4,
(b) the robot model (3.22) on p. 224 in Section 3.1.5, and
(c) the robot model (3.32) on p. 234 in Section 3.1.7.
Exercise 3.9 Let us examine the separately excited direct-current motor
(2.119) on p. 183 in Section 2.4.11. We will assume that the load torque ML
is constant. In this case the motor has only the two input variables ur and us .
(a) Identify a flat output.
(b) Determine the flat system representation.
Exercise 3.10 Let us examine an active suspension system of the type used
in automobiles, among other applications. Because the suspension and shock-
absorbing components of an automobile’s wheels have an identical construc-
tion, it is sufficient to view the suspension mechanism of only one wheel, as
shown in Figure 3.26. Its state-space model is given by
ẋ1 = x2 ,
1 1
ẋ2 = − [Fs (x1 , x3 ) + Fd (x2 , x4 )] + u,
mc mc
ẋ3 = x4 ,
ct 1 1 ct
ẋ4 = − x3 + [Fs (x1 , x3 ) + Fd (x2 , x4 )] − u+ xd
ms ms ms ms
with the spring and damping forces as follows:
Here x1 and x3 are the spring travels and x2 and x4 are the corresponding
speeds. In addition, mc is one-fourth of the mass of the automobile without
the mass of the mounting rod and wheel; ms is the mass of the mounting rod
including the wheel; cs , cnls , and ct are the spring constants; and d and dnl
are the damping coefficients. An additional force u introduced into the system
serves as the control variable. Assume that the unevenness of the road, which
is represented by xd , is measured by a radar sensor, and xd is therefore known.
(a) Demonstrate that y = mc x1 + ms x3 is a flat output and give the flat
system description.
(b) Is the system controllable and if so, why?
(c) Now introduce the flat output and its derivatives as the new coordinates
z T = y ẏ ÿ ˙˙˙
y .
3.4. Exercises 281
x1
mc
Fs Fd
d cs x3
u
ms
xd
ct
Formulate z = t(x) and calculate ż = ṫ(x). Here, replace x with the new
coordinates z. Which system representation ż = f (z) results, and what
is it called?
Exercise 3.11 Determine the inverse function of
x1
e cos(x2 )
z = q(x) = x1 .
e sin(x2 )
ẋ = x − x2
ẋ1 = sin(x2 ),
ẋ2 = −x1 + u.
282 Chapter 3. Controllability and Flatness
x2 x3
x2
P P
z1
z1
z2
z2
z3
x1
x1
R
Exercise 3.15 Let us examine the system (1.11) on p. 15 from Section 1.1.6.
(a) Transform the system (1.11) into polar coordinates using
x1 = z1 cos(z2 ),
x2 = z1 sin(z2 ).
(b) Using the system description in polar coordinates, describe the system’s
equilibrium points and trajectories.
Exercise 3.16 Let us consider the differential equation
1
ẋ = . (3.130)
x
from Section 3.3.2, p. 264 et seq., once again.
(a) Transform the differential equation (3.130) using z = sgn(x)x2 . What is
the result?
(b) Determine the differential equation’s solution.
(c) Compare the approach here with that of Section 3.3.2 on p. 264. What is
your finding?
(d) What type is the differential equation (3.130)?
4
Nonlinear Control of Linear Systems
Every real actuator of a control loop has a limitation in terms of the control
variable u because its maximum control power is finite. Consequently, every
real technical system possesses input constraints. This is illustrated in Fig-
ure 4.1, which shows a control loop with a plant G(s), a controller K(s), and
a limiting element. In this case, the complete control element consists of the
controller and the limiting element. The limitation of the control variable is
described by the saturation characteristic
umax , uc > umax ,
u = sat(uc ) = uc , umin ≤ uc ≤ umax ,
umin , uc < umin.
y ref e uc umax u y
K(s) G(s)
umin
Fig. 4.1: Control loop with a linear plant, a linear controller K(s), and a limitation
of the control variable uc
holds.
If the control variable uc exceeds the limitations, the control loop is no
longer linear. In many cases, this is disadvantageous to its stability and control
behavior. We will examine this below.
As an important case in practice, we will consider the general structure of
a PID controller,
1 KI KP
K(s) = K P 1 + + T D s = K PD (s) + , KI = ,
T Is s TI
in the control loop of Figure 4.1. The first term on the right side of the above
equation, K PD (s), can represent a P, PD, or D controller. Where only an I
controller exists, K PD (s) is not present.
Where u = uc , i. e. in the non-saturated case, the control loop is obviously
linear. In the saturated case, on the other hand,
u = umax or u = umin
K PD (s)
Interruption
u = umax
y ref e umax y
KI
G(s)
s umin
uc ≥ umax
variable uc lies within the saturation limits. At this point, a feedback control
becomes possible again.
The windup behavior negatively affects the control behavior and it can
lead to increased overshooting or even to instability. In simplified form, the
situation can be interpreted as follows: if the control variable is in saturation
such that the control loop is interrupted, the integration part of the controller
is an unstable element of the open loop. Obviously, this is not a desirable
situation.
K PD (s)
e uc umax u
KI
s umin
v
umin m
umax
Anti-windup element
K PD (s)
e KI uc umax u
s umin
Anti-windup element
As an example, we will take the direct-current motor from Figure 4.5, which
acts as a servomotor that adjusts a rotation angle ϕload . In such servomotors,
anti-windup systems are often used in the controller.
For the armature voltage u, we obtain the equation
u = Ri + Li̇ + k1 ω (4.1)
with the armature current i and the voltage k1 ω induced in the armature
winding. Here, R is the resistance, L is the inductance, ϕ is the rotation
4.1. Control with Anti-Windup 289
i
Gearbox Load
R L
ω, ϕ
u k1 ω M ϕload
angle, and ω = ϕ̇ the armature’s angular velocity. The generated torque can
be computed from
M = k2 i
which is equal to
M = J ω̇ + k3 ω,
where k3 ω is the friction term proportional to the velocity. It follows that
k2 i = J ω̇ + k3 ω. (4.2)
With the armature’s inertia moment J a , and the load’s inertia moment J load ,
which is converted via the gearbox with the transmission ratio r into the
inertia moment belonging to the armature shaft, we obtain the total inertia
moment
1
J = J a + 2 J load .
r
The values k1 , k2 , and k3 are motor parameters.
From equations (4.1) and (4.2), along with the Laplace transformed vari-
ables U (s), I(s), Φ(s) of u, i, ϕ, we calculate
U (s) = RI(s) + LI(s) · s + k1 Φ(s) · s,
J k3
I(s) = Φ(s) · s2 + Φ(s) · s
k2 k2
if all initial values are identical to zero. Combining the last two equations
yields the transfer function
Φ(s) 1
= .
U (s) LJ 2 RJ Lk3 Rk3
s s + + s+ + k1
k2 k2 k2 k2
If we also take into account that ϕ = rϕload , it follows that
k2
Φload (s)
G(s) = = rLJ .
U (s) 2 R k3 Rk3 k1 k2
s s + + s+ +
L J LJ LJ
290 Chapter 4. Nonlinear Control of Linear Systems
20
Linear
15 Without anti-windup element
ϕload in rad
0
0 1 2 3 4 5 6 7 8 9 10
100
50
u in V
-50
-100
0 1 2 3 4 5 6 7 8 9 10
Time t in s
Fig. 4.6: Rotation angle ϕload and armature voltage u in the linear case, the case
with an anti-windup element, and the case without an anti-windup element, in which
the controller is in saturation
4.1. Control with Anti-Windup 291
effect of the windup of the I controller, i. e. the oscillation of the angle ϕload ,
is obvious. The positive effect of the anti-windup element, which removes
the oscillation occurring due to the unnecessary windup of the integrator, is
equally evident.
Not all controllers are PID controllers. So the question arises which anti-
windup procedures could be used for a more general controller
If the controller transfer function H(s) has unstable poles or poles with a
real part equal to zero, windup of the controller states and thus the controller
output uc occurs for limited control variables. Figure 4.7 shows the structure of
this more general control loop. For such controllers H(s), various anti-windup
methods exist [103, 142, 153, 222, 239, 424, 443, 444, 457, 489].
A very plausible anti-windup structure for general cases is obtained if we
take a small detour, as we will discuss in the next few pages. While doing
so, we will not only obtain a general anti-windup method for arbitrary linear
controllers but a simple method for handling saturated control variables of
state-space control loops with an observer as well [185].
Now we will examine a state-control loop with an observer, also known
as a control observer , as shown in Figure 4.8. The limitation of the control
variable is part of the plant and the pre-filter Gpf acts as compensation for
the steady-state error. In the linear operation mode, meaning
the estimated state vector x̃ corresponds to the plant’s state vector x after
a certain settling time. Note that if the condition (4.3) for uc is not fulfilled,
the control loop is nonlinear.
Below we will first address the linear case. The linear state-control loop
with an observer has 2n eigenvalues. As we know from the theory of linear
observers and from the separation principle [98], these are the n eigenvalues
of the plant which is controlled by
y ref e uc umax u y
H(s) G(s)
umin
Fig. 4.7: Control loop with a saturation characteristic curve and an arbitrary linear
controller H(s)
292 Chapter 4. Nonlinear Control of Linear Systems
Plant
y ref uc ẋ = Ax + bu y
Gpf
y = cT x
Observer
kT
x̃
u = −kT x,
 = A − bkT,
F = A − lcT.
Plant
y ref uc u ẋ = Ax + bu y
Gpf
y = cT x
Observer
uk x̃˙ = Ax̃ + bu
+ l(y − cT x̃)
kT
x̃
Fig. 4.9: Control loop with an additional saturation characteristic curve to avoid the
negative effects of the control variable limitation
structure shown in Figure 4.9 also provides good control performance in many
cases if the control loop is temporarily operated in saturation. This particu-
larly holds for stable plants.
To find the anti-windup structure for the control loop in Figure 4.7 which
we are attempting to identify, in the first step we will describe the observer’s
behavior
x̃˙ = A − lcT x̃ + bu + ly = F x̃ + bu + ly
using transfer functions. Utilizing the Laplace transformed variables X̃(s),
U (s), and Y (s), we obtain
Assuming
x̃(0) = 0,
it follows that
U k (s) = kT X̃(s),
we obtain
−1 −1
U k (s) =kT (sI − F ) b · U (s) + kT (sI − F ) l · Y (s).
Anti-windup
element Plant
y ref uc u y
Gpf (s) G(s)= cT(sI−A)−1b
uk
N1 (s)
H1 (s)=
∆(s)
N2 (s)
H2 (s)=
∆(s)
Fig. 4.10: State-control loop with a controller and an observer, represented by trans-
fer functions and anti-windup element
U k (s) −1 N1 (s)
H1 (s) = = kT (sI − F ) b =
U (s) ∆(s)
and
U k (s) −1 N2 (s)
H2 (s) = = kT (sI − F ) l = ,
Y (s) ∆(s)
∆(s) = det(sI − F ).
N (s) N c (s)
G(s) = and H(s) = ,
D(s) Dc (s)
respectively, seeking its anti-windup element. This control loop, which is
shown in Figures 4.7 and 4.11, has the transfer function
N c (s)N (s)
Gloop (s) =
Dc (s)D(s) + N c (s)N (s)
for the linear, i. e. the unsaturated case. The control loop from Figure 4.11 can
be rearranged so that it is consistent with the structure shown in Figure 4.12.
At this point, the polynomial ∆(s) is inserted in addition. This means that the
structure of Figure 4.12, except for the anti-windup element, complies with
that of the state-control loop with an observer, as shown in Figure 4.10. The
anti-windup element can now be integrated into the control loop, as shown in
Figure 4.12. Figure 4.13 depicts the resulting control loop.
In this way, after the process we went through to avoid saturation effects for
the state controller with an observer, we have obtained an anti-windup element
for the nonlinear standard control loop with an arbitrary linear controller
H(s). This control-loop structure, which is shown in Figure 4.13, thus provides
a solution to the anti-windup problem of the nonlinear standard control loop
from Figures 4.7 and 4.11.
The question of choosing the polynomial ∆(s) which we posed in the previous
section still remains to be answered. In resolving this issue, we realize once
again that the following three control-loop structures are identical for the
linear case:
(1) the state controller with an observer and anti-windup element from Fig-
ure 4.9,
(2) the standard control loop from Figure 4.11,
(3) the standard control loop with an anti-windup element from Figure 4.13.
For the characteristic polynomial of the control loop with an observer, we
have already established that
δ(s) · ∆(s) = det(sI − Â) det (sI − F ) . (4.4)
The characteristic polynomial of the standard control loop from Figure 4.11
and that of the control loop shown in Figure 4.13 are the same and can be
stated as
P (s) = Dc (s)D(s) + N c (s)N (s). (4.5)
For the control-loop structures from Figure 4.10 and Figure 4.13 to be
identical, their characteristic polynomials (4.4) and (4.5) must be identical as
well. Therefore, the equation
PSfrag
296 Chapter 4. Nonlinear Control of Linear Systems
Plant
y ref e N c (s) uc N (s) y
H(s) = G(s) =
Dc (s) D(s)
Fig. 4.11: Control loop with a control variable limitation and a general linear con-
troller H(s)
Plant
y ref N c (s) uc N (s) y
G(s) =
∆(s) D(s)
Dc (s)−∆(s)
∆(s)
N c (s)
∆(s)
Fig. 4.12: Control-loop structure equivalent to the structure shown in Figure 4.11
Anti-windup
element Plant
y ref N c (s) uc u N (s) y
G(s) =
∆(s) D(s)
Dc (s)−∆(s)
∆(s)
N c (s)
∆(s)
Fig. 4.13: Control loop with saturation, a general controller, and an anti-windup
element
4.1. Control with Anti-Windup 297
has to hold. All roots of the polynomial ∆(s) being sought must therefore be
roots of the characteristic polynomial P (s) of the standard control loop shown
in Figure 4.11. Note that the order of P (s) is n + k, where n is the order of
the plant and k is the order of the controller. The polynomial δ(s) is of degree
n and the polynomial ∆(s) is of degree k.
Where n = k, ∆(s) represents the characteristic polynomial of a full-state
observer for all states xi of the plant. Where k < n, the polynomial ∆(s) has
fewer than n roots and represents the characteristic polynomial of a reduced-
order observer. The case in which k < n is the usual case, since the controller
H(s) has the same order n as the plant in special cases only.
Note that the state-control loop with an observer does not have to be
designed in order to determine the desired characteristic polynomial ∆(s). The
equivalence between the state-control loop with an observer and the standard
control loop only serves to explain how the anti-windup is designed.
The results are summarized in the following theorem.
Theorem 56 (General Anti-Windup Structure). Let the standard con-
trol loop shown below
consist of the controller N c (s)/Dc (s) of order k and the plant N (s)/D(s) of
order n. The control loop shown below
Dc (s)−∆(s)
∆(s)
N c (s)
∆(s)
displays the same linear control behavior as the standard control loop, and has
an anti-windup element in addition. The k roots of the polynomial ∆(s) are
chosen such that they correspond to k roots of the control loop’s characteristic
polynomial
P (s) = Dc (s)D(s) + N c (s)N (s).
298 Chapter 4. Nonlinear Control of Linear Systems
When applying the above theorem, the k roots of the polynomial ∆(s) can
be freely specified, as long as each one corresponds to one of the n + k zeros
of the polynomial P (s). A suitable strategy is to choose them in a way that
yields good control behavior. Unfortunately, no rule exists for choosing them.
Instead, we are dependent on trial and error based on simulations to verify
the behavior.
In infrequent specific cases, the choice of the k zeros of ∆(s) may be diffi-
cult. This is the case when the polynomial P (s) has only complex conjugate
roots and the degree k of the polynomial ∆(s) is odd. Obviously, ∆(s) then
possesses a real root. A real root, however, does not exist in the set of complex
roots of P (s). This problem is solved by choosing the complex conjugate pair
of roots of P (s) with the largest damping coefficient d. Associated with this
pair is the polynomial
s2 + 2dω0 s + ω02 .
We approximate this polynomial via
(s + ω0 )2
and choose ω0 as a real zero of ∆(s). The remaining k − 1 roots of the poly-
nomial ∆(s), whose number is even, are chosen in a way consistent with the
rule given in Theorem 56 from the set of complex conjugate roots of the
characteristic polynomial P (s).
4.1.6 Stability
y ref (t) = 0,
as shown in Figure 4.14. In this case, the transfer function G̃(s) subsumes the
e umax u y
G̃(s)
umin
controller and plant transfer functions. Once represented in the form of the
nonlinear standard control loop, the circle criterion, among other methods,
can be used for stability analysis.
4.2. Time-Optimal Control 299
limitation (4.8), such that the performance index (4.7) is minimized for a given
initial displacement x0 . Closely related to this problem is that of determining
the time-optimal feedback control law u(x).
The above problems can be solved using Pontryagin’s maximum principle
[186, 237, 286, 453]. In general, the time-optimal feedback controls u(x) are
very difficult to determine and extremely complex to implement. That is the
reason why time-optimal feedback controllers in industrial practice, with few
exceptions [269, 353, 471], are found infrequently. Time-optimal feedforward
controllers u(t), on the other hand, are often easier to derive and implement.
They are used in various applications, such as [25, 35, 59, 79, 86, 136, 476].
We will not discuss the maximum principle, since most of the practically rele-
vant cases, particularly time-optimal feedforward controllers, can be computed
without it.
The course of the control variable u(t) of a time-optimal control is a very
simple one, since u(t) merely jumps from −umax to umax and vice versa, as
depicted in Figure 4.15. In this way, a series of switching operations between
−umax and umax is performed. The difficulty in designing a time-optimal con-
trol is the determination of the switching times
t1 , t2 , t3 , . . . , t e
for a feedforward control, and the determination of the feedback control law
u(x) for a feedback control. The feedback control law u(x) depends on the
state vector x, unlike the feedforward control sequence u(t) which is only a
function of time.
However, an important special case exists for which the switching times
are relatively easy to determine. These are plants which possess only real
eigenvalues. Without applying the maximum principle, time-optimal control
functions u(t) can then be deduced [112, 113, 114] using
ẋ = Ax + bu
of order n has only real eigenvalues, the course of the time-optimal control
function u(t) consists of a maximum of n switching intervals, for which u(t)
alternates between −umax and umax .
As illustrated in Figure 4.15 for a fourth-order system with only real eigen-
values, switching between −umax and umax occurs a maximum of three times,
i. e. we have four switching intervals. For a system with complex conjugate
eigenvalues, the number of switching intervals can be greater than n.
Note that the time-optimal control sequence does not exist for all x ∈ IRn
where plants are unstable. This is because, for limited control variables u,
not all initial states x(0) can be brought to the equilibrium point xeq = 0.
The limited control power is not sufficient in this case. On the other hand,
4.2. Time-Optimal Control 301
u
umax
t0 = 0 t1 t2 t3 te = t4
0 t
−umax
Fig. 4.15: Time course of the control variable of a time-optimal feedforward or feed-
back controller
for controllable plants which do not have any eigenvalues with positive real
parts, time-optimal feedforward control sequences u(t) and feedback control
laws u(x) exist for all x ∈ IRn .
For systems with only real eigenvalues, the switching times ti can be deter-
mined as follows. For a linear system’s differential equation
ẋ = Ax + bu,
the solution
Zt
x(t) = eAt x0 + eA(t−τ ) bu(τ ) dτ (4.9)
0
is well-known. In the first switching interval, the sign of the trajectory of u(t)
equals
α=1 or α = −1.
Thus,
n Zti
X
x(te = tn ) = e Atn
x0 + e A(tn −τ ) b(−1)i−1 α · umax dτ
i=1 t
i−1
the equation
n Zti
X
0 = eAtn x0 + α · umax eA(tn −τ ) b(−1)i−1 dτ. (4.10)
i=1 t
i−1
n
X Zti
i−1
x0 = −α · umax (−1) e−Aτ b dτ. (4.11)
i=1 ti−1
| {z }
w(ti ) − w(ti−1 )
1 1 x0
w(t1 ) − w(t2 ) + w(t3 ) − . . . + (−1)n−1 w(tn ) = w(0) − (4.12)
2 2 2αumax
u u
umax umax
α=1
t α = −1 t
−umax −umax
Fig. 4.16: The first switching interval of a time-optimal control sequence begins with
umax or −umax .
4.2. Time-Optimal Control 303
As a classic example [213], we will consider the plant 1/s2 . It occurs in sit-
uations such as when a mass is accelerated. The corresponding state-space
representation is
0 1 0
ẋ = x+ u,
0 0 1
and we will assume that the control variable is symmetrically limited by
−umax ≤ u ≤ umax .
First, using the inverse Laplace transformation L−1 the state-transition ma-
trix
( −1 )
−At −1
−1 −1 s 1 1 −t
e =L (sI + A) =L =
0 s 0 1
u x2 x1
1 1
s s
must hold. Our first task is to determine which values x10 and x20 lead to a
value t1 ≥ 0 if α = 1 holds. In this case, equation (4.17) multiplied by umax
is of the form
r
1 2
−x20 ± x − umax x10 ≥ 0. (4.18)
2 20
A requirement is that the term in the root is positive or equal to zero, i. e.
1
x10 ≤ x2 (4.19)
2umax 20
must hold. Furthermore, we need only consider cases in which the sign in
front of the root in equation (4.18) is positive, since the associated solution
set also contains all solutions which result from a negative sign. As a further
condition, we therefore obtain
r
1 2
x20 ≤ x − umax x10 . (4.20)
2 20
4.2. Time-Optimal Control 305
Two cases must be distinguished for this inequality. We will start with the
case x20 ≤ 0. In this case, equation (4.20) is obviously always fulfilled as long
as equation (4.19) holds. In the other case, x20 > 0 holds. We now square
both sides and obtain
1
x220 ≤ x220 − umax x10 for x20 > 0
2
or rather
1
x10 ≤ − x2 for x20 > 0. (4.21)
2umax 20
The set of initial values
T
x0 = x10 x20
for which equation (4.15) is solvable with α = 1 is thus given by the inequal-
ities (4.19) for x20 ≤ 0 and (4.21). It is bounded by branches of the two
parabolas defined by the equal sign in these inequalities. Figure 4.18 illus-
trates this region in blue. For α = −1, a similar analysis leads to the result
that u = −umax holds for the region above the branches of the parabolas, i. e.
the white area in Figure 4.18.
In summary, the regions of the state space for which α = 1 or α = −1
holds, meaning u = umax or u = −umax also holds, are separated by
x220
2u , x20 ≤ 0,
max
x10 = 2
− x20 , x20 > 0.
2umax
x10
−umax ,
α = −1
umax , x20
α=1
x2|x2 |
S(x2 ) = −
2umax
Fig. 4.18: The phase plane is separated into two halves by the switching curve
x1 = S(x2 ), which is shown in blue.
306 Chapter 4. Nonlinear Control of Linear Systems
x2 |x2 |
S(x2 ) = x1 = − .
2umax
Below the switching curve S(x2 ), u = umax holds, whereas above it u = −umax
holds.
It should be noticed that the minus sign in front of the roots in equa-
tions (4.15) and (4.16) can be omitted, as this leads to negative or irrelevant
switching times. With the results above, the switching times ti are computed
as
s 2
x20 1 x20 x10
t1 = − + − ,
αumax 2 umax αumax
s 2
x20 1 x20 x10
t2 = − +2 −
αumax 2 umax αumax
with
(
1, x10 < S(x20 ) or x10 = S(x20 ) > 0,
α=
−1, x10 > S(x20 ) or x10 = S(x20 ) < 0.
The time-optimal control law of the plant 1/s2 can eventually be represented
as
x2 |x2 |
u = umax · sgn − − x1 . (4.22)
2umax
The control law (4.22) provides the value u = 0 on the switching curve,
i. e. for x1 = S(x2 ). To be correct, in this case, u = −umax for x1 < 0 and
u = umax for x1 > 0 should hold. In practice, however, this is irrelevant since
4.2. Time-Optimal Control 307
x20 x10
umax u 1 x2 1 x1
-umax s s
S(x2 )
the trajectory can never run precisely along the switching curve due to noise.
The corresponding controller is shown in Figure 4.19.
The control law above and further time-optimal control laws for second-
order plants with real eigenvalues can be relatively easily derived by calcu-
lating all trajectories generated by u = umax and u = −umax in the phase
plane. Parts of these trajectories obviously form the set of all trajectories of
the time-optimally controlled system. In particular, the switching curve S is
identical to the parts of the two trajectories which pass through the origin
x = 0 for u = umax or u = −umax , respectively. Therefore, to derive the time-
optimal control law, it is sufficient to compute these two kinds of trajectories
and to formulate the switching curve S from parts of these trajectories based
on geometrical considerations in the phase plane.
In the following, we will address second- and third-order systems with the
control variable limitation
|u| ≤ umax
and their associated time-optimal control laws. First, let us turn to plants
0 1 0
ẋ = x+ u, (4.23)
0 −a 1
which have one eigenvalue at zero and one eigenvalue at λ = −a < 0. Note
that all controllable plants with the above eigenvalue configuration can be
transformed into a form consistent with (4.23), i. e. the controller canonical
form.
The time-optimal feedback control law is obtained as
u = umax sgn(S(x2 ) − x1 )
rag
308 Chapter 4. Nonlinear Control of Linear Systems
x20 x10
umax u 1 x2 1 x1
-umax s+a s
S(x2 )
Fig. 4.20: Time-optimal feedback control system for the plant 1/(s(s + a))
u = umax sgn(S(x2 ) − x1 )
with
" λ1 /λ2 #
|x2 |
S(x2 ) = umax sgn(x2 ) 1+ −1 .
umax
The time-optimal control law can also be computed for third-order systems
with two eigenvalues at zero and a negative eigenvalue λ = −a if they are
stated in controller canonical form, or can be transformed into this form [24].
However, here it is useful to transform the controller canonical form
0 1 0 0
x̃˙ = 0 0 1 x̃ + 0 u
0 0 −a 1
by means of
4.2. Time-Optimal Control 309
1 0 1
1
x̃ = 3 0 a −a x
a
0 0 a2
with
h √ i
S(x1 , x2 ) = umax d ec · (2 − e b ) − 1 ,
x2 |x2 |
d = sgn x1 + x2 + ,
2umax
x2 d
b = 22 + (x1 + x2 ),
2umax umax
d · x2 √
c= + b.
umax
If the plant was originally not in one of the corresponding state-space
representations (4.23), (4.24), or (4.25) but was transformed into such a form,
the corresponding control law must be transformed back to the plant’s original
coordinates. The following section shows an example.
The time-optimal feedback control laws for some third-order systems can
be found in [141, 395] and for certain fourth-order systems in [396]. In gen-
eral, for higher-order plants no closed-form expressions for the control law
can be derived. However, for such stable plants with exclusively real eigenval-
ues, a control law is obtained for which a transcendental nonlinear system of
equations must be solved to determine u [24]. In practice, apart from a few
exceptions with a low system order [24, 336, 399, 414, 474], the calculation and
implementation of a time-optimal feedback control law are no longer possible
for systems with complex conjugate eigenvalues.
Submarines can dive both dynamically and statically. For dynamic diving,
the depth rudder is adjusted during travel such that a downward force is gen-
erated. This allows the submarine to dive into deeper waters, even though
it is not heavier than the water it displaces. On the other hand, for static
diving, ocean water is inserted into ballast tanks so that the submarine be-
comes heavier and sinks. When the submarine rises, the water is expelled with
310 Chapter 4. Nonlinear Control of Linear Systems
h, g
Ballast tank
compressed air from the tanks shown in Figure 4.21. In the following, we will
design a time-optimal depth control for static diving.
We assume that the submarine is balanced such that it floats in a certain
depth h and has an associated mass m. Starting from the ocean surface, the
depth h is measured by means of the water pressure. If additional water of
mass ∆m is inserted into or ejected from the ballast tank, a vertical force
F = g · ∆m
˙˙˙ a·g
h + aḧ = · ∆mref .
m
In the next calculation, we use
g
ũ = · ∆mref
m
as the control variable for the depth controller, which is the primary controller
and is yet to be designed. For the state vector, we choose
h
x̃ = ḣ.
ḧ
The parameters a = 0.005 and m = 1962 t, as well as the units of the vari-
ables, are chosen so as to model a Swedish submarine by the manufacturer
Kockumation AB [166]; we then obtain
0 1 0 0
x̃˙ = 0 0 1 x̃ + 0 ũ
0 0 −0.005 0.005
with the diving depth as the output variable y = x̃1 . Furthermore, we set
ũmax = 0.005 to be consistent with [166].
To obtain the time-optimal control law (4.26) as the depth control, we
transform the control variable ũ via ũ = 200u, and thus obtain the system
description
0 1 0 0
˙
x̃ = 0 0
1 x̃ + 0 u,
(4.29)
0 0 −0.005 1
y = x̃1
We can now apply the control law (4.26) for the plant (4.29). However, we
need to use the transformed state variable vector x in equation (4.26), i. e.
−1 3
1 0 1 a 0 −a
x = a3 0 a −a · x̃ = 0 a2 a · x̃,
0 0 a2 0 0 a
as the time-optimal control law for the submarine at the original coordinates
x̃, where
h √ i
S̃(x̃1 , x̃2 , x̃3 ) = umax d ec · (2 − e b ) − 1
with
(ax̃2 + x̃3 )|ax̃2 + x̃3 |
d = sgn ax̃1 + x̃2 + ,
2umax
a2 (ax̃2 + x̃3 )2 da2 (ax̃1 + x̃2 )
b= + ,
2u2max umax
ad(ax̃2 + x̃3 ) √
c= + b.
umax
Figure 4.22 shows the progressions of the depth x̃1 (t) and the control variable
ũ(t) which the time-optimal control generates.
Diving depth x̃1 in m
Linear controller
50 Time-optimal controller
100
0 200 400 600 800 1000 1200 1400 1600
0.005
Control variable ũ
-0.005
0 200 400 600 800 1000 1200 1400 1600
Time t in s
Fig. 4.22: Time courses of the diving depth x̃1 (t) = h(t) and the control variables
ũ(t) of the submarine’s linear (black) and time-optimal (blue) controllers
4.2. Time-Optimal Control 313
are also shown. This controller was designed to adhere to the control variable
limitation while exhibiting a short settling time and no overshooting. The
substantially shorter settling time of the time-optimal controller is evident.
However, its disadvantages are the discontinuous course of the control variable
and its high amplitude, which leads to increased energy consumption.
For the second-order and third-order plants with real eigenvalues we are view-
ing, determining the time-optimal feedback control law u(x) is relatively sim-
ple. For higher-order plants, analytically identifying time-optimal feedback
control laws is no longer feasible. As mentioned previously, the design and
implementation become impossible or extremely complex. Time-optimal feed-
forward controllers, on the other hand, are usually determinable and can be
implemented in practice. In particular, their application is appropriate in sys-
tems which progress from one point x0 to a point xe again and again, i. e.
systems which repeatedly take the same trajectory, as shown in Figure 4.23.
To eliminate disturbances, a linear feedback controller can be used addition-
ally, as shown in Figure 4.24. This feedback controller corrects the feedforward
control, which is called a pilot control or pre-control in this context.
Experience has shown that existing algorithms for the calculation of the
switching times for time-optimal feedforward controllers [109, 158, 159] exhibit
numerical problems for higher-order plants with complex eigenvalues. In such
cases, time-optimal solutions often cannot be determined. A solution to this
problem is the calculation of the feedforward control sequence of discrete-
time systems. In this approach, the continuous-time system is transformed
into a discrete-time system. The time-optimal feedforward control sequences
for discrete-time linear systems can be relatively easily calculated using linear
x1
t1
t2 Time-optimal
x0 pilot control
y ref u y
t3 Controller Plant
t4 xe x2
Fig. 4.23: Time-optimal trajectory Fig. 4.24: Control loop with time-optimal
with switching times t1 ,. . . ,t4 pilot control
314 Chapter 4. Nonlinear Control of Linear Systems
programming methods [33, 49, 74, 82, 227, 236, 295, 347, 409]. For this pur-
pose, the shorter the chosen sampling time, the better the step-optimal feed-
forward control sequence approximates the time-optimal feedforward control
function of the continuous-time system.
Comparing time-optimal controllers with linear controllers leads to the
following dilemma: time-optimal controllers have a short settling time, but
they are in general difficult or even impossible to design and implement. In
comparison, linear controllers are slow but simple to design and implement.
Evidently, it is impossible to achieve both very good regulation by the con-
troller and simplicity of design and implementation. However, this dilemma
can be resolved, because a trade-off exists between these two extremes. This is
the subject of the following section, which addresses variable structure control
systems.
Controller 1
x
ẋ = Ax+bu
Controller 2
..
.
Controller l
Selection
strategy
k1
e
u 1 y
s2 +a1 s+a0
k2
x2
k1
k2 x1 x
Switching strategy
Fig. 4.26: Control loop that switches between two P controllers with gains k1 and
k2
switch from one region into the other and continue their course there. This is
illustrated in the graph on the left of Figure 4.27.
In the second case, the trajectories x(t) tend to the switching curve s(x)
from both sides, as shown in the upper left quadrant of the right-hand graph
in Figure 4.27. Once it has reached the switching curve, the trajectory repeat-
edly switches from one side to the other. While maintaining this continuous
switching behavior, it eventually reaches the equilibrium point. This repeated
switching, which we already discussed in Section 1.1.11, is termed sliding
mode. Sliding mode controllers make up a special class of variable structure
316 Chapter 4. Nonlinear Control of Linear Systems
x2 x2
k1
k1
s s
x1 x1
k2
k2
Fig. 4.27: Different trajectories for switching controllers: on the left without and on
the right with a sliding mode. The blue line represents the switching curve s(x) = 0.
controllers and are not addressed here, but will be discussed in detail in Sec-
tion 6.2.
In terms of their design complexity and control performance, variable
structure control loops without a sliding mode, which are the subject of this
section, lie between linear and time-optimal control loops. An example is given
in Figure 4.28 which shows typical step responses. The quality loss in the lin-
ear control loop compared to the time-optimal control loop is caused by the
insufficient utilization of the available control variable −umax ≤ u ≤ umax in
the linear case. This is illustrated in Figure 4.29. Because of the linearity, the
control variable u is correspondingly lower for small displacements x or con-
trol errors e than for large displacements. If, in contrast, we use high values
of the control variable in the case of low values of the control error e or small
displacements x, a more rapid compensation becomes possible.
The basic idea of switching or variable structure controllers without sliding
mode is to make better use of the controlled variable within the admissible
range −umax ≤ u ≤ umax than can be done using linear controllers. For this
purpose, several linear controllers are used. We switch between them by using
a selection strategy which normally depends on the system’s state vector x.
This is done in such a way that successively more effective controllers, i. e.
controllers making the control loop faster and faster, are used during the
control process. Figure 4.25 shows the corresponding control loop.
For variable structure controls, linear systems are mostly considered to be
controlled systems. The individual controllers can be either linear or nonlin-
ear. However, they are usually linear. In any case, because of the switching
operation, the resulting control loop is nonlinear.
The performance of a parameter or structure switching control is defined
by three factors: the number l of controllers, the controllers’ type and design,
and the switching strategy. Provided that the controllers and the selection
4.3. Variable Structure Control Without Sliding Mode 317
y Time-optimal u
umax
Linear
Linear
Variable structure t
Time-optimal
t −umax
Fig. 4.28: Comparison of the step re- Fig. 4.29: Typical control variable sig-
sponses of linear, variable structure, nals of linear and time-optimal con-
and time-optimal control systems trollers
Controller
u
u = k(x, p) ẋ = Ax + bu
ẋ = Ax + bu,
|u| ≤ umax ,
u = −kT1 x,
u = −kT2 x,
..
.
u = −kTl x,
becomes faster with the increasing index i, i. e. the settling time of the cor-
responding linear subcontrol loop decreases for increasing index values i. For
example, this can be achieved by calculating each ki as the parameter vector
of a linear-quadratic controller based on the performance integral
Z∞
1
J= pi xT P x + ru2 dt.
pi
0
Im
λ14
λ13
λ12
λ11
λ34 λ33 λ32 λ31
Re
λ21
λ22
λ23
λ24
further and further to the left in the negative half-plane for increasing values
i. Other eigenvalue progressions are also possible, as shown in Figure 4.31.
For each of the l control loops (4.30), we determine a catchment region
Gi = x ∈ IRn | xT Ri x < ci ,
u2max
ci = .
kTi R−1
i ki
Gl ⊂ Gl−1 ⊂ . . . ⊂ G2 ⊂ G1
320 Chapter 4. Nonlinear Control of Linear Systems
x2 x2
−kT2 x = umax
G1
|kiT x| < umax
G2
−kTi x < −umax kT1 x = umax
G3
G4
Gi G5
x1 x1
kT2 x = umax
Fig. 4.32: Catchment regions Gi and Fig. 4.33: A series of nested catchment
the control variable limitation regions Gi
xT R i x xT Ri+1 x
<
ci ci+1
or
T Ri+1 Ri
0<x − x
ci+1 ci
holds. The latter is fulfilled if the matrix
Ri+1 Ri
Si = − (4.31)
ci+1 ci
is positive definite. The nesting of all regions Gi therefore exists if all matrices
S i , for i = 1, . . . , l − 1, are positive definite. If the nesting condition is not
fulfilled for a specified set of controller vectors ki and catchment regions Gi ,
new vectors ki and regions Gi with greater distances between them are chosen
such that condition (4.31) holds for all i = 1, . . . , l − 1.
The control law is given by
u = −kTi x
4.3. Variable Structure Control Without Sliding Mode 321
with
1 if x ∈ G1 \G2 ,
2 if x ∈ G2 \G3 ,
. ..
i = .. .
l−1 if x ∈ Gl−1 \Gl ,
l if x ∈ Gl .
Here the set differences Gi \Gi+1 make up the zones between two regions Gi .
A controller ki is always active if the state vector x lies within the associated
ringlike zone Gi \Gi+1 . Since, for a progressing compensation, the trajectory
x(t) subsequently enters smaller regions Gi and faster controllers ki are acti-
vated, the compensation compared to a classical linear state controller such as
u = −kT1 x becomes increasingly rapid. Figure 4.33 illustrates this procedure.
In summary, the following design scheme results:
u = −kTi x, i = 1, . . . , l.
from
T
Âi Ri + Ri  = −Qi , i = 1, . . . , l
with an arbitrary positive definite matrix Qi .
Step 3: We verify whether the matrices
Ri+1 Ri
Si = −
ci+1 ci
Here, the position s of the trolley, its velocity ṡ, the container’s swing angle
ϕ, the angular velocity ϕ̇, and the force F with which the trolley is accelerated
make up the elements of the state vector
x = [s ṡ ϕ ϕ̇ F ]T .
The current of the trolley’s electric motor is the input variable u. For the
parameters of the crane, we use the abbreviations
α = mt + ml ,
β = ml (f − e),
4.3. Variable Structure Control Without Sliding Mode 323
γ = ml (f − e)2 + J,
b (d − b)d
δ = ml · g · e + f+ 2 f ,
d−b 4l − (d − b)2
s 2
bl 1 d−b
f= 1− .
d−b 4 l
Here mt is the mass of the trolley, ml is the mass of the container and its
mount, l is the rope length, b is the distances between the container’s rope
attachments, d is the distances between the trolley’s rope attachments, e is
the vertical distance of the container’s rope attachment to its center of gravity,
J is the container’s inertia moment, and g = 9.81m s−2 is the gravitational
324 Chapter 4. Nonlinear Control of Linear Systems
Trolley
d
g l
Next we will select ten state controllers with vectors ki for the design of
the switching controller consisting of these subcontrollers ki and the selection
strategy. Then we determine ten adequate catchment regions
Gi = x ∈ IR5 | xT Ri x < ci .
The largest of these regions, G1 , is specified such that it contains the initial
set X0 . The parameters of the subcontrollers ki and the matrices Ri can be
found in Appendix A.2. The eigenvalues of the subcontrol loops
ẋ = (A − bkTi )x
1 1
λ1i
0.5 0.5 λ1i
λ4i λ4i
Im
Im
0 0
λ3i
λ5i λ5i
-0.5 -0.5
λ2i
λ2i
-1 -1
Fig. 4.36: The left plot shows all eigenvalues of the ten subcontrol loops. The right
plot shows a detailed view of the area of interest on the left plot so as to better
display the values taken on by λ1i and λ2i as well as λ4i and λ5i .
326 Chapter 4. Nonlinear Control of Linear Systems
Position x1 in m
20
Linear feedback control
Time-optimal feedforward control
10 Switching feedback control
0
0 5 10 15 20 25 30 35
Angle x3 in degrees
10
-10
0 5 10 15 20 25 30 35
100
Force x5 in kN
-100
0 5 10 15 20 25 30 35
100
Current u in A
-100
0 5 10 15 20 25 30 35
Time t in s
Fig. 4.37: Time courses of the position x1 , the oscillation angle x3 , the driving force
x5 , and the control variable u, i. e. the motor current
The simulation illustrates that the regulation for the switching controller is
substantially more rapid than that of a good linear controller. The linear state-
feedback gain vector k1 , which is also the initial gain vector of the piecewise
linear controller, has been determined using parameter optimization such that,
on the one hand, the initial set X0 lies within G1 and, on the other hand, the
regulation progresses as rapidly as possible. A further improvement in the
settling time can be achieved by using more than ten controllers. However,
for an increasing number of controllers, the design complexity also increases.
Note that the improvement in the control variable utilization compared to the
linear controller comes at the cost of a higher control energy consumption.
4.4. Saturation Controllers 327
ẋ = Ax + bu
Figure 4.38 shows the structure of the resulting control loop. In the following,
it will become apparent that this simple nonlinear controller structure not only
ensures the stability of the control loop but can also achieve fast regulation
for certain plants.
Here a set X0 of possible initial displacements x(0) is given. All trajec-
tories beginning in X0 need to be stabilized so that they finally tend to the
equilibrium point xeq = 0. For unstable plants, this stabilization is not possi-
ble for every set X0 . The reason for this is the control variable limitation. If
umax is too low or X0 is too large, the available maximal control variable umax
does not suffice for large initial displacements x(0) to stabilize the trajectory
x(t) which starts at x(0).
In order to ensure stability, the set X0 is assumed to lie within an ellipsoid-
shaped catchment region
G = x ∈ IRn | xT R x < c ,
u
ẋ = Ax + bu
kT x
x
i. e. within a region which no trajectory of the control loop leaves. The matrix
R that defines this region will be determined in the course of the stability
analysis.
For the stability analysis, we will now transform the control law (4.34) so
that it takes on the form
with
sat(kT x) − hT x
p= . (4.36)
k T x − hT x
Here h is configured in such a way that the catchment region G is a subset of
the set
x ∈ Zk and x∈G
hold, i. e. the state x is in the dark blue shaded set shown in Figure 4.40.
Obviously, for such vectors x the inequalities
kT x − hT x
p= =1 (4.37)
kT x − hT x
from equation (4.36). The control law (4.35) is linear for these values of x, so
that
4.4. Saturation Controllers 329
x2 x2
kT x = umax
Zh Zk
hT x = umax
x1 G x1
T
−h x = umax G
−kT x = umax
Fig. 4.39: Region G, set Zh , and the Fig. 4.40: Region G, set Zk , and the
hyperplanes |hT x| = umax hyperplanes |kT x| = umax
u = −kT x
applies.
As the next vector x to be adjusted, we will select an arbitrary vector x
which lies within G but not within Zk . This set G\Zk is highlighted in light
blue in Figure 4.40. For the states x ∈ G\Zk , the inequality
follows. Using
this yields
for equation (4.36). We now multiply both the numerator and denominator
by sgn(kT x) and arrive at
for x ∈ G\Zk .
From this result, and with
we obtain
0≤p<1 (4.38)
for all x ∈ G\Zk . With equation (4.38) and equation (4.37), we finally obtain
0≤p≤1
for all x ∈ G.
To guarantee the stability of the control loop
h i
ẋ = Ax − b sat(kT x) = A − bhT − pb kT − hT x
V (x) = xT R x
holds for p = 1. Using the results above, we can now derive the following
stability theorem for the state control with saturation [191].
ẋ = Ax − b sat(kT x)
possesses the asymptotically stable equilibrium point xeq = 0 with the catch-
ment region
4.4. Saturation Controllers 331
G = {x ∈ IRn | xT R x < c}
c · hT R−1 h ≤ u2max .
Before describing the design of the saturation controller, we will first review
the tasks involved in its design. The control loop is stated as
ẋ = Ax − b sat(kT x)
Let us now consider the design procedure, which can be divided into six steps:
ẋ = (A − bhT )x
is asymptotically stable.
Step 2: Choose a positive definite matrix Qh and determine the matrix
R of the catchment region G = { x ∈ IRn | xT R x < c} from the
Lyapunov equation
T
A − bhT R + R A − bhT = −Qh .
332 Chapter 4. Nonlinear Control of Linear Systems
Step 3: Set
u2max
c=
hT R−1 h
so that the two hyperplanes |hT x| = umax are tangent to the catch-
ment region G.
Step 4: Using the vertices xv,i of X0 , verify whether X0 ⊆ G holds, i. e.
examine whether
xTv,i R xv,i < c
holds for all i = 1, . . . , 2n . If this is the case, proceed with Step
5. Otherwise, go back to Step 1 and choose a controller h with a
smaller control-variable amplitude, or go to Step 2 and vary Qh .
Step 5: Choose a state-feedback gain k and examine whether the matrix
T
A − bkT R + R A − bkT = −Qk
ẋ = Ax − b sat(kT x).
The disadvantage of the above design procedure lies in its heuristic com-
ponents. The vectors h and k, as well as the matrix Qh must be chosen based
on guesswork. There is also no guarantee at the outset that X0 ⊆ G will hold.
Instead, different design steps must potentially be repeated multiple times,
and the procedure is based on trial and error.
The design procedure consisting of the six steps described above can also
be done on a computer and then run automatically. Furthermore, a one-step
design is possible [191] if all design requirements are summarized into a system
of linear matrix inequalities [55]. The disadvantages of the six-step design
procedure as described above do not occur in this case. Saturation controllers
can also be used for MIMO plants [191].
brings the helicopter back to the stationary target position. Aiding the pilot
in this way is of great importance for emergency missions in stormy weather.
Below we will focus on the horizontal position displacement x4 of the
helicopter, measured in meters, relative to its rescue position. As part of the
autopilot function, we aim to compensate for this position deviation to zero
by using a state controller with saturation. Furthermore, we aim to correct
displacements caused by gusty winds or other forces to zero as quickly as
possible. The position change can be described by the model [98]
1404
COAST
GUARD
x4
x2
10
The time courses of a linear controller
u = −klin T x
with
klin T = 1.7719 2.8852 0.15954 0.038056
and the time-optimal feedforward controller are also shown for comparison.
The substantially more rapid regulation by the saturation controller compared
to the linear controller is plainly evident. However, this comes at the cost of
a higher control signal velocity u̇.
4.5. Exercises 335
20
Linear feedback control
Position y in m
15
Time-optimal feedforward control
10 Saturation feedback control
5
0
-5
0 2 4 6 8 10 12 14 16 18 20
Control variable u in rad
0.2
0.1
-0.1
-0.2
0 2 4 6 8 10 12 14 16 18 20
Time t in s
Fig. 4.42: Time courses of the position y and the control variable u of the helicopter
4.5 Exercises
Exercise 4.1 Let us examine the control loop with a PID controller and
anti-windup from Figure 4.43. The PID controller’s transfer function is
NPID (s) KI
GPID (s) = = GPD (s) + .
s s
(a) Convert the control loop from Figure 4.43 such that it takes the same
form as the control loop from Figure 4.44 and thus makes possible the
application of the Popov criterion and the circle criterion. In doing this,
determine the transfer functions Q(s), R(s), and G(s)R(s) with depen-
dence on m, KI , N (s), D(s), and NPID (s).
Let us now examine the case of the plant
1
G(s) =
s
and PI controller
KP s + KI
GPI (s) = , KP = 2, KI = 1.
s
(b) Calculate the transfer function G(s)GPI (s) of the open loop in the lin-
ear case, i. e. without anti-windup, its poles, and the transfer function
G(s)R(s) of the open loop with anti-windup and m = 1000.
336 Chapter 4. Nonlinear Control of Linear Systems
GPD (s)
Plant
u
y ref v u N (s) y
KI
G(s) =
s v D(s)
u = sat(v)
m
y ref v N (s) y
Q(s) G(s) =
D(s)
R(s)
(c) Are the Popov criterion and the circle criterion applicable?
(d) Draw the Nyquist plots and the Popov plots of G(s)GPI (s) and G(s)R(s).
(e) If possible, identify the sectors of absolute stability for the control loop
without anti-windup and the one with anti-windup, such that the global
asymptotic stability of the origin is ensured.
(f) Calculate the Hurwitz sectors for the control loop with and without anti-
windup. Is Aizerman’s conjecture correct in these cases?
Exercise 4.2 Show that in the formulas (4.15) and (4.16) of the optimal
switching times of the double integrator on p. 304, only a positive sign in
front of the square root yields the correct switching times.
Exercise 4.3 Calculate the time-optimal control feedback law for the plant
0 1 0
ẋ = x+ u, |u| ≤ umax ,
0 0 1
(b) Determine the trajectories from (a) which pass through x = 0. The parts
of these two trajectories which move in the direction of and towards x = 0
make up the switching curve S(x) = x1 .
(c) Using the trajectories from (b), determine the time-optimal feedback con-
trol law u(x) for all x ∈ IR2 .
Exercise 4.4 For an unstable linear system
ẋ = Ax + bu, x ∈ IRn ,
with a control variable limitation |u| ≤ umax , no controller u(x) exists with
which all initial values x(0) ∈ IRn can be transitioned to the equilibrium point
xeq = 0, i.e. the system cannot be stabilized for all x(0) ∈ IRn . However, this
is possible for a subset of IRn . The largest of these sets is called the null-
controllable region Xnull . Determine the null-controllable region Xnull for the
unstable first-order system
In doing so, take into account that the switching curve is identical to sections
of the system’s trajectories for which u = umax and u = −umax apply and
which pass through the origin x = 0.
Exercise 4.7 The time-optimal feedback control of the triple integrator [96,
111, 141]
0 1 0 0
ẋ = 0 0 1 x + 0 u
0 0 0 1
with the control variable limitation |u| ≤ 1 is given by
u = − sgn(a|a| + b3 ),
1 1
a = x1 + x33 + x2 x3 sgn(x2 + x3 |x3 |),
3 2
1 2 1
b = x2 + x3 sgn(x2 + x3 |x3 |).
2 2
State the control law for the case |u| ≤ umax .
338 Chapter 4. Nonlinear Control of Linear Systems
Exercise 4.8 Nuclear fusion reactors make possible the controlled fusion of
deuterium and tritium nuclei. The heat that results can be used to produce
electricity. The Tokamak is one design for a plant in which an electricity-
conducting plasma with a temperature of up to 150 million degrees Celsius is
generated in a torus-shaped chamber. This plasma is shaped and held within
the chamber by means of magnetic fields of up to 10 T such that it does not
touch the walls of the chamber. If this were not the case, the plasma would
cool and the nuclear fusion would stop. The magnetic fields are generated
by means of active inductors, i.e. inductors to which an external variable
voltage ua is applied and through which an electrical current ia flows, and
passive inductors in which an electrical current iv is induced by the magnetic
fields. These passive inductors have no external electricity supply. Using these
inductors and their magnetic fields, the plasma, or more accurately, its center
line, can be positioned within the torus; see Figure 4.45. The vertical shift z
of the midpoint of the plasma can be represented by the simple model [407]
Raa Rvv 1
− k
i̇a av
ia Laa (1 − kav )
= 1 Laa Lav + ua
1 − kav Raa Rvv (kav − Mvp ) kav
i̇v kav − iv −
Lav Lvv (1 − Mvp ) Lav (1 − kav )
| {z }
i
1 L ap L vp T
z= − − i, i = ia iv .
ip App App
(4.41)
Here ip is the plasma flow. In the case of the joint European torus (JET), we
have the following parameters:
|ua | ≤ 10 kV
(d) Calculate the region G ⊆ IR2 in x-coordinates for which the JET can be
stably controlled to zero, taking into account the control variable limita-
tion |u| ≤ umax = 10 kV.
Exercise 4.9 Let the plant
0 1 0
ẋ = x+ u (4.43)
0 0 1
which starts the control process with a time-optimal controller and then
switches to a linear state controller in the final phase. Such a controller
with two different modes is called a dual-mode controller. In the state
plane, draw the areas in which u = umax , u = −umax , and u = −kT x
apply.
(e) Why is the equilibrium point xeq = 0 of the control loop (4.43), (4.44)
globally asymptotically stable?
(f) What advantage does the control loop with the control law (4.44) have
compared to the time-optimal control loop?
Exercise 4.10 Let us examine the discrete-time first-order system
applies.
4.5. Exercises 341
(c) Determine the minimum number N of steps k with which the system,
starting at x(0) ∈ IR, can be brought to the origin, i.e. x(N ) = 0.
(d) Now determine the control sequence u(0), u(1), . . . , u(N − 1) with the
optimal number of steps which brings the system from x(0) to the origin
in the minimum number of steps N .
Exercise 4.11 Let us examine the switching system
(
A1 , 2i∆t ≤ t < (2i + 1)∆t, i = 0, 1, 2, . . . ,
ẋ = Ai x with Ai =
A2 , (2i + 1)∆t ≤ t < (2i + 2)∆t, i = 0, 1, 2, . . .
(a) Show that if A1 + A2 only has stable eigenvalues and a sufficiently small
value of ∆t is selected, this is sufficient for the solution x(t) for all initial
values x0 = x(0) ∈ IRn to tend to zero for t → ∞ .
(b) State a sufficient and necessary criterion for global asymptotic stability of
the switching system above.
(c) Determine whether the switching system for
−1 −4 −1 0
A1 = and A2 =
0 −1 9 −1
(b) Repeat the calculation of u1 and u2 for the switching times t1 = π and
t2 = 2π. What result do you obtain?
(c) Derive a necessary and sufficient criterion for the existence of a control
(4.46) of the general system (4.45) which is capable of driving any initial
state x(0) into any other state x(tN ) in time tN .
Exercise 4.13 Below we will attempt to design a piecewise linear control.
Let us take a controllable and observable linear plant which is given without
restriction of generality in the controller canonical form
342 Chapter 4. Nonlinear Control of Linear Systems
0 1 ··· 0 0
0 0 ··· 0
0
.. .. .. .. .
ẋ = . . . . x + .. u
0 0 ··· 1 0
−a0 −a1 · · · −an−1 1
Here the values âi represent the coefficients of the characteristic polynomial
of the closed control loop when q = 1. The control variable u is limited by
|u| ≤ umax .
λ1i
λi (q) = , λ1i = λi (1),
q
holds.
(c) Demonstrate that each set
G(q) = x ∈ IRn | e(q)xT D −1 (q)RD −1 (q)x ≤ 1 (4.48)
(d) Show that each of the areas G(q) is tangent to the corresponding hyper-
planes
|kT (q)x| = umax
if
kT (q)D(q)R−1 D(q)k(q)
e(q) =
u2max
applies.
(e) Parameter-dependent convex areas
G(q) = {x ∈ IRn | g(x, q) ≤ 1}
are nested within one another without touching if
∂g(x, q)
<0
∂q
applies for all x ∈ IRn . Demonstrate that the areas (4.48) are nested
within one another if
∂e(q)
≤0
∂q
applies and the matrix S in the equation
N R + RN = −S, N = diag(−n, −(n − 1), . . . , 1),
is positive definite.
(f) Create a procedure by which the above results can be used to design a
piecewise linear control in accordance with Section 4.3.2, p. 318 et seq.
(g) Based on the above results, determine a soft variable structure controller.
The latter consists of the control law u(x, q) and the equation to calculate
q. Note that, in this case, the catchment regions G(q) are infinitesimally
densely nested and the parameters of the controller vector k(q) are con-
tinuously varied. State the three requisite design equations.
(h) Explain why V (x) = q is a Lyapunov function of this soft variable struc-
ture control.
Exercise 4.14 What characteristic does the control law
u = − sat(hT x) for x ∈ G
in Hu and Lin’s theorem on p. 330 have for k = h?
Exercise 4.15 Let us consider the linear plant
0 1 0
ẋ = x+ u
−1 0 1
with the control variable limitation
|u| ≤ umax = 6.
Design a saturation controller based on Hu and Lin’s theorem on p. 330.
Proceed as follows:
344 Chapter 4. Nonlinear Control of Linear Systems
G = {x ∈ IR2 | xT Rx < c}
ẋ = (A − b sat(kT x))
They depend on the input variable vector ueq , and possibly on external factors
deq , such as disturbances. These equilibrium points or operating points of the
system can commonly be represented as functions of a parameter vector ρ in
the form
and
is derived, where
and
∂f (x, ueq (ρi ), deq (ρi ))
A(ρi ) = ,
∂x x=xeq (ρi )
∂f (xeq (ρi ), u, deq (ρi ))
B(ρi ) = ,
∂u u=ueq (ρi )
∂f (xeq (ρi ), ueq (ρi ), d)
S(ρi ) = ,
∂d d=deq (ρi )
∂g(x)
C(ρi ) =
∂x x=xeq (ρi )
x
Set of all equilibrium points (ueq (ρ), xeq (ρ))
is the deviation of the reference value vector y ref from the operating point
y ref,eq(ρi ). Figure 5.2 shows the i-th of these p control loops, which consists of
the i-th subcontroller and the plant which is linearized at the operating point
ρi . The subcontrollers can be of various types, such as linear state controllers,
PID controllers, etc.
After designing the p controllers, we combine them into an overall con-
troller. This combining can be performed in different ways. It can be done, for
example, so that only one controller is activated. A more suitable method is
the interpolation between two or more controllers. Ideally, the selection and
the interpolation depend on the parameter vector ρ(t). However, the vector ρ
g 348 Chapter 5. Nonlinear Control of Nonlinear Systems
∆di ∆di
∆y ref,i ∆ui ∆y i
ż i = hi (z i , ..., ∆y ref,i ) ∆ẋi =A(ρi )∆xi +B(ρi )∆ui +S(ρi )∆di
∆ui = ki (z i , ..., ∆y ref,i ) ∆y i = C(ρi )∆xi
∆xi
∆y i
βs = β(t → ∞) = ρ (5.1)
to exist.
The simplest way to generate the control signal u is to activate a single
controller i with the control signal
Thus, the controller i whose parameter vector ρi is closest to the current value
of the scheduling vector β is active.
The control law (5.2) is simple, but has the disadvantage of switching
between controllers by means of the selection law (5.3). This results in unde-
sired jumps in the control signal which most of the actuators cannot perform
or withstand. It is therefore sensible to use a control law which interpolates
between the controllers, or more precisely, between their control variables.
The actuating variable u is then composed of the values ueq (ρi ) and ∆ui .
This is achieved by interpolating between the controllers i in whose validity
region the scheduling vector β lies.
5.1. Gain-Scheduling Control 349
The interpolation between the control variables ueq (ρi ) + ∆ui of the indi-
vidual controllers is carried out based on factors such as the weighted arith-
metic mean, which then results in the equation of the gain-scheduling con-
troller
p
P
µi (β) · (ueq (ρi ) + ∆ui )
i=1
u= p . (5.4)
P
µi (β)
i=1
0 ≤ µi (β) ≤ 1,
β = ρi ,
0.5
u
i=3
i=2
i=1
0
0 0.5 1 1.5 2 2.5 3 3.5 4
β
Fig. 5.3: The interpolation u of the controller output values ueq (ρi ) + ∆ui based on
the weighted arithmetic mean is shown as the blue curve. The black curves depict
the functions µi (β) · (ueq (ρi ) + ∆ui ) for i = 1, . . . , 3.
such that only the associated controller ∆ui becomes active at the operating
point ρi . Between the operating points, a weighted average of the individual
controller output variables ueq (ρi ) + ∆ui is used. Figure 5.3 illustrates this.
The interpolation law (5.4) has the often favorable property that, if a
vector β lies outside the valid operating regions in question, the controller
of the operating points closest to β remains active. This can be seen from
equation (5.4), because for vectors β of this type,
µi (β) ≪ 1
holds for all i. Thus the highest of these values µi (β), meaning the one with
the smallest Euclidean distance |β − ρi |, has the greatest effect on equation
(5.4). In this case, equation (5.6) applies as well. Figure 5.3 illustrates this
property.
Overall, the design of a gain-scheduling control can be implemented in four
steps:
Step 1: Calculate the parameterized linearization family.
Step 2: Design the linear subcontrollers using linear design methods.
Step 3: Define the selection or interpolation law for the subcontrollers,
which depends on the scheduling parameters.
Step 4: Simulate the entire control loop and check stability and control
quality.
Step 4 in particular requires attention, as stability generally cannot be
ensured using analytical means. The stability of each of the linear subcontrol
loops is not sufficient in this case, since the entire system is nonlinear.
5.1. Gain-Scheduling Control 351
ẋ = −x3 + u.
Choosing
ρ = ueq
results in the parameterized linearization family
and
∆ui = u − ueq,i and ∆xi = x − xeq,i
are selected. Thus we obtain five linearized models with
ρ1 = ueq1 = −2 and ∆ẋ1 = −4.76∆x1 + ∆u1 ,
ρ2 = ueq2 = −1 and ∆ẋ2 = −3.00∆x2 + ∆u2 ,
ρ3 = ueq3 = 0 and ∆ẋ3 = ∆u3 ,
ρ4 = ueq4 = 1 and ∆ẋ4 = −3.00∆x4 + ∆u4 ,
ρ5 = ueq5 = 2 and ∆ẋ5 = −4.76∆x5 + ∆u5 .
and
352 Chapter 5. Nonlinear Control of Nonlinear Systems
∆ui = ki ∆ei
is designed, so that the corresponding control loops have the eigenvalues
The switching rule from equations (5.2) and (5.3) is applied here and results
in the overall control law
with
If we select
β=ρ=u
as the scheduling parameter in the control law (5.7), (5.8), the control law is
implicit in u. This is unfavorable, because in this case computing u is a com-
plex and time-consuming task. A more suitable option using the equilibrium
equation
ẋ = −x3 + u = 0 ⇔ u = x3 ,
results in choosing
β = x3 .
Obviously in this case, condition (5.1), i. e. βs = ρ for the steady-state case,
is fulfilled.
Figure 5.4 shows the entire control loop. We have
yref,eq,i = xeq,i
and
∆ei = ∆yref,i − ∆xi = y ref − x = ∆e.
Figure 5.5 shows the simulation of the control-loop behavior for a step in the
reference variable from
y ref = 0
to
y ref = 1.5
at time t = 0. Since we are only using P controllers, there is a permanent
control error. The discontinuities in the course of u are caused by a change in
the index i, meaning a change in ueq,i and ∆ui according to
u = ueq,i + ∆ui .
5.1. Gain-Scheduling Control 353
y ref ∆yref,i = ∆e u x
y ref − yref,eq,i
u = ueq,i + ki ∆e ẋ = −x3 + u
i
arg min |x3−ueq,k |
k
√
∆xi = x − 3 ueq,i
x
1.5
1
x
3
u
As mentioned above, this is often undesirable, because not every actuator can
perform such jumps. But the abrupt change in the course of the state vari-
able x is also undesirable if we consider a flight controller, for example. In
many cases, a smooth progression of actuating variables and state variables is
preferable. In the next section, we will look at an example in which interpola-
tion takes place between the controllers so that no jumps occur in the control
signal.
354 Chapter 5. Nonlinear Control of Nonlinear Systems
Below we will describe the solar power plant Acurex with a parabolic trough
collector, located in Almería in the south of Spain [67, 209, 392]. On an area
of 2674 m2 , the power plant has 480 solar collectors, which for a solar radia-
tion of 900 W m−2 generate an electrical power of 1.2 MW. Figure 5.6 shows
the fundamental structure of such a system. Parabolic troughs focus the sun’s
rays via their mirrored surface in a translucent pipe in which oil circulates.
The concentrated solar radiation heats the oil, which then flows into an insu-
lated storage tank with a volume of 140 m 3 . From here, the oil is transported
into a steam generator using a pump in which the heat of the oil is used to
generate steam. Finally, this steam is used to operate a turbine and an electric
generator. After leaving the steam generator, the oil is pumped back into the
Sun ray
Oil
Tank
Te
To the q, To
turbine
Here, Te is the temperature of the oil when entering the collector field. It is
either constant or varies only very slowly and slightly. The solar radiation
intensity is taken into account by the variable J, where 0 ≤ J ≤ 1 kW m −2
holds.
Unlike the intensity J of the solar radiation, the volume flow q of oil can be
set between 2 and 10 l s −1 by adjusting the pump power. Furthermore, η0 is
the optical efficiency factor of the collectors, S is the effective collector area,
C the heat capacity of the oil, and pcp a system constant. For the Acurex
plant in Almería, the parameter set
applies.
The oil temperature To must not exceed the temperature of 305◦ C, and
in particular the difference between the inlet temperature Te and exit tem-
perature To must not be higher than 100◦ C. Normal values for this difference
are around 70◦ C. If the temperature difference To − Te is too great, the oil
pressure in the pipes of the collector field rises too high. Leaks can be the
result.
Therefore, our aim is to maintain the temperature difference
∆T = To − Te
at the constant value of 70◦ C. This is done using a control system which
affects the temperature To and thus ∆T by controlling the volume flow q of
the oil in equation (5.9) or in the alternative equation
ẋ = aJ − bxu (5.12)
356 Chapter 5. Nonlinear Control of Nonlinear Systems
with
a = η0 SC −1 = 0.5831◦ Cm 2 kJ −1
and
b = pcp C −1 = 0.8487 · 10−3 l −1 .
The intensity J of the solar radiation, from a control engineering point of
view, is a disturbance variable.
The equilibrium points xeq of system (5.10) are given by
aJ eq
xeq = . (5.13)
bueq
ueq = 9.82J eq
∆J = J − J eq , ∆x = x − xeq , ∆u = u − ueq
follows from equation (5.13) and equation (5.14), where the parameter vector
ρ is
ρ = [ueq J eq ]T .
From the possible ranges of parameters,
2 l s −1 ≤ ueq ≤ 10 l s −1 and 0 kW m −2 ≤ J eq ≤ 1 kW m −2 ,
∆T > 100◦ C
1
∆T = 70◦ C
J in kW m−2
4 5 6
1 2 3
0.2
2 4 6 8 10
u in l s−1
Fig. 5.7: Operating points (1, 2, 3, 4, 5, and 6) and validity regions of the linear
submodels in which the respective Gaussian function of an operating point dominates
The controllers are dimensioned in such a way that the control loops they
form with the respective linear submodel always have eigenvalues at
To take into account the limitation of the pump power, the PI controllers have
anti-windup elements.
Taking into account equation (5.13), we will use
aJ
β = u = bx 6= ρ
ui = ueq,i + ∆ui
are averaged using the weighted arithmetic mean (5.4) to obtain the gain-
scheduling controller
6
P 2
e−|Σ(β−ρi )| ui
i=1
u= 6
,
P
e−|Σ(β−ρi )|2
i=1
where we choose
2 0
Σ= .
0 0.3
We then simulate the gain-scheduling control loop of the solar power plant
for the assumed daily solar radiation curve shown in Figure 5.8. The progres-
sions of the pump flow u and the temperature difference x = ∆T between
the oil’s outlet temperature and the inlet temperature are also shown in Fig-
ure 5.8. As can be seen, this does not violate the constraints of the pump flow
rate, 2 l s −1 ≤ u ≤ 10 l s −1 . The temperature difference x is also kept at the
desired value of x = 70◦ C. However, the temperature difference falls below
70◦ C if the solar radiation J is less than 0.2 kW m −2 , since in this case the
heating of the oil by the sun is too low to produce a temperature difference
of 70◦ C with a minimum oil flow of 2 l s −1 .
5.2. Input-Output Linearization 359
1
J in kW m−2
0.5
0
0 1 2 3 4 5 6 7 8 9 10
10
u in l s−1
0
0 1 2 3 4 5 6 7 8 9 10
80
60
x in ◦ C
40
20
0
0 1 2 3 4 5 6 7 8 9 10
Time t in hours
Fig. 5.8: Intensity J of the solar radiation, volume flow u = q of the pump, and
temperature difference x = ∆T of the oil between the inlet and outlet of the collector
field
the input-output behavior is linear, but the state-space model of the control
loop may still contain nonlinearities. On the other hand, these are procedures
that linearize the entire state-space model. These procedures are called input-
state linearization, state-space exact linearization or full-state linearization.
We will first deal with input-output linearization.
As plants, we will consider SISO systems of the form
ẋ = a(x) + b(x) · u,
(5.15)
y = c(x),
i. e. systems which are nonlinear in x but linear in u. Therefore, as previ-
ously mentioned, they are called input-linear systems, input-affine systems,
or control-affine systems. We will use the latter designation. The assumption
of a linearly acting control variable u is not a major restriction because most
of the technical systems are linear in the control variable u. The system order
is
n = dim(x) .
For the time being, we will limit ourselves to SISO systems in order to explain
the basic concept behind the procedure as clearly as possible. Later we will
also look at MIMO systems.
If the controlled system is now represented as a particular form of equation
(5.15), namely the nonlinear controller canonical form
ẋ1 x2 0
.. .. ..
. . .
= + u,
ẋn−1 xn 0 (5.16)
ẋn α(x) β(x)
y = x1 ,
the design objective of an overall linear control loop as described above can
be easily achieved. As the control law, we will select
n
P
α(x) + ai−1 xi
i=1 V
u=− + y ref (5.17)
β(x) β(x)
with the reference variable y ref as well as the freely selectable coefficients
ai−1 , i = 1, . . . , n, and V , yielding
0 1 0 ··· 0 0
0
0 1 · · · 0
0
ẋ = ... .. .. . . .. x + .. y ,
. . . .
. ref
0 0 0 ··· 1 0
−a0 −a1 −a2 · · · −an−1 V
y = x1
5.2. Input-Output Linearization 361
for the closed loop, which is a linear system in controller canonical form[2] .
Its eigenvalues can be freely specified via the n coefficients ai . Throughout
these calculations, we assume that β(x) 6= 0 holds. This is usually the case
in technical applications, since otherwise the control variable (5.17) would be
infinitely large and the plant would not be controllable.
Naturally, if we model real systems using their original state variables, only
few will be in the nonlinear controller canonical form (5.16). But if we succeed
in bijectively transforming a system (5.15) into this form, we can apply the
control law above and obtain a linear control loop. This is the basic concept
of feedback linearization.
We will now attempt to identify the bijective state coordinate transforma-
tion which transforms the system (5.15) into the nonlinear controller canonical
form (5.16). For this purpose, we will use the Lie derivative, which is defined
as the gradient of a scalar function h(x) multiplied by a vector field f (x), i. e.
∂h(x)
Lf h(x) = f (x) = gradT(h(x)) · f (x).
∂x
The Lie derivative can be illustrated geometrically: if it is positive, the vector
field f points in the direction of increasing values of the function h. If it
is negative, it is the other way round and the vector field f points towards
decreasing function values h(x). The latter, for example, is the case for a
Lyapunov function V for an asymptotically stable equilibrium point xeq = 0
of a system ẋ = f (x). We remember that in this case
∂V (x) ∂V (x)
V̇ (x) = ẋ = f (x) = Lf V (x) < 0
∂x ∂x
holds. However, the situations above do not play a role in the input-output
linearization, and we use the Lie derivative here to simplify the calculations
procedures.
For the transformation we are looking for, we need, in particular, the Lie
derivatives
∂c(x) ∂c(x)
La c(x) = a(x) and Lb c(x) = b(x).
∂x ∂x
We start by calculating the time derivative of the output variable y and obtain
[2]
The term nonlinear controller canonical form indicates that the controller design
is simple if the plant is in this canonical form. This is similar to the case of linear
systems, where the term controller canonical form also indicates that the design
of a linear state controller by means of pole placement is especially simple.
362 Chapter 5. Nonlinear Control of Nonlinear Systems
ẋ = a(x) + b(x) · u
into the equation above yields
∂c(x) ∂c(x)
ẏ = a(x) + b(x) · u
∂x ∂x
or, using Lie derivatives,
ẏ = La c(x) + Lb c(x) · u.
with m < n−1 provide an example of systems consistent with equation (5.18).
For these systems, the equation
∂cT x
Lb c(x) = b(x) = cT b = 0
∂x
obviously holds.
Next, the second time derivative ÿ is to be determined. Starting with
ẏ = La c(x), we obtain the expression
is used, since the Lie derivative La has been applied twice in a row. For the
second term, the identity
5.2. Input-Output Linearization 363
∂La c(x)
Lb La (x) = b(x) = 0
∂x
often applies once again, yielding
ÿ = L2a c(x).
y = c(x),
ẏ = La c(x),
ÿ = L2a c(x),
.. (5.19)
.
y (δ−1) = La
δ−1
c(x),
y (δ) = Lδa c(x) + Lb La
δ−1
c(x) · u.
∂Lia c(x)
Lb Lia c(x) = b(x) = 0
∂x
holds for all indices
i = 0, . . . , δ − 2.
δ−1
The Lie derivative Lb La c(x) is not equal to zero only for indices i ≥ δ − 1.
We refer to δ as the difference degree or mostly as the relative degree of the
system. The relative degree indicates the degree of the output variable y’s
derivative at which it directly depends on the control variable u for the first
time. For linear systems, the relative degree is equal to the difference
δ =n−m
between the denominator degree n and the numerator degree m of the transfer
function. For δ = n the numerator polynomial has the order zero, i. e. the
numerator is a constant.
We will first examine the case
δ = n,
i. e. the case in which the system order n = dim(x) is equal to the relative
degree δ. Then the new state coordinates
z1 y c(x)
z2 ẏ La c(x)
2
z = z3 = ÿ = La c(x) = t(x)
(5.20)
.. .. ..
. . .
n−1
zn y (n−1) La c(x)
364 Chapter 5. Nonlinear Control of Nonlinear Systems
t−1 (t(x)) = x
t : IRn → IRn
ẋ = a(x) + b(x) · u,
y = c(x)
and replacing x by x = t−1 (z) into the nonlinear controller canonical form
ż1 z2 0 z2 0
.. .. .. .. ..
. .
= + .
u = .
+ .
u,
żn−1 zn 0 zn 0
n n−1 n −1 n−1 −1
żn La c(x) Lb La c(x) La c(t (z)) Lb La c(t (z))
y = z1 .
(5.21)
We have thus achieved our goal and in the following section can use the system
in nonlinear controller canonical form for purposes of controller design.
We already know the control law (5.17) for the nonlinear controller canonical
form which yields a linear control loop. Using
we can write it as
y ref u x y
v(x) ẋ = a(x) + b(x) · u c(x)
r(x)
Fig. 5.9: Control loop with linear dynamics between input y ref and output y
with
Lna c(x) + kT z
r(x) = n−1 , kT = [a0 a1 · · · an−1 ]
Lb La c(x)
as a controller and
V
v(x) = n−1
Lb La c(x)
Lna c(x) + kT z V
u=− n−1 + n−1 y ref (5.23)
Lb La c(x) Lb La c(x)
from equation (5.24). As already indicated, the term input-output exact lin-
earization and its shortened version input-output linearization have their ori-
gin in the linear behavior between the input variable y ref and the output
variable y.
To make the control law (5.23) independent of z, we insert
c(x)
La c(x)
z = t(x) = ..
.
n−1
La c(x)
must hold for all x ∈ Dx,def . If this is the case, we designate the relative
degree as well-defined . In the opposite case it is termed not well-defined and
input-output linearization is only possible on a proper subset Dx ⊂ Dx,def .
Depending on whether the relative degree is well-defined or not, the system
is globally or locally linearizable.
From the above it follows that a control-affine system with a relative degree
n−1
δ = n is always controllable (as long as β(x) = Lb La c(x) 6= 0 holds),
since it can be bijectively transformed into the nonlinear controller canonical
form (5.21). The controllability of such systems has already been addressed in
Theorem 45 on p. 218. For controllable and observable plants, it further holds
that the inequality δ ≤ n is fulfilled. However, in the case of uncontrollable
n−1
and unobservable systems, Lb La c(x) = 0 may be true and thus the input
signal u has no influence on the output signal y. If we calculate δ in this case,
we obtain δ = ∞. We can only refer to δ as a relative degree if δ ≤ n holds.
Literature on input-output linearization can also be found in [203, 232,
308, 338, 402].
We will now describe an active magnetic bearing [316, 454] as used in electric
generators and motors, pumps, and turbines. It enables frictionless bearing of
the machine shaft and thus saves energy. The schematic diagram of a magnetic
bearing and one of its pairs of electromagnets are shown in Figure 5.10. The
electromagnets hold the shaft in position h = 0.
The magnetic fluxes Φ1 and Φ2 , generated by the currents i1 and i2 in the
electromagnets, generate the forces F1 and F2 which act on the shaft. These
forces are adjusted in such a way that the bearing is mounted without contact.
368 Chapter 5. Nonlinear Control of Nonlinear Systems
Engine shaft
u1
i1
u2 F1
R1
F2
i2 Electromagnet
R2
Fig. 5.10: Schematic diagram of an active magnetic bearing with one degree of free-
dom in the direction h. Further degrees of freedom not addressed here are produced
by additional electromagnets.
Φi = Φ0 + φi , i = 1, 2, (5.26)
and
(
0 for φ < 0,
u2 = (5.30)
−v for φ ≥ 0.
2Φ̄0 1
α1 = and α2 = .
µ0 Am µ0 Am
The output variable y of the magnetic bearing is the displacement h, i. e.
y = c(x) = x1 .
f (x) = x|x|
f ′ (x) = 2|x|.
Step 4: Since the relative degree is δ = 3, the transfer function G(s) of the
control loop also takes an order of three, i. e.
V
G(s) = .
s3 + a2 s2 + a1 s + a0
We now select three real poles s1 = s2 = s3 = −λ with λ > 0 and,
choosing V = λ3 , we obtain the transfer function
λ3
G(s) = .
s3 + 3λs2 + 3λ2 s + λ3
Step 5: Including the results of Steps 1, 2, and 4 yields the controller
V λ3
v(x) = = .
Lb L2a c(x) α1 + 2α2 |x3 |
The control loop thus calculated is shown in Figure 5.11. The dynamics of
the control loop, especially the control variable amplitude, and the required
actuator energy can be influenced by means of the triple pole at −λ, which
has not yet been specified. This makes it possible to keep the control value
u within prescribed limits, such as −1 ≤ u ≤ 1. However, ensuring that the
limits of the control variable are not exceeded is a difficult task in case of
exact linearization [165, 223, 302, 352].
x2 0
y ref λ 3 u ẋ = α1 x3 + α2 x3 |x3 |+0u y
v(x) =
α1 +2α2 |x3 | 0 1
y = x1
r(x) x
Fig. 5.11: Control of the active magnetic bearing using input-output linearization
372 Chapter 5. Nonlinear Control of Nonlinear Systems
δ < n,
i. e. the case in which the relative degree δ is lower than the system order
n. We recall that the sequence of derivatives (5.19) without dependence on
the control signal u stops at y (δ−1) . In this case as well, a nonlinear bijective
transformation rule which is continuously differentiable, a diffeomorphism
z = t(x), (5.31)
x = t−1 (z)
exists, and that this inverse function is also continuously differentiable. From
Theorem 54 on p. 262, we know that all the above requirements are fulfilled
and that t is a diffeomorphism if the Jacobian matrix ∂t(x)/∂x is regular.
Then, if we transform the original system description
ẋ = a(x) + b(x) · u,
y = c(x)
while
y = z1
δ = n,
only the first δ rows of equation (5.33) are in controller canonical form.
Let us take a closer look at the functions tδ+1 , . . . , tn . Using the transfor-
mation
x = t−1 (z)
for i = δ + 1, . . . , n, the derivatives
∂ti (x)
Lb ti (x) = b(x) = 0 (5.35)
∂x
374 Chapter 5. Nonlinear Control of Nonlinear Systems
hold.
As shown in equation (5.37), the system dynamics can be divided into an
external and an internal part. The external dynamics of the system, describing
the changes in the states z1 , . . . , zδ , can be linearized by transforming the input
variable u into the new input variable y ref , as in the case in which δ = n. Based
on equation (5.33) or equation (5.37), we can determine this transformation
as
Lδa c(x) + kT z V
u=− δ−1
+ δ−1
· y ref (5.38)
Lb La c(x) Lb La c(x)
with
If this is inserted into equation (5.37), the dynamic equations of the trans-
formed system are obtained as follows:
5.2. Input-Output Linearization 375
ż1 0 ··· 0
0 1 z1 0
ż2
10 · ·0· 0 z2 0
.. .... .. . .. .. external
.= .
. . . .
. .
. + y ref ,
. .
dynamics
żδ−1 0 0 0 ··· 1 zδ−1 0
żδ −a0 −a1 −a2 · · · −aδ−1 zδ V
(5.39)
żδ+1 qδ+1 (z)
.. . internal
. = .. , (5.40)
dynamics
żn qn (z)
y = z1 .
After applying the transformation (5.38) of the input variable, the external
dynamics are independent of the state variables zδ+1 , . . . , zn of the internal
dynamics. In particular, the state variables of the internal dynamics have no
influence on the output variable y. As a result, the internal dynamics (5.40)
are not observable. The term internal symbolizes this property. This is why
the control loop as a whole loses its observability due to the linearization. In
practice, however, the latter is of little importance.
Obviously, the procedure above does not linearize the internal dynam-
ics. Fortunately, as already stated, it does not influence the output variable
y = z1 or the controlled external dynamics. The internal dynamics possess
the input variables z1 , . . . , zδ and no output variable. We can interpret the in-
ternal dynamics as an independent system with the associated state variables
zδ+1 , . . . , zn . This is illustrated by Figure 5.12.
Provided that
Lb Lδ−1
a c(t
−1
(z)) 6= 0
holds, the external dynamics (5.37) are always controllable because they are
present in nonlinear controller canonical form. We know this fact from The-
orem 45 on p. 218. In this case, again, we can interpret the transformation
equation (5.38) as a control law which has a state controller in the first sum-
mand and a pre-filter for the reference variable y ref in the second. To make
equation (5.38) independent of the artificial state vector z, we can formulate
kT z = aδ−1 La
δ−1
c(x) + . . . + a1 La c(x) + a0 c(x)
using
δ−1
z1 = c(x), z2 = La c(x), ..., zδ = L a c(x),
which follows from equation (5.32). Thus we obtain
ż1 0 1
0 ··· 0 z1 0
y ref ż2 0 0
1 ··· 0 z2 0 y
.. = .. ..
.. . . .. .. + .. y ref
. . . . . . . .
żδ −a0 −a1 −a2 · · · −aδ−1 zδ V
y = z1
T
z1 · · · zδ
żδ+1 qδ+1 (z1 , . . . , zn )
.. ..
. =
.
żn qn (z1 , . . . , zn )
Internal dynamics
Fig. 5.12: Block diagram of the control loop with controlled external dynamics and
unobservable internal dynamics
[3]
The internal dynamics may have several equilibria, not merely a single one. In
this case the equilibria which are relevant to practical operation must be stable.
In this context, see also Definition 8 on p. 18, and the explanations of stability
and internal dynamics in Section 5.2.10, p. 398, for a deeper understanding.
5.2. Input-Output Linearization 377
with
δ−1
Lb La c(x) 6= 0,
then the control loop has linear dynamic behavior described by
with
z = t(x).
The internal dynamics do not influence the output y. If both the internal and
the linear external dynamics of the control loop have a globally asymptotically
stable equilibrium point at the origin and the internal dynamics with its input
variable vector [z1 · · · zδ ] are input-to-state stable, then the equilibrium point
z eq = 0 of the whole system is globally asymptotically stable.
Theorem 59 and Theorem 60 are very similar and differ only in that inter-
nal dynamics are included in Theorem 60. We will discuss the stability of an
input-output linearized system in more detail in Section 5.2.10. It is important
to note that although the control loop has unobservable internal dynamics,
378 Chapter 5. Nonlinear Control of Nonlinear Systems
δ = i + 1.
δ−1 ∂Lδ−1
a c(x)
Lb La c(x) = b(x).
∂x
Step 3: For all occurring x, the inequality
δ−1
Lb La c(x) 6= 0
Step 7: For δ < n, determine the internal dynamics and check them for
stability.
Checking the internal dynamics for stability can be complicated, since this
dynamic component is principally nonlinear.
8165 kg of fuel was available for the landing phase alone. The decrease in the
mass m due to the consumption of the fuel supply is thus an essential aspect
of the equation of the shuttle’s motion (5.43).
Utilizing the state variables
x1 = h, x2 = ḣ, x3 = m,
the control variable
u = −ṁ,
5.2. Input-Output Linearization 381
for the Eagle’s landing phase. Note that u = −ṁ is always positive.
Consistent with the design procedure from Section 5.2.5, we determine
∂c(x)
Lb c(x) = b(x) = 0,
∂x
∂La c(x) v
Lb La c(x) = b(x) = .
∂x x3
Since Lb La c(x) 6= 0, the system has the relative degree δ = 2. Because the
system order is n = 3 > δ, the system has internal dynamics. The mass
x3 = m of the shuttle is always positive. Thus,
v
Lb La c(x) = >0
x3
holds and the relative degree is well-defined. We can therefore design a con-
troller using input-output linearization. We must also ensure the stability of
the internal dynamics to guarantee the stability of the control system as a
whole.
The diffeomorphism can be written as
c(x) x1
z = t(x) = La c(x) = x2 ,
(5.45)
t3 (x) t3 (x)
where the function t3 (x) is yet to be selected. This is done in such a way that
the partial differential equation (5.35) is fulfilled, i. e. in this case
382 Chapter 5. Nonlinear Control of Nonlinear Systems
∂t3 (x)
Lb t3 (x) = b(x) = 0.
∂x
We remember: if we do it this way, the internal dynamics do not depend on
the input variable u. Specifically, we obtain
∂t3 (x) v ∂t3 (x)
Lb t3 (x) = · − = 0. (5.46)
∂x2 x3 ∂x3
This partial differential equation has the solution
t3 (x) = x3 · ex2 /v ,
which can easily be checked by inserting it into equation (5.46). So the diffeo-
morphism (5.45) is of the form
x1 z1
−1
z = t(x) = x2 or x = t (z) = z2 . (5.47)
x2 /v −z2 /v
x3 e z3 e
Using equation (5.44) and equation (5.47), we obtain the system descrip-
tion with external and internal dynamics as
ż1 La c(x) x2
ż L2 c(x) + L L c(x)u −g + v u
δ=2 = a b a =
x3
ż3 ṫ3 (x2 , x3 ) −v −1 gx3 ex2 /v
z2
−g + v u
external dynamics
= . (5.48)
x3
−v −1 gz3 internal dynamics
We can now design the control law according to Theorem 60 using
L2a c(x) + a1 La c(x) + a0 c(x)
u=−
Lb La c(x)
−g + a1 x2 + a0 x1 −g + a1 z2 + a0 z1
=− x3 = − x3 . (5.49)
v v
A reference variable y ref is not required here, since the control adjusts the
state variables x1 = z1 and x2 = z2 to the equilibrium point
" #
x1,eq
= 0.
x2,eq
With equations (5.47), (5.48), and (5.49) we can now represent the entire
control system by
ż1 z2
ż2 = −a1 z2 − a0 z1 ,
(5.50)
−1
ż3 −v gz3
y = z1 .
As can be seen from equation (5.50), the internal and external dynamics are
decoupled. The internal dynamics especially cause no problems because they
are stable. It is also apparent that the internal dynamics are not observable,
since z3 does not affect y = z1 .
We will now transform the above controlled system description back to the
original coordinates x, and, with equation (5.50) and diffeomorphism (5.47),
we thus arrive at the representation
ẋ1 x2
ẋ2 = −a1 x2 − a0 x1
−1
ẋ3 v x3 (a1 x2 + a0 x1 − g)
of the control loop. We can also obtain this result by inserting the control law
(5.49) into the system description (5.44). The above equation shows that the
internal dynamics do not influence the controlled external dynamics. However,
we need the internal state variable x3 in the control law (5.49). This does not
pose a problem, since x3 = m holds and m is measurable.
As a concrete numerical example, we will continue with the lunar module
Eagle from the Apollo 11 mission and simulate the approach and landing phase
on the moon using the designed controller (5.49). We select the coefficients
a0 = 0.02 and a1 = 1.1, so that the eigenvalues of the controlled external
dynamics are
λ1 = −0.0185 and λ2 = −1.0815.
So we can describe the controlled lunar module by
ẋ1 x2
ẋ2 = −1.1x2 − 0.02x1
ẋ3 x3 (3.61 · 10−4 x2 + 6.56 · 10−6 x1 − 5.31 · 10−4 )
3000
x1 in m
2000
1000
0
0 50 100 150 200 250 300
0
x2 in m s−1
-20
-40
-60
0 50 100 150 200 250 300
9
x3 in t
8
7
Weight of the lunar module without fuel for landing
6
0 50 100 150 200 250 300
7
u in kg s−1
6
5
4
3
0 50 100 150 200 250 300
Time t in s
Fig. 5.14: Height x1 , velocity x2 , total mass x3 , and control variable u
vertical to the lunar surface[4] . The time courses for the height x1 , the speed
x2 , and the remaining total mass x3 are shown in Figure 5.14.
∂Li−1
f g(x)
Lif g(x) = f (x, u).
∂x
We can now calculate
∂g(x) ∂g(x)
ẏ = ẋ = f (x, u) = Lf g(x) (5.52)
∂x ∂x
and
∂Lf g(x) ∂Lf g(x)
ÿ = f (x, u) + u̇.
∂x ∂u
If
∂Lf g(x)
u̇ = 0 (5.53)
∂u
holds, obviously Lf g(x) and thus ẏ in equation (5.52) do not depend on u.
We assume that equation (5.53) is valid so that we obtain
ÿ = L2f g(x)
Since now
∂Lδf g(x)
6= 0 (5.55)
∂u
holds in equation (5.54), the function Lδf g(x) depends on u. Since all deriva-
tives y (i) = Lif g(x) with i = 0, . . . , δ − 1 are independent of u, we obtain
y = g(x),
ẏ = Lf g(x),
..
. (5.56)
y (δ−1)
= Lfδ−1 g(x),
y (δ) = Lδf g(x) = ϕ(x, u).
v = ϕ(x, u) (5.57)
y (δ) = v.
This procedure assumes that the implicit equation (5.57) is uniquely solvable
for u; more precisely, that the function ϕ is bijective, meaning the inverse
function u = ϕ−1 (x, v) exists. Here it will often be the case that the inverse
function ϕ−1 can only be determined numerically.
If we select the control law with the new control variable v such that
holds, where y ref is the reference variable of the controlled system, we obtain
the linear control-loop dynamics according to
Again, the coefficients ai are freely selectable. The input-output exact lin-
earization of general nonlinear systems has thus been achieved.
5.2. Input-Output Linearization 387
Let us now transform system (5.51) into the so-called generalized Byrnes-
Isidori canonical form using a suitable diffeomorphism t(x). As in the control-
affine case, we choose
g(x)
Lf g(x)
2
Lf g(x)
..
.
z = t(x) = δ−1 .
L g(x)
f
tδ+1 (x)
.
..
tn (x)
y = z1 ,
∂ ṫi (x) ∂ ∂ti (x) ∂ti (x) ∂f (x, u)
= f (x, u) = · =0
∂u ∂u ∂x ∂x ∂u
388 Chapter 5. Nonlinear Control of Nonlinear Systems
holds.
When choosing or determining functions ti as solutions of equation (5.60),
we have to keep in mind that a diffeomorphism z = t(x) must result, i. e.
according to Theorem 54, p. 262,
∂t(x)
det 6= 0
∂x
must hold. If we succeed in doing all the above, we then derive z = t(x) with
respect to time and obtain a similar transformed system representation as in
the control-affine case in equation (5.37). This is the generalized Byrnes-Isidori
canonical form
Lf g(x) z2
2
Lf g(x) z3
external
.. ..
. .
δ−1
dynamics
Lf g(x) zδ
ż = Lδ g(x) = ϕ̂(z, u) ,
f (5.61)
ṫδ+1 (x) qδ+1 (z)
..
..
internal
. .
dynamics
ṫ (x)
n q (z)
n
y = z1 .
żδ = ϕ̂(z, u) = v
In summarizing, using
and the control law (5.58), we can control the external dynamics of the trans-
formed system (5.61) and impose any linear dynamics on the control loop.
5.2. Input-Output Linearization 389
ẋ = Ax + b · u,
(5.62)
y = cT x.
Without any restriction of generality, we can assume that the system (5.62) is
present in controller canonical form or has been transformed into that form,
i. e. in the following we can assume that the system’s description is given by
0 1 0 ··· 0 0
0
0 1 ··· 0
0
. . . . . .
A = ..
.. .. .. .. , b =
.. ,
(5.63)
0
0 0 ··· 1
0
−a0 −a1 −a2 · · · −an−1 1
h i
cT = b0 b1 · · · bm 0 · · · 0 , bm 6= 0.
cT Ai b 6= 0 (5.66)
where an = 1 and
for the transfer function of the system. Since cT Al b = 0 holds for l < δ − 1,
the transfer function can be written as
n−1 k
!
1 X X
G(s) = an−k+l cT Al b sn−1−k .
D(s)
k=δ−1 l=δ−1
Using
k
X
bn−1−k = an−k+l cT Al b, k = δ − 1, . . . , n − 1 and an = 1,
l=δ−1
tδ+i (x) = xi , i = 1, . . . , n − δ,
5.2. Input-Output Linearization 391
satisfy the partial differential equations (5.35) from Section 5.2.4 on p. 373,
which here take the form
At this point, recall that these differential equations ensure the independence
of the internal dynamics from the control variable u.
Now our aim is to transform the system (5.62) using the diffeomorphism
(5.68), which is linear here, i. e.
t(x) = T x = z, (5.69)
where M is equal to the first δ rows of T and Z matches the last n − δ rows.
The matrix T is regular and so is the transformation, because
M Z
det(T ) = det = (−1)n−δ det = (−1)n−δ bδm
Z M
cT x = b0 x1 + b1 x2 + . . . + bn−δ xn−δ+1 = z1
and m = n − δ, we obtain the relation
z1 − b0 x1 − b1 x2 − . . . − bn−δ−1 xn−δ
xn−δ+1 =
bn−δ
(5.73)
z1 − b0 zδ+1 − b1 zδ+2 − . . . − bm−1 zn
= .
bm
If we insert equations (5.72) and (5.73) into equation (5.71), the system de-
scription eventually yields
ż1 z2
.. ..
external
. .
dynamics
żδ−1 zδ
T δ −1 T δ−1
żδ c A T z+c A b·u
ż = zδ+2 ,
δ+1
. .
. ..
.
internal
ż zn
n−1 dynamics
b0 b1 bm−1 1
żn − zδ+1 − zδ+2 − . . . − zn + z1
bm bm bm bm
y = z1 . (5.74)
This is the Byrnes-Isidori canonical form of a linear system (5.62).
Considering only the internal dynamics
żδ+1 0 1 0 ··· 0 0 zδ+1 0
żδ+2 0
0 1 ··· 0 0 zδ+2 0
. . .. .. .. .. .. ..
. .
. = . . . . . . + . z1 ,
ż
n−1 0
0 0 ··· 0 1 zn−1 0
b0 b1 b2 bm−2 bm−1 1
żn − − − ··· − − zn
bm bm bm bm bm bm
the state variable z1 acts as the input variable. As we can immediately see
in the companion matrix above, the internal system dynamics possess the
characteristic polynomial P (s)/bm with
P (s) = bm sm + bm−1 sm−1 + . . . + b1 s + b0 .
The eigenvalues of the internal dynamics are therefore identical to the zeros
of the linear system. Of course, the transformed system (5.74) as a whole has
the same eigenvalues as the original system (5.62).
In summary, we can formulate
394 Chapter 5. Nonlinear Control of Nonlinear Systems
bm sm + bm−1 sm−1 + . . . + b1 s + b0
G(s) =
sn + an−1 sn−1 + . . . + a1 s + a0
using equation (5.65). The expression above can only be identical to zero if
both the controllability matrix
M contr = [b Ab · · · An−1 b]
cT Aδ T −1 z
u=−
cT Aδ−1 b
into equation (5.74) and setting the initial values of z ext (t) to z ext (0) = 0
yields
5.2. Input-Output Linearization 395
for the control law of the input-output linearization. Inserting this into the
Byrnes-Isidori canonical form (5.74) of a linear plant yields
ż1 0 1 0 ··· 0 0 0 0 ··· 0 z1 0
.. .. .. .. .. .. .. .. . . .. .. ..
. . . . . . . . . . . .
żδ−1 0 0 0 · · · 1 0 0 0 ··· 0 zδ−1 0
ż −â −â −â · · · −â 0 ··· 0 z V
δ 0 1 2 δ−1 0 0 δ
żδ+1 = 0 0 0 · · · 0 0 1 0 ··· 0 zδ+1 + 0 y ref ,
. . .. .. . . .. .. .. .. .. . .
. . .
. ..
. .
. . . . . . . .
n−1 0 0 0 · · · 0 0 ···
ż 0 0 1 z
n−1 0
1 b0 b1 b2 bm−1
żn 0 0 ··· 0 − − − ··· − zn 0
bm bm bm bm bm
| {z } | {z }
 b̂
h i
y = 1 0 ··· 0 z
| {z } (5.77)
T
ĉ
as equations for the control loop. This illustrates again that only the first δ
equations are relevant for the input-output behavior.
Next we will determine the transfer function
Y (s)
G(s) = = ĉT (sI − Â)−1 b̂.
W (s)
The system matrix  and thus sI −  are block lower triangular matrices.
Therefore, we can easily calculate (sI − Â)−1 , because for the inverse of a
block lower triangular matrix
X 11 0
X= ,
X 21 X 22
we obtain [40]
X −1
11 0
X −1 = .
−X −1 −1
22 X 21 X 11 X −1
22
where Âext ∈ IRδ×δ , Âv ∈ IRm×δ , Âint ∈ IRm×m , and ĉext , b̂ext ∈ IRδ hold.
Note that ĉT has only one non-zero element ĉ1 = 1, so it is not necessary
to include the bottom row of  in equation (5.78) in the calculation of the
transfer function. We thus arrive at
The above result is not surprising, since the transfer behavior of a control loop
with a relative degree δ resulting from an input-output linearization is always
of the form (5.79).
Once again it is clear that the controller (5.76) leads to a reduction in the
system order from the order n of the plant (5.74) to the order δ of the transfer
function (5.79). However, this is only the case if the system matrix A, the input
vector b, and the output vector c are identical to the model parameters Am ,
bm , and cm of the plant in the control law (5.76). If the model parameters
Am , bm , and cm deviate from the true system parameters A, b, and c, the
control law (5.76) no longer compensates for the eigenmovements
cT Aδ T −1 z
of the external dynamics in equation (5.74). That is, after inserting the control
law (5.76), which now takes the form
cm T Am δ T −1 z + kT z V
u=− T δ−1
+ y ref ,
cm Am bm cm Am δ−1 bm
T
instead we obtain
" #
T δ −1 cT Aδ−1 b T δ −1 T cT Aδ−1 bV · y ref
żδ = c A T − (c m Am T + k ) z + .
cm T Am δ−1 bm cm T Am δ−1 bm
Now the derivative żδ depends on the entire state vector z and thus on the
states zδ+1 , . . . , zn of the internal dynamics. As a result, the system matrix
 of the control loop no longer exhibits the shape of a block lower triangular
398 Chapter 5. Nonlinear Control of Nonlinear Systems
matrix as in equation (5.77); rather it is fully populated and the transfer func-
tion is of order n and not of order δ as in the case of exact modeling. So if the
modeling is imprecise, an increase in the system order of the transfer function
(5.79) occurs and the states of the internal dynamics now also influence the
input-output behavior. The resulting problem is obvious. For example, weakly
damped or slow eigenmovements caused by the imprecise linearization may
now disturb the originally planned transfer behavior (5.77). In the nonlin-
ear case, these robustness problems are similar. However, they are even more
challenging, because if the model deviates from the real controlled system, the
control loop’s input-output behavior is no longer linear.
Note that input-output linearization requires precise modeling if the
planned linear transfer behavior between the reference variable y ref and the
output variable y is actually to be achieved.
A further insight emerges: it is now clear that the controller (5.76) of the
input-output linearization functions as a compensation controller, because
poles are canceled against zeros. This means that the control loop is no longer
observable. The unobservability is related to the fact that the transfer function
(5.79) has an order reduced by the value n − δ compared to the state-space
representation of the plant (5.77). From linear systems theory, we know that
a state-space model of order n has a transfer function with an order of less
than n if and only if it is not controllable or not observable, or both. Based
on the observability matrix
ĉT ĉText 0
T
ĉ Â ĉT Âext 0
ext
T 2 T 2
M obs = ĉ Â = ĉext Âext 0
.. .. ..
.
. .
T n−1 T n−1
ĉ Â ĉext Âext 0
of the control loop (5.77), we can show its unobservability, because the last
n − δ columns of the observability matrix are zero vectors. Therefore, M obs
is not regular. However, the regularity of M obs is necessary and sufficient for
the observability of the control loop. Note that the plant (5.62) is generally
observable.
In the previous sections, we have only briefly touched on the importance of the
initial dynamics for the control loop’s stability. If we take a closer look, various
questions arise: what kind of stability is required for the internal dynamics?
Is input-to-state stability a necessary prerequisite? What is the significance
of zero dynamics in this context?
First of all, we must emphasize that the internal dynamics
5.2. Input-Output Linearization 399
żδ+1 qδ+1 (z1 , . . . , zδ , zδ+1 , . . . , zn )
.. ..
. = .
żn qn (z1 , . . . , zδ , zδ+1 , . . . , zn )
z1 , . . . , zδ
must be set at zero for this investigation. We thus obtain the zero dynamics
alone; that is, we can analyze the stability of the equilibrium point or points of
the internal dynamics using the zero dynamics. The simplest situation is that
involving a single globally asymptotically stable equilibrium point. If, on the
other hand, several equilibrium points exist, at most local stability is possible.
In the latter case, it must be ensured that this local stability is sufficient for
control-loop operation.
A single globally asymptotically stable equilibrium point of the internal
dynamics is a necessary condition for the global asymptotical stability of the
equilibrium point of the control loop. But is this, along with a globally asymp-
totically stable equilibrium point of the external dynamics, also sufficient to
ensure the global asymptotic stability of the equilibrium of the control loop
consisting of external and internal dynamics? This question is entirely jus-
tified because the external dynamics influence the internal dynamics via the
400 Chapter 5. Nonlinear Control of Nonlinear Systems
whose matrix Âext we assume to possess only eigenvalues with negative real
parts is
(1) asymptotically stable if and only if the equilibrium point z int,eq = 0 of the
zero dynamics ż int = q(0, z int ) is asymptotically stable and all functions
qi have bounded derivatives in a neighborhood of the origin,
(2) globally asymptotically stable if the equilibrium point z int,eq = 0 of the
zero dynamics ż int = q(0, z int ) is globally asymptotically stable and the
internal dynamics ż int = q(z ext , z int ) with its input variable vector z ext
are input-to-state stable,
(3) globally exponentially stable if and only if the equilibrium point z int,eq = 0
of the zero dynamics ż int = q(0, z int ) is globally exponentially stable and
all functions qi have bounded derivatives.
With the result above, we have established that the stability of the equilibrium
point z eq = 0 of the input-output linearized system is essentially determined
by the zero dynamics. Notice that the requirement for bounded derivatives of
the functions qi in Statement (1) is satisfied if the functions qi are continuously
differentiable in a neighborhood of the origin.
5.2. Input-Output Linearization 401
yi = ci (x),
m
X
ẏi = La ci (x) + Lbk ci (x) uk ,
| {z }
k=1
0
Xm
ÿi = L2a ci (x) + Lb La ci (x) uk ,
| k {z }
k=1
0
..
. (5.83)
m
X
(δ −1) δi −1
yi i = La ci (x) +Lb Lδi −2 ci (x) uk ,
| k a{z }
k=1
0
Xm
(δi ) δi
yi = La ci (x) + Lb Lδi −1 ci (x) uk .
| k a{z }
k=1
6= 0 for at
least one k
402 Chapter 5. Nonlinear Control of Nonlinear Systems
In this sequence of derivatives, all Lie derivatives Lbk Lia ci (x) with respect to
(δ )
the vectors bk , k = 1, . . . , m, are equal to zero. Only in the derivative yi i , at
least one of these Lie derivatives is unequal to zero. Therefore, in a manner
similar to the SISO case, we will define the relative degree δi belonging to the
output value yi , such that
Lbk Ll−1
a ci (x) = 0, l = 1, . . . , δi − 1
and
δi −1
Lbk La ci (x) 6= 0 (5.84)
hold for at least one k ∈ {1, . . . , m}.
Now we will perform this computation for all output variables yi , . . . , ym ,
and thus determine the corresponding relative degrees δi , . . . , δm as well as
the m equations
m
X
(δ1 )
y1 = Lδa1 c1 (x) + Lbk Lδa1 −1 c1 (x)uk ,
k=1
Xm
(δ2 )
y2 = Lδa2 c2 (x) + Lbk Lδa2 −1 c2 (x)uk ,
k=1 (5.85)
..
.
m
X
(δm )
ym = Lδam cm (x) + Lbk Lδam −1 cm (x)uk .
k=1
The circles on the vectors ẙ and c̊ symbolize the multiple derivatives y (δi ) and
Lδai ci (x) of the vector elements.
The relationship (5.86) is the key equation for the exact input-output
linearization of MIMO systems. Obviously, if the decoupling matrix D(x) is
regular, we can introduce a new input variable vector v ∈ IRm with
which, if inserted into equation (5.86), not only linearizes the input-output
behavior of the resulting system to
ẙ = v,
i. e.
(δ1 )
y1 = v1 ,
(δ2 )
y2 = v2 ,
.. (5.88)
.
(δm )
ym = vm ;
it also completely decouples the effect of the input variables vi on the deriva-
(δ )
tives yi i and thus the output variables yi . This means that each input vari-
able vi influences only one output variable yi .
From equation (5.88), the output variables yi are obtained by the δi -fold
integration of the new control variables vi . Each of the m equations thus
represents an integrator chain of length δi . If we select the actuating variables
vi as control laws
(δi −1) (δi −2)
vi = −ai,δi−1 yi − ai,δi−2 yi − . . . − ai,0 yi + Vi · yref,i ,
i = 1, . . . , m
(5.89)
with the reference variables yref,i , the result is control loops, to which any
dynamics
(δi −1) δi −1
yi = ci (x), ẏi = La ci (x), ..., yi = La ci (x)
into equation (5.89) and subsequently equation (5.87), we obtain the control
law
404 Chapter 5. Nonlinear Control of Nonlinear Systems
Lδa1 c1 (x)
+ . . . + a1,1 La c1 (x) + a1,0 c1 (x) − V1 · y ref,1
δ
L 2 c2 (x) + . . . + a2,1 La c2 (x) + a2,0 c2 (x) − V2 · y ref,2
−1 a
u = −D (x) .. ,
.
δm
La cm (x) + . . . + am,1 La cm (x) + am,0 cm (x) − Vm · yref,m
(5.90)
is called the vector relative degree of the system if the following applies:
l−1
(1) Lbk La ci (x) = 0, i, k = 1, . . . , m, l = 1, . . . , δi − 1.
(2) The m×m decoupling matrix D(x) is regular.
The functions
tδ+1 , . . . , tn
must be selected in such a way that the mapping
z = t(x)
follows. At this point, recall that the total relative degree δ in the equation
above satisfies the relation
δ = δ1 + δ2 + . . . + δm .
The output variable vector in the transformed system from equation (5.92)
above is given by
z1
zδ1 +1
y= zδ1 +δ2 +1 .
.
..
zδ1 +δ2 +...+δm−1 +1
∂ti (x)
Lbk ti (x) = bk (x) = 0, i = δ + 1, . . . , n, k = 1, . . . , m, (5.94)
∂x
in many cases cannot all be fulfilled. The reason for this problem is that there
are m(n−δ) coupled partial differential equations for n−δ functions ti instead
of n − δ single partial differential equations in the SISO case.
Inserting
x = t−1 (z) (5.95)
into equation (5.92), using
m
X
ϕi (z, u) = Lδai ci (t−1 (z)) + δi −1
Lbk La ci (t−1 (z))uk , i = 1, . . . , m, (5.96)
k=1
m
X
żδ1 +δ2 = ϕ2 (z, u) = Lδa2 c2 (x) + δ2 −1
Lbk La c2 (x)uk ,
k=1
..
.
m
X
żδ1 +...+δm = ϕm (z, u) = Lδam cm (x) + Lbk Lδam −1 cm (x)uk .
k=1
As expected, the external dynamics of this control loop are stated in the
linear controller canonical form of a MIMO system. The last n − δ differential
equations
ż int = q̂(z, y ref )
which make up the internal dynamics are usually nonlinear, as in the SISO
case. If we satisfy condition (5.94), all q̂i are independent of y ref .
In the case of a total relative degree
δ=n
δ < n,
ẋ = a(x) + B(x) · u + s · d,
y = c(x)
with
a0 + a1 x1 + a2 x21 + a3 x2 1 0
a(x) = 2 2 2 , B(x) = ,
a 4 x1 x2 + a 5 x1 x3 + a 6 x1 x3 0 0
a7 x1 x3 + a8 x1 x23 0 b(x3 )
−ad
x
s= 1,
0 , c(x) =
x2
0
5.2. Input-Output Linearization 411
u1
u2
x2
x3
x1
Fig. 5.15: Combustion engine with variables u1 and u2 representing the ignition
timing and the throttle position as control variables, as well as the rotational speed
x1 , a variable x2 representing the air-mass flow, and the air pressure x3 in the intake
manifold as state variables
with
412 Chapter 5. Nonlinear Control of Nonlinear Systems
La c1 (x) = a0 + a1 x1 + a2 x21 + a3 x2 ,
Lb1 c1 (x) = 1,
Lb2 c1 (x) = 0,
Ls c1 (x) = −ad ,
and
with
and
Ls La c2 (x) = −ad (a4 x2 + 2a5 x1 x3 + 2a6 x1 x23 ).
This means the relative degree of the second state variable is δ2 = 2 and the
vector relative degree becomes
δ = [1 2].
in this case, and the two new input variables v1 and v2 yields
ẏ1 = v1 − ad d,
(5.99)
ÿ2 = v2 − ad (a4 x2 + 2a5 x1 x3 + 2a6 x1 x23 )d.
Here, formula (5.99) deviates from that of equation (5.88) due to the additional
disturbance d. Using
v1 = −a1,0 y1 + V1 y ref,1 = −a1,0 x1 + V1 y ref,1 ,
v2 = −a2,1 ẏ2 − a2,0 y2 + V2 y ref,2 = −a2,1 ẋ2 − a2,0 x2 + V2 y ref,2
= −a2,1 (a4 x1 x2 + a5 x21 x3 + a6 x21 x23 ) − a2,0 x2 + V2 y ref,2
in the control law (5.98), we can impose any desired input-output dynamics
ẏ1 + a1,0 y1 = V1 y ref,1 − ad d,
ÿ2 + a2,1 ẏ2 + a2,0 y2 = V2 y ref,2 − ad (a4 x2 + 2a5 x1 x3 + 2a6 x1 x23 )d
on the system using the freely selectable parameters a1,0 , a2,1 , and a2,0 . The
disturbance d affects both differential equations.
holds, the system can be transformed via the new input variable v and the
control variable transformation
− α(x) + v
u=
β(x)
into the Brunovsky canonical form
ż = Az + b · v,
where
0 1 0 ··· 0 0
0
0 1 ···
0
0
. .. ..
.. . . .
..
A= . ,
. .. .
b=
. .
0
0 0 ··· 1
0
0 0 0 ··· 0 1
Its block diagram is shown in Figure 5.16. The output variable y can be stated
as h i
y = cT z, cT = 1 0 · · · 0 .
If the above transformations are feasible, which is the case if δ = n and
β(x) 6= 0, we can thus describe the nonlinear system using an equivalent
linear state-space model. The following definition summarizes this.
5.3. Full-State Linearization 415
v zn zn−1 zn−2 z3 z2 z1
1 1 1 ... 1 1
s s s s s
Lb λ(x) = 0,
Lb La λ(x) = 0,
.. (5.103)
.
n−2
Lb La λ(x) = 0,
and
n−1
Lb La λ(x) 6= 0, (5.104)
∂g(x) ∂f (x)
[f , g] = f (x) − g(x)
∂x ∂x
of two vector functions f (x) and g(x). The Lie bracket is a special derivative
operator for vector functions, which we have already encountered in Section
3.1.5 on p. 228. If we nest Lie brackets, we can abbreviate this by writing
adif g = [f , adi−1
f g] with ad0f g = g for i = 1, 2, . . . .
This leads to
ad0f g = g,
adf g = [f , g],
ad2f g = [f , [f , g]],
ad3f g = [f , [f , [f , g]]],
..
.
The ad operator will make our calculations below much simpler. In addition
to this operator and the Lie bracket, we also need the identity[6]
of a function h(x).
So equipped, we can achieve our goal to transform equation (5.103) into a
system of homogeneous linear partial differential equations of the first order.
Using the identity (5.105) in the form
and
[6]
This identity is sometimes called the Jacobi identity [422]. However, the common
form of the Jacobi identity is
Lb λ(x) = 0,
Lb La λ(x) = 0,
Lada b λ(x) = 0.
Inserting
Lb λ(x) = 0,
Lb La λ(x) = 0,
Lb L2a λ(x) = 0
Lad2a b λ(x) = 0.
∂λ(x)
Lb λ(x) = b = 0,
∂x
∂λ(x)
Lada b λ(x) = [a, b] = 0,
∂x
∂λ(x) (5.106)
Lad2a b λ(x) = [a, [a, b]] = 0,
∂x
..
.
∂λ(x)
Ladn−2 b λ(x) = [a, [a, . . . [a, b] . . .]] = 0
a
∂x
and
n−1 n−1
Ladn−1
a b λ(x) = (−1) Lb La λ(x) 6= 0 (5.107)
for equation (5.104). We have shown so far that a solution of equations (5.103),
(5.104) always fulfills equations (5.106), (5.107) as well. The reverse conclusion
418 Chapter 5. Nonlinear Control of Nonlinear Systems
is also correct [203, 422, 465]. Thus, equations (5.103), (5.104) and equations
(5.106), (5.107) are equivalent.
For us to solve the partial differential equations (5.106), it is very useful if
they are linear and of the first order. In practice, however, these differential
equations are often not simple to solve. In addition, their solutions are often
very complex and extremely lengthy when the system (5.100) is of higher
order.
We can examine the solvability of the above system of partial differential
equations (5.106) as well as the fulfillment of condition (5.107) and the asso-
ciated full-state linearizability [197, 198, 203, 206, 232], i. e. the existence of a
linearizing output with the relative degree δ = n, using
Theorem 64 (Full-State Linearizability of SISO Systems). A con-
trol-affine system ẋ = a(x) + b(x) · u with x ∈ Dx,def ⊆ IRn and u ∈ IR is
full-state linearizable if and only if
h i
(1) rank( b ada b ad2a b · · · ada n−1
b ) = n holds and
(2) all Lie brackets
[adia b, adka b] with i, k ∈ {0, 1, . . . , n − 2}
are linear combinations of the vectors
n−2
b, ada b, . . . , ada b.
v − Lna λ(x)
u= n−1
Lb La λ(x)
with the new input variable v if the artificial output y = λ(x) fulfills the partial
differential equations
Lb λ(x) = 0,
Lada b λ(x) = 0,
Lad2a b λ(x) = 0,
..
.
Ladn−2
a b λ(x) = 0
Note that the requirement stated in equation (5.107) and the last equation in
Theorem 65 are equivalent. Furthermore, the conditions of Theorem 65 can
always be fulfilled, since it presupposes full-state linearizability.
As mentioned above, verifying the full-state linearizability of higher order
systems using Theorem 64 can be very complex and often futile. In particular,
Condition (2) from Theorem 64, the involution condition, restricts the number
of full-state linearizable systems and is often time-consuming to verify.
If we have succeeded in transforming a full-state linearizable system into
the Brunovsky canonical form, we can immediately design a linear control
for the transformed system. This is especially simple because the Brunovsky
canonical form consists of a chain of n integrators.
Deep boreholes in the earth’s crust are mainly used to access oil, gas, and
geothermal sources. The drilling technique is similar in all cases. The rotary
drilling technique uses a drilling rig, at the lower end of which a revolving drill
bit is installed as shown in Figure 5.17. A drilling fluid is pumped through the
interior of the drill pipe to the drill bit. This liquid cools and lubricates the drill
bit. At the same time, the liquid streams up into the borehole transporting
the milled rock to the surface. It is flushed up in the annular gap between
the drill pipes and the borehole wall. The borehole wall is covered with steel
pipes so it does not collapse. The drill pipe is turned by a carrier rod by
means of a rotary table driven by an electric motor. The rotary table has a
large flywheel mass in order to ensure that the speed of the drill pipe is as
420 Chapter 5. Nonlinear Control of Nonlinear Systems
on the drill bit and are undesirable because they harm the bit and the drill
pipe and, in the worst case, can cause parts of the drill string to shear off.
Therefore, vibrations of this kind are suppressed by applying a control system
[2, 69, 412].
We can approximately model the drill pipe with two flywheels connected
by a torsion spring, as shown in Figure 5.18. The flywheels’ movements are
viscously damped by the drilling fluid, where d1 and d2 are the damping
constants. Here M drive is the driving torque at the rig. The load torque M load
at the bit is caused by the stick-slip friction on the rock during the milling
process. The torque caused by the friction can be modeled by
2
M fr (Θ̇2 ) = Mc (k1 Θ̇2 e−k2 |Θ̇2 | + arctan(k3 Θ̇2 ))
π
with Mc = 0.5 kN m, k1 = 9.5 s rad−1, k2 = 2.2 s rad−1, and k3 = 35.0 s rad−1.
Furthermore, an unknown, time-dependent torque M d (t) is added to the fric-
tion torque to formulate the load torque
where J1 summarizes the moments of inertia of the rotary table, the electric
motor, and its gear, and J2 summarizes the moment of inertia of the lower
drill pipe and that of the bit. The term
c(Θ1 − Θ2 )
describes the spring force, where c = 473 N m rad−1 is the spring constant.
The viscous friction forces
d1 Θ1 , M drive
J1
d2
J2
Θ2 , −M load
Fig. 5.18: Simplified and abstracted model of the drill pipe with two concentrated
masses, their moments of inertia J1 and J2 , and a torsion spring with spring constant
c
M fr
Θ̇2
ẋ = a(x) + b · u + s · M d (5.109)
from equation (5.108), where the disturbance is denoted by M d (t) and
−a2 x1 − a1 x2
a(x) = x1 − x3 ,
−k2 |x3 |
a3 x2 − a4 x3 −a5 x3 e − a6 arctan(k3 x3 )
| {z }
− sM fr (x3 )
b 0
b= 0, s = 0.
0 −s
The system’s parameters are
c d1 c d2
a1 = , a2 = , a3 = , a4 = ,
J1 J1 J2 J2
2Mc k1 2Mc 1 1
a5 = , a6 = , b= , s= .
πJ2 πJ2 J1 J2
To determine whether the system (5.109) is full-state linearizable, we will
apply Theorem 64 and begin by calculating
∂b ∂a
ada b = [a, b] = a− b
∂x ∂x
−a2 −a1 0 b a2 b
= − 1 0 −1 0 = −b ,
0 a3 −a4 − sMfr′ (x3 ) 0 0
∂[a, b] ∂a
ad2a b = [a, [a, b]] = a− [a, b]
∂x ∂x
−a2 −a1 0 a2 b a22 b − a1 b
= − 1 0 −1 −b = −a2 b ,
′
0 a3 −a4 − sMfr (x3 ) 0 a3 b
where
∂Mfr (x3 )
Mfr′ (x3 ) =
∂x3
holds. This yields
1 a2 a22 − a1
rank([b ada b ad2a b]) = rank
b 0
−1 −a2 = 3,
0 0 a3 l
424 Chapter 5. Nonlinear Control of Nonlinear Systems
and Condition (1) of Theorem 64 is fulfilled. Since the vectors b, ada b, and
ad2a b are constant, all Lie brackets result in
0
i k
[ada b, ada b] = 0
for i, k ∈ {0, 1},
0
i. e. they are trivial linear combinations of the vectors b and ada b. Thus
Condition (2) of Theorem 64 is also fulfilled and the system can be full-state
linearized.
It is interesting to note that in the case of a disappearing spring constant
c, i. e. where a3 = 0, the drilling system is no longer full-state linearizable.
In this unrealistic case, the spring is omitted and the connection between the
flywheels is broken. Then the control variable u has no influence on the state
x3 , which is why the plant is not controllable and therefore is not full-state
linearizable.
We can use the partial differential equations
∂λ ∂λ
Lb λ(x) = b= b = 0,
∂x ∂x1
(5.110)
∂λ ∂λ ∂λ
Lada b λ(x) = ada b = a2 b − b=0
∂x ∂x1 ∂x2
y = λ(x) = x3
L2a λ(x)
which transforms the system (5.109) into the Brunovsky canonical form can
be formulated as
x3
z = t(x) = a3 x2 − a4 x3 − sMfr (x3 ) .
′
a3 (x1 − x3 ) − (a4 + sMfr (x3 ))(a3 x2 − a4 x3 − sMfr (x3 ))
∂t(x) ∂t(x)
ż = ẋ = · a(t−1 (z)) + b(t−1 (z)) · u + s(t−1 (z)) · M d ,
∂x ∂x x=t−1 (z)
where
0 0 1
∂t(x)
′
= 0 a 3 −(a 4 + sM fr (z 1 ))
∂x x=t−1 (z)
a3 −a3 (a4 +sMfr′ (z1 )) −a3 +(a4 +sMfr′ (z1 ))2−sMfr′′ (z1 )z2
∂ 2 Mfr′ (z1 )
Mfr′′ (z1 ) =
∂z12
∂t(x)
+ · s(t−1 (z)) · M d (5.111)
∂x
x=t−1 (z)
is of rank n, and
(3) all sets
n o
b1 , . . . , bm ,
n o
b1 , . . . , bm , ada b1 , . . . , ada bm ,
..
.
n o
b1 , . . . , bm , ada b1 , . . . , ada bm , . . . , adan−2 b1 , . . . , adan−2 bm
are involutive.
Recall that a set
[hi , hj ] , i, j ∈ {1, . . . , m}
of the functions hk (x). The coefficients αk (x) are scalar functions which must
be appropriately determined.
As in Theorem 64, which deals with the SISO case, Theorem 66 is not
constructive. However, we can once again derive a theorem in a way similar
to the SISO case, one which allows us to calculate the linearizing outputs
λ1 (x), . . . , λm (x) and the associated diffeomorphism. This is
428 Chapter 5. Nonlinear Control of Nonlinear Systems
if the artificial output variable vector λ = [λ1 · · · λm ]T fulfills the partial dif-
ferential equations
Lbi λj = 0,
Lada bi λj = 0,
Lad2a bi λj = 0,
..
.
Ladδj −2 b λj = 0
a i
r0 = rank(M 0 ) = m,
r1 = rank(M 1 ) − rank(M 0 ),
..
.
rn−1 = rank(M n−1 ) − rank(M n−2 )
holds.
Note that it is not necessary to know the artificial output variable vector
λ(x) when applying Theorem 68. A direct result of the theorem above is the
sequence
δ1 ≥ δ2 ≥ · · · ≥ δm .
To perform a full-state linearization of a specific system, we follow the proce-
dure below:
Step 1: Using Theorem 66, check whether the system is full-state lineariz-
able.
Step 2: Based on Theorem 68, determine the vector relative degree δ.
Step 3: Solve the partial differential equations from Theorem 67 and obtain
the linearizing output variable vector λ.
Step 4: By means of the output variable vector λ, determine the diffeomor-
phism z = t(x) from Theorem 67 and the input variable transfor-
mation u = −D−1 (x) · (c̊(x) − v).
Step 3 is the most difficult and complex step, because the partial differential
430 Chapter 5. Nonlinear Control of Nonlinear Systems
equations can often be solved only with great effort, as is the case for SISO
systems.
Theorems 64 and 66 provide us with criteria we can use to determine
whether a control-affine system can be full-state linearized and thus trans-
formed into nonlinear controller canonical form. From Theorem 45, p. 218,
we know that systems in nonlinear controller canonical form are always con-
trollable. Therefore, Theorems 64 and 66 also enable us to determine the
controllability of a control-affine system.
can be full-state linearized if and only if they can be transformed into the
nonlinear controller canonical form and β(x) 6= 0 applies. Thus we obtain
Theorem 69 (Flatness of Full-State Linearizable SISO Systems). A
system
This results in
y (n) − Lna c(x) y (n) − Lna c t−1 y, ẏ, . . . , y (n−1)
u= n−1 = n−1
Lb La c(x) Lb La c t−1 y, ẏ, . . . , y (n−1) (5.116)
= Ψ2 y, ẏ, . . . , y (n) .
Therefore, with equations (5.115) and (5.116), we have obtained the flat sys-
tem representation.
In the case of control-affine SISO systems, the property of flatness does not
reveal any significant new findings. This is because the control-affine system
is flat if it can be full-state linearized and vice versa. In particular, as shown
above, the flat system representation can be determined directly from the
solution of the full-state linearization problem.
However, in the case of control-affine MIMO systems, flatness and state
linearizability are no longer equivalent to each other, as is the case for SISO
systems. This is because the following theorem, which we can readily derive
from the nonlinear controller canonical form and Theorem 51 on p. 257, applies
merely sufficiently.
Theorem 70 (Flatness of Full-State Linearizable MIMO Systems).
A system
m
X
ẋ = a(x) + bi (x) · ui , x ∈ Dx,def ⊆ IRn , ui ∈ IR, i = 1, . . . , m,
i=1
is flat if it is full-state linearizable. If the system has the total relative degree
n for an output y, then y is a flat output.
Consequently, it may be that a control-affine MIMO system cannot be full-
state linearized, but is flat nevertheless.
432 Chapter 5. Nonlinear Control of Nonlinear Systems
J Θ̈ = Fz d sin(Θ) − Fx d cos(Θ),
where d is the lever arm acted on by the forces Fx and Fz , meaning d is the
distance between the forces’ point of application and the center of gravity S,
and Θ is the flight angle.
With the state vector
h i x ẋ z ż
x1 x2 x3 x4 x5 x6 = Θ Θ̇ ,
g g g g
the input variables
Fx Fz
u1 = , u2 = − 1,
mg mg
and the parameter
J
ε= ,
mgd
we obtain the rocket model
x2 0 0
0
1
0
x4 0 0
ẋ = + u1 + u2 . (5.117)
0 0 1
x6 0 0
sin (x5 ) cos (x5 ) sin (x5 )
−
| ε
{z } | {zε } | ε
{z }
a b1 b2
5.3. Full-State Linearization 433
d
S
Fz
Fx
z
Fig. 5.20: Rocket with propulsion forces Fx and Fz and inclination angle Θ
Now we will determine whether the set (5.118) is involutive. For this, we will
first calculate the Lie bracket
0
0
h i 0
ada b1 , b2 =
. (5.119)
0
0
2 2
cos (x5 ) − sin (x5 )
ε2
For the set (5.118) to be involutive, i. e. for Condition (3) of Theorem 66 to be
fulfilled, among other factors, the vector (5.119) must be a linear combination
h i
ada b1 , b2 = α1 (x)·b1 (x)+α2 (x)·b2 (x)+α3 (x)·ada b1 (x)+α4 (x)·ada b2 (x)
(5.120)
of the vectors of the set (5.118). Obviously, αi (x) = 0 must hold for all αi
so that the first five elements of vector (5.119) are equal to zero. As a result,
the sixth element of vector (5.119) should also be zero, which is not the case.
Therefore, we cannot fulfill equation (5.120) and consequently vector (5.119)
is not a linear combination of the vectors of set (5.118); thus, this set is not
involutive. This means that Condition (3) of Theorem 66 is not fulfilled and
the rocket model cannot be full-state linearized.
But it is flat, as already mentioned. We can prove this using the output
" # " #
y1 x1 + ε sin(x5 )
y= = . (5.121)
y2 x3 + ε cos(x5 )
εÿ1
x1 = y1 − q = Ψ1,1 (y, ẏ, ÿ), (5.125)
2
ÿ12 + (ÿ2 + 1)
ε(ÿ2 + 1)
x3 = y2 − q = Ψ1,3 (y, ẏ, ÿ). (5.126)
ÿ12 + (ÿ2 + 1)2
Inserting equation (5.124) yields the function u = Ψ 2 (y, ẏ, . . . , y (4) ) which
we are looking for. Thus, we have proven that the system is flat.
y = g(x) = h(x)
is flat; from now on, we will write y = h(x) for the output function if y is a
flat output and otherwise we will formulate it as y = g(x). If y is flat, the
flat system representation
provides us with the feedforward control law (5.127) in dependence on the out-
put variable vector y and its derivatives. Figure 5.21 shows the corresponding
block diagram, where the reference variable is y ref .
If a reference output signal y ref (t) is predefined, i. e. a signal y ref (t) and
its derivatives
(β+1)
ẏ ref (t), . . . , y ref (t)
in equation (5.127) are predetermined, and an exact model which is unaffected
by a disturbance exists, the identity y(t) = y ref (t) holds for the system’s
output signal. Note that not all reference variable signals y ref (t) are suitable.
In fact, they must be differentiable at least β+1 times. Thus, reference variable
steps are not allowed.
In practice, it will rarely or never be the case that an exact model exists
and that there is an absence of disturbances. This means the output value y(t)
will deviate from the reference value y ref (t). To solve this problem, a feedback
control is usually superimposed on the feedforward control, as shown in Figure
5.22.
The feedback control eliminates disturbances affecting the plant and also
compensates for the effects of discrepancies between the real process and the
model on which the flat system representation is based. Feedback control is
particularly important in the case of unstable plants. In the simplest case,
PID controllers can be used. When complex nonlinearities occur, the use of
nonlinear controllers such as gain-scheduling controllers may be necessary.
So far, we have only examined the case of a real flat output y, in which the
design of a flat feedforward controller is obvious. However, if the real output
y = g(x) is not flat, and we must use a fictitious flat output y f = h(x) for
the control, the design of a controller of this type is usually more complex.
This is discussed in the following section.
y ref u ẋ = f (x, u) y
(β+1)
u = Ψ 2 (y ref , ẏ ref , . . . , y ref )
y = h(x)
Feedforward uf
controller
uf = Ψ 2 (y ref , . . .)
e Feedback uc u ẋ = f (x, u) y
y ref controller y = h(x)
Usually, for a flatness-based control, we use the reference signal y ref (t) of the
real output variable y(t) as an input variable. If the real output y is not
flat, we must convert it into a fictitious flat output y f or vice versa. In the
following, we assume this situation and that we know a fictitious flat output
yf .
By inserting the flat system equation
(β)
x = Ψ 1 (y f , ẏ f , . . . , y f ) (5.128)
into the equation y = g(x) for the system’s output, we obtain the desired
conversion rule between y f and y:
(β)
y = g Ψ 1 y f , ẏ f , . . . , y f
(5.129)
(γ)
= Γ y f , ẏ f , . . . , y f ,
For example, we can set all these values at zero and then use the progression
y f (t) of the flat output to calculate the control variable
438 Chapter 5. Nonlinear Control of Nonlinear Systems
(β+1)
u = Ψ 2 y f , ẏ f , . . . , y f .
resulting from equation (5.128) is fulfilled. In the SISO case, β = n−1 applies.
Therefore, we have n values
(n−1)
y f (0), . . . , y f (0),
(j)
In the MIMO case, there may be more initial values yf,i (0), i = 1, . . . , r and
j = 0, . . . , β than initial states xi (0). In this case, the system of equations
(5.130) may be underdetermined.
Let us now examine how we can determine the fictitious flat output signal
y f (t) and its derivatives
(γ)
ẏ f (t), . . . , y f (t)
from a given real output signal y(t) using equation (5.129). As already stated,
equation (5.129) is a differential equation in implicit form, i. e. the highest
(γ)
order derivative y f is not explicitly given. However, if equation (5.129) can
be transformed into the explicit form
(γ) (γ−1)
y f = Γ −1 y f , ẏ f , . . . , y f ,y , (5.131)
5.4. Feedforward and Feedback Control of Flat Systems 439
By specifying the real output signal y(t), we can then determine the pro-
gression of the fictitious flat output y f (t). Subsequently inserting y f into the
equation
(β+1)
u = Ψ 2 y f , ẏ f , . . . , y f (5.132)
Feedforward uf
controller
uf = Ψ2 (y f,ref , . . .)
used to eliminate residual minor deviations from the reference output signal
resulting from causes such as model inaccuracies or external disturbances.
If we do not succeed in solving the implicit differential equation (5.129),
or if it is unstable and presents us with problems, we can proceed as follows.
Instead of a real signal y(t), we can plan for a progression of the fictitious flat
output y f (t), namely y f,ref (t). This is inserted into the implicit differential
equation (5.129), and we then calculate the resulting reference course of the
real output y ref (t). If it meets our requirements and possible constraints
we have found a feasible solution to the control problem. If it does not meet
them, we must vary the reference progression of the fictitious output y f,ref (t)
until y ref (t) is in the desired form and fulfills the constraints (5.133).
When selecting a fictitious output signal y f,ref (t), the initial value y f,ref (0)
and the final value y f,ref (T ) must correspond to the specified initial value
y ref (0) and the specified final value y ref (T ), i. e.
ẋ = f (x, u),
y = g(x)
y f = h(x)
5.4. Feedforward and Feedback Control of Flat Systems 441
Linear systems which are controllable are flat and vice versa. This has already
been explained in Section 3.2.4, Theorem 49 on p. 251. In the following, we
will assume that a controllable linear system is present in controller canonical
form
0 1 0 ··· 0 0
0
0 1 ··· 0
0
. . . . . .
ẋ = ..
.. .. . . .. x +
.. u,
(5.136)
0
0 0 ··· 1
0
−a0 −a1 −a2 · · · −an−1 1
h i
y = b0 b1 · · · bm 0 · · · 0 x
or has been transformed into it. As we know from Section 3.2.5, p. 251 et seq.,
the real output y is only flat if
y = b0 x1
y f = αx1
yf = x1 ,
ẏf = ẋ1 = x2 ,
ÿf = ẋ2 = x3 ,
..
.
(n−1)
yf = ẋn−1 = xn
applies; thus, for the first equation of the flat system representation, we obtain
yf
(n−1)
ẏ f
x = Ψ 1 y f , ẏ f , . . . , yf = .. .
.
(n−1)
yf
From the controller canonical form (5.136), the second flat system equation
also directly follows as
u = a0 x1 + a1 x2 + . . . + an−1 xn + ẋn ,
i. e.
(n−1) (n)
u = a0 y f + a1 ẏ f + . . . + an−1 yf + yf . (5.137)
The differential equation describing the relation between the real and fic-
titious output can also be simply determined as
y = b0 x1 + b1 x2 + . . . + bm xm+1
(m)
(5.138)
= b0 y f + b1 ẏ f + . . . + bm yf .
y 6= b0 y f
holds, it is important for the transfer function of system (5.136) to have only
zeros with a negative real part, because in this case the differential equation
(5.138) has a stable solution. The fictitious flat output y f required by the
feedforward control law is determined from the differential equation (5.138)
by specifying the real output signal y(t) as the reference signal y ref (t) and by
solving the differential equation (5.138).
For the critical case in which y 6= y f holds and the system (5.136) pos-
sesses zeros with a nonnegative real part, the differential equation (5.138) has
unstable solutions. In this case, its solution y f can only be used for a given
reference signal y ref (t) in the feedforward control law (5.137) if the signal y f (t)
does not assume values which are excessively high.
If the latter occurs, as in the nonlinear case, it is a valid procedure to plan a
fictitious reference output signal yf,ref (t). In this case, the initial value yf,ref (0)
and the final value yf,ref (T ) at time T are selected so that these two values
at least correspond to the reference values y ref (0) and y ref (T ). Suppose that,
both at time t = 0 and t = T , all derivatives of yf,ref and y ref are identical to
zero. This is typical of a change from one operating point to another. From
equation (5.138) it then follows that
1
yf,ref (0) = y ref (0)
b0
and
1
yf,ref (T ) = y ref (T )
b0
as well as from equation (5.137)
a0
u(0) = a0 y f,ref (0) = y ref (0),
b0
a0
u(T ) = a0 y f,ref (T ) = y ref (T )
b0
for the required control variables at the operating points.
In rare but dramatic cases, the control hydraulics of an aircraft may fail. As a
consequence, the elevator, rudder, and ailerons can no longer be operated by
the pilots. In this case the rudders are freely mobile, free of torque, and there-
fore in an approximately neutral position. A similar situation occurs when the
elevator, rudder, ailerons, and their trim tabs become stuck or damaged.
Examples of such emergencies are the flight of a Lockheed L-1011 TriStar
passenger aircraft [317] and an Airbus A300 cargo aircraft [194] whose hy-
draulic systems and flight control failed due to the hit of a surface-to-air
444 Chapter 5. Nonlinear Control of Nonlinear Systems
Yaw axis
Pitch axis
Fr Θ
Roll axis
Fl
ϕ
Fig. 5.24: An equal variation of the engine thrusts F r and F l causes a torque around
the pitch axis and, hence, a change of the pitch angle Θ. The thrust of the inner
engines of a Boeing 747-200 will act on the aircraft with a lever arm of 4.45 m and the
outer engines act with just 1.63 m below the pitch axis. Similarly, different variations
of the engine thrusts F r and F l cause a change in the yaw angle ϕ. The center of
gravity S of the aircraft lies at the intersection of its three axes.
missile. Both flights became emergencies and it was only possible to land the
aircraft due to the pilots’ considerable flight experience. To prevent the im-
pending crash, the pilots used the propulsion engines as the only remaining
control variables. A change in engine thrust can influence the direction of
flight, especially the angle of ascent ζ, i. e. the altitude of the aircraft. Fig-
ure 5.24 and Figure 5.25 illustrate how the angle of ascent can be influenced,
based on the fact that the engines are usually below the center of gravity of
the aircraft S and a torque around S can thus be generated. Furthermore, the
yaw angle ϕ can be influenced by different engine thrusts F r and F l on the
starboard and port sides, making a curved flight possible.
There have been a number of similar occurrences [62], not all of which have
ended as well as the ones mentioned above. A McDonnell Douglas DC-10-10
was destroyed in an emergency landing and 111 people died [331]; a Boeing
747-100SR crashed into a mountain as a result of hydraulic failure and 520
people were killed [8]. As a response to these accidents and the fact that an
aircraft with several engines can be controlled by means of the engines’ thrusts,
various controllers have been developed which support pilots in controlling the
aircraft in emergencies such as this [14, 64, 176, 210, 211, 340].
As a concrete example, we will examine the failure of the control hydraulics
in a Boeing 747-200 and design a flatness-based feedforward control of the an-
gle of ascent using the four engines. We will limit ourselves to the longitudinal
movement of the airplane shown in Figure 5.25, where we are interested in the
velocity deviation x1 from the intended flight velocity v0 , the descent velocity
x2 = w, the pitch rate x3 = Θ̇, and the pitch angle x4 = Θ. We can influence
5.4. Feedforward and Feedback Control of Flat Systems 445
Horizon Θ
−ζ α
v0
Fig. 5.25: Aircraft at its velocity v0 , its descent velocity w in the direction of the
aircraft’s yaw axis, its pitch angle Θ, and its angle of attack α. The angle of ascent
is ζ = Θ − α which, in this case, is negative as the plane sinks.
these variables by changing the thrust x5 of all four engines combined, which
is regulated by a secondary control. Its reference value x5,ref is used as control
variable u. As a linearized model of longitudinal motion [340] we will use
−1.08·10−2 0.106 −8.42 −9.77 3.91·10−6 0
−0.155
−0.634 85.3 −1.01 −1.77·10−7
0
−4 −3
ẋ = 7.16·10 −5.83·10 −0.504 7.95·10 −4 −8
7·10 x + 0 u,
0 0 1 0 0 0
0 0 0 0 −0.667 0.667
(5.139)
λ1 = −0.6670,
λ2/3 = −0.5718 ± j0.7084,
λ4/5 = −0.0026 ± j0.1265.
The eigenvalue λ1 reflects the dynamics of the underlying thrust control. The
complex conjugate eigenvalues λ2/3 cause damped fast oscillations of the angle
of attack α. On the other hand, λ4/5 cause slow, very weakly damped oscil-
lations, so-called phugoids, where the angle of attack remains nearly constant
446 Chapter 5. Nonlinear Control of Nonlinear Systems
and the angle of ascent ζ and speed v oscillate. Both types of oscillation are
of course undesirable.
Our goal is to adjust the angle of ascent by means of an autopilot which
uses a flat feedforward control. For this purpose we must determine a flat
output of the system. From Theorem 49 on p. 251, we know that a linear
system is flat if it is controllable. In this case, we can transform the system
into the controller canonical form, whose first state variable xccf,1 constitutes
a flat output.
Therefore, we will first determine the controllability matrix
0 2.6080 · 10−6 −2.1733·10−6 1.5620·10−6 −1.1786·10−6
0
−1.1806·10−7 3.7320·10−6 −6.5746·10−6 6.0408·10−6
M contr = −8 −8 −8 −8
0 4.6690·10 −5.2118·10 2.3763·10 1.3576·10
−8 −8
−8
0
0 4.6690·10 −5.2118·10 2.3763·10
0.667 −0.44489 0.29674 −0.19793 0.13202
whose determinant
is very low. This means that the aircraft is very difficult to steer using the
engines alone, which is hardly surprising.
With
h i
−1
0 · · · 0 1 M contr
h i
−1
0 · · · 0 1 M contr A
−1 −1
xccf = T x, T =
.. ..
,
h . .
i
−1 n−1
0 · · · 0 1 M contr A
we can transform system (5.139), (5.140) into the controller canonical form
0 1 0 0 0 0
0 0 1 0 0 0
ẋccf = 0
0 0 1 0 xccf + 0 u,
0 0 0 0 1 0
−0.008843 −0.02837 −0.5901 −1.617 −1.816 1
h i
y = 10−9 3.825 32.53 5.159 1.394 0 xccf .
(5.141)
5.4. Feedforward and Feedback Control of Flat Systems 447
We know that
y f = xccf,1
i. e. it is stable, y f can be utilized for the flat control without the described
problems. With equation (5.137) and by calculating y f (t) using equation
(5.142) for a given signal y(t), we obtain the control variable
(4) (5)
u = a0 y f + a1 ẏf + a2 ÿ f + a3˙˙˙
yf + a4 yf + yf
(4) (5)
= 0.008843y f + 0.02837ẏf + 0.5901ÿf + 1.617 ˙˙˙
yf + 1.816yf + yf .
(5.143)
In this way, we can generate a control variable signal u(t) for the feedforward
controller by inserting
y f (t) = y f,ref (t)
into equation (5.143).
In the following, the angle of ascent should increase continuously from the
value ζ = y = 0◦ to −1◦ , so that the aircraft sinks constantly in the end with
ζ = −1◦ = −0.01745 rad. For this purpose, we will choose
!
−0.008725 1 − cos( π t) , 0 ≤ t ≤ 300 s,
y ref (t) = 300
−0.01745, t > 300 s,
448 Chapter 5. Nonlinear Control of Nonlinear Systems
Control variable u in kN Angle of ascent y in rad
-0.005
-0.01
-0.015
-0.02
0 50 100 150 200 250 300 350 400 450 500
20
-20
-40
-60
0 50 100 150 200 250 300 350 400 450 500
Time t in s
Fig. 5.26: Time courses of the angle of ascent y and the engine thrust u of the Boeing
747-200 for a transition of the angle of ascent from y = 0 to y = −1◦ = −0.01745 rad
Figure 5.26 shows only the real output, i. e. the angle of ascent, since the flat
output in this case has almost the same progression. Note that the reference
signal y ref (t), as required in Section 5.4.2, can be differentiated twice, meaning
β − γ + 1 times with β = 4 and γ = 3. Its second derivative is not continuous,
since this is not necessary here.
ẋ = f (x, u) (5.144)
with x ∈ Dx,def ⊆ IRn . First of all, we will assume that the system (5.144)
can be full-state linearized and that
y = h(x) (5.145)
5.4. Feedforward and Feedback Control of Flat Systems 449
is a linearizing output. This means that the system (5.144), (5.145) has the
relative degree δ = n. For the linearization, we will again use the Lie derivative
∂h(x)
Lf h(x) = f (x, u)
∂x
and compute
y = h(x),
ẏ = Lf h(x),
ÿ = L2f h(x),
.. (5.146)
.
y (n−1) = Lfn−1 h(x),
y (n) = Lnf h(x) = ϕ(x, u),
of the linearizable system (5.144), (5.145) are independent of the control vari-
able u. Only
v = ϕ(x, u),
450 Chapter 5. Nonlinear Control of Nonlinear Systems
applies with x = t−1 (z) and v = y (n) . Furthermore, we know the expression
x = t−1 (z) = Ψ 1 y, ẏ, . . . , y (n−1) (5.151)
from equation (5.115) on p. 431. Equation (5.150) and equation (5.151) rep-
resent the flat system description of the system (5.144), (5.145). As a result,
any full-state linearizable system (5.144) is flat.
Now we will take the opposite approach and show that any flat system
(5.144), (5.145) can be state linearized. To this end, let us consider the first
equation
x = Ψ 1 y, ẏ, . . . , y (n−1) .
This does not depend on the input signal u or one of its derivatives u(i) ,
which means that all derivatives y (i) , i = 1, . . . , n − 1, fulfill equation (5.147).
Obviously, the identity
z = Ψ −11 (x) = t(x)
holds, where
y
ẏ
z= .. . (5.152)
.
y (n−1)
we can further conclude that y (n) is dependent on the input signal u, since
the derivatives y (i) , i, . . . , n − 1, in equation (5.146) are not. Thus, equation
(5.153) can be transformed into an equation conforming to equation (5.148).
As result, we obtain
With equation (5.152) and equation (5.154), we then obtain the generalized
controller canonical form
z2
..
.
ż = ,
z
n
(5.155)
ϕ̂(z, u)
y = z1
as a system representation equivalent to the flat system representation.
Because we assumed the system to be flat, equation (5.154) can be solved
for u, yielding
u = ϕ̃−1 (y, ẏ, . . . , y (n) ) = Ψ2 (y, ẏ, . . . , y (n) ).
This also ensures that ϕ and ϕ̃ are invertible as well, from which the full-state
linearizability of system (5.155) follows. Consequently, system (5.144) is full-
state linearizable. So, as a generalization of Theorem 69, we can derive [420]
Theorem 72 (Flatness and Linearizability of SISO Systems). A non-
linear system
ẋ = f (x, u), x ∈ Dx,def ⊆ IRn , u ∈ IR,
is flat if and only if it is full-state linearizable. If the system has the relative
degree n with respect to an output y, then y is a flat output.
In addition, the transformation which follows from the above is important to
the flatness-based controller design we aim to create. It can be stated as
Theorem 73 (Transformation into Brunovsky Canonical Form). For
a flat system
ẋ = f (x, u), x ∈ Dx,def ⊆ IRn , u ∈ IR,
the flat output y, and the flat system representation
x = Ψ 1 (y, ẏ, . . . , y (n−1) ),
u = Ψ2 (y, ẏ, . . . , y (n) ),
the diffeomorphism which transforms the system into the generalized controller
canonical form
ż1 z2
. ..
.
. .
=
ż z
n−1 n
żn ϕ(z, u)
452 Chapter 5. Nonlinear Control of Nonlinear Systems
is
z = Ψ −1
1 (x)
of the input variable u transforms the system into Brunovsky canonical form.
With the theorem above, we have also performed input-output linearization.
This is because
holds, so that the output variable y depends on the artificial input variable v
via n integrators. From
into the state equation (5.156) of the Brunovsky canonical form. Thus, after
inserting equation (5.157) into equation (5.156), the linear system dynamics
(n) (n−1)
y (n) − yref + an−1 y (n−1) − yref + . . . + a1 (ẏ − ẏref ) + a0 (y − yref ) = 0
(5.158)
are obtained.
Provided that we choose all roots of the characteristic polynomial
P (s) = sn + an−1 s + . . . + a1 s + a0
applies such that the output variable y(t) follows the reference variable yref (t).
5.4. Feedforward and Feedback Control of Flat Systems 453
Reference Controller Exact linearization Plant
n−1
(n)
X (i) v
u ẋ = f (x, u) y
(n)
yref v = yref − ai y (i)−yref u = Ψ2 (y, . . . ,y (n−1),v)
i=0
y = h(x)
yref
y
ẏref
ẏ x
..
z =
.. −1
= Ψ 1 (x)
. .
(n−1)
yref y (n−1)
We will examine a pneumatic motor used for the feed of a drill or for moving
workpieces to grinding machines. Figure 5.28 shows the basic structure of such
a motor. Air is blown through a hose or a pipe into a cylinder via a compressor.
Due to the pressure P in the cylinder, a piston then moves distance s, and
with it a load mass is shifted. This compresses a spring which brings the piston
back to its initial position when the pressure in the cylinder drops. The spring
454 Chapter 5. Nonlinear Control of Nonlinear Systems
possesses the spring constant c, the piston the surface area A, and the moving
parts, which are load, piston, and linkage, possess the mass m.
The equation of motion results from the spring force cs as well as from the
force P A acting on the piston and can be stated as
The pressure P in turn can be determined by means of the ideal gas equation
1
P V = RT (5.162)
n
if we assume isothermal behavior. Here, V = As is the cylinder volume, n is
the number of gas molecules in moles, R is the ideal gas constant, and T is
the temperature of the gas, which is assumed to be constant.
The next step is to differentiate the ideal gas equation (5.162) with respect
to time, which yields
Ṗ V P V̇ P V ṅ
+ − =0
n n n2
or
P V ṅ
Ṗ = − V̇ . (5.163)
V n
x1 = s, x2 = ṡ, x3 = P, and u = q
5.4. Feedforward and Feedback Control of Flat Systems 455
as the state variables and the input variable, equations (5.161) and (5.164)
provide the model of the pneumatic motor
ẋ1 x2 0
c A
ẋ2 − x1 + x3 0
= m m + u. (5.165)
x2 x3 x
3
ẋ3 −
x1 Ax1
| {z } | {z } | {z }
ẋ a(x) b(x)
As the output variable of the system, we will select the load position
y = c(x) = x1 = s.
and
my˙˙˙
y + mẏ ÿ + 2cy ẏ
u=A = Ψ2 (y, ẏ, ÿ, ˙˙˙
y) (5.167)
cy + mÿ
hold.
We can use equation (5.167) as a flat feedforward control law. An ad-
vantageous alternative to the feedforward control is a flatness-based feedback
control, as described in the previous section and illustrated in Figure 5.27.
For this purpose, we need the inverse function
456 Chapter 5. Nonlinear Control of Nonlinear Systems
y y x1
ref
x
ẏref ẏ x
z = =
2
c A
ÿref ÿ − x1+ x3
m m
x1
y
−1
x2
z=
ẏ
= Ψ 1 (x) =
c
.
A
ÿ − x1 + x3
m m
Figure 5.29 shows the structure of the flatness-based feedback controller for
the pneumatic motor.
As a concrete numerical example, we can take
so that the closed linear control loop has the threefold eigenvalue
λ = −10.
y = x1 = s = 1 cm
to
5.4. Feedforward and Feedback Control of Flat Systems 457
10
Position y in cm
10
Position y in cm
1
0 1 2 3 4 5 6
Time t in s
Fig. 5.30: Time courses of the position y = x1 for the flat feedforward control in the
upper diagram, and for the flatness-based feedback control in the lower diagram
y = 10 cm.
To do so, we specify
(
−1.406t7 + 9.844t6 − 23.630t5 + 19.694t4 + 1, 0 ≤ t ≤ 2,
y ref (t) =
10, 2 < t,
Figure 5.30 shows the time course of the load position y = s of the piston for
the nominal case m = 1 kg as well as for the cases m = 0.5 kg and m = 1.5 kg.
In the upper diagram, the time course of the position y(t) is shown for the flat
feedforward control, and the lower diagram displays the course y(t) for the
flatness-based feedback control. As expected, unlike the feedforword control,
the feedback control compensates for the changes in the load mass m.
458 Chapter 5. Nonlinear Control of Nonlinear Systems
ẋ = a(x),
(5.168)
y = c(x),
ẋ = a(x) + b(x) · u,
y = c(x)
with y as a flat output. For this purpose, we will transform the system using
y
ẏ
z = q(x, u, . . . , u(n−2) ) = ÿ
.
.
.
y (n−1)
c(x)
La c(x) + Lb c(x)u
2 2 2
La c(x) + Lb La c(x)u + La Lb c(x)u + Lb c(x)u + Lb c(x)u̇
= .
.
..
n−1 n−2 n−1 n−1 (n−2)
La c(x) +Lb La c(x)u + . . . +Lb c(x)u +Lb c(x)u
(5.169)
For the time being, we will assume that the terms fulfill
Lb Lia c(x) 6= 0, i = 0, . . . , n − 2.
5.4. Feedforward and Feedback Control of Flat Systems 459
∂c(x)
Lb c(x) = b(x) = 0,
∂x
∂La c(x)
Lb La c(x) = b(x) = 0,
∂x (5.171)
..
.
n−2
n−2 ∂La c(x)
Lb La c(x) = b(x) = 0
∂x
and
n−1
n−1 ∂La c(x)
Lb La c(x) = b(x) = e(x) (5.172)
∂x
hold, where e(x) 6= 0 is a freely selectable function. Combining equations
(5.171) and (5.172), we obtain
∂c(x)
0 ∂x
. ∂La c(x)
.
. ∂x
Q(x)b(x) = with Q(x) = .. . (5.173)
0
.
n−1
e(x) ∂La c(x)
∂x
460 Chapter 5. Nonlinear Control of Nonlinear Systems
This choice of b(x) considerably simplifies system (5.170), because all terms
containing
Lb Lia c(x) = 0, i = 0, . . . , n − 2,
are now omitted, and in this case only, the system description
z2 0
z3 0
. ..
ż = .
.
+
.
u,
z 0
n
n n−1
La c(x) Lb La c(x)
y = z1
applies. The system is now in nonlinear controller canonical form and has the
relative degree δ = n.
Furthermore, the transformation equation (5.169) takes the simpler form
c(x)
La c(x)
(n−2)
z = q(x, u, u̇, . . . , u ) = t(x) = .. ,
.
n−1
La c(x)
u̇, . . . , u(n−2)
or powers
u2 , . . . , un−1 .
As we learned from Theorem 51 on p. 257, SISO systems are flat if and
only if they are in controller canonical form or can be transformed into it. For
this canonical form,
y = z1
is a flat output. Furthermore, a system (5.168) is bijectively transformable
into nonlinear controller canonical form if and only if the Jacobian matrix
∂t(x)
Q(x) =
∂x
of the transformation z = t(x) is regular. We know this from Theorem 54 on
p. 262.
5.4. Feedforward and Feedback Control of Flat Systems 461
Based on the analysis above, a system is flat if the matrix Q(x) is regular
and equation (5.173) applies. It then follows from equation (5.173) that the
input vector
0
.
.
.
b(x) = Q−1 (x) (5.174)
0
e(x)
creates a flat input u and thus a flat output y = c(x). With the arbitrarily
selectable function e(x) 6= 0, equation (5.174) also generates all possible flat
inputs, since firstly Q(x) is regular and secondly b(x) fulfills equations (5.171)
and (5.172), which lead to the nonlinear controller canonical form and thus
ensure the flatness.
This is summarized in [466]
Theorem 74 (Flat Inputs of Control-Affine Systems). If an autono-
mous system
ẋ = a(x), x ∈ Dx,def ⊆ IRn ,
y = c(x)
is extended to a system
ẋ = a(x) + b(x) · u,
y = c(x)
with an input u, this input is flat and y is a flat output if and only if the
matrix
∂c(x)
∂x
∂La c(x)
Q(x) =
∂x
..
.
n−1
∂La c(x)
∂x
Now we will apply the results of the previous section to the special case of
linear systems
ẋ = Ax,
(5.175)
y = cT x.
We are interested in determining when the system (5.175) has flat inputs
and what form they take. Theorem 74 provides us with the answers to these
questions. Firstly, the matrix
∂c(x)
∂x cT
∂La c(x) T
c A
Q(x) =
∂x
= , c(x) = cT x,
.. ..
. .
n−1
∂La c(x) T n−1
c A
∂x
ẋ = Ax + b · u,
y = cT x
so that the output y of the linear system (5.175) is flat. We remember that
the constant e can be selected arbitrarily.
As in the nonlinear case, we can design inputs which enable particularly
efficient feedforward and feedback control of the system. It is also possible to
analyze existing inputs in terms of their suitability for flat control.
5.4. Feedforward and Feedback Control of Flat Systems 463
An example of an economic market is a simple model [34, 160, 268] of the de-
pendence on the price P of a product on the supply quantity Q and the quan-
tity Qd demanded by customers. We can assume that the change in price is
proportional to the difference between demand and supply quantity, i. e. that
This means that if the market price P is higher than the supply price P s
and increases, more will be produced. As in equation (5.176), the relationship
between Q̇ and P is linear where µ is a constant of proportionality.
We can now assume that the demand Qd
depends linearly on the current market price P via a constant κ. A low price
therefore leads to high demand.
The supply price P s depends on the supply quantity Q via
for example.
If we insert equation (5.178) and equation (5.179) into the differential
equations (5.176) and (5.177), respectively, and select
x1 = P and x2 = Q
where
a0 = λγ, a1 = λκ, a2 = λ, a3 = µ, a4 = µβ, a5 = µδ.
Our goal now is to influence the market price x1 = P to increase it. To do
this, we must identify an input with which we can exert influence on x1 , i. e.
a flat input. Here, the price
464 Chapter 5. Nonlinear Control of Nonlinear Systems
y = x1 = c(x)
is the system’s output of interest.
Applying Theorem 74, we determine
∂c(x)
= [1 0] ,
∂x
∂La c(x) ∂(a0 − a1 x1 − a2 x2 )
= = [−a1 −a2 ]
∂x ∂x
and hence
∂c(x)
∂x 1
0
∂L c(x) =
Q(x) = .
a −a1 −a2
∂x
With
0 1 0 0 0
b(x) = Q−1 (x)
= a1 1 = e(x)
e(x) − − e(x) −
a2 a2 a2
and by choosing
e(x) = −a2 ,
we obtain the input vector
0
b(x) =
1
in the system description
ẋ = a(x) + b(x) · u.
In this way, the control variable u from the market model
ẋ1 a0 − a1 x1 − a2 x2 0
= + u,
2 (5.180)
ẋ2 a3 x1 − a4 − a5 x2 1
y = x1
becomes a flat input and y = x1 is a flat output.
If we now wish to influence the current market price y = x1 = P , we can
use the flat system representation and a reference trajectory y ref (t) to specify
the control variable
u = Ψ2 (y ref , ẏ ref , ÿref )
2
a0 − a1 y ref − ẏ ref a1 ẏ ref + ÿ ref
= a4 − a3 y ref + a5 − .
a2 a2
5.5. Control Lyapunov Functions 465
From equation (5.180) it is clear that u affects the change in the supply
quantity ẋ2 = Q̇. The above result is therefore simple to interpret, because
the control variable u can directly influence the supply quantity x2 = Q. The
control variable u thus means either an increase in production or a product
shortage.
The direct Lyapunov method can be used for stability analysis as well as for
controller synthesis. A controller synthesis method of this kind can be based
on so-called control Lyapunov functions V (x), often abbreviated as CLF. The
basic concept of control Lyapunov functions is to use the control variable
vector u of a plant
ẋ = f (x, u)
which has the equilibrium point
xeq = 0
for all x 6= 0. The control variable u(x) thus determined constitutes a control
law based on the Lyapunov stability theorem on p. 115, and yields a control
loop
ẋ = f (x, u(x))
with the globally asymptotically stable equilibrium point xeq = 0. Note that
it is also possible to aim for local stability only.
To ensure the stability of the control loop, it is not necessary to select
the function u(x) as the control law which generates the infimum of V̇ (x).
In fact, a control law u(x) which yields V̇ (x) < 0 for all x is sufficient. The
choice of the controller u(x) which leads to the infimal V̇ has the advantage
that V (x) decreases rapidly along the trajectories x(t) and the compensation
is therefore rapid.
466 Chapter 5. Nonlinear Control of Nonlinear Systems
The term control Lyapunov function is derived from the fact that, using
a Lyapunov function, we define a controller u(x) which ensures stability. Al-
though the procedure above ensures the stability of the control loop being
designed, it does not allow a direct, calculable influence on the control perfor-
mance, i. e. the settling time. However, it is difficult or impossible to predict
whether our choice of a Lyapunov function will positively or negatively affect
the control performance. Namely, the faster the Lyapunov function decreases,
the smaller the settling time becomes. Therefore, the choice of the Lyapunov
function is critical for the control performance.
For time-invariant nonlinear systems, we will define the term control Lya-
punov function as follows.
V̇ (x) ≤ 0
5.5. Control Lyapunov Functions 467
holds, as long as, according to Condition (5), V̇ (x(t)) = 0 does not apply
along any trajectory x(t) of the controlled system.
Based on the Lyapunov and the Barbashin and Krasovskii theorems, The-
orem 13 on p. 115 and Theorem 14 on p. 116, respectively, and the definitions
above, we can directly derive
with the equilibrium point xeq = 0 for u = 0. If in this case a control Lyapunov
function or an extended control Lyapunov function V (x) exists for the system,
a controller u(x) can always be found such that the control loop’s equilibrium
point xeq = 0 is globally asymptotically stable.
ẋ = Ax + b · u, |u| ≤ umax ,
V (x) = xT R x
AT R + RA
yields
2bT R x · u = −2umax sgn bT R x bT R x = −2umax|bT R x|,
is fulfilled.
As we have seen, a control Lyapunov function is simple to determine for
a Lyapunov stable linear system. However, the control law (5.182) has the
disadvantage of switching between −umax and +umax. Only a few actuators
can provide and endure such switching behavior. Furthermore, undesirable
sliding modes can occur.
After this simple example, we will turn to a more general case. The plants in
question are now the control-affine systems
ẋ = a(x) + B(x) · u.
In this case the control loop consisting of this system and the controller
−k (x)B T (x)V (x) for B T (x)V (x) 6= 0,
s x x
u(x) = T
0 for B (x)Vx (x) = 0
with
q
T 2
a (x)Vx (x) + (aT (x)Vx (x)) + h2 (x)
k s (x) = ,
h(x)
h(x) = Vx T (x)B(x)B T (x)Vx (x),
where the vectors bi (x) are the column vectors of the matrix B(x). Let us
assume that we have succeeded in identifying a control Lyapunov function for
the system above. We then obtain
470 Chapter 5. Nonlinear Control of Nonlinear Systems
Xm
V̇ (x) = aT (x)Vx (x) + Vx T (x)bi (x) · ui . (5.186)
| {z }
i=1
<0
because then
m
X
V̇ (x) = aT (x)Vx (x) − ui,max Vx T (x)bi (x) < 0
i=1
holds and in this case V also decreases rapidly along any trajectory.
with the single equilibrium point xeq = 0. Figure 5.31 shows the trajectories
of the system for u = 0. A possible control Lyapunov function is
5.5. Control Lyapunov Functions 471
1 2
V (x) = x1 + x22 .
2
We obtain
Vx T (x) = [x1 x2 ]
for the gradient and hence
" #
T x1
B Vx (x) = .
x2
Figure 5.32 shows the trajectories of the controlled system and Figure 5.33
the time courses representing x1 of the controlled system and the uncontrolled
T
one, which both start at an initial value of x(0) = [0.2 0.2] . Compared to
the markedly oscillating plant, the control loop no longer has a tendency to
oscillate.
2 2
1 1
State x2
State x2
0 s 0 s
-1 -1
-2 -2
-2 -1 0 1 2 -2 -1 0 1 2
State x1 State x1
Fig. 5.31: Trajectories of the uncon- Fig. 5.32: Trajectories of the control
trolled system loop
472 Chapter 5. Nonlinear Control of Nonlinear Systems
0.2 Controlled
Uncontrolled
State x1
-0.2
0 2 4 6 8 10 12 14 16 18 20
Time t
Fig. 5.33: Time courses of state variable x1 in the controlled case and the uncon-
trolled one
Fig. 5.34: A hydropower plant connected via a long transmission line to the rigid
grid
Ē = E · ejδ XL XC V̄ = V · ej0
G Rigid grid
Fig. 5.35: Generator with long transmission line to the power grid
E ·V
P = (1 + u) sin(δ) (5.189)
XL − XC 0
with
∆XC
u=
XL − XC0 − ∆XC
ωe = pωm (5.190)
applies to the mechanical angular velocity ωm of the pole wheel of the syn-
chronous machine with the pole pair number p and to the frequency ωe of the
pole-wheel voltage E sin (ωe t + δ).
If temporal changes in the angle δ occur because of a short circuit or for
other reasons, the frequency of the pole-wheel voltage E sin (ωe t + δ) and thus
the mechanical frequency ω m of the pole wheel changes according to
ωe + δ̇ = p(ωm + ∆ωm ).
δ̇
∆ωm = .
p
We will now examine the system’s power balance. The turbine power PT ,
from which we substract the damping power loss
D
D∆ωm = δ̇
p
and the power accelerating or decelerating the rotor
Jωe
J(ωm + ∆ωm )(∆ωm )˙ ≈ Jωm (∆ωm )˙ = δ̈,
p2
follow.
The stationary operating point
5.5. Control Lyapunov Functions 475
PT
δeq = arcsin
PE
Here, u is the system’s control variable. System (5.192) has the equilibrium
points
±2iπ ±(2i + 1)π − 2δeq
xeq,2i = , xeq,(2i+1) = for i = 0, 1, 2, . . .
0 0
is sufficient. The stability of the equilibrium point xeq0 and the instability of
the equilibrium point xeq1 can be simply proven using Lyapunov’s indirect
method (Theorem 17 on p. 126), using the linearized model of system (5.192).
The aim is to quickly compensate for disturbances that occur because of
line faults or other reasons, which corresponds to x 6= 0. That is, we wish to
476 Chapter 5. Nonlinear Control of Nonlinear Systems
so that
is fulfilled. Only the inequality V̇ (x) ≤ 0 and not the stricter condition V̇ (x) <
0 holds here, because V̇ (x) = 0 holds for the set {x | x1 ∈ IR, x2 = 0}.
However, since only the state vector x = 0 in this set satisfies the differential
80
40
V
equation (5.192), V̇ (x) is not identical to zero along any trajectory x(t) except
for the trivial case in which x(t) = 0. According to Definition 36, the function
V (x) is an extended control Lyapunov function, meaning that the stability of
the equilibrium point xeq = 0 is ensured. The value k > 0 is a freely selectable
parameter.
With its original coordinates δ and δ̇, using x1 = δ − δ eq and x2 = δ̇, the
control law (5.195) takes the form
u = k δ̇ sin(δ). (5.196)
We will now present an example with PT = 540 MW, PE = 621 MVA,
D = 4.6889 MW s, ωe = 2π · 50 s−1 , p = 1, and J = 39792 kg m2, which results
in
PT D PE
a1 = = 43.196 s−2 , a2 = = 0.375 s−1 , a3 = = 49.676 s−2 .
Jωe Jωe Jωe
A three-phase short circuit from t = 4 s to t = 4.06 s can be viewed as a test
case. In this time interval, the transmitted power is
P = PE sin(δ) = 0.
For the controller constant, we will select the value k = 0.075.
Figure 5.37 shows the time courses of the angle δ = x1 + δeq and the
trajectories [δ(t) δ̇(t)]T for system (5.192), which is controlled by applying
control law (5.195), or for system (5.191), which is controlled by applying
control law (5.196), and for the free system. It is evident that both the free
and the controlled system return to the equilibrium point, i. e. the operating
point δeq = 1.05 rad = 60.41◦, after the short circuit ends. The control system
ensures that, in contrast to the free system, in this system the angle δ and
thus the transmitted power P = P E sin(δ) barely oscillate.
1.8 3
1.6 2
1.4 1
δ̇ in rad s−1
δ in rad
1.2 0 s
1 -1
0.8 -2
0.6 -3
0 5 10 15 20 0.6 0.8 1 1.2 1.4 1.6 1.8
Time t in s Power angle δ in rad
Fig. 5.37: Time courses of the power angle δ = x1 +δeq and the associated trajectories
[δ(t) δ̇(t)]T for the uncontrolled system (black) and the control loop (blue)
478 Chapter 5. Nonlinear Control of Nonlinear Systems
u x3
fk xk f2 x2 f1 x1
1 1 1
I
hk s s s
h2 h1
xk−1
..
. x2
x1 x1
Figure 5.39 shows the structure of the system. The state variable x2 is now
taken as the input variable of system (5.197). A continuously differentiable
control law
u 1 x2 ẋ1 1 x1
h(x1 ) I
s s
f (x1 )
Fig. 5.39: Structure of the system ẋ1 = f (x1 ) + h(x1 ) · x2 with ẋ2 = u
Sfrag 480 Chapter 5. Nonlinear Control of Nonlinear Systems
u 1 x2 ẋ1 1 x1
h(x1 ) I
s s
α(x1 )
f(x1 )+h(x1)α(x1)
Fig. 5.40: System with a virtual control law α(x1 ), which is equivalent to the system
from Figure 5.39
The associated block diagram is shown in Figure 5.40. Note that the system
representations (5.200) and (5.197) are equivalent.
Using the transformation
z = x2 − α(x1 ),
the system equations (5.200) and (5.201) are converted into another equivalent
form yielding
whose structure is shown in Figure 5.41. The transformation shifts the virtual
control law α(x1 ) preceding the integrator, which lends this method the name
backstepping or integrator backstepping.
We will now specify a Lyapunov function for the entire system (5.202)
using the Lyapunov function V (x1 ) and the additional term 0.5z 2, which
yields
1 1 2
V tot (x1 , x2 ) = V (x1 ) + z 2 = V (x1 ) + (x2 − α(x1 )) .
2 2
For the system (5.202), the derivative of this potential Lyapunov function is
given by
Sfrag 5.6. The Backstepping Method 481
u 1 z ẋ1 1 x1
h(x1 ) I
s s
α̇(x1 )
f(x1 )+h(x1)α(x1)
Fig. 5.41: System structure of Figure 5.40 where the virtual control law is shifted
backward to the input of the integrator
∂V
V̇ tot (x1 , x2 ) = ẋ1 +z ż
∂x1
∂V ∂V
= (f (x1 )+h(x1 )α(x1 )) + h(x1 )z +z (u − α̇(x1 )).
∂x ∂x1
| 1 {z }
<0
We note that the Lyapunov function’s derivative V̇ tot depends on u.
We will now select
∂V
u = α̇(x1 ) − h(x1 ) − k · z, k > 0, (5.203)
∂x1
as the control law such that
∂V
V̇ tot (x1 , x2 ) = (f (x1 ) + h(x1 )α(x1 )) − kz 2 < 0
∂x1
holds for all x1 . Further, with
ẋ1 = f (x1 ) + h(x1 )x2 ,
we next obtain
∂V
u = α̇(x1 ) − h(x1 ) − k · z
∂x1
∂α ∂V
= ẋ1 − h(x1 ) − k (x2 − α(x1 ))
∂x1 ∂x1
∂α ∂V
= (f (x1 ) + h(x1 )x2 ) − h(x1 ) − k (x2 − α(x1 ))
∂x1 ∂x1
from equation (5.203). Here, k is a freely selectable positive parameter which
influences the dynamics of the control loop. High values of k lead to a fast
decrease in V tot and thus usually to a faster control.
With V tot , we have identified a Lyapunov function, which happens to be
a control Lyapunov function, and with the function u defined above a control
law for the plant (5.197), (5.198) has been identified as well. We can summarize
the above results in
482 Chapter 5. Nonlinear Control of Nonlinear Systems
We will assume that a virtual control law x2 = α(x1 ) with α(0) = 0 is known
for the subsystem (5.204) such that the virtual control loop has an asymptoti-
cally stable equilibrium point x1eq = 0. If the latter is the case and a Lyapunov
function V (x1 ) is known for the virtual control loop, then the control law
∂α(x1 ) ∂V
u= ( f (x1 ) + h(x1 ) x2 ) − h(x1 ) − k (x2 − α(x1 ))
∂x1 ∂x1
with an arbitrary k > 0 stabilizes the system’s equilibrium point
T T
x1eq x2eq = 0
asymptotically, and
1
V tot (x1 , x2 ) = V (x1 ) + (x2 − α(x1 ))2
2
is a Lyapunov function for the entire control loop.
If V (x1 ) → ∞ also applies to |x1 | → ∞ in the theorem above, the equilibrium
point of the control system is globally asymptotically stable.
The result above is only moderately useful in the form shown above, be-
cause for the theorem to be applied it is necessary to find the control law
α(x1 ) and the Lyapunov function V (x1 ) for the subsystem (5.204), which
constitutes the essential part of the system (5.204), (5.205). Thus, we would
certainly find a controller for this system even without the theorem. The re-
sult, however, assuming V and α are known, provides the starting point for a
valuable result to be derived.
For this purpose, we will now deal with the system
ẋ1 = f 1 (x1 ) + h1 (x1 ) · x2 ,
(5.206)
ẋ2 = f2 (x1 , x2 ) + h2 (x1 , x2 ) · u.
By applying
u2 − f2 (x1 , x2 )
u= , h2 (x1 , x2 ) 6= 0,
h2 (x1 , x2 )
we transform it to
ẋ1 = f 1 (x1 ) + h1 (x1 ) · x2 ,
ẋ2 = u2 .
For this transformed system, the control law u2 (x1 , x2 ) and the Lyapunov
function V (x1 ) are known from Theorem 78. Therefore the control law u for
the system (5.206) can also be directly specified by using
5.6. The Backstepping Method 483
Steps 2 and 3 are almost identical; Step 4 and all subsequent steps not
listed here also correspond to their predecessors, so that it is possible to ad-
vance recursively from the subsystem T1 to the subsystem T2 , from there to
T3 , then to T4 , and so on. The sequence below illustrates this:
)
ẋ1 = f 1 (x1 ) + h1 (x1 ) · x2
T1
ẋ2 = f2 (x1 , x2 ) + h2 (x1 , x2 ) · x3 T 2
T3
ẋ3 = f3 (x1 , . . . , x3 ) + h3 (x1 , . . . , x3 ) · x4
ẋ4 = f4 (x1 , . . . , x4 ) + h4 (x1 , . . . , x4 ) · x5
. . . Tk−1
..
.
ẋk = fk (x1 , . . . , xk ) + hk (x1 , . . . , xk ) · u .
Ultimately, after k−1 steps, we have derived the control law u we were seeking,
and also a Lyapunov function of the entire control loop.
The advantage of the backstepping method is its systematic design tech-
nique, which leads to a stable and robust control loop. Its disadvantage is that
the control performance can only be predicted or influenced to a limited ex-
tent. Extensions of and additions to the backstepping procedure can be found
in [251, 252, 411, 500].
For the design of a controller u(x1 , x2 ) and a Lyapunov function V tot (x1 , x2 ),
we will apply Theorem 78. First, a controller
x2 = α(x1 ) = −x21 − x1
is designed for the subsystem (5.208). Clearly, this controller stabilizes the
subsystem (5.208), because inserting it into equation (5.208) yields
ẋ1 = −2x1 .
Furthermore,
1 2
x
V (x1 ) =
2 1
is a Lyapunov function of the virtual control loop which proves that the loop
is globally asymptotically stable, because
60
4
40
State x2
20
Vtot
0 s
0
-4 -20
4
-2 0
-8 0 -4 x2
-5 0 5 x1 2
State x1
Fig. 5.42: Trajectories of the plant and Lyapunov function Vtot from the first example
holds for all points x1 6= 0. From Theorem 78, we now derive the control law
∂α 2 ∂V
u= x1 − x1 + x2 − − k(x2 − α(x1 ))
∂x1 ∂x1
for the entire system consisting of equations (5.208) and (5.209), where k > 0
holds. With
∂α ∂(−x21 − x1 )
= = −(2x1 + 1)
∂x1 ∂x1
and
∂V
= x1 ,
∂x1
the control law
u = −(2x1 + 1)(x21 − x1 + x2 ) − 2x1 − x21 − x2
(5.210)
= −x1 − 2x31 − 2x2 − 2x1 x2
is obtained for k = 1. For the entire control loop (5.208), (5.209), (5.210), the
Lyapunov function is
1 2 1 1 2
V tot (x1 , x2 ) = V (x1 ) + (x2 − α(x1 )) = x21 + x1 + x21 + x2 .
2 2 2
Figure 5.42 shows the trajectories of the plant and the form of the Lyapunov
function Vtot .
In the second example, we will begin with the controlled system from the
first example and add an integrator to it, so that
5.6. The Backstepping Method 487
For the design of a control law u(x1 , x2 , x3 ), we can again apply Theorem 78.
To design the controller, we first split the system denoted by (5.211), (5.212),
(5.213) into two subsystems, i. e. into the subsystem T1 consisting of equations
(5.211) and (5.212), and the total system T2 consisting of equations (5.211),
(5.212), (5.213), such that we obtain
ẋ1 x21 − x1 + x2 0
= + · x3 , T1
ẋ2 0 1
| {z } |{z} T2
f (x1 , x2 ) h(x1 , x2 )
ẋ3 = u.
3
Controlled
2
Uncontrolled
1
x1
0 1 2 3 4 5 6 7
8
6
4
x2
2
0
-2
0 1 2 3 4 5 6 7
2
0
-2
x3
-4
-6
0 1 2 3 4 5 6 7
10
0
-10
u
-20
-30
0 1 2 3 4 5 6 7
Time t
Fig. 5.43: Time courses of the state variables x1 , x2 , and x3 and the control variable
u from the second example
5.6. The Backstepping Method 489
A B
2r2 r1
Fig. 5.44: Fluid system with chaotic behavior. The inner toroidal tube contains
water. The upper half of the torus is cooled, the lower half heated.
490 Chapter 5. Nonlinear Control of Nonlinear Systems
initial values. If the heating power is now increased to 600 W, for example,
there is no more continuous water flow within the torus. Under this condition,
the water flow continually changes its direction. Sometimes the water flows
clockwise, and sometimes it flows counterclockwise. The changes in direction
of the water flow are chaotic, not predictable.
The emergence of this chaotic behavior can be explained as follows. If the
speed of the water flow is reduced by a small irregularity, the water remains
longer in the heating or cooling area of the torus. This increases the temper-
ature difference between the cold water in the upper half of the torus and the
hot water in the lower half. As a result, the flow velocity increases due to the
increased temperature difference. This leads to a more rapid mixing of the
hot water from the lower half with the cold water from the upper half. Thus,
the temperature difference between the cold and hot water decreases again,
causing a decrease in the flow velocity as well and, in some cases, changes in
its direction.
The above behavior leads to oscillations and finally to the chaotic behavior
mentioned above. It can be described by the Lorenz equations
ż1 = p(z2 − z1 ),
ż2 = −z1 z3 − z2 , (5.214)
ż3 = z1 z2 − z3 − R.
Here, the variable z1 is a measure of the mean flow velocity, z2 is a measure
of the temperature difference T B − T A between points A and B, and z3 is a
measure of the temperature difference T C − T D . Furthermore, p > 0 is the
Prandtl number[7] and R is the Rayleigh number[8] .
The Rayleigh number R is proportional to the heating power of the fila-
ment, so that we can control the system via
R = R0 + u.
The parameter R0 is proportional to a constant and u to a superimposed,
variable heating power.
For the control variable value u = 0, the system has the three equilibrium
points
p p
R0 − 1 − R0 − 1 0
p p
R0 − 1, z eq2 = − R0 − 1, z eq3 = 0 .
z eq1 =
−1 −1 −R0
[7]
The Prandtl number p = ν/a is a constant dimensionless characteristic number
describing fluids and is equal to the quotient of kinematic viscosity ν and thermal
diffusivity a.
[8]
The temperature-dependent dimensionless Rayleigh number is an indicator of the
type of heat transfer in a fluid. Below a critical Rayleigh number, the heat transfer
in the fluid occurs primarily by heat conduction; above this value it occurs by
convection. The Rayleigh number indicates the stability of thermal fluid layers.
5.6. The Backstepping Method 491
We will now control the system (5.214) such that z eq1 is an asymptotically
stable equilibrium point. For this purpose, the first step is to transform the
coordinates of the system so that the equilibrium point z eq1 is shifted to the
origin. This is done by means of the coordinate transformation x = z − z eq1 ,
i. e. p
x1 z1 − R0 − 1
p
x2 = z2 − R0 − 1.
x3 z3 + 1
The transformed system has the equilibrium point xeq = 0, and with β =
p
R0 − 1 it takes the form
The system is in strict feedback form, so we can directly apply the backstep-
ping design theorems.
We will begin with the selection of the virtual control law
x2 = α1 (x1 ) = 0,
ẋ1 = −px1 + p · x2 ,
| {z } |{z}
f1 (x1 ) h1 (x1 )
ẋ2 = x1 − x2 −(x1 + β) x3 ,
| {z } | {z }
f2 (x1 , x2 ) h2 (x1 , x2 )
yielding
1
x3 = α2 (x1 , x2 ) = − (−px1 − k1 x2 − x1 + x2 )
x1 + β
as a virtual control law. We will now set k1 = 1, resulting in
(1 + p)x1
x3 = α2 (x1 , x2 ) = ,
x1 + β
492 Chapter 5. Nonlinear Control of Nonlinear Systems
and
1 2
V2 (x1 , x2 ) = (x + x22 )
2 1
for the Lyapunov function.
In the next step, Theorem 79 is applied again, but now the focus is on the
complete system consisting of equations (5.215), (5.216), (5.217).
With the terms used in Theorem 79, we can formulate the system descrip-
tion
ẋ1 −px1 + px2 0
= + x3 ,
ẋ2 x1 − x2 −(x1 + β)
| {z } | {z }
f 1 (x1 , x2 ) h1 (x1 , x2 )
ẋ3 = x1 x2 + β(x1 + x2 ) − x3 −1 · u.
| {z } |{z}
f2 (x1 , x2 , x3 ) h2 (x1 , x2 , x3 )
as well as
∂V2
= [x1 x2 ],
∂[x1 x2 ]T
we obtain the expression
for the control law. With k2 = 1, the control law can finally be written as
Now we will simulate both the uncontrolled and the controlled process for
the parameters
p = 10 and β = 6.
The initial values are
x1 = 5, x2 = 5, and x3 = 5.
The resulting time courses for the flow velocity x1 are shown in Figure 5.45,
in which we can clearly see that the control suppresses the chaotic behavior
and compensates the process to the stationary value.
5.7. Exercises 493
10 6
5 5
4
0
3
State x1
State x1
-5
2
-10
1
-15
0
-20 -1
-25 -2
0 5 10 15 20 25 0 0.5 1 1.5 2 2.5
Time t in min Time t in min
Fig. 5.45: Time courses of the deviation x1 of the flow velocity from the equilibrium
point of the chaotic process (black) and the control loop (blue). The diagram on the
right shows an enlarged view of the control process.
5.7 Exercises
Fr = cr mg cos(ϕ),
where cr is the rolling resistance coefficient, m is the mass of the vehicle, g the
gravitational acceleration, and ϕ the angle of the road’s slope. Furthermore,
we have to take into account the proportional gravitational force Fs acting
on the vehicle due to the slope. In addition, the driving force or the braking
force Fa act on the vehicle via the gas pedal or the brake.
(a) Formulate the state-space model for the vehicle, with x = v being simulta-
neously the state variable and the output variable. The angle of the slope
ϕ is a disturbance variable. The acceleration generated by the engine or
brake is represented by the control variable u = Fa /m.
(b) Calculate the parameterized linearization family with the velocity x as
the scheduling parameter β. In doing this and in the steps that follow, set
ϕ = 0.
494 Chapter 5. Nonlinear Control of Nonlinear Systems
ρ = 1.2 kgm−3
g = 9.81 ms−2
Fd
m = 1440 kg
cr = 0.015 Fa
A = 2 m2
cd = 0.3 v
m
Fs Fr
g
ϕ
(c) Now use the parameters from Figure 5.46 and determine three linearized
models for the operating points xop1 = 10 ms−1 , xop2 = 25 ms−1 , and
xop3 = 40 ms−1 . For each of the three linearized models, calculate a PI
controller
I
GPI (s) = P +
s
such that all eigenvalues of each of the linear control loops are exactly ten
times larger than the time constants of the linearized models in question.
(d) Identify the control law u(x) based on the weighted average, using Gauss
functions. Select the parameters σi of the Gauss functions such that σi in
each case equals half the distance from one operating point xop,i to the
next.
Exercise 5.2 Let us examine a spring-mass system with variable mass m(t),
as shown in Figure 5.47. The state-space representation is given by the fol-
lowing equations:
ẋ1 = x2 ,
c 1
ẋ2 = − x1 + u,
m(t) m(t)
y = x1 .
5.7. Exercises 495
x1
c
m(t) F
Here, c = 30 Nm−1 is the spring constant and u is the force being applied ex-
ternally to the mass m(t). Assume that we know the mass m(t), which varies
within the interval [0.1 kg, 1.1 kg]. The system is linear, but time-varying. Sys-
tems of this kind are called linear parameter-varying systems (LPV systems).
(a) For m = 0.1 kg and m = 1 kg, calculate the eigenvalues of the system.
(b) Design a gain-scheduling controller based on the weighted average. As
subcontrollers, select PID controllers with the transfer functions
ẋ = Ax + uBx,
y = cT x
ẋ = a(x) + b(x) · u
y = c(x)
with
[9]
A system is called bilinear if it is linear both in the state x and the control
variable u, but is nonlinear overall.
5.7. Exercises 497
Wire feeder
Shielding
gas supply
Cooling water
Welding electrode
Gas shield
Electric arc
−k0 x1 k0
a(x) = , b(x) = , c(x) = x2 .
k1 x1 + k2 x21 (l − x2 ) − ve 0
The electrical direct current in the electric arc will be represented by x1 and
the length of the electric arc by x2 . Here, due to the application of the solder,
the length of the electric arc x2 is somewhat smaller than the distance l
between the tip of the electrode and the part being worked on. The control
signal u is the reference current, i. e. the input signal, of an underlying current
control. The process constants are the positive parameters k0 , k1 , k2 , and the
wire feed speed ve of the electrode. Below, our aim will be to design a control
by means of input-output linearization.
(a) Determine the relative degree δ of the system.
(b) Determine the controller and the prefilter which linearize the system.
(c) Can the control be built as designed?
498 Chapter 5. Nonlinear Control of Nonlinear Systems
(a) Show that the controlled external dynamics and the zero dynamics both
have a single equilibrium point, each of which lies at the origin and is
globally asymptotically stable.
(b) Show that the equilibrium point
[x1 x2 ]T = 0
by an integrator
u̇ = v.
This process is called dynamic extension [10] . Use v as the new input variable
and u as a state variable.
(a) Which system description does this yield?
(b) What is the lowest possible relative degree δ that the extended system
can have?
(c) Conduct an input-output linearization of the extended system. Assume
that the relative degree δ is maximum. State the transformed system
description, i. e. the control loop’s differential equation, and the control
law v(x, u).
(d) State the control law u(x) for the system (5.220).
Exercise 5.9 Prove the Jacobi identity
ẋ1 = x1 (x2 − a) + x3 ,
ẋ2 = −x21 − bx2 + 1 + u,
ẋ3 = −x1 − cx3 .
Here, the increase ẋ2 in the investment demand can be influenced by the input
variable u. The constants a > 0, b > 0, and c > 0 are the system parameters.
(a) Demonstrate that the model for x1 6= 0 is full-state linearizable.
(b) Identify a linearizing output y.
(c) Transform the system description into the Brunovsky canonical form with
the new input variable v, and determine the corresponding transforma-
tions.
(d) Formulate the output variable y as a function dependent only on the input
variable v of the transformed system.
(e) State a feedforward control law v(t) such that
0, t < 0,
2 π
y(t) = sin (t), 0 ≤ t ≤ 2 ,
π
1, < t.
2
Exercise 5.12 Let us examine the airship shown in Figure 5.49, which is
also called a blimp and is often used for advertising purposes. We will limit
ourselves to its dynamics in the horizontal plane, as shown in Figure 5.50.
A blimp is typically powered by two main engines which allow it to move
forward and backward. An additional engine is mounted at the back to enable
the blimp to turn around its main axis and to fly in a curved trajectory. Larger
blimps have additional tail units at the fin, while these are usually not present
on smaller unmanned airships. Here, we will model the dynamics of a blimp
without tail units.
500 Chapter 5. Nonlinear Control of Nonlinear Systems
y
u2
ϕ
2a u1
u3 b
x
Fig. 5.50: Variables and parameters of the blimp’s dynamics in the horizontal plane
ẋ1 = x2 ,
(u1 + u2 ) cos(x5 ) + u3 sin(x5 )
ẋ2 = ,
m x1
ẋ3 = x4 ,
y=
x3 .
(u1 + u2 ) sin(x5 ) − u3 cos(x5 )
ẋ4 = , x5
m
ẋ5 = x6 ,
a(u1 − u2 ) + bu3
ẋ6 = ,
J
5.7. Exercises 501
Here, m is the mass of the blimp, J is its moment of inertia around the yaw
axis, a is the lever arm of the right and the left main engine in relation to the
yaw axis, and b is the lever arm of the back engine in relation to the yaw axis.
(a) Determine the vectorial relative degree δ of the blimp.
(b) Is the vectorial relative degree δ well-defined?
(c) Determine the feedback control law u(x) which completely decouples the
input and output variables and stabilizes and linearizes the control loop.
Exercise 5.13 Show that the system
1 0
x 0
4
2
ẋ = x5 u1 +
0 u2
x5 0
0 1
ẋ = λx,
Here, βx2 is the maximum world population which receives a sufficient food
supply based on a certain level of knowledge x2 and the corresponding tech-
nologies. The level of human knowledge x2 increases with time, along with
the increasing human population x1 . Here,
ẋ2 = 0.04093x1x2
ẋ = f (x, u),
(5.221)
y = g(x).
5.7. Exercises 503
ẋ = f (x, u),
u(k) = v, k ∈ IN,
y = g(x)
is flat and that y is a flat output if the system (5.221) is flat and has the flat
output y.
Exercise 5.20 Like healthy tissue, cancerous tumors require a supply of blood
in order to grow. The blood transports the nutrients and oxygen necessary for
cell growth. If the supply of blood to the tumor is stopped by preventing the
growth of blood vessels to the tumor, it can no longer grow. A medication with
this effect prevents the new growth of blood vessels, or vascular angiogenesis,
around the tumor and causes atrophy of already existing blood vessels. This
starves the tumor, causing it to regress. This process can be described by the
following model [101, 171]:
x1
ẋ1 = −λx1 ln ,
x2
q
ẋ2 = bx1 − d · x2 3 x21 − µx2 x3 ,
ẋ3 = −ax3 + u,
y = x1 .
Here, x1 is the tumor volume, x2 is the volume of the endothelium, i.e. the
innermost cell layer of the blood vessels of the tumor, and x3 is the concen-
tration of the medication in the body. The input variable u represents the
medication dose per day and per kilogram of the patient’s body weight. The
parameters λ, b, d, µ, and a are positive constants.
(a) State the transformation z = t(x) which transforms the model into the
nonlinear controller canonical form.
(b) Determine the inverse transformation x = t−1 (z). To do this, use the flat
system representation with y = x1 as a flat output.
(c) State the flat feedforward control u(y, ẏ, ÿ, ˙˙˙
y ).
(d) Our aim is to dose the medication to decrease the tumor volume y accord-
ing to
y = e−αt , α > 1.5a.
In this case, what is the flat feedforward control law u(t)?
(e) Sketch the curve of u(t).
Exercise 5.21 Let us consider a system which has a real flat output. What
is the difference between a flatness-based feedback control and a control of a
flat system with input-output linearization, and what is identical between the
two?
504 Chapter 5. Nonlinear Control of Nonlinear Systems
Exercise 5.22 Show that the function V (x) = xT Rx with a positive definite
matrix R is a control Lyapunov function for an omnidirectionally controllable
system ẋ = a(x) + B(x) · u.
Exercise 5.23 Let us examine the bilinear system
ẋ = Ax + uN x.
(a) What condition must be fulfilled such that the equilibrium point xeq = 0
is globally asymptotically stable for a constant input variable u = uc ?
Now we will suppose that the control variable u is limited by |u| ≤ umax .
(b) Assume that A has only eigenvalues with a negative real part. In this case,
what condition is necessary for V (x) = xT Rx to be a control Lyapunov
function for all x ∈ IRn ?
(c) What is the control law u(x) that minimizes V̇ (x)?
(d) What practical disadvantage does the control law have, and how can this
be remedied?
Exercise 5.24 Let us examine a system in the nonlinear controller canonical
form
x2 0
. .
. .
. .
ẋ = + u,
x 0
n
f (x) h(x)
which is a special form of the strict feedback form.
(a) Using the backstepping method, design a controller u(x). In doing so, use
a P controller α(x1 ) as the virtual controller and
1 2
V1 (x1 ) = x
2 1
as the Lyapunov function in the first design step.
(b) State the differential equation of the control loop.
(c) How do the system descriptions of the above control loop and the con-
troller differ from the descriptions we would obtain in the case of a feed-
back linearization?
6
Nonlinear Control of Linear and Nonlinear
Systems
Reference signal
Model
Optimal
control variable
Optimizer
To the plant
Fig. 6.1: Structure of a model predictive controller
and
np nc
X X 2
J= |Q0 (y(k + i) − y ref (k + i))|2 + |R1 (u(k + i − 1) − u(k + i − 2))|
i=1 i=1
(6.2)
calculated over np time steps are used. The value np is called the prediction
horizon since the future behavior is predicted for np time steps. The prediction
horizon is always greater than the control horizon nc or both are equal, i. e.
np ≥ nc .
The matrices Q0 , R0 , and R1 must be positive definite. They are often chosen
as diagonal matrices. In the above performance indices the difference between
the output variable sequence y(k + i) and a nominal or reference sequence
y ref (k + i) is evaluated in the first term of the summation. In the second term,
the squared control variables, or control variable differences, are added and
weighted by the positive definite matrix R0 or R1 . When minimizing J, this
second term ensures that the control variables u(k + i) in equation (6.1) and
6.1. Model-Based Predictive Control 507
Past Future
y, u
Prediction y(k + i)
Reference
y ref (k + i)
u(k + i)
Prediction horizon np
Control horizon nc
k k + nc k + np Time step
control variable differences in equation (6.2) do not assume values which are
too high, either to conserve energy or for other reasons.
The prediction of y(k + i) is made for np time steps in the performance
index J. The prediction horizon np is greater than or equal to the control
horizon nc , as mentioned above. To ensure for the case np > nc that control
variables u(k + i) are available for the time range
i ≥ nc ,
and to allow us to predict y(k + i), all control variables beyond the control
horizon are constantly set at u(k+nc −1). Figure 6.2 illustrates the procedure.
After the optimization has determined the control sequence uopt (k + i)
with i = 0, . . . , nc − 1, only the first value of this sequence, i. e.
is applied to the real controlled system. This means the entire sequence
uopt (k + i) is not used for the control. Immediately after the activation of
u(k), the prediction horizon and optimization process described above are
shifted into the future by one step and a new optimal control variable sequence
is calculated. This procedure is repeated after each optimization. With each
repetition, the horizon is moved one time step further. Therefore, we refer to
this as a moving horizon. The moving horizon and the repetitive optimization
of the control sequence u(k + i) allow the MPC to react to disturbances and
compensate for them.
We can compare the operating mode of the MPC to the behavior of a chess
player – a frequently used simile. The player thinks through different sequences
of moves in his mind, considering three, four, or more moves in advance. In
reality, he then plays the first step of the combination that seems optimal to
him. After his opponent’s move, which may be regarded as a disturbance, he
selects his next, newly optimized move, and so on.
508 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
The new prediction after each time step occurs based on the process model
and the control variable signals calculated by the optimization. However, the
control variables u(k + i) alone are not sufficient for the prediction. Rather,
the state x(k) at the beginning of the prediction period must also be known.
The reason for this is that the performance index J can only be calculated
using both the sequence of the model’s state vectors x(k+i), i = 1, 2, . . . np , in
order to calculate the sequence y(k + i), and the control sequence u(k + i − 1).
In the best case, we can measure the plant’s state vector xpl (k) and calculate,
starting with
x(k) = xpl (k),
the model’s state vectors
and
y pl (k)
Plant
Observer
u(k+i)
Optimizer
Fig. 6.3: Structure of an MPC with observer, model, and optimizer, where y pl (k) is
the plant’s output variable vector and x̃(k) is its estimated state vector
6.1. Model-Based Predictive Control 509
and
y pl (k − 1), y pl (k − 2), . . . ,
The MPCs most frequently used in industrial practice are based on linear
process models, which usually possess constraints on the control variables and
possibly on the state and output variables. MPCs of this kind are called linear
model predictive controls, abbreviated LMPC. In this section, we will address
the simple case of linear plants without constraints, which is not relevant to
practical applications. However, the study of MPCs for these systems allows us
firstly to gain a deeper understanding of the operation of MPC, and secondly
it provides us with some basics for the MPC of linear systems with constraints.
The latter is of greater interest in practice.
When using the quadratic performance index (6.1) or (6.2), the result is
a linear controller, as we will see in the following. It is well known that linear
controllers can also be designed using other, simpler methods. The true benefit
of an LMPC is therefore only obtained if constraints must be included in the
optimization problem. In this case, which we will discuss in the next section,
the result is a nonlinear controller. However, the MPC is still referred to as
an LMPC due to the linear process model.
Our starting point is the linear discrete-time model
We will now perform the calculation for all output variable vectors y(k +i)
from step k+1 up to step k+np , i. e. up to the prediction horizon np . Equation
(6.4) and equation (6.5) yield
510 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
for the steps up to the control horizon nc . Beyond the control horizon, i. e.
i > nc , the control variable no longer changes, i. e.
∆u(k + i − 1) = 0
and the control variable changes ∆u(k) to ∆u(k + nc − 1) are lined up in the
mnc × 1 vector
6.1. Model-Based Predictive Control 511
∆u(k)
∆u(k + 1)
∆ū(k) = .. .
.
∆u(k + nc − 1)
Note that the vector ∆ū(k) generally has a lower dimension than the vector
ȳ(k + 1) because nc ≤ np holds.
Combining equation (6.6) and equation (6.7) results in
where
CA CB
CA2 C(A + I)B
3 2
CA
F = C(A + A + I)B
, G= ,
. .
.. .
.
CAnp C(A np −1
+ . . . + I)B
CB 0 ... 0
C(A + I)B CB ··· 0
C(A2 + A + I)B C(A + I)B ··· 0
.
.. .. .. ..
. . .
H= n −1 n −2
C(A c +. . .+I)B C(A c +. . .+I)B
··· CB
C(Anc +. . .+I)B C(Anc −1 +. . .+I)B ··· C(A + I)B
.. .. .. ..
. . . .
C(Anp −1 +. . .+I)B C(Anp −2 +. . .+I)B · · · C(Anp −nc +. . .+I)B
contains the progression of the reference variable y ref (k+i). Inserting equation
(6.9) into the performance index (6.10) and introducing the abbreviation
in the present case. This linear equation results in the control variables
−1
∆ū(k) = − H T QH + R H T Qe(k).
However, as mentioned earlier, only the first control variable ∆u(k) in the
vector
ag
6.1. Model-Based Predictive Control 513
u(k−1)
G z −1 I
x(k)
∆u(k)
∆u(k + 1)
∆ū(k) =
∆u(k + 2)
..
.
∆u(k + nc − 1)
is used for control. We will therefore address only the first element
∆u(k) = −Ke(k)
of this vector, where
h i −1
K = I 0 ··· 0 T T
H QH + R H Q ,
I ∈ IRm×m is the identity matrix. The control law is linear, has a dynamic,
and can be summarized as
u(k) = u(k − 1) + ∆u(k) = u(k − 1) − Ke(k),
e(k) = F x(k) + Gu(k − 1) − ȳ ref (k + 1).
Figure 6.4 shows the corresponding structure of the linear MPC without
constraints. An observer was not used. However, it can easily be inserted into
the control loop to determine the state vector x(k) required for control.
For the drainage of areas with high groundwater levels, such as those found in
the Netherlands or the American Everglades, sewer systems are used. Particu-
larly during or after heavy rainfall, water must be pumped from the drainage
sewers into neighboring rivers or the sea. Otherwise, excessive water levels
would endanger dikes, towns, and agricultural land. However, low water lev-
els in the canals are also problematic, as they can cause an embankment slide.
Moreover, large fluctuations in the water level can cause loosening of the soil
in the sewer walls due to pump effects, leading to damage of the sewers.
Therefore, water level in the sewers should be neither too low nor too high
but should remain within a specified tolerance range. For this purpose, control
systems are used to adjust the amount of water pumped out of the sewers.
Figure 6.5 shows the structure of such a drainage system. In some cases where
the facilities are near the sea, water is pumped into additional storage canals
or reservoirs during high tide. At low tide, the water then flows into the sea
without additional pumping.
6.1. Model-Based Predictive Control 517
The water level h in the sewer system is dependent on the rainwater flowing
into the sewers and the amount of water that has been pumped out according
to the relation
T
h(k + 1) = h(k) + (q rain (k) − q p (k − k d )). (6.19)
A
Here, q rain indicates the amount of water per second flowing into the canals
due to rainfall or additional groundwater, and q p indicates the amount of
water pumped out per second. The area A comprises the total area of the
sewers, T is the time span in seconds between the times k and k + 1, and k d
is the number of time steps after which the control variable q p acts on the
water level in the sewers.
As an example we will describe the drainage system of the Delfland in the
Netherlands [348]. Its parameter values are
−0.55 m ≤ h ≤ −0.30 m
and
0 m3 s−1 ≤ q p ≤ 75 m3 s−1 .
The water level h in the sewers is indicated with respect to the sea level, i. e.
for h = 0, the water level in the sewers is equal to sea level. In the case of the
Delfland, it normally lies about half a meter below sea level. In our example,
we will set its reference value at href = −0.40 m.
The system’s state variables given by equation (6.19) are the water level
x1 (k) = h(k),
x2 (k) = q p (k − 1),
which is delayed here by one time step, i. e. k d = 1. With the parameter values
above and the current control variable
u(k) = q p (k)
−0.55 ≤ x1 ≤ −0.30
0 ≤ u ≤ 75.
-0.3
Water level y in m
r = 0.0001
-0.35
r = 0.000002
-0.4
r=0
0 5 10 15 20 25 30 35 40 45 50
Volume flow u in m3 s−1
80
60 r=0
40
r = 0.000002
20 r = 0.0001
0
0 5 10 15 20 25 30 35 40 45 50
Time t in hours
For the design of the MPC, we now select the prediction horizon and the
control horizon as
np = 97 and nc = 2,
respectively. The long prediction horizon of 24 h 15 min allows the inclusion
of predicted rainfall based on a weather forecast, among other factors. This
amount of rain can be taken into account in the controller via q rain .
For the performance index, we will choose
where the reference value of the water level is set constant at y ref = href =
−0.4 m, i. e.
1
Sampling
5
step k = 1 Sampling
70
step k1516=
0
5
60 1 0
80 20
50 10 80 60 1340
0 50 12 0 2
1 10 11 0 2 20
10 40 2 10
80 40 10 0 1 00
0 1890
30 90 17 0
30 0
1
40 5
20
40 80
5 20 70
1
10 60 13
10 12 0
∆u(6)
∆u(2)
50
10 11 0
0 20 0 40 10 0
1 5 5 0
30 90
60
5 1 1
30
40 10 20
-40 50 20 -40
2
1 0 1 10
11 60 40
12 0 5 5
0 70 30 5 30
80 10
40
-80 1090
0
-80 10 1
∆u(41)
80 10
0
10 0 10
30
1 5
1 5 20
20
5 1
5 1 10 30
-40 -40 40 10
40 10
10 50 1
1 5 11 0 60
20
20 0
70 5
-80 30 5 -80 80
30
Fig. 6.7: Illustration of the optimization problems to be solved in the time steps
k = 1, k = 5, k = 10, and k = 40 for the case r = 0.000002. The contour lines of
J and the admissible optimization region (blue) are displayed. A cross marks the
minimum in each case.
6.1. Model-Based Predictive Control 521
very elongated ellipses. Furthermore, the graph shows the admissible region
for the optimization variables ∆u(k) and ∆u(k + 1) as resulting from the
constraints. The shapes of the contour lines of the performance index and
the admissible region depend on the time step k, i. e. they change during the
control process.
ẋ = f (x, u),
(6.21)
y = g(x)
or
x(k + 1) = f (x(k), u(k)),
(6.22)
y(k) = g(x(k)),
MPC can be used in a similar way as for linear plants. However, the imple-
mentation and calculation are usually much more complicated and complex
than in the linear case. This is because, due to the nonlinear system dynamics
(6.22), the optimization problem no longer takes a simple form. In particu-
lar, it is generally no longer convex. The nonlinearity causes a complicated
dependence of the performance index J on the control values u(k + i) to be
optimized. Such a nonconvex optimization problem often has several local
minima, and there are no solution procedures which reliably converge to the
global minimum. Despite the more complex numerics, the basic procedure is
roughly the same as for the LMPC.
Numerical optimization methods are used to solve the constrained opti-
mization problem [13, 94, 241]. One of the main problems is often solving the
optimization problem in real time. It is particularly time-consuming to deter-
mine the solution of system (6.21) for each control variable and performance
index calculation. Usually this is done by means of an integration procedure,
such as the Runge-Kutta procedure in the continuous-time case (6.21). In the
case of discrete systems, the system solution is calculated directly using the
recursion equation (6.22).
Because of the real-time problem, MPC is mostly used in control systems
with slow dynamics, such as in the processing industry. Another problem of
nonlinear MPC, abbreviated to NMPC, is ensuring the stability of the control
loop. Due to the nonlinearity of the plant and the fact that the control law
cannot be explicitly specified, stability generally cannot be guaranteed.
Below we will take a closer look at the stability problem. The starting point
of our analysis is system (6.22), where the input variable vector u is limited
according to u ∈ W ⊂ IRm , and the state vector x is limited according to
x ∈ X ⊂ IRn . Let us assume that np = nc holds. We will use the function
522 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
k+n
Xc −1
Q(x, u) > 0
must hold for all x 6= 0 and u 6= 0. Furthermore, the controlled system must
have an equilibrium point at
x(k) = 0
for u(k) = 0, and
Q(0, 0) = 0
must apply. Due to this requirement,
J(k) = 0
x2
x(k)
x(0)
x1
Contour line of J
Limit cycle
Fig. 6.8: Example of the continuous decrease in the performance index J along a
trajectory where the trajectory x(k) does not tend to zero
524 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
u(k), . . . , u(k + nc − 1)
x(k + nc ) ∈ U (0),
where U (0) is a neighborhood of the equilibrium point xeq = 0. The set U (0)
can be a tolerance range whose state values x ∈ U (0) are accepted as target
values of the control because their deviation from x = 0 is sufficiently small.
The neighborhood U (0) can also be a region in which a controller u2 (x) is
used instead of the predictive controller u1 (x), as illustrated in Figure 6.9.
x2
x0
u1
Predictive
control u1
Switching
to u2
u2 x1
Catchment Conventional
region feedback control u2
In this case, the controller u2 (x) is designed in such a way that it leads to
an asymptotically stable regulation to the equilibrium point xeq = 0 for all
x ∈ U (0). The neighborhood U (0) is designed as a catchment region, i. e. no
trajectory x(k) leaves U (0) after entering this region. A compensation for an
initial value x0 6∈ U (0) starts with the predictive control u1 (x) and switches
to the second controller u2 (x) as soon as x(k) ∈ U (0) applies.
For example, the conventional control law u2 (x) can be designed linearly,
based on a linearization of the plant around x = 0. Controllers of this kind
with two control laws u1 and u2 are called dual-mode controllers. We can
summarize the above in the following dual-mode MPC algorithm proposed by
Scokaert, Mayne, and Rawlings [408]:
hold. As the active control variable value, use the vector u(0).
and
J(k) − J(k − 1) < −µQ(x(k − 1), u(k − 1))
Evaporated Steam
material
u3
u1
qc
Ps x3
Cooled
Steam Pe water
x1 h
Water
Concentrate
Input
material
Condensate
evaporator as a mixture of steam and liquid and then enters the separator.
In the separator, the steam is separated and fed into a condenser. Cooled by
water that flows into the condenser at rate q c , the steam is condensed and
extracted from the facility. The concentrate collected in the separator has a
level of h. A part of this concentrate with concentration K p is now removed as
a product from the process at volume rate q p . The much larger part, however,
is mixed with the input material and returned to the evaporator.
The system can be described by a third-order nonlinear model, for which
we will assume that the flow rate and the concentration of the input material
are constant. Here,
x1 = h, x2 = K p , x3 = P e
are the state variables, and
u1 = P s , u2 = q p , u3 = q c
are the control variables. We will measure x1 in m, x2 in %, x3 and u1 in kPa,
and u2 and u3 in kg min−1 . The model has the form
ẋ1 = a1 x3 + a2 x2 − b1 u1 − b2 u2 − k1 ,
ẋ2 = −a3 x2 u2 + k2 ,
(6.26)
a6 x3 + b4
ẋ3 = −a4 x3 − a5 x2 + b3 u1 − u3 + k4 .
b5 u3 + k3
The parameters of the system are
The equilibrium point xeq of system (6.26) can be specified via the control
variables
1 b2 k2
u1eq = a1 x3eq + a2 x2eq − k1 − ,
b1 a3 x2eq
k2
u2eq = ,
a3 x2eq
k3 (−a4 x3eq − a5 x2eq + k4 + b3 u1eq )
u3eq = .
(a6 + a4 b5 )x3eq + a5 b5 x2eq − b5 k4 + b4 − b3 b5 u1eq
which yields
h iT
ueq = 214.13 3.33 65.40 .
and r = 0.1. The performance index with the associated constraints (6.27)
is converted using a barrier function so that an unconstrained performance
index
(
˜ = J(k) if all x(i), u(i), i = 1, . . . , 4, fulfill inequality (6.27),
J(k)
∞ if one x(i), u(i), i = 1, . . . , 4, does not fulfill inequality (6.27),
270
1
Pressure u1 in kPa
260
Level x1 in m
0.8 250
0.6 240
0.4 230
220
0.2
210
0 20 40 60 80 100 0 20 40 60 80 100
25
3.5
20 3
2.5
2
15
0 20 40 60 80 100 0 20 40 60 80 100
Flow rate u3 in kg min−1
70 60
Pressure x3 in kPa
65
40
60
20
55
0
50
0 20 40 60 80 100 0 20 40 60 80 100
Sampling step k, time t in min Sampling step k, time t in min
Fig. 6.11: Evaporation plant employing model predictive control with sampling time
T = 1 min
A stability analysis for this NMPC would be complicated and very labo-
rious, so we will proceed without it. Theoretically this is unsatisfactory, but
in practice, as mentioned, this is often done.
Let us take the initial state
h iT
x(0) = 1 25 50
to be regulated to the operating point (6.28). Figure 6.11 shows the variation
in time of the control variables u1 , u2 , and u3 and the controlled variables y1 ,
y2 , and y3 . In addition to the good compensation result, it is also evident that
all constraints (6.27) for x1 , x2 , x3 , u1 , u2 , and u3 are fulfilled. This especially
530 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
holds for the flow rates u2 and u3 , of which u2 is held at its maximum value
u2 = 4 kg min−1 for 4 min and u3 is held at its minimum value u3 = 0 kg min−1
for 7 min.
Sliding mode controllers [1] switch back and forth between two control laws
depending on the state vector. This results in sliding modes which have the
advantage that the control system is robust with regard to parameter fluctu-
ations of the plant. A disadvantage of conventional sliding mode controllers is
the high-frequency switching of the actuator. This often leads to premature
wear. Sliding mode controllers were originally introduced for the control of
linear systems by Emeljanov [104, 105, 106] and were further developed by
Utkin [460, 461] and Itkis [204]. Improvements and applications for nonlinear
plants were later described by other researchers [134, 196, 415, 421, 482, 501].
In the following, we will first consider linear plants, since these systems can
be used to describe the basic principles of sliding mode control in a simple
way. Subsequently, we will address nonlinear plants in Section 6.2.6.
In order to illustrate the principle of sliding mode control, we will take the
plant
ẋ1 = x2 ,
(6.29)
ẋ2 = a · u, a > 0,
with the controller
Here, umax and m are constants of the controller. The control law (6.30)
separates the state space into two regions via the switching line
x2 = −mx1 . (6.31)
u = umax ,
2 2
1 1
State x2
State x2
0 0
-1 -1
-2 -2
-10 -5 0 5 10 -10 -5 0 5 10
State x1 State x1
Fig. 6.12: System trajectories for actu- Fig. 6.13: Trajectories of the control
ator signals u = −umax (solid line) and loop with sliding mode shown in blue.
u = umax (dashed line) as well as the Above the switching line, u = −umax
switching line, shown in blue holds, while below it, u = umax holds.
The trajectories x(t) = [x1 (t) x2 (t)]T of the control loop consist of parts
of the parabolas separated by the switching line. To determine them, we must
calculate the solutions
Zt
x2 = x2 (0) + aumax dτ = aumax t + x2 (0), (6.32)
0
Zt
1
x1 = x1 (0) + x2 (τ ) dτ = aumax t2 + x2 (0)t + x1 (0) (6.33)
2
0
m = 0.06. After reaching the switching line, the trajectories on both sides
cause a continual switching between −umax and umax . As a consequence, the
trajectory x(t) slides on the switching line into the equilibrium point xeq = 0.
The sliding dynamics are described by the switching line (6.31) itself, which
specifies them as
x2 = ẋ1 = −mx1 .
Theoretically, the trajectory changes at infinite rapidity with infinitesi-
mally small deflection from one side of the switching line to the other. Thus,
this switching between −umax and umax occurs at infinitely high frequency re-
ferred to as chattering. Of course, in practice, the switching frequency is not
infinitely high; it depends on the maximum speed of the actuator. As previ-
ously mentioned, chattering is a serious disadvantage to sliding mode control,
because mechanical actuators wear out quickly.
However, sliding mode control has a significant advantage: the control loop
is robust with regard to plant variations in the sliding mode. This means that
the control-loop dynamics are always the same, even if the plant changes. In
the previous example, the dynamics are
ẋ1 = −mx1 ,
ẋ2 = ẍ1 = −mẋ1 = m2 x1 = −mx2
The control process of a sliding mode control can be divided into three phases:
(1) the arrival phase, in which the trajectories approach the switching line or
switching hyperplane and reach it in finite time;
(2) the sliding mode phase, in which the trajectory slides on the switching
hyperplane into the equilibrium point; and
(3) the equilibrium point xeq = 0, at which the system remains.
For a globally stable equilibrium point xeq = 0, it must be ensured that all
trajectories tend toward the switching hyperplane in finite time and then move
to the equilibrium point xeq = 0 in the sliding phase.
Let us examine the linear plants
ẋ = Ax + bu
s(x) = r T x
and
ṡ > 0 for s(x) < 0
must hold. If both conditions are combined, we obtain
sṡ < 0
where q and k are positive constants. Obviously, in the case of equation (6.34),
the switching hyperplane s fulfills the necessary condition
Because s has a decrease rate of ṡ < −q (or an increase rate of ṡ > q) even
for very small values of |s| due to the choice of ṡ in equation (6.34), the
trajectories x(t) reach the switching hyperplane in finite time.
Using
s(x) = rT x = 0,
rT Ax + q sgn(rT x) + kr T x
u(x) = − .
rT b
The arbitrary positive parameters q and k allow for the creation of favorable
control dynamics.
Note that sliding mode controllers can also be designed for systems with
multiple input variables, i. e. for systems
ẋ = Ax + Bu;
When trajectories x(t) reach the switching plane and the sliding mode begins,
the question arises: what dynamics does the control loop have in the sliding
mode? When considering this question, the discontinuity of the differential
equation
(
u+ (x) for s(x) > 0,
ẋ = Ax + bu, u(x) = (6.35)
u− (x) for s(x) < 0
s(x) = r T x = 0
poses a problem.
It is evident that the differential equation is not defined on the switching
hyperplane, i. e. the existence and uniqueness of its solution is not ensured on
the hyperplane. This problem results from the switching between u+ (x) and
u− (x), which causes a discontinuous control signal u(t). However, the right
side of the differential equation (6.35) must be continuous, since the left side is
continuous due to the differentiation of x. There are various methods [196] to
solve this problem, such as the Filippov method [119]. But this issue does not
6.2. Variable Structure Control with Sliding Mode 535
ẋ1 = x2 ,
..
. (6.39)
ẋn−2 = xn−1 ,
ẋn−1 = −r1 x1 − . . . − rn−1 xn−1
which describes the dynamics of the control loop in the sliding mode. Note
that in this case the state variable xn is given by the algebraic equation (6.38)
and the equation for ẋn is therefore omitted. The differential equations (6.39)
are no longer dependent on the parameters ai of the plant. This means that
the control loop (6.39) is robust with regard to parameter fluctuations of the
plant. It is also noteworthy that the system order has been reduced by one
degree to n − 1 and the coefficients ri of the switching hyperplane (6.37) are
also the characteristic polynomial coefficients of the linear dynamics (6.39) in
the sliding mode.
The main advantage of sliding mode controllers is their robustness with re-
gard to variations ∆A in the plant parameters or external disturbances d(t)
appearing in the system description
ẋ = (A + ∆A) x + bu + d.
536 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
This means that the closed-loop dynamics depend only on the parameters ri
of the switching hyperplane s(x) = rT x in the sliding mode, as we saw in
equation (6.39). The dynamics are independent of ∆A and d.
If both the following conditions are met [100], the robustness described
above will indeed result:
(1) There is a vector p, so ∆A = b · pT applies.
(2) There is an α(t), so d(t) = b · α(t) applies.
If, for example, the system is given in the controller canonical form
0 1 0 ··· 0 0
0
0 1 ··· 0
0
. . . . . .
..
ẋ = .. .. . . ..
x + .. u,
0
0 0 ··· 1
0
−a0 −a1 −a2 · · · −an−1 1
iL iR
L
iC
T
R1
uin C RL uout
Current R2
measurement
x2 β βuout
−
Controller x1 C
uref
where
(R1 + R2 )RL
RG = .
R1 + R2 + RL
From equation (6.41), we obtain
1 1 uin z
üout = − uout − u̇out + . (6.42)
LC RG C LC
We will now define
as state variables. Equations (6.42) and (6.43) result in the state-space model
ẋ1 0 1 x1 0
= 1 1 + 1 u, (6.44)
ẋ2 − − x2
LC RG C LC
with the control variable u being
The system (6.44), (6.45) is ideal for the application of a sliding mode con-
trol. This is because, on the one hand, the digital control variable z already
538 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
specifies a switching operation. On the other hand, the power transistor tol-
erates the high-frequency switching which occurs in sliding modes. The aim
of the control is to reach the operating point
z=0
State x2
State x2
0 s 0 s
iL = 0
z=1
0 0
State x1 State x1
Fig. 6.15: Equilibrium point xeq1 and Fig. 6.16: Equilibrium point xeq2 and
trajectories for z = 1 trajectories for z = 0
is now selected to separate the state space into two regions. In one region
z = 0 applies, and in the other z = 1, according to
(
0 for s(x) > 0,
z=
1 for s(x) < 0.
Figure 6.17 shows both regions and the trajectories in question. These tra-
jectories are composed of the trajectories shown in Figures 6.15 and 6.16. A
sliding mode occurs on the switching line.
Next, the necessary condition for a sliding mode, sṡ < 0, will be used to
determine the parameter r1 of the switching line (6.50). From
If we set
540 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
z=0
s(x) = 0
State x2
0 s
z=1
0
State x1
Fig. 6.17: Trajectories, switching line (blue), and sliding mode of the DC-to-DC
converter
1
r1 = ,
RG C
the condition of existence (6.51) is independent of x2 = β u̇out . With equation
(6.43), this results in
β
sṡ = s(x) (uin z − uout ) < 0. (6.52)
LC
From this condition, and in the case of s(x) < 0 and z = 1, we obtain
β
ṡ = (uin − uout ) >0 for s(x) < 0 and z = 1.
LC
The dynamics of the controlled converter in sliding mode are calculated
using
s(x) = r1 x1 + x2 = 0 and x2 = ẋ1 ,
yielding
x1 (t) = x1 (0)e−r1 t .
As we can see, the dynamics in the sliding mode are independent of changes in
the load resistance RL and fluctuations in the input voltage, i. e. the battery
voltage uin .
Let us examine a concrete implementation with the following parameters:
RL = 6 Ω, uin = 24 V,
L = 110 µH, uout = 12 V,
C = 100 µF, uref = 3.3 V.
Hence,
uref
β= = 0.275.
uout
From
βR1
R2 =
1−β
and R1 = 870 Ω it follows that R2 = 330 Ω. The time constant 1/r1 in sliding
mode is 0.6 ms.
Figure 6.18 shows the output voltage in the event of a sudden decrease
of 3 V in the input voltage uin . As expected, the output voltage uout does
not change. In real devices a voltage drop of several 10 mV can be observed.
Figure 6.19 shows the turning-on process. The output value of uout = 12 V is
reached after a time of 5/r1 = 3 ms.
Output voltage uout in V
Output voltage uout in V
12.5 14
Input voltage uin in V
27 12
25 10
12
8
23
6
11.5 21 4
19 2
11 0
0 0.0025 0.005 0.0075 0.01 0 0.0025 0.005 0.0075 0.01
Time t in s Time t in s
Fig. 6.18: Control of the output voltage Fig. 6.19: Time course of the out-
uout after a drop in the input voltage uin put voltage uout after the converter
is turned on
542 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
In certain cases, the design of sliding mode controllers for nonlinear plants
is no more difficult than for linear plants. Among other types of plants, this
applies to the control-affine plants
ẋ = a(x) + b(x) · u,
(6.55)
y = c(x)
y = c(x),
∂c(x)
ẏ = ẋ = La c(x),
∂x
∂La c(x)
ÿ = ẋ = L2a c(x),
∂x
..
.
n−2
∂La c(x)
y (n−1) = ẋ = Lan−1
c(x),
∂x
n−1
∂La c(x)
y (n) = ẋ = Lna c(x) + Lb La
n−1
c(x) · u.
∂x
By using the new state coordinates
with
α(z) = Lna c(t−1 (z)) n−1
and β(z) = Lb La c(t−1 (z)).
The design of a sliding mode controller with switching hypersurface
s(z) = 0
developed by Gao and Hung. Recall that this ensures the trajectories z(t) will
reach the switching plane in finite time. Again,
apply.
Using
ṡ(z) = gradT (s(z)) · ż
and equation (6.56) as well as equation (6.57) yields the control law
rT ã(z) + q sgn(r T z) + k r T z
u(z) = − . (6.58)
rT b̃(z)
Inserted into the plant (6.56), this results in the control-loop dynamics
ż1 z2 0
. .. ..
.
. . .
=
−
.
ż z 0
n−1 n
T
żn −kr1 z1 − (r1 + kr2 )z2 − . . . − (rn−1 + k)zn q sgn(r z)
This control loop is free of the nonlinearities of the plant. Further information
on topics such as sliding mode control for nonlinear MIMO systems can be
found in [89, 145, 360, 418].
544 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
In the following, we will design a sliding mode controller for an optical switch.
This is implemented as a microelectromechanical system, abbreviated MEMS,
and serves to switch the light path between different optical fibers [54, 349]. In
this way it is possible to transmit an optical signal from one optical waveguide
to another and back again, without conversion to an electrical signal.
Figure 6.20 shows the structure of this kind of optical switch. The comb
drive converts an electrical voltage v, which serves as the switch’s input signal,
into a translational change of the position x1 of a rod. A mirror is attached to
the rod, enabling it to be pushed into and out of the optical path. The model
ẋ1 = x2 ,
c 1 ke (6.60)
ẋ2 = − x1 − (d1 x1 + d0 ) · x2 + u + d
m m m
of the optical switch is in nonlinear controller canonical form. Here, u =
v 2 holds, while y = x1 represents the system’s output variable, and d is a
mechanical, time-dependent disturbance. The available voltage v is limited
by 0 ≤ v ≤ 35 V.
The parameters are the moving mass m = 2.35 · 10−9 kg, the spring
constant of the suspension c = 0.6 N m−1 , the damping coefficients d1 =
0.0363 kg s−1 m−1 and d0 = 5.45 · 10−7 kg s−1 , and the converter constant
k e = 17.8 · 10−9 N V−2 of the comb drive. The values of the damping coeffi-
cients d0 and d1 must be regarded as uncertain estimates. In the following,
x1
Laser
where ueq is the control variable. By using equation (6.61) and the transfor-
mation rule
b
x1 = x1eq + ∆x1 = ueq + ∆x1
a0
with the new variable ∆x1 , we obtain
∆ẋ1 = x2 ,
(6.62)
ẋ2 = −(a0 + a1 x2 )(x1eq + ∆x1 ) − a2 x2 + b u + d
s(x) = r · ∆x1 + x2 = 0
the control law, which we had already derived in equation (6.59) for the general
case, takes the form
rx2 −(a0 + a1 x2 )(x1eq + ∆x1 )−a2 x2 +q sgn(s(x))+ks(x)
u(x) = − (6.63)
b
546 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
for the present example. The parameters q and k are constants which need to
be suitably chosen. Inserting the control law (6.63) into the system dynamics
(6.62), the resulting expression for the control loop is
∆ẋ1 = x2 ,
ẋ2 = −rx2 − q sgn(s(x)) − ks(x) + d.
∆ẋ1 = x2 ,
(6.64)
ẋ2 = −kr∆x1 − (r + k)x2 − q sgn(r∆x1 + x2 ) + d.
The polynomial has the two zeros s1 = −r and s2 = −k, which are identical
to the two eigenvalues of the linear part of the control loop’s system dynamics
(6.64).
In the case of the sliding mode,
s(x) = r∆x1 + x2 = 0
∆ẋ1 = −r∆x1
d1 = dnom = 0.0363,
d1 = 0,
d1 = 10dnom ,
d1 = 100dnom .
15
d1 = dnom
d1 =0
d1 = 10 dnom
10 d1 = 100 dnom
∆x1 in µm
0
0 100 200 300 400
Time t in µs
moving toward the switching line for curves in black. The progressions for the
values d1 = dnom , d1 = 10dnom , and d1 = 0 are almost identical.
Note that a sliding mode control is only robust if it is in sliding mode.
If the plant’s parameters vary so that the sliding mode no longer exists or
can no longer be achieved, the control loop is no longer robust in the way we
have described. This is illustrated by the case of d1 ≫ dnom . In this case, the
sliding mode which generates robustness is reached very late.
In Section 2.4, we described passive systems and stated that their equilibrium
point xeq = 0, provided that the systems have a positive definite storage
function, is Lyapunov stable. In particular, strictly passive systems have an
asymptotically stable equilibrium point at x = 0. We are therefore interested
in designing a control loop so that it is strictly passive.
First, we will look at a very simple passivity-based control loop. It is based
on a strictly passive plant
ẋ = f (x, e2 ),
y 2 = g(x)
y 1 = h(e1 , t),
548 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
Controller y1 u2 Plant
u1 e1 e2 ẋ = f (x, e2 ) y2
y 1 = h(e1 , t)
y 2 = g(x)
Fig. 6.22: Control loop with strictly passive plant and passive static controller
e1 = u1 − y 2 ,
e2 = u2 + y 1 ,
they result in the control loop shown in Figure 6.22. Remember Section 2.4.1,
p. 143 et seq., where we found that the static controller
y 1 = h(e1 , t),
0 ≤ eT1 y 1 (6.65)
applies. In the SISO case, 0 ≤ e1 y1 , this requirement means that the charac-
teristic curve must lie in the first and the third quadrants. Such characteristics
include two-position and three-position elements, among others.
In the following, it is assumed that S(x) is the plant’s storage function,
and R(x) is a positive definite function, so that the inequality
for the strict passivity of the plant is fulfilled. We will also use S(x) as a
storage function of the control loop and the function R(x) to prove the strict
passivity of the control loop. With the composite input variable vector
u1 e1 + y 2
u= =
u2 e2 − y 1
of strict passivity. Assuming that equation (6.65) applies, if the passivity in-
equality (6.66) of the plant is fulfilled, the passivity inequality (6.67) of the
control loop is also. The control loop is therefore strictly passive and thus has
an asymptotically stable equilibrium point. This is stated in
Theorem 80 (Control of Strictly Passive Plants Using Passive Static
Controllers). Let a passive static controller and a strictly passive plant, which
are given as
e1 = u1 − y 2 and e2 = u2 + y 1
ẋ = f (x, u2 + y 1 ),
y 1 = h(u1 − y 2 , t),
y 2 = g(x).
lim x(t) = 0
t→∞
results for the case that u(t) = 0 and y(t) = 0 hold for all t ≥ 0.
Now we will start again from equation (6.67), which must be valid for the
control loop in this case as well. However, the controlled system is only passive
here, i. e.
550 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
Ṡ(x) ≤ eT2 y 2
applies instead of equation (6.66). Therefore,
must be valid for the fulfillment of equation (6.67). Furthermore, the limit
must follow from e2 (t) = 0 and y 2 (t) = 0, i. e., for this case, the plant’s
trajectories tend to zero and remain there. The latter is equivalent to the
controlled system being zero-state detectable. If this were not the case, limit
cycles x(t) with Ṡ(x) = 0 could exist which cannot be observed based on the
input variable vector u(t) and the output variable vector y(t).
Similar to Theorem 80[2] , and with the statements above, we can now
formulate the subsequent theorem [65].
Theorem 81 (Control of Passive Plants Using Passive Static Con-
trollers). Let the control loop from Theorem 80 be given, with the difference
that the plant is passive and the passive static controller satisfies e1 h(e1 , t) > 0
for e1 6= 0. If the plant has a positive definite storage function and is zero-
state detectable, then the control loop has an asymptotically stable equilibrium
point at x = 0 for u = 0. If the storage function is radially unbounded, the
equilibrium point is globally asymptotically stable.
We will now describe an example of the application of Theorem 81.
Earthquakes trigger vibrations in buildings with steel girders, which can dam-
age them and even cause them to collapse. These building vibrations can be
attenuated using various damping methods. A possible approach is utilizing
viscous fluid dampers that are mounted on one or more floors to compen-
sate for seismic vibrations [434, 438, 439]. Figure 6.23 illustrates the case of a
building vibrating due to an earthquake.
The dynamics of the building are those of a multi-mass oscillator. The walls
act both as springs and dampers. We can therefore model two superimposed
floors using their masses mi and mi+1 , connected by a spring with the spring
constant ci and a damper with the damping constant di [350].
The building is set to vibration by the seismically induced acceleration
ẍg of the building’s foundation. We can model this acceleration as acting
immediately and with equal strength on all floors – except the foundation –
[2]
In [65], Theorem 81 is only proven for time-invariant characteristics h(e1 ). How-
ever, the argument therein remains valid even with time-variant characteristics
h(e1 , t).
6.3. Passivity-Based Control 551
x5
m5 , c5 , d5
x4
m4 , c4 , d4
x3
m3 , c3 , d3
x2
m2 , c2 , d2
x1
m1 , c1 , d1
ẍg
Fig. 6.23: A building with viscous fluid dampers on each floor. The parameters mi ,
ci , di , i = 1, . . . , 5, indicate the masses, spring constants, and damping constants of
the individual stories.
with the sign reversed. The damping forces F1 , . . . , F5 of the viscous fluid
dampers counteract it. This results in the dynamics for the movement of the
floor on the first story,
m2 ẍ2 = −d2 (ẋ2 − ẋ1 ) − d3 (ẋ2 − ẋ3 ) − c2 (x2 −x1 ) − c3 (x2 −x3 ) + F2 + m2 ẍg ,
m3 ẍ3 = −d3 (ẋ3 − ẋ2 ) − d4 (ẋ3 − ẋ4 ) − c3 (x3 −x2 ) − c4 (x3 −x4 ) + F3 + m3 ẍg ,
m4 ẍ4 = −d4 (ẋ4 − ẋ3 ) − d5 (ẋ4 − ẋ5 ) − c4 (x4 −x3 ) − c5 (x4 −x5 ) + F4 + m4 ẍg ,
with
m1 0 0 0 0 d1 + d2 −d2 0 0 0
0 m 0 0 0 −d d2 + d3 −d3 0 0
2 2
M =
0 0 m3 0 0 , D = 0
−d3 d3 + d4 −d4 0 ,
0 0
0 m4 0
0
0 −d4 d4 + d5 −d5
0 0 0 0 m5 0 0 0 −d5 d5
F 1 c + c2 −c2 0 0 0
1 1
F 1 −c c2 + c3 −c3 0 0
2 2
F3 ,
F = 1 = 1 ,
C = 0
−c3 c3 + c4 −c4 0 .
F4
1
0
0 −c4 c4 + c5 −c5
F5 1 0 0 0 −c5 c5
In this way, from the five second-order differential equations (6.68), we obtain
the ten first-order differential equations
ẋ 0 I x 0 0
=
−1 −1
+
−1
F + ẍg . (6.69)
ẍ −M C −M D ẋ M 1
y = ẋ. (6.70)
System (6.69), (6.70) is passive, which we can prove with the storage func-
tion
1 T 1
S(x, ẋ) = ẋ M ẋ + xT Cx (6.71)
2 2
by inserting it into the passivity inequality
due to viscous friction, which counteracts the movement of the piston and
depends on its speed v, as shown in Figure 6.24. Here, d˜ is the damping
coefficient and α is a design constant with 0 < α ≤ 1 [190].
The viscous fluid dampers exert the forces
1 α = 0.25
α = 0.75
α = 0.5
F̃ in N
0 α=1
−1
−1 0 1
v in m s −1
Fig. 6.24: Curve of the damping force F̃ = d˜· |v|α sgn (−v) for different values α and
d˜ = 1
on the masses mi . Figures 6.25 and 6.26 illustrate these forces. For the total
forces acting on the masses mi , we obtain
F1 F̃1 − F̃2 1 −1 0 0 0 d˜1 |ẋ1 |α sgn (−ẋ1 )
˜
F2 F̃2 − F̃3 0 1 −1 00 d2 |ẋ2 − ẋ1 |α sgn (ẋ1 − ẋ2 )
=0
F (ẋ) = F3 = F̃3 − F̃4 0 1 −1 0 d˜3 |ẋ3 − ẋ2 | sgn (ẋ2 − ẋ3 )
α
.
0 1 −1 d˜4 |ẋ4 − ẋ3 |α sgn (ẋ3 − ẋ4 )
F4 F̃4 − F̃5 0 0
F5 F̃5 0 0 ˜ α
0 0 1 d5 |ẋ5 − ẋ4 | sgn (ẋ4 − ẋ5 )
(6.72)
0 < eT1 y 1 = y T1 e1 ,
and obtain
x1 x2 − x1
c1 c2 c5
m1 m2 m5
d1 d2 d5
m1 m2 m5
1ẍg
e1 y1 = F ẋ
F (−e1 ) M ẍ = −Dẋ−Cx+F +M 1ẍg
Fig. 6.27: Representation of the building model with viscous fluid dampers, shown
as a control-loop structure
T
−d˜1 |ẋ1 |α sgn (−ẋ1 ) 1 0 0 0 0 ẋ1
˜
−d2 |ẋ2 − ẋ1 |α sgn (ẋ1 − ẋ2 )
−1 1 0 0 0 ẋ2
y T1 e1 = −F T (ẋ)ẋ = −d˜3 |ẋ3 − ẋ2 |α sgn (ẋ2 − ẋ3 )
0 −1 1 0 0 ẋ3
˜
−d4 |ẋ4 − ẋ3 |α sgn (ẋ3 − ẋ4 ) 0 0 −1 1 0 ẋ4
˜ α
−d5 |ẋ5 − ẋ4 | sgn (ẋ4 − ẋ5 ) 0 0 0 −1 1 ẋ5
5
X
= d˜1 |ẋ1 |α+1 + d˜i |ẋi − ẋi−1 |α+1 > 0
i=2
ẍ5 in m s−2
50
x5 in m
0 0
−50
−2
0 10 20 30 0 10 20 30
2
ẍ4 in m s−2
50
x4 in m
0 0
−50
−2
0 10 20 30 0 10 20 30
2
ẍ3 in m s−2
50
x3 in m
0 0
−50
−2
0 10 20 30 0 10 20 30
2
ẍ2 in m s−2
50
x2 in m
0 0
−50
−2
0 10 20 30 0 10 20 30
2
ẍ1 in m s−2
50
x1 in m
0 0
−50
−2
0 10 20 30 0 10 20 30
10
ẍg in m s−2
0.5
xg in m
0 0
−0.5
−10
0 10 20 30 0 10 20 30
Time t in s Time t in s
Fig. 6.28: The left column shows the shift xg (red) in the foundation caused by
the earthquake in Kōbe and the shift xi of the floors. The right column shows the
acceleration ẍg (red) of the foundation and the acceleration ẍi of the floors. The
blue curves show the building vibrations without viscous fluid dampers, while the
black curves show the building vibrations with these dampers.
558 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
the accelerations ẍi acting on the respective stories i of our model building
and which, multiplied by the respective masses mi , result in the acting forces.
Also shown are the displacements xi of the stories i, both with and with-
out viscous fluid dampers. With these dampers, the load on the building is
greatly reduced, so that the effect of the quake on the building is significantly
decreased.
Because this method effectively reduces vibrations, additional damping
devices, such as the viscous fluid dampers described above, are often used for
large buildings, bridges, and tall towers located in earthquake-prone areas.
For non-passive systems, the controller design methods from Section 6.3.1
cannot be applied at this stage. A useful procedure in this case is to make the
non-passive system passive by extending it with additional external circuitry,
such as a system connected in parallel, or feedback via an additional system.
After this passivation of the system, we can apply the theorems for passive
systems and the appropriate controller design procedures.
Let us first address the controllable linear SISO systems
ẋ = Ax + b · u,
(6.73)
y = cT x
before turning to the general case of control-affine MIMO systems in the
following section.
Now our aim is to derive conditions under which a linear system can be
made passive using a static state feedback, i. e. a controller
u = −r T x + V · y ref
AT R + RA = −Q, (6.74)
T T
c =b R (6.75)
cT b = bT Rb > 0 (6.76)
as a necessary condition for the passivity of the system (6.73). We will also
perform the same steps as for an exact input-output linearization, deriving
the output variable y according to the equations
6.3. Passivity-Based Control 559
y = cT x,
ẏ = cT ẋ = |cT{z cT b · u,
Ax} + |{z}
La c(x) Lb c(x)
ÿ = . . .
..
.
tTi Ax + tTi b u, i = 2, . . . , n,
from equation (6.78) on the control value u, we now select the vectors ti ,
i = 2, . . . , n, so that
tT
2
..
. b = 0
tTn
applies. This means that all ti are perpendicular to b. Since according to
equation (6.76), the inequality cT b 6= 0 applies. If now the vector b is not
560 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
z int = [z2 · · · zn ]T
where
t2 AT −1
z1 h i
−1
h i
..
Γ11 Γ T12 = cT AT , and Γ 21
z = , Γ 22 = .
z int
tn AT −1
hold.
Besides condition (6.75), equation (6.74) is the second requirement to be
fulfilled. It is equivalent to saying that the equilibrium point xeq = 0 of the
system (6.73) is Lyapunov stable. Because the linear transformation (6.77) is
regular, equation (6.74) tells us that the transformed system (6.80) must also
be Lyapunov stable. In particular, its internal dynamics must be Lyapunov
stable, i. e. the matrix Γ 22 may only have eigenvalues with a nonpositive real
part. This is the second necessary condition we were attempting to identify.
Thus, we obtain
Theorem 82 (Passivity of Linear Systems). A passive system
ẋ = Ax + b · u,
y = cT x
apply. The latter holds because the zero dynamics ż int = Γ 22 z int are assumed
to be Lyapunov stable. We stated this previously in equation (6.81). With
equation (6.83), we can always specify a static control law
which passivates the system (6.80) and its original representation (6.73).
Thus we arrive at
Theorem 83 (Passivability of Linear Systems). A non-passive system
ẋ = Ax + b · u,
y = cT x
can be converted into a passive control loop with a quadratic positive definite
storage function by a static controller
u = −r T x + V · y ref
N (s)
G2 (s) =
D(s)
to obtain
1 N (s) 1 + N (s)
G1 (s) + G2 (s) = + =
D(s) D(s) D(s)
ẋ = a(x) + B(x) · u,
(6.84)
y = c(x).
As in the preceding section, we will first clarify the conditions that must
be fulfilled for these systems to be passive before we determine how such
a system can be passivated. Similar to Theorem 82, the following theorem
applies [58, 65].
Theorem 84 (Passivity of Control-Affine Systems). A passive system
ẋ = a(x) + B(x) · u,
y = c(x)
δ = [1 · · · 1],
from the outset, we can limit our analysis to systems with this relative degree.
We intend to make these systems passive using the static controller
h i
u(x) = −r(x) + V (x) · y ref = −D−1 (x) r̃(x) − Ṽ · y ref , (6.85)
Lb1 c1 (x) Lb2 c1 (x) · · · Lbm c1 (x)
Lb1 c2 (x) Lb2 c2 (x) · · · Lbm c2 (x)
D(x) = .. .. .. .. ,
. . . .
Lb1 cm (x) Lb2 cm (x) · · · Lbm cm (x)
La c1 (x) + a1,0 c1 (x) Ṽ1 0 · · · 0
La c2 (x) + a2,0 c2 (x) 0 Ṽ2 · · · 0
r̃(x) = .. , Ṽ = . . . . ,
. . . . .
. . . .
La cm (x) + am,0 cm (x) 0 0 · · · Ṽm
det(D(x)) 6= 0
ẋ = a(x) + B(x) · u,
y = c(x)
with a regular decoupling matrix D(x) can be converted into a passive con-
trol loop with a two times continuously differentiable, positive definite storage
function using a static controller
6.3. Passivity-Based Control 565
ẋ = a(x) + B(x) · u,
(6.86)
y = c(x)
with the reference vector y ref [3] [344, 345, 346]. As we know from Section
2.4.10 on p. 179 et seq., a PCHD system is always passive. Furthermore, it is
strictly passive if D(x) is positive definite. Our task is to design a controller
u(x) that will generate a passive control loop (6.87) in interconnection with
the plant (6.86) with good damping and an asymptotically stable equilibrium
point. However, the output variables y and y PCHD of the two systems are
generally no longer identical.
We assume that the equilibrium point which is of interest to us has been
transformed into the origin x = 0 or is already there. Now, we obtain for the
derivative of the positive definite function V (x)
[3]
Note that the matrix D(x) in equation (6.87) is the damping matrix of a PCHD
system and not the decoupling matrix D(x). Both matrices are designated D in
the literature. We will retain these designations, as there is no risk of confusion
in the following.
566 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
T T
∂V (x) ∂V (x) ∂V (x) ∂V (x)
V̇ (x) = (J (x) − D(x)) =− D(x)
∂x ∂x ∂x ∂x
for y ref = 0, where V̇ (x) < 0 holds if D(x) is positive definite. In the latter
case, the function V (x) is a strict Lyapunov function. Thus, the origin is
an asymptotically stable equilibrium point. If D(x) is positive semidefinite,
only V̇ (x) ≤ 0 holds. Then Barbashin and Krasovskii’s theorem on p. 116 or
Theorem 23 on p. 147 can be used to ensure asymptotic stability. Although the
following can be performed for the latter, we restrict ourselves, for simplicity,
to the case of positive definite matrices D(x) since it is the most common.
Now, we will attempt to identify a control law u(x) such that the control
loop with plant (6.86) as a controlled system is in PCHD form (6.87). For this
purpose, as a first step, we split the control variable
u = u1 + u2 .
In the second step, we equate equation (6.86) and equation (6.87), obtaining
T
∂V
B(x) · u1 + B(x) · u2 = (J (x) − D(x)) − a(x) + B(x) · y ref .
∂x
u1 = y ref .
B(x) · u2 = v (6.89)
b⊥
i bj = 0 for all i = 1, . . . , n − m and j = 1, . . . , m
6.3. Passivity-Based Control 567
B ⊥ B = 0,
where
b⊥1
⊥ ..
B = . .
b⊥
n−m
B⊥ v = 0
" T #
⊥ ∂V
B (x) (J (x) − D(x)) − a(x) = 0 (6.90)
∂x
holds. In solving the previous equation, we have the choice between two differ-
ent variables and approaches to aim at a control loop with an asymptotically
stable equilibrium point:
(1) We can select a storage function V (x) with its minimum at zero. Then the
matrices J(x) and D(x) are to be determined, with the skew symmetry
of J (x), i. e. J (x) = −J T (x), and the positive definiteness of D(x) as
properties to be satisfied. In this case, equation (6.90) is an algebraic
equation with the variables J (x) and D(x).
(2) We can choose a skew-symmetric matrix J(x) and a positive definite
matrix D(x). Then we have to determine the storage function V (x) so
that equation (6.90) is fulfilled. The constraints V (0) = 0 and V (x) > 0
must be complied with. In this case, equation (6.90) is a linear partial
differential equation with respect to V (x).
If we succeed in fulfilling the key equation (6.90), the system of equations
(6.88) has a solution. Now we can determine the m - dimensional vector u2 by
selecting m equations with linearly independent row vectors bTi of the n × m
matrix B(x) from
B(x) · u2 = v (6.91)
568 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
in the following manner. We will denote the indices of these linearly indepen-
dent m row vectors bTi as i1 , i2 , . . . , im , where i1 , i2 , . . . , im ∈ {1, 2, . . . , n}
applies. To select the corresponding equations
bTi1 u2 = vi1 ,
..
.
bTim u2 = vim
where the n - dimensional vector eik is the unit vector of the ik -th coordinate
direction of IRn . This vector has zeros everywhere except in its ik -th element,
which is equal to one.
Now we multiply equation (6.91) by the matrix K from the left, selecting
the m linearly independent equations
KB(x) · u2 = Kv.
This yields
u2 = (KB(x))−1 Kv (6.92)
and the control law we have been attempting to identify:
" T #
−1 ∂V
u = u2 + u1 = (KB(x)) K (J (x) − D(x)) − a(x) + y ref .
∂x
(6.93)
Alternatively, we can also derive the control law (6.93) from the pseudoin-
verse of the matrix B(x). The pseudoinverse [40]
−1
M+ = MT M MT
z opt = M + h
6.3. Passivity-Based Control 569
and yields
M z opt ≈ h.
This approximation attains the smallest value of the square error
T
|M z − h|2 = (M z − h) (M z − h) . (6.95)
If, however, the condition
M ⊥h = 0
is also fulfilled, the vector h is a linear combination of the M columns, and
the system of equations (6.94) can be solved exactly. Hence, the error (6.95)
is identical to zero for z = z opt and the solution is no longer approximate; it
is exact, yielding
M z opt = h with z opt = M + h.
With the approach using the pseudoinverse of B(x), we can calculate
−1
u2 = B T (x)B(x) B T (x)v
" T #
−1 ∂V
u = B T (x)B(x) B T (x) (J (x) − D(x)) − a(x) + y ref
∂x
(6.96)
qf
Mixing tank
Valve
Reel
Press section spool
hm Forming section
Filter
hh Dryer section
Headbox
qb Pump
an equation which is bilinear in the states xi and the input variables ui . The
vector d(∆cf , ∆cb ) represents the disturbances. Our goal will be to design a
passivity-based control with IDA for the aforementioned system to compen-
sate for the disturbances ∆cf and ∆cb , so that the control loop takes the
form T
∂V
ẋ = (J (x) − D(x)) + d(∆cf , ∆cb )
∂x
with the reference vector y ref = 0. As we know from the previous section, this
is possible if and only if equation (6.90) in the form
" T #
⊥ ∂V
B (x) (J (x) − D(x)) = B ⊥ (x)a(x) (6.97)
∂x
are perpendicular to all column vectors of the matrix B(x). We use these
results in equation (6.97) and obtain
0 1 0 0 0.3940 −0.4260 0 0
(J (x) − D(x)) x = x.
0 0 0 1 0.8200 −0.7840 0.4130 −0.4260
(6.98)
The matrix
∗ ∗ ∗ ∗
0.3940 −0.4260 0 0
J(x) − D(x) =
∗ ∗ ∗ ∗
0.8200 −0.7840 0.4130 −0.4260
has a number of arbitrarily selectable entries to fulfill the key equation (6.98),
which are marked here with asterisks. We will now choose
−1.8322 0.0633 −1.7247 −0.8113
0.3940 −0.4260 0 0
J −D = = M,
−0.0039 0.7013 −0.8526 −0.1169
0.8200 −0.7840 0.4130 −0.4260
6.3. Passivity-Based Control 573
which is positive definite. We can now use equation (6.96) to define the control
law
u1
u = (B T (x)B(x))−1 B T (x)(J − D − A)x =
u2
with
whose settling time is approximately half as long as that of the plant with its
eigenvalues
λ1/2 = −0.426, λ3 = −0.63, λ4 = −1.93.
574 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
and
ϑ=1 for e>0
and the status of the heater is described by z = 0 (heater off) and z = 1
(heater on), then the above rules can also be described by the simple Boolean
logic expression
z = ϑ.
The above control has some advantageous features: it is simple and inex-
pensive to implement. No process model is required for its design. The design
is based on rules that are easy to formulate and result from human experience.
The advantages of this kind of design are so great that the question arises
whether we can create a general design methodology for controllers with the
same advantages. A design methodology such as this would obviously be very
useful, because it could be used to design controllers that would be simple
to implement based on human empirical knowledge, i. e. rules which can be
verbally formulated. Ultimately, this means that we can mathematically im-
itate human behavior or causal knowledge using a computer to simulate the
behavior of a process operator or for other purposes.
Fuzzy logic, developed by L. A. Zadeh in 1965 [490] (see also [70, 75, 102,
207, 249, 321, 490]), is a generalization of Boolean logic and makes it possible
to apply the above procedure. The human behavior to be simulated by fuzzy
logic must be describable by "if-then rules", such as the following:
Two -position
controller Heater
Tref e a T
s+a
6.4.2 Fuzzification
Let us review the following rule: if the boiler temperature T is high and the
boiler pressure P is low, then set the valve opening of the gas supply to approx-
imately half-open. In a rule of this type, variable quantities such as the boiler
temperature, the boiler pressure, and the valve opening are called linguistic
variables. Terms and expressions such as high, low, and approximately half-
open are referred to as linguistic values. Unlike numerical values, linguistic
values do not describe a single value, but a whole range of values.
In classical logic and classical set theory, a value range of this type can be
stated as
Mhigh = {T ∈ IR | 300 ◦C ≤ T ≤ 500 ◦C},
for example. A temperature value T is either part of this quantity or not.
Figure 6.31 shows the set Mhigh , where a membership function µ is used as a
measure of the set membership. In this example, the membership function µ
takes the form (
0 for T 6∈ Mhigh ,
µ(T ) =
1 for T ∈ Mhigh .
However, the above sharp separation into value ranges to which a temper-
ature either belongs or does not belong has little in common with the human
576 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
µ(T ) µ(T )
1 1
concept of the term high. For example, to a human being it would seem non-
sensical that a temperature T = 299.99 ◦C would be assigned the membership
value µ(299.99 ◦C) = 0, whereas T = 300.01 ◦C is assigned the membership
value µ(300.01 ◦C) = 1.
In many cases, humans see membership in a set as a gradual shift and
not as an abrupt transition. Figure 6.32 shows an example of a continuous
membership function. A continuous membership function µ makes it possible
to have membership values µ(T ) with
0 ≤ µ(T ) ≤ 1,
which correspond to a linguistic value such as high. For example, T = 300 ◦ C
is classified as high with a value of only µ(300 ◦ C) = 0.45.
The assignment to a set is no longer false or true, meaning µ = 0 or µ = 1,
respectively; rather, the membership function µ has an infinite number of
values between zero and one. An assignment such as this is called fuzzy. In
this case, the term fuzzy set is used, which is defined as follows.
Definition 38 (Fuzzy Set). A set
F = {(x, µ(x)) | x ∈ G and µ(x) ∈ [0, 1]}
of pairs (x, µ(x)) is called a fuzzy set in the universe G. The mapping
µ : G → [0, 1]
is called the membership function of F . It assigns the degree of membership
µ(x) to each element x of the universe G.
Linking a variable x with a degree of membership µ(x) to a linguistic value
is called the fuzzification of x. The universe G is often identical to the set of
real numbers IR.
The range of values for a linguistic variable which are of interest, such as
the temperature T in the example above, is generally divided into several lin-
guistic values, as shown in Table 6.1. A fuzzy set and a membership function
6.4. Fuzzy Control 577
µ(T )
belong to each of the individual linguistic values. Figure 6.33 illustrates a pos-
sible selection made by a human and based on his or her intuitive assessment
of the circumstances. Triangular, trapezoidal, and ramp-shaped functions are
often used as membership functions. Furthermore, other functions such as the
Gaussian function and the cosine-square function are also used.
If-then rules are often represented in the standardized form:
If x1 = LV1,j and . . . and xn = LVn,l , then y = LVp .
Here, x1 , x2 , . . . , xn are the n input variables of the rule, LVi,1 , . . . , LVi,q are
the q linguistic values of the input variables xi , the linguistic variable y is the
output variable of the rule, and LV1 , . . . , LVr are the r linguistic values of the
output variable y. The linguistic values LVi,j are numerically defined by the
associated membership functions µi,j . The expression xi = LVi,k is therefore
synonymous with the specification of a membership value of xi to LVi,k , i. e.
µi,k (xi ).
6.4.3 Inference
In the next step, the AND or OR operations in the rules are to be implemented
using mathematical operators, i. e. fuzzy operators. First, we will again con-
sider the classical logic approach, which only includes the membership values
zero and one. The AND and OR operations are known from Boolean logic and
are shown in Tables 6.2 and 6.3. Obviously, we can implement the Boolean
AND operation using the minimum operator
µy = min{µa , µb }
µa µb µy µa µb µy
0 0 0 0 0 0
0 1 0 0 1 1
1 0 0 1 0 1
1 1 1 1 1 1
µy = µa ∧ µb µy = µa ∨ µb
µy = max{µa , µb }.
In the fuzzy logic approach, these logical operations are now adopted in
such a manner that all intermediate values are allowed for membership, in
addition to the values 0 and 1. Accordingly, the fuzzy AND and the fuzzy OR
are defined as follows:
Definition 39 (Fuzzy AND and Fuzzy OR). The fuzzy AND operation
of two membership values µa , µb ∈ [0, 1] is defined by
µa∧b = min{µa , µb }
µa∨b = max{µa , µb }.
With the current results, the "if" part of a rule, called the condition,
antecedent, or the premise, can be converted into a mathematical expression.
For example, consider the "if" part of the rule
If the boiler temperature T is high and the boiler pressure P is low,
then set the valve opening V of the gas supply to approximately half-
open.
From this "if" part, we obtain
µhigh (T = 400 ◦ C) = 1
and
µlow (P = 1 bar) = 0.6
are obtained from the membership functions in Figure 6.34. For this single
6.4. Fuzzy Control 579
µ µ
1 1
as the result of the fuzzy AND operation. In the general case, the mathematical
evaluation of the "if" part of a rule, called the antecedent aggregation or the
aggregation for short, is given by
for the fuzzy OR [304]. In contrast to the minimum and maximum opera-
tors, the algebraic product and the algebraic sum have the advantage of being
differentiable. The differentiability of the operators is important if the pa-
rameters of the membership function are to be optimized using a gradient
method.
580 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
The next step is to determine how the "then" part of a rule, which is
also called the conclusion, can be described mathematically. The method of
obtaining the conclusion from the antecedent is called the implication. Here,
the "if" part is linked to the "then" part by a fuzzy operator.
To determine what effect the "if" part should have on the "then" part, it
makes sense to assume that the truth value of the conclusion should not be
greater than the truth value of the antecedent. If this were not the case, false
conclusions could be drawn. We can illustrate this with the following rule: if
the tomato is red, then it is ripe. Let us now assume that the tomato is green,
i. e. the antecedent has the truth value µagg = 0. It would clearly be wrong to
deduce that the tomato is nevertheless ripe, i. e. that the conclusion that the
tomato is ripe has a truth value of µ = 1.
A simple way to implement the above requirement is as follows: we can
limit the "then" part, i. e. its membership function
µLVp (y),
µagg (x1 , . . . , xn ).
This is easily possible using the minimum operator. The fuzzy implication is
thus implemented using the minimum operator. For a rule k, this results in
Note that, instead of the minimum operator, other operators can also be used
for the fuzzy implication. For example, the algebraic product
is commonly used.
For an example, let us return to the following rule:
If the boiler temperature T is high and the boiler pressure P is low,
then set the valve opening V of the gas supply to approximately half-
open.
Converted into fuzzy logic using the above results, we obtain
with
µagg (T, P ) = min{µhigh (T ), µlow (P )}.
This is shown in graphical form in Figure 6.35.
For all possible value combinations (T, P, V ), there would be a characteris-
tic four-dimensional diagram which cannot be graphically depicted. Assuming
two constant values T, P , e. g. T = 400 ◦ C and P = 1 bar, the graph can be
6.4. Fuzzy Control 581
µ µ µ
1 1 1
µhalf µagg
0.5 µhigh 0.5 µlow 0.5 µk
Fig. 6.35: Evaluation of a rule with the result µk (membership function highlighted
in blue)
[4]
In the literature, the term rule aggregation or briefly aggregation is used some-
times instead of the term accumulation. Here we adhere to the International
Standard IEC 61131-7, which standardizes the terms of fuzzy systems, and use
the term accumulation. This means there is no confusion between antecedent
aggregation and rule aggregation.
582 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
Table 6.5: Rule base in matrix form. No rules exist for empty fields.
x2
x2
x2
The accumulation can take place in different ways. The most common op-
tion is the union of all rule results. This is synonymous with the OR operation,
i. e. all rules from the rule base are combined using the fuzzy OR operation.
As explained above, the fuzzy OR operation can be realized using the
maximum operator. The accumulation result is then
Aggregation Accumulation
Rule 1
µ µ µ
1 1 1
µhigh µlow µhalf
0.5 0.5 0.5
Rule 2
µ µ µ
1 1 1
µvery high µlow µclosed
0.5 0.5 0.5
µres
0.5
µres
50 100 V in %
µres
1
0.5
COA
y res y
Fig. 6.37: Accumulation of all rule results and center of area (COA) of the resulting
fuzzy set. The value y res indicates the y coordinate of the COA.
Due to the superimposition of many rule results, the fuzzy set µres takes
the shape of a mountain range outlined by a polygonal line, as shown in
Figure 6.37. This fuzzy set is generally not usable as the final result of the
overall evaluation of the rules. Imagine, for example, that the valve opening is
described by the fuzzy set µres . However, we need a numerical value instead of
this fuzzy set for the valve opening in practical applications. We will calculate
this numerical value in the next section.
6.4.4 Defuzzification
As stated above, the result µres of the inference evaluation cannot be used
directly. In practice, we generally need a single numerical value, so we have
to determine a numerical value from the fuzzy set µres which is representative
of the result of the evaluation. This numerical value is commonly intended
to represent a compromise or an average of all rules. Its calculation is called
defuzzification.
The center of area, or more precisely its y coordinate
Z∞
y · µres (x1 , . . . , xn , y) dy
−∞
y res = Z∞
µres (x1 , . . . , xn , y) dy
−∞
is such a value. It is the final result of a fuzzy logic, i. e. the output value of
the overall rule base evaluation. Figure 6.37 shows an example. The described
method of defuzzification is the best-known and is known as the center-of-area
method or COA method.
However, determining the center of area is complicated, since the mem-
bership function µres takes the shape of a polygonal line. The calculation of
the center of area y res can be simplified considerably by choosing singletons
instead of trapezoids or triangles for the membership functions of the linguis-
tic values LVi of y. Singletons µLVi (y) only take the function value one at one
point y s ; everywhere else they take the function value zero, i. e.
6.4. Fuzzy Control 585
(
1 for y = y s ,
µLVi (y) =
0 otherwise.
which is much easier to calculate than the center of area. This variant of
the COA method is called the center-of-singletons method, abbreviated as the
COS method . The example of a valve position shown in Figure 6.39 with the
three membership functions closed, half, and open illustrates this defuzzifica-
tion method. The result of the defuzzification is
50 · 0.75 + 100 · 0.25
y res = % = 62.5%
0.75 + 0.25
with µres,1 = 0, µres,2 = 0.75, and µres,3 = 0.25.
The function
y res = f (x1 , . . . , xn )
is composed several times, with the composition resulting from the following
subfunctions and their associated calculation steps:
Fuzzification: determination of all membership values µLVi,j (xi ),
Z∞
y · µres (x1 , . . . , xn , y) dy
−∞
Defuzzification: y res = Z∞ .
µres (x1 , . . . , xn , y) dy
−∞
x1 Fuzzy system
y
xn y = f (x1 , . . . , xn )
In most cases, the fuzzy controller is used to imitate a person who performs
or could perform the control. This could be the process operator of a chemical
or biotechnological process, or the driver of a subway train, for example.
It is rare for us to be able to determine a feedforward or feedback controller
with the desired behavior in a first design using the method above. This is
because the first design will not be able to reproduce human behavior accu-
rately enough. Consequently, the design is repeated with modified parameters
and rules until satisfactory behavior is achieved. This procedure is shown in
Figure 6.43. The design is based on trial and error and will require multiple
optimizations.
Note that the fuzzy controller is a static controller. It is nonlinear, but
without dynamics. Its nonlinearity entails the problem that the stability of
the control loop is either not verifiable at all or only with great effort. This
is one of the reasons why fuzzy controllers are mainly used in cases where
588 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
Design of the
fuzzy controller
Improvement of
Testing in
rules, membership
simulation or practice
functions, etc.
Desired No
behavior achieved?
Yes
End
classical controllers and the associated stability assurance of the control loop
do not achieve satisfactory results.
v vlead
xrel
as the input variable and the distance as the output variable. In addition,
there is a subordinate acceleration control loop, which can be represented by
two first-order transfer elements. Therefore, the transfer function of the open
control loop is
1
G(s) =
s2 (1 + T1 s)(1 + T2 s)
with T1 = 0.074 s and T2 = 0.14 s. This results in the control loop shown in
Figure 6.45.
For the distance controller, it makes sense to imitate human behavior
using a fuzzy controller. Humans also use ∆xrel , vrel , and v as indicators
that they need to reduce or increase the acceleration aref of their vehicle.
In principle, a distance control of this kind could also be performed using a
linear controller. However, a linear controller does not guarantee sufficiently
safe driving behavior if the vehicles in question change lanes or encounter
slow vehicles after rounding a bend. In contrast, the fuzzy distance controller
shown in Figure 6.45 achieves this.
In the first design step, linguistic values and membership functions of
∆xrel , v, vrel , and aref are defined. The membership functions of Figure 6.46
vlead
1
Membership
0
-25 -20 -15 -10 -5 0 5 10 15 20 25
Difference ∆xrel of distance and nominal distance in m
1
Membership
0
0 5 10 15 20 25 30 35 40 45 50
Actual velocity v in m s−1
1
Membership
0.5 s ss ef sf f
0
-10 -5 0 5 10
Relative velocity vrel in m s−1
1.5
Membership
dg d ds z as ag
1
0.5
0
-7 -6 -5 -4 -3 -2 -1 0 1 2 3
Target acceleration aref in m s−2
Fig. 6.47: Membership functions of the output variable
are used for the input variables, whereas for the output variable the member-
ship functions are provided in Figure 6.47.
In the next step, the rules are defined using the matrix form in Table 6.6.
Here, the linguistic values are appropriately abbreviated. The matrix entries
indicate linguistic values of the acceleration aref .
The minimum operator is used for both aggregation and implication, while
the maximum operator is used for accumulation. For defuzzification, we will
apply the COS method. The above specifications have the advantage that they
6.4. Fuzzy Control 591
Table 6.6: Fuzzy rules for distance control with the input variables v, ∆xrel , and
vrel , and the output variable aref
∆xrel ok ok
v =fast stl slightly too large
ts sts ok stl tl
tl too large
s d d d d z
dg decelerate greatly
ss d d d ds as
d decelerate
vrel ef ds ds z as ag
ds decelerate slightly
sf ds ds as ag ag
z zero
f z z as ag ag
as accelerate slightly
ag accelerate greatly
v = 10 m s−1 v = 30 m s−1
2 2
2 2
aref in m s−2
aref in m s−2
0 4 0 4
1 5 1 5
-2 -2
-4 -4
-6 3
-6
20 10 20 10
0 3 0
0 0
-20 -20
∆xrel in m -10 vrel in m s−1 ∆xrel in m -10 vrel in m s−1
Fig. 6.48: Family of characteristics of the fuzzy distance controller at the velocities
v = 10 m s−1 and v = 30 m s−1 of the vehicle being controlled
is at a negative relative speed vrel from a large distance. The velocity is not
changed in this case. Thus, aref = 0 m s−2 applies until the vehicle has caught
up with the vehicle in front. In region 5, the vehicle in front is driving away at
a distance which is too small. Therefore, it is not accelerated or decelerated
until the correct distance is reached.
From the family of characteristics, it is also evident that it is only in the
relatively small regions 4 and 5 that neither acceleration nor deceleration takes
place. As a consequence, a distance control system is constantly accelerating
or braking in dense traffic. In practice, a distance control is combined with
cruise control, so that at low traffic density the speed control is performed
by the cruise control. The deceleration and acceleration processes are then
omitted.
We use for an example the same traffic situation as in [148]. Figure 6.49
shows the acceleration aref , the velocities v and vlead , the distance xrel , and
the target distance xref between two vehicles during a drive on the highway
of approximately 8 min in very dense traffic. The effective control behavior is
clearly visible in all ranges. The vehicle at the back which is being controlled
almost exactly maintains the distance prescribed by law. This also applies to
the incident at t = 200 s, when a vehicle with a distance of about 18.5 m and
a speed of 38 m s−1 ≈ 137 km h−1 ≈ 85 mph enters the lane in front of the
vehicle being controlled. The control restores the correct distance within 10 s.
Also noteworthy is the period between seconds 320 and 350, during which
the traffic comes to a complete halt. Here, too, the control system succeeds in
maintaining a safe distance which amounts to only centimeters when the vehi-
cles are stationary. In practice, the nominal distance is limited to a minimum
value of xmin = 2 m, for example. The equation xref = 0.5v is then replaced
by xref = 0.5v + xmin .
6.5. Exercises 593
80
Target distance
Actual distance
Distance in m
60
40
20
0
0 50 100 150 200 250 300 350 400 450 500
40 Front vehicle
Velocity in m s−1
Controlled vehicle
30
20
10
0
-2
Stop and go Flowing traffic Stop and go
-4
0 50 100 150 200 250 300 350 400 450 500
Time t in s
Fig. 6.49: Measurements during a simulated highway drive
6.5 Exercises
Exercise 6.1 Our aim is to design a model predictive control (MPC1) for the
discrete-time system
x(k + 1) = x(k) + u(k),
(6.100)
y(k) = x(k).
(a) Calculate the matrices F , G, and H for the case in which the prediction
and control horizons np = nc = 1 are equally long.
(b) Formulate the quadratic performance index J with the values Q = 1 and
R = 1 from equation (6.11) on p. 512 in dependence on the control variable
∆u(k) and the control error e(k).
(c) Calculate the control law u(k) dependent solely on the previous output
variables y(k − i) and the reference variable yref (k + 1).
594 Chapter 6. Nonlinear Control of Linear and Nonlinear Systems
(d) Calculate the difference equation of the closed control loop with yref as
the input variable and y as the output variable.
(e) Calculate the eigenvalues of the control loop.
(f) Calculate the output variable sequence y(k), k = 0, . . . , 18, for the step
in the reference value from yref (0) = 0 to yref (k) = 1, k ≥ 1, and the initial
values y(0) = 0 and y(−1) = 0.
Exercise 6.2 Design a model predictive control (MPC2) for the plant (6.100)
with the predictive and reference horizon np = nc = 2.
(a) First, solve Exercise 6.1, parts (a) through (f), but now for Q = I, R = I,
and np = nc = 2.
(b) Determine the time step k3% at which the model predictive control
(MPC2) deviates by 3% or less from the reference value yref (k) = 1.
(c) Compare the time step k3% of this control with that of the control from
Exercise 6.1 (MPC1). How much faster is the control compared to that in
Exercise 6.1?
Exercise 6.3 Let us consider the system
0 1 0
ẋ = x + u, |u| ≤ umax = 1.
0 0 1
(a) Design a sliding mode controller u(x) which has the switching line
s(x) = rx1 + x2 = 0.
Calculate the switching line s(x) such that it approximates the switching
curve S(x2 ) = x1 of the time-optimal controller, with the switching line
s(x) = 0 intersecting the switching curve S(x2 ) = x1 at x1 = 2. State
u(x) and s(x).
(b) Draw the switching line and the trajectories of the control loop.
(c) On the switching line, where does a sliding mode occur and where does it
not occur?
(d) Demonstrate that the sliding mode can be achieved in finite time.
(e) What are the dynamics of the control loop in the sliding mode?
(f) Identify and sketch the progression of x1 (t) and x2 (t) for the initial vector
h i
xT (0) = −5 5 . (6.101)
(g) For the initial vector (6.101), calculate the switching times of the time-
optimal control and draw the time-optimal progressions of x1 (t) and x2 (t).
(h) Given the initial vector
h i
xT (0) = x10 x20 = −x10 ,
ẋ = a(x) + b(x)u
calculate a sliding mode controller u(x) using Gao and Hung’s method.
Exercise 6.5 A motor vehicle’s brakes have an anti-lock braking system which
prevents the wheels from locking as a result of overly abrupt braking, thus
also preventing the driver from losing control over the vehicle. The measure
for locking is the slip
v − rω
λ=
v
of the wheel in question. It is the difference, in reference to the velocity v of
the vehicle, between v and the circumferential velocity rω of the wheel. Here,
r is the radius of the wheel and ω is its angular velocity. The wheel has the
moment of inertia J in relation to its rotational axis. The friction Ff between
the wheel and the road is obtained from the weight mg (where m amounts
to a quarter of the vehicle’s mass and g is the gravitational acceleration) and
the friction coefficient µ(λ), yielding
Ff = mgµ(λ).
The wheel is braked by the braking torque Mb . Figure 6.50 shows the process.
The friction coefficient can vary depending on the slip λ between µ = 0 for
mg
Mb
v
ω
Ff
Adhesion Sliding
µ
1
Dry road surface
Fig. 6.51: Curve of the friction coefficient µ(λ) in varying road conditions
λ = 0 and µ ≈ 1 for λ > 0 [202]. Figure 6.51 shows a typical curve. If the road
surface is dry and we have normal driving conditions, the friction coefficient
is µ ≈ 0.015.
(a) Formulate the wheel’s equations of motion and, in doing so, choose the
state variables
x1 = v and x2 = λ,
and
u = Mb
as the control variable.
(b) Using Gao and Hung’s method and the switching line
s(x) = x2 − x2,ref = 0,
calculate a sliding mode controller. Here, x2,ref is the reference slip value.
(c) Determine x1 (t) and x2 (t) in the sliding mode and the time teq at which
x1 (t) reaches zero.
(d) Assume that the friction coefficient µ(x2 ) is dependent on the material
used to pave the road, i.e. it is unknown. Which values does the braking
distance depend on?
(e) Select the most effective possible value x2,ref .
Exercise 6.6 Let us examine a three-zone oven in which the material being
heated passes through the three zones, which are separately operated. These
zones may be operated at different temperatures. Figure 6.52 shows the basic
design. The model of the oven describes the changes in temperature ∆Ti ,
i = 1, 2, 3, surrounding the operating point Ti , i = 1, 2, 3. Here, the changes
in temperature ∆Ti are the output variables yi . They depend on the changes
ui in the heating levels at the operating point via the model in the Laplace
domain
6.5. Exercises 597
u1 u2
u3
T1
T2
T3
where umax > 0 and umin < 0. Is the point at which ∆Ti = 0, i = 1, 2, 3,
applies, an asymptotically stable equilibrium point of the control loop?
Exercise 6.7 We will examine the so-called Netushil backlash model [334]
u
u̇ = D(e − ), (6.102)
m
where D(x) is the dead zone nonlinearity
µ(x + a),
x ≤ −a,
D(x) = 0, |x| < a,
µ(x − a), x ≥ a.
Here µ ≫ 1 is a very large value which tends to infinity in the ideal but
unrealistic case.
(a) Demonstrate that the backlash model (2.6) on p. 75 has the same dynamic
behavior as the Netushil backlash model (6.102).
(b) Show that the backlash nonlinearity is passive.
Exercise 6.8 Let us consider the nonlinear controller
u = h(x, e),
(6.103)
ẋ = e
with the input variable e and the output variable u where the nonlinear func-
tion h has the properties
h(0, 0) = 0
and
from equation (5.192) in both the nonlinear controller canonical form and
in the PCHD form. To do the latter, use the storage function
1 2
V (x) = x − a1 x1 + a3 (cos(δeq ) − cos(x1 + δeq )).
2 2
(b) Now, using an IDA passivity-based control (IDA PBC), we will attempt
to design the control loop such that it has the dynamics
∂VCL (x)
ẋ = (J CL − D CL )
∂x
with
1
VCL (x) = V (x) + kx21 .
2
What form must the matrix J CL − DCL take for a controller design of
this kind to be possible?
(c) Calculate the IDA control law based on the matrix
0 1
J CL − DCL = , d > 0.
−1 −a2 −d
(a) Based on the statements made in Exercise 6.8, determine if the subsidiary
system
ẋrel = vrel ,
aref = f (xrel , vrel ),
which includes the fuzzy distance controller, is passive.
(b) Neglecting the acceleration control loop, i. e. a = aref , show that the dis-
tance control loop described in this problem has an asymptotically stable
equilibrium point at [xrel vrel ] = 0T .
Exercise 6.16 To mimic human behavior in selecting the gear of a motor
vehicle, a control system for an automatic transmission is to be developed
using fuzzy logic [71, 417]. The output variable of the fuzzy logic is the up-
shifting rotational speed nup , which can take values between 1500 rpm and
5500 rpm. The downshifting rotational speed is given by ndown = 0.4nup. The
gear selection is dependent on the gas-pedal position P , the torque caused by
the driving resistance M , and the driver’s driving style F . The gas-pedal po-
sition P varies between 0% and 100% and can be assigned the three linguistic
values small, large, or kickdown. The vehicle’s driving resistance torque M
is the difference between the motor torque Mmot and the torque Ma which
actually accelerates the vehicle. The latter depends on the slope of the road,
the air resistance, etc. For us to compare it to the motor torque Mmot , it is
calculated back to the gearbox’s input. This yields
v̇
M = Mmot − Ma = Mmot − rm
R
with the vehicle’s acceleration v̇, the wheel radius r, the vehicle mass m, and
the transmission ratio R of the gear. The driving resistance torque M can
vary between −200 Nm and 200 Nm and will be assigned the linguistic values
negative, small, or positive.
The designation of the driver’s driving style F as either defensive or ag-
gressive can be calculated over the time interval [t, t + T ] using the number
and degree of acceleration and braking processes by means of [306]
t+T
Z
1 |v̇|4
F = dt.
T R
t
Here, F varies between F = 0 for a very defensive driving style and F = 10 for
very aggressive drivers. The driving style F is allocated one of the linguistic
values, defensive or aggressive.
Design a fuzzy control with the upshifting rotational speed nup as the out-
put variable and the gas-pedal position P , the vehicle’s driving resistance
torque M , and the driving style F as the input variables. For the input
variables, use triangles and ramps as membership functions. For the output
variable, which is the upshifting rotational speed nup , choose nine singletons
between the values 1500 rpm and 5500 rpm.
7
Observers for Nonlinear Systems
The following question arises in the case of nonlinear control loops with state
controllers: how can we determine the plant’s state variables xi if it is either
technically impossible to measure them or not desired due to cost or other
reasons? This situation is comparable to the one we know from the case of
linear systems, in which the state variables xi are often not measurable or the
measurement would be too expensive.
In the linear case, observers are used to solve this problem by estimating
the state variables xi . Figure 7.1 shows a state control loop of this kind with
an observer. In particular, the separation principle applies in this case, i. e.
the dynamics of the observer and those of the control loop can be specified
independently of each other via the observer matrix L and the controller
matrix K, respectively.
Observers can also be used for nonlinear systems. However, this is not as
straightforward as in the linear case. This is because the design of nonlinear
observers can be complicated and the stability of nonlinear control systems
with observers is often impossible or very difficult to verify. One reason for this
is that the separation principle does not normally apply to nonlinear control
loops with observers. However, the structure of a nonlinear control loop with
an observer, as shown in Figure 7.2, equals that of the linear one.
The type of nonlinear observer to be selected depends on the characteris-
tics of the plant. The following sections describe some of the common types.
Supplementary literature can be found in [42, 47, 107, 180, 229]. However,
before an observer can be designed, it must be ensured that the nonlinear sys-
tem is observable [47, 146, 180]. In practice, this step is sometimes neglected,
since it is often laborious to examine a nonlinear system’s observability. Fur-
thermore, most of the real-world systems, particularly technical systems, are
observable.
y − ỹ
L
v x̃(0)
ỹ
x̃˙ = Ax̃ + Bu + v
x̃
Observer
x(0)
yref u ẋ = f (x, u) y
u = K(y ref , x̃)
y = g(x, u)
x̃(0)
Observer
x̃
be defined for x ∈ Dx,def ⊆ IRn and u ∈ Du,def ⊆ IRm , and let y ∈ IRr . If all
initial vectors x0 ∈ Dx ⊆ Dx,def are uniquely determinable from the knowledge
of u(t) and y(t) in a finite time interval [t0 , t1 ] for all u ∈ Du ⊆ Du,def , then
the system is called observable.
Similarly, although with fewer system requirements, we can define the
concept of weak observability[2] .
be defined for x ∈ Dx,def ⊆ IRn and u ∈ Du,def ⊆ IRm , and let y ∈ IRr . If all
initial vectors x0 ∈ Dx ⊆ Dx,def within a neighborhood
ẏ = ẋ1 = α(x2 )
x1 = y,
p
x2 = 3 ẏ
x1 = y,
Zt
x2 = x2 (0) + u(τ )dτ
0
for Dx,part2 = Dx,def \ Dx,part1 . We can immediately conclude that the system
is not observable for all x ∈ Dx,part2 , since we cannot calculate x2 (t) using
7.1. Observability of Nonlinear Systems 607
u(t) and y(t) due to the unknown initial value x2 (0). Therefore, the system is
only locally observable.
As an additional example, we will now describe a locally weakly observable
system. It is given by
(
0, x2 < 0,
ẋ1 = β(x2 ), β(x2 ) = 2
sin (x2 ), x2 ≥ 0,
ẋ2 = u,
y = x1 .
we have
x1 = y,
Zt
x2 = x2 (0) + u(τ )dτ
0
with the unknown initial value x2 (0). From this we can immediately see that
the system is only locally weakly observable for x ∈ Dx,part2 .
For nonlinear systems, a distinction has to be made between observability
and weak observability, according to the definitions above. In contrast, linear
systems are always observable if they are weakly observable and vice versa,
which is equivalent to saying that they are always globally observable. For
nonlinear systems it is possible that their observability depends on the input
variable vector u. The observability of a linear system, however, is always
completely independent of the input variable vector u.
ẋ = f (x),
y = g(x),
608 Chapter 7. Observers for Nonlinear Systems
From this equation, it is obvious that the state x can be reconstructed based
on the knowledge of z − q(xp ) if the Jacobian matrix
∂L0f g(x)
∂x
∂q(x)
..
Q(xp ) = = .
∂x x=xp n−1
∂L g(x)
f
∂x x=xp
is of rank n. This is equivalent to the fact that the system of linear equations
z − q(xp ) = Q(xp )(x − xp )
can be solved uniquely for x. In this case, within a neighborhood
U = {x ∈ IRn | |x − xp | < ρ, ρ > 0}
of xp we can determine whether the system in question is observable. This
yields the following theorem [42] on weak observability.
Theorem 87 (Weak Observability of Autonomous Systems). A sys-
tem
ẋ = f (x),
y = g(x)
which is defined on Dx,def ⊆ IRn is weakly observable if
∂L0f g(x)
∂x
∂q(x)
.
..
rank( ) = rank( ) = n
∂x
∂Ln−1 g(x)
f
∂x
holds for all x ∈ Dx ⊆ Dx,def .
610 Chapter 7. Observers for Nonlinear Systems
The matrix
∂q(x)
Q(x) =
∂x
is also called the observability matrix . The application of the criterion above
can be somewhat complicated, since the matrix Q depends on x. However, de-
termining the rank of Q is usually easier than determining the inverse function
q −1 in Theorem 86.
Theorem 87 can also be derived directly from the transformation equation
z = q(x). According to the implicit function theorem, the inverse function
q −1 exists in a neighborhood of a point x if the Jacobian matrix Q(x) has
rank n at that point.
To illustrate Theorem 87, let us take the linear systems
ẋ = Ax,
y = cT x.
If the matrix in equation (7.2), i. e. the observability matrix, has rank n, the
linear system is observable. For linear systems, this requirement is not only
sufficient; it can be shown [218] that it is also necessary. This is the well-known
observability criterion for linear systems, which is obviously a special case of
the above criterion for the observability of nonlinear systems.
Direction of rotation
S
N
S
x1
N
Fig. 7.3: Synchronous generator with magnetic field shown in blue and load angle x1
x2 of the rotor with respect to the power grid and the field flux linkage x3
of the magnetic field. The flux linkage x3 is either impossible or very difficult
to measure. Therefore, we will estimate it using an observer, for example to
perform a load angle control. The prerequisite for this is the observability of
the system, which we will analyze subsequently.
The state-space model of the generator is given by
ẋ1 = x2 ,
b2
ẋ2 = b1 − a1 x2 − a2 x3 sin(x1 ) − sin(2x1 ),
2
ẋ3 = −c1 x3 + c2 cos(x1 ) + c3 ,
y = x1 .
Here, a1 , a2 , b1 , b2 , c1 , c2 , and c3 are all constant machine parameters. We
can now determine
ẏ = ẋ1 = x2 ,
b2
ÿ = ẋ2 = b1 − a1 x2 − a2 x3 sin(x1 ) − sin(2x1 )
2
and thus arrive at
612 Chapter 7. Observers for Nonlinear Systems
x1
z1 y
z2 = ẏ = x2
= q(x).
b2
z3 ÿ b1 − a1 x2 − a2 x3 sin(x1 ) − sin(2x1 )
2
For the relevant region of state vectors
for all x ∈ Dx .
ẋ = f (x, u),
y = g(x, u)
is essential for the observability of the system. From the calculations above,
we obtain
ẋ = f (x, u),
y = g(x, u)
ẋ1 = −x2 · u,
ẋ2 = −x1 − x2 ,
y = x1
illustrates this fact. For u = 0 the system is not observable, while for u 6= 0 it
is.
The above theorem is difficult to apply in practice. In simple cases only,
it is possible to determine the inverse function
ẋ = f (x, u),
y = g(x, u)
In this case, it is possible to convert the system representation (7.3) into the
representation
7.1. Observability of Nonlinear Systems 615
ż1 ẏ z2
ż2 ÿ z3
..
.. ..
.=
=
. . ,
żn−1 y (n−1) zn
żn y (n) hn q −1 (z, u, u̇, . . . , u(n−1) ), u, u̇, . . . , u(n)
y = z1
by means of the mapping (7.5) and
n
(n) (n) ∂hn−1 X ∂hn−1 (i)
y = hn (x, u, u̇, . . . , u )= f (x, u) + (i−1)
u .
∂x i=1
∂u
Finally, by abbreviating
ϕ z, u, u̇, . . . , u(n) = hn q −1 (z, u, u̇, . . . , u(n−1) ), u, u̇, . . . , u(n) ,
we obtain
z2
..
.
ż =
, (7.6)
zn
(n)
ϕ z, u, u̇, . . . , u
y = z1 .
The system representation (7.6) is referred to as the nonlinear observability
canonical form [493]. Figure 7.4 shows the corresponding block diagram. If a
system is represented in this form, the observability can be inferred directly
from the system equations. This is because all states zi affect the output
variable y = z1 via the integrator chain in equation (7.6). Furthermore, all
state values zi can be determined from the output variable y and its derivatives
y (i) . Hence, a system that is represented in nonlinear observability canonical
form is always observable. Furthermore, any globally observable system can
be transformed into the observability canonical form.
As an example, let us take the system
ẋ1 = −x2 + u,
ẋ2 = −x3 ,
(7.7)
ẋ3 = −x31 ,
y = x1 .
In this case, we obtain
z1 y x1
q(x, u, u̇) = z2 = ẏ = −x2 + u
z3 ÿ x3 + u̇
616 Chapter 7. Observers for Nonlinear Systems
u u̇ u(n)
...
1 1 1 1
...
żn s zn s zn−1 z3 s z2 s y = z1
Since the inverse mapping q −1 exists for all x ∈ IR3 , system (7.7) is observable.
With the derivatives
ż1 = z2 ,
ż2 = z3 ,
y = ẋ3 + ü = −x31 + ü,
ż3 = ˙˙˙
This result can also be obtained more formally by using the differential
equation (3.95) of the transformed system that we derived in Section 3.3.1 on
p. 263. To refresh our memory, this differential equation is derived once again
below. Inserting the diffeomorphism
x = q −1 (z, u, . . . , u(n−1) )
from which
−1 −1
∂q (z,u, . . . ,u(n−1) )
ż =
∂z
n−1 −1 (n−1)
X ∂q (z,u, . . . ,u )
· f (q −1 (z,u, . . . ,u(n−1) ), u) − · u(j+1)
j=0
∂u(j)
as we know from Section 5.2.1, p. 359 et seq. Since the nonlinear controller
canonical form is identical to the nonlinear observability canonical form in the
case of control-affine systems (7.11), we obtain
Theorem 90 (Observability of Control-Affine Systems). A system
ẋ = Ax + bu,
y = cT x
with
0 −1 1
A= , b= , cT = 1 0 .
1 0 0
y = c(x),
ẏ = La c(x) + Lb c(x)u,
ÿ = L2a c(x) + Lb La c(x)u + La Lb c(x)u + L2b c(x)u2 + Lb c(x)u̇,
..
.
y (n−1) = La
n−1 n−2
c(x) + Lb La c(x)u + . . . + Lbn−1 c(x)u(n−1) + Lb c(x)u(n−2) .
ẋ1 = −x2 + x2 · u,
ẋ2 = −x1 , (7.13)
y = x1 .
Here,
∂c(x)
∂q 1 0
∂x
= = .
∂x ∂La c(x) ∂Lb c(x)
+ u 0 u−1
∂x ∂x
For u 6= 1, we obtain
∂q
rank ( ) = 2.
∂x
620 Chapter 7. Observers for Nonlinear Systems
holds and, for this system, we cannot determine the value of x2 from the
knowledge of y and u. This can also be shown by applying the necessary and
sufficient observability criterion for linear systems, because the observability
matrix from equation (7.2) for system (7.14),
T
c 1 0
= ,
cTA 0 0
of linear systems[4] . The term controller canonical form is derived from the
fact that the design of a state controller
u = −kT x
with
0 0 ··· 0 0
1
0 ··· 0 0
··· T
A=0 1 0 0 u0...n = u u̇ · · · u(n) ,
,
.. .. .. .. ..
. . . . .
0 0 ··· 1 0
T
a(xn , u0...n ) = a1 (xn , u0...n ) · · · an (xn , u0...n ) ,
consist of a model of system (7.15) and the observer gain l. These are similar
[4]
The nomenclature is not consistent in the literature. Although the one used here is
the most common, the terms controllable canonical form, control canonical form,
and controllability canonical form are used synonymously. Similarly, the term ob-
servable canonical form is used instead of observer canonical form. Furthermore,
the term normal form is used synonymously with the term canonical form.
622 Chapter 7. Observers for Nonlinear Systems
x2 0
x3
0
.. ..
ẋ = + u, y = g(x)
.
.
xn 0
α(x) β(x)
x2
x3
..
ẋ = , y = g(x)
.
xn
(n)
f (x, u, u̇, . . . , u )
x2
x3
..
ẋ = , y = x1
.
xn
f (x, u, u̇, . . . , u(n) )
Characteristics : observable
Usage : verifying observability, designing high-gain observers
Equivalence : to the nonlinear controller canonical form in the case of
control-affine systems and to the generalized controller
canonical form if g(x) = x1
Special cases : Brunovsky canonical form
7.2. Canonical Forms and the Canonical Form Observer 623
x2 0
x3 0
ẋ = ... + ... u,
Characteristics : controllable, observable if y = x1
xn 0
0 1
x2 0 x2
x3 0 x3
.. .. ..
. .
.
xδ 0 xδ
ẋ =
+
u, y = x1 ; ẋ =
, y = x1
α(x) β(x) ϕ(x, u)
qδ+1 (x) 0 qδ+1 (x)
.. .
.
..
. . .
qn (x) 0 qn (x)
− a1 (xn ) 1
x1 − a2 (xn ) 0
ẋ = .. + .. u, y = g(x)
. .
xn−1 − an (xn ) 0
Characteristics : observable
Usage : designing canonical form observers
Special cases : linear observer canonical form
624 Chapter 7. Observers for Nonlinear Systems
is freely selectable. Note that we have used the system’s output value y instead
of the observer’s output value ỹ for calculating the observer’s dynamics. This
is possible because we can measure the output variable y.
In order to calculate the estimation error
e = x − x̃,
ė = ẋ − x̃˙
= Ax − a(g −1 (y), u0···n ) − Ax̃ + a(g −1 (y), u0···n ) − l(g −1 (y) − cT x̃)
= Ax − Ax̃ − l(cT x − cT x̃).
The terms a(g −1 (y), u0···n ) are identical in the system dynamics and the ob-
server dynamics above, so they cancel each other out. Thus we obtain the
linear error dynamics
ė = (A − lcT )e.
This approach to designing a nonlinear observer is known as exact error lin-
earization. The linear dynamics and the fact that we are free to choose the
eigenvalues of A − lcT makes the canonical form observer so effective. How-
ever, normally we have to transform a system representation into the observer
canonical form to design an observer of this type. This is generally a laborious
procedure, since we have to solve some partial differential equations to obtain
the appropriate diffeomorphism [43, 385, 386, 494].
ẋ = Ax + Bu,
y = Cx
ẋ = Ax + Bh(x, y ref ).
7.3. Luenberger Observers for Nonlinear Control Loops 625
x(0) Plant
Controller
yref u ẋ = A x + B u
h(x̃, y ref )
y =Cx
y
y − ỹ
L
x̃(0) v
ỹ
x̃˙ = A x̃+B u+v
ỹ = C x̃
Observer
x̃
Fig. 7.5: Structure of the system with linear plant, nonlinear controller, and linear
observer
ẋ = Ax + Bu, y = Cx,
u = h(x)
ẋ = Ax + Bu, y = Cx,
u = h(x̃),
x̃˙ = Ax̃ + Bu + L(y − C x̃).
This overall
system
has a globally (locally) asymptotically stable equilibrium
point at xT x̃T = 0T .
ẋ = Ax + Bu,
y = Cx
ẋ = f (x, u),
y = g(x)
e = x − x̃,
In contrast to the linear case, a nonlinear differential equation for the estima-
tion error is obtained. Replacing
y = g(x) = g(x̃ + e)
∂f
f (x̃p + ∆x̃ + e, u) = f (x̃p , u) + · (∆x̃ + e) + . . .
∂ x̃ x̃=x̃p
u=up
| {z }
A
Simultaneously, the relation
holds. For the output vector function g, we obtain the similar results
∂g
g(x̃p + ∆x̃ + e) = g(x̃p ) + · (∆x̃ + e) + . . .
∂ x̃ x̃=x̃p
u=up
| {z }
C
and
628 Chapter 7. Observers for Nonlinear Systems
We will neglect the terms of the Taylor series after the first derivative. Insert-
ing this reduced Taylor series into the observer equation (7.17) yields
ė ≈ (A − LC) · e. (7.18)
The latter is obviously the estimation equation of the linear observer. Note
that equation (7.18) is only an approximation, due to the omission of higher
derivatives in the Taylor series.
If we design the matrix A − LC of the observer so that it is asymptotically
stable, the estimation error e will also converge to zero for t → ∞. The
situation is similar to that of linear systems with linear observers. However,
due to the above approximation, this statement of stability only applies within
a neighborhood of unknown size surrounding the linearization point x̃p .
To achieve better, more general results, it is possible to represent the
linearization described above as a function of x̃ and u. Then the system
matrix
∂f (x̃, u)
A(x̃, u) =
∂ x̃
and the output matrix
∂g(x̃)
C(x̃) =
∂ x̃
are no longer constant; they are dependent on the operating point.
Furthermore, the observer matrix L is now selected as a function of x̃ and
u. Thus, instead of the linear differential equation
ė ≈ (A − LC) · e (7.19)
ė = F e
is calculated and our requirement is that the real parts of all eigenvalues λi
are negative. Here it must be ensured that the eigenvalues λi and thus the
coefficients of P (s) are independent of both x̃ and u.
To ensure that all Re {λi } < 0, the observer matrix L(x̃, u) must be
designed accordingly. We succeed in this if we choose the matrix L(x̃, u) in
such a way that the characteristic polynomial
P (s) = sn + an−1 (L, x̃, u)sn−1 + . . . + a0 (L, x̃, u) (7.21)
is identical to the freely selectable polynomial
P̂ (s) = sn + ân−1 sn−1 + . . . + â0 (7.22)
which has only zeros with negative real parts and constant coefficients ai . By
equating the coefficients of the polynomials (7.21) and (7.22), we obtain
an−1 (L, x̃, u) = ân−1 ,
an−2 (L, x̃, u) = ân−2 ,
..
.
a0 (L, x̃, u) = â0 .
630 Chapter 7. Observers for Nonlinear Systems
can still be used if the elements of F do not vary widely. In the latter case,
it is essential to assess the stability and performance by means of simulations
or other methods.
Plant
x(0)
yref u x y
h(x̃, y ref ) ẋ = f (x, u) g(x)
x̃ x̃(0) x̃
ỹ
x̃˙ = f (x̃, u) + v g(x̃)
Observer
Fig. 7.6: Structure of the plant with observer and controller h(x̃, y ref )
In contrast to the control loop’s description (7.24), this notation is only suit-
able for analysis and not for implementation, since the estimation error e
cannot be calculated with x being unknown.
But the equations of the latter system allow for a plausibility analysis with
regard to stability. Since F is approximately constant and has eigenvalues with
a negative real part,
e→0 for t→∞
applies. This means the control law for large values t becomes
u = h(x − e, y ref ) ≈ h(x, y ref ).
If the control loop is stable without an observer, it is plausible to assume,
although it is not proven, that the control loop with an observer is also stable.
However, to ensure that the control loop is stable, it is necessary to provide a
rigorous proof of stability using the Lyapunov method, for example.
Mixer
Pump u
Cell culture
Glucose x1 x2
The reactor has a constant volume. Glucose is pumped into the bioreactor
as a substrate. The cell culture reproduces by consuming the substrate and
thereby increases its biomass. A mixer ensures even blending. The mixture
is finally removed from the reactor for further processing steps. Figure 7.7
illustrates the process.
The biomass concentration x1 of the cell culture, measured in g l−1 , in-
creases proportionally to its population according to
ẋ1 = µ(x2 ) · x1 .
In other words, it obeys a classic law of growth. The growth constant µ de-
pends on the concentration x2 of the growth substrate, i. e. the glucose, ac-
cording to the growth kinetics
µ0 · x2
µ(x2 ) =
k1 + x2 + k2 x22
with the associated growth rate µ0 = 1 h−1 and the two affinity constants
k1 = 0.03 g l−1 and k2 = 0.5 l g−1 . The substrate concentration x2 in the
cell culture is measured in g l−1 .
The inflow relative to the reactor’s volume is the input variable u and
measured in h−1 . It dilutes the biomass by the value −x1 · u. This results in
a change in the biomass concentration over time according to
7.4. Observer Design Using Linearization 633
ẋ1 = µ(x2 ) · x1 − x1 · u.
The substrate mass in the reactor is consumed by the biomass and therefore
decreases proportionally to the cell culture amount x1 . The substrate inflow
increases the substrate concentration x2 in the reactor proportionally to the
inflow u and the difference between the concentration K of glucose in the
inflow and the concentration x2 in the reactor. Hence,
1
ẋ2 = − µ(x2 ) · x1 + (K − x2 ) · u
α
holds, where α = 0.5 is the yield coefficient of the bioreactor and K = 10 g l−1
is the glucose feed concentration. In summary, the state-space model
" #
µ(x2 ) · x1 −x1
ẋ = a(x) + b(x) · u = 1 + u,
− µ(x2 ) · x1 K − x2
α
y = g(x) = 1 0 x
results.
In the following, we will design an observer using linearization and the
state-dependent observer matrix L(x̃, u). Our goal is to estimate the concen-
trations x1 and x2 . For the observer design, the Jacobian matrices
∂f (x̃, u) ∂g(x̃)
A(x̃, u) = and C(x̃) =
∂ x̃ ∂ x̃
must first be computed for the linearization of the system. This results in
′
µ(x̃2 ) − u µ (x̃2 )x̃1 ∂µ(x̃2 )
, µ′ (x̃2 ) =
A(x̃, u) = 1 1 ′ ,
− µ(x̃2 ) − µ (x̃2 )x̃1 − u ∂ x̃2
α α
and
C(x̃) = 1 0 .
In the next design step, the characteristic polynomial of the observer ma-
trix is calculated as
where
l1 (x̃, u)
L(x̃, u) = .
l2 (x̃, u)
For the sake of clarity, we will use the abbreviations
634 Chapter 7. Observers for Nonlinear Systems
yields
µ′
â1 = l1 − µ + x̃1 + 2u ,
α
l1 + u
â0 = µ′ x̃1 l2 + + l1 u − µu + u2 .
α
Solving this system of equations, we obtain
µ′
l1 = â1 + µ − x̃1 − 2u ,
α
â0 − â1 u + u2 â1 + µ − α−1 µ′ x̃1 − 2u
l2 = − .
µ′ x̃1 α
We can now calculate the matrix F of the observer’s dynamics
ė ≈ F (x̃, u)e
of the matrix F does not depend on x̃ and u. We will design the observer
with â0 = 100 and â1 = 20, so that the eigenvalues of F (x̃, u), i. e. the zeros
of the characteristic polynomial P , are s1/2 = −10.
7.5. The Extended Kalman Filter 635
5
x1 in gl−1
0 1 2 3 4 5 6 7 8
0.1
Estimated state variable
State variable
x2 in gl−1
0
0 1 2 3 4 5 6 7 8
Time t in hours
Fig. 7.8: Time courses of actual and estimated biomass concentration x1 and sub-
strate concentration x2
The diagrams in Figure 7.8 show the progression of the biomass and sub-
strate concentration in the bioreactor for the initial state
As a comparison, the system states of the observer are given, starting from
For an input variable value of u = 0.5, the system states approach the final
values x1 = 4.94 g l−1 and x2 = 0.03 g l−1 . The difference between the ac-
tual system states of the reactor and those observed are rapidly and steadily
eliminated.
In practice, the extended Kalman filter, abbreviated EKF, is the most com-
monly used type of observer for nonlinear systems. It is based on a linearized
representation of the nonlinear system dynamics. To explain how it works, we
will first briefly describe the Kalman filter [133, 219] for linear systems.
The system to be observed,
636 Chapter 7. Observers for Nonlinear Systems
ẋ = Ax + Bu + µ,
y = Cx + ρ,
x̃˙ = (A − LC) x̃ + Bu + Ly
with the filter matrix L yields an estimate x̃ of the state variable vector x.
Figure 7.9 depicts the system being observed and the structure of the Kalman
filter, which is identical to the structure of the Luenberger observer, as shown
in Figure 7.1, p. 604.
In fact, according to linear systems theory [133, 181], Kalman filters and
Luenberger observers are identical in their equations. They differ only in the
calculation of the matrix L. To design a Luenberger observer, appropriate
eigenvalues of the matrix A − LC must be chosen via L. In contrast to this
approach, the Kalman matrix L is designed so that the influence of the process
noise µ and the measurement noise ρ on the estimation error e is minimal.
For this purpose, we will use the performance index
n
X
J= E e2i ,
i=1
e = [e1 · · · en ]T = x − x̃
L = P C T S −1 (7.25)
AP + P AT − P C T S −1 CP = −Q. (7.26)
7.5. The Extended Kalman Filter 637
x(0)
u ẋ = Ax + Bu + µ
y = Cx + ρ
y
y − ỹ
L
x̃(0) v ỹ
x̃˙ = Ax̃ + Bu + v
ỹ = C x̃
Kalman filter
x̃
The matrices S and Q are generally unknown and are often assumed to be
identity matrices. In many cases, however, only subsequent, iterative testing
or optimization by trial and error using other matrices S and Q leads to a
satisfactory design result.
ẋ = f (x, u) + µ,
(7.27)
y = g(x) + ρ,
once again. We used this equation, which equals the equation (7.16) of the
Luenberger observer in Section 7.4.1, to design an observer using linearization.
However, the choice of a constant matrix L was disadvantageous, because the
observer will only perform well in the neighborhood of a given operating point.
The same applies here. Therefore, here we select a time-dependent observer
matrix L so that we can adapt it to the nonlinearity of the system which
depends on the trajectories x(t) or x̃(t). Thus, the observer equation takes
the form
x(0) System
u ẋ = f (x, u) + µ y
y = g(x) + ρ
y − ỹ
L
∂g C
C= L = P C T S −1
∂x x̃
x̃ P
∂f Ṗ =AP + P AT + Q
A=
∂x x̃,u −P C T S −1 C P
A
x̃
x̃(0)
v
x̃˙ = f (x̃, u) + v
ỹ = g(x̃) ỹ
u
Model
Extended Kalman filter
Ṗ = AP + P AT + Q − P C T S −1 CP ,
L = P C T S −1 .
The complete structure of the extended Kalman filter and the mutual depen-
dencies of the individual equations are shown in Figure 7.10. Here the bold
arrows represent the forwarding of matrices.
640 Chapter 7. Observers for Nonlinear Systems
Consider a jet engine such as those used in commercial aircraft. The most
common type is the turbofan or fanjet. As shown in Figure 7.11, it has an
internal and an external airflow, which are also termed core and bypass stream.
The core stream is compressed by a compressor consisting of multiple blade
wheels which are consecutively arranged. The example shown in Figure 7.11
depicts five blade wheels. The compressed air is then mixed with kerosene
and this mixture is ignited behind the compressor. The resulting combustion
gases drive a gas turbine, which in this case has three blade wheels. It in turn
drives the compressor and the fan, which consists of the large blade wheel
located in front of the compressor and is connected to the gas turbine via a
common shaft. The fan sucks in air and generates the core stream and the
bypass stream, which is bypassed around the compressor and the turbine. The
bypass stream amplifies the thrust generated by the core stream such that it
causes approximately 80% of the engine thrust in commercial aircraft engines.
Unstable flow conditions can occur in the compressor due to a stall or
fluctuations in thrust. In the worst case of this scenario, the engine may be
damaged due to a flame leak or a reversal of the mass flow, among other
reasons. This can be avoided by using a controller, for example.
Thrust
Here, Φ represents the mass flow through the compressor, Ψ is the pressure
rise, R ≥ 0 is a measure of the stall, and β, σ, and Ψ co are constants. The
variable γ acts as the control variable u. It can represent bleed air, which is
taken from the core or bypass stream and is fed into the compressor in such
a way that neither a flow stall nor a reversal of the direction of the mass flow
occurs.
The aim is to stabilize the engine, meaning its compressor, at the equilib-
rium point
Req = 0, Φeq = 1 and Ψ eq = Ψ co + 2 (7.32)
at p
γ = 2/ Ψ co + 2.
This can be done with a nonlinear state controller. However, all three state
variables Φ, Ψ , and R are required for a controller of this type. The pressure
increase Ψ is measurable, but the quantities Φ and R are not. Therefore, they
must be estimated using an observer.
Before we design an extended Kalman filter as an observer, we will trans-
form system (7.31) so that the equilibrium point (7.32) is at the origin. For
this purpose, we will introduce the new state variables
x1 = Φ − 1,
x2 = Ψ − Ψ co − 2,
x3 = R
y = x2 = Ψ − Ψ co − 2.
2
ueq = √ .
Ψ co + 2
We will now linearize system (7.33) around the estimated state x̃, resulting
in
3 2
−3x̃1 − x̃ − 3x̃ 3 −1 −3x̃ 1 − 3
2 1 −2
∂f − β u
A(t) = = β −2 p 0
∂x x̃,u 2 (x̃2 + Ψ co + 2)
2
−2σx̃3 (1 + x̃1 ) 0 −2σx̃3 − σ(2x̃1 + x̃1 )
and
∂g ∂x2
C(t) = = = [0 1 0].
∂x x̃ ∂x x̃
The linearized system matrix A(t), the linearized output vector C(t), and the
nonlinear system dynamics f (x, u) are now inserted into equations (7.30) of
the extended Kalman filter. For the observer, we thus obtain
x̃˙ = f (x̃, u) + L(y − x̃2 ),
Ṗ = AP + P AT + Q − P C T S −1 CP ,
L = P C T S −1 .
Note that C is a 1 × 3 matrix, i. e. a row vector, and L is a 3 × 1 matrix, i. e.
a column vector.
For the covariance matrices Q and S, with S being scalar in this case, we
select
0.45 1.15 0.88
Q = 1.15 8.65 1.77, S = 0.12.
0.88 1.77 3.04
The system parameters are
Ψ co = 0.72, σ = 4, and β = 0.71.
Figure 7.12 shows the progression of the original state variables Φ, Ψ , and R
for the initial state vector
[Φ(0) Ψ (0) R(0)] = [1.5 1.2 0.5]
of the plant and for the initial state vector
[Φ̃(0) Ψ̃ (0) R̃(0)] = [0.5 0.2 0]
of the Kalman filter with the constant control variable
√
u = ueq = 2/ 2.72.
At t = 0, the matrix P (t) is the identity matrix.
7.6. High-Gain Observer 643
1.5
Mass flow Φ
0.5
0 1 2 3 4 5 6 7 8 9 10
4
Pressure rise Ψ
0
0 1 2 3 4 5 6 7 8 9 10
0.2
0 1 2 3 4 5 6 7 8 9 10
Time t in s
Fig. 7.12: Time courses of the real and estimated mass flow Φ, pressure increase Ψ ,
and stall R of the flow
ẋ = f (x, u),
y = g(x)
where
0 1 0 ··· 0 0
0
0 1 ··· 0
0
A = ... .... . . .. , b = ... ,
cT = 1 0 · · · 0 .
. . . . (7.36)
0 0 0 ··· 1 0
0 0 0 ··· 0 1
ż = Az + b · û
with the matrix A and the vector b from equation (7.36) is, as we already
know, referred to as the Brunovsky canonical form. It consists of n integrators
arranged in series. Since the output variable is
y = z1 = cT z,
Here,
−1
ε 0 ··· 0 l1
0 ε−2 · · · 0 l2
.. = D−1 (ε) · l
ℓ(ε) = . .. . . ..
.. . . . .
0 0 · · · ε−n ln
is the observer gain, which can be adjusted by its parameter ǫ > 0. The matrix
D −1 (ε) is a diagonal matrix which has the values ε−i > 0 as elements dii . In
contrast to ℓ(ε), the vector
7.6. High-Gain Observer 645
x(0) System
u ż = Az + bϕ(z, u) y
T
y=c z
y − ỹ
ℓ(ε)
x̃(0) v = ℓ(ε) y − ỹ
Observer
z̃
Fig. 7.13: Structure of the high-gain observer using the abbreviated notation
ϕ(z̃, u) = ϕ(z̃, u, u̇, . . . , u(n−1) )
l = [l1 l2 · · · ln ]T
e = z − z̃,
the description of system (7.35), and observer (7.38), the error dynamics of
the observer are given by
ė = A−ℓ(ε)cT e +b ϕ(z, u, u̇, . . . , u(n−1) )−ϕ(z̃,u,u̇, . . . ,u(n−1) )
= (A−D−1(ε)lcT )e +b ϕ(z,u,u̇, . . . ,u(n−1) )−ϕ(z̃,u,u̇, . . . ,u(n−1) ) . (7.39)
of F̃ (ε) thus move along rays which emanate from the origin of the complex
plane. The real parts of the eigenvalues λ̃i become smaller with decreasing ε,
which means that they shift more and more to the left side of the complex
plane. Eventually, the limit
Re {λi }
lim Re {λ̃i } = lim = −∞
ε→0 ε→0 ε
applies, provided that all eigenvalues λi are chosen such that Re {λi } < 0
holds. Figure 7.14 illustrates this dependence of the eigenvalues λ̃i on ε. For
the case in question,
the estimation error e converges to zero due to the linear error dynamics. The
convergence becomes more rapid the smaller we choose the parameter ε.
In the following, we will analyze the case
Im
ε→0
λ̃1
ε→∞
Re
λ̃2
εD−1 (ε)ê˙ = A − D −1 (ε)lcT · εD−1 (ε)ê
+ b ϕ(z, u, u̇, . . . , u(n−1) ) − ϕ(z̃, u, u̇, . . . , u(n−1) )
for the error equation (7.39) of the observer. After multiplication by D(ε),
this results in
εê˙ = εD(ε)AD −1 (ε) − lcT · εD−1 (ε) ê (7.40)
+ D(ε)b ϕ(z, u, u̇, . . . , u(n−1) ) − ϕ(z̃, u, u̇, . . . , u(n−1) ) .
Because
ε 0 ··· 0 01 0 ··· 0 ε−1 0 ··· 0
0 ε2 ··· 0 0 0 1 ··· 0 0
ε−2 · · · 0
εD(ε)AD−1 (ε) = ε .
.. .. .. .. .. .. . . .. .. .. . . .. = A,
.. . . . . . . . . . . . .
0 0 · · · εn 0 0 0 ··· 0 0 0 · · · ε−n
l1 0 · · · 0 ε−1 0 ··· 0
l2 0 · · · 0 0
ε−2 · · · 0
lcT · εD−1 (ε) = ε . = lcT ,
.. . . .. . .. . . ..
.. . . . .. . . .
ln 0 · · · 0 0 0 · · · ε−n
and
D(ε)b = εn b
hold, we obtain the transformed error dynamics
εê˙ = (A − lcT )ê+εn b ϕ(z, u, u̇, . . . , u(n−1) )−ϕ(z̃, u, u̇, . . . , u(n−1) ) (7.41)
648 Chapter 7. Observers for Nonlinear Systems
τ = ε−1 · t,
becomes. In contrast to this, the linear part of the error dynamics of the
high-gain observer
dê
= (A − lcT )ê
dτ
has a constant system matrix
−l1 1 0 · · · 0
−l2 0 1 · · · 0
F = A − lc = ...
T .. .. . . .. ,
. . . .
−ln−1 0 0 · · · 1
−ln 0 0 · · · 0
e = z − z̃
ℓ(ε) = D −1 (ε)l
assume large values. In this context, we note that the eigenvalues λ̃i = λi /ε of
the high-gain observer with the system matrix F̃ (ε) are larger by a factor of
1/ε than the eigenvalues of the transformed observer with the system matrix
F.
7.6. High-Gain Observer 649
where the vector x̃ denotes the estimate of the vector x. Inserting equation
(7.46) into equation (7.44) yields
n−1
∂q ˙ X ∂q (i+1)
x̃ + (i)
u = Az̃ + bϕ(z̃, u, u̇, . . . , u(n−1) ) + ℓ(ε)(y − ỹ),
∂ x̃ i=0
∂u
from which
−1 n−1
!
∂q X ∂q
x̃˙ = Az̃ + bϕ(z̃, u, u̇, . . . , u (n−1)
)− u (i+1)
∂ x̃ i=0
∂u(i)
−1 (7.47)
∂q
+ ℓ(ε)(y − ỹ)
∂ x̃
650 Chapter 7. Observers for Nonlinear Systems
x̃˙ = f (x̃, u)
−1
∂q(x̃, u, u̇, . . . , u(n−1) )
x̃˙ = f (x̃, u) + ℓ(ε)(y − ỹ) (7.48)
∂ x̃
ỹ = cT z̃ = g(x̃)
holds.
The observer not only requires the measured variable y and the control
variable u; it also requires the derivatives u̇, . . . , u(n−1) which are also argu-
ments of the vector function q. Figure 7.15 shows the structure of the observer.
The design of an observer according to equation (7.44) or equation (7.48)
normally requires calculating the transformation
x(0) System
u ẋ = f (x, u) y
y = g(x)
!−1
∂q
v= ℓ(ε)(y − ỹ)
∂ x̃
x̃(0) v
x̃ = f (x̃, u) + v
ỹ = g(x̃) ỹ
x̃ Observer
Fig. 7.15: General high-gain observer using the abbreviated notation q for
q(x̃, u, u̇, . . . , u(n−1) )
7.6. High-Gain Observer 651
On the other hand, the observer can also be realized in the original coor-
dinates x̃ using the general equation (7.48) of the high-gain observer. In any
case, as mentioned earlier, the crux of the method lies in the handling of the
function q. This is because either the inverse function q −1 or the inverse of
the Jacobian matrix ∂q/∂ x̃ must be determined. Both are often difficult.
ẋ = f (x, u),
(7.49)
y = x2
652 Chapter 7. Observers for Nonlinear Systems
Inflowing
cooling water
q in , c0 , T0 with T c
T, c
Outflowing
cooling water
q out
with
" #
−ax1 + k(1 − x1 )e−α/(1+x2 )
f (x, u) =
−βx2 + kd(1 − x1 )e−α/(1+x2 ) + bu
z1 = x2 6= −1.
Because T > 0 and thus x2 > −1, the system can be considered observable
for all relevant values of x and z. To calculate the nonlinear observability
canonical form, equation (7.51) is inserted into equation (7.49), resulting in
ż1 z2
= ,
ż2 ϕ(z, u, u̇)
y = cT z, cT = [1 0],
with
α · z2 (z2 + β · z1 − bu) −α/(1+z1 )
ϕ(z, u, u̇) = − a + β + ke z2
(1 + z1 )2
− k(β · z1 − bu − ad)e−α/(1+z1 ) − a(β · z1 − bu) + bu̇.
eα/(1+x̃2 )
r12 = − .
kd
The observer is dimensioned using
for the simulation shown in Figure 7.17. Since we can measure the temperature
x2 , we will set x̃2 (0) = x2 (0) = 0.02. In contrast to x2 , we cannot measure
x1 . Having no accurate knowledge of the reactor’s initial values, we will select
x̃1 (0) = 0 which yields
1
Concentration x1
0.8
0.6
0.4
0.2
0
0 2 4 6 8 10 12
0.3
Estimated state variable
Temperature x2
State variable
0.2
0.1
0
0 2 4 6 8 10 12
Time t in min
Fig. 7.17: Progressions of the observed and true states of the chemical reactor, i. e.
the normalized concentration x1 and the normalized temperature x2
7.6. High-Gain Observer 655
For the design of high-gain observers, we had previously assumed that the
plant is in the nonlinear observability canonical form
x2
x3
..
ẋ = . ,
(7.53)
xn
ϕ(x, u, u̇, . . . , u(n−1) )
y = x1
or can be transformed into this canonical form. As has been mentioned sev-
eral times, this will only rarely be the case. Fortunately, many control-affine
systems
ẋ = a(x) + b(x) · u,
y = c(x)
This transformation was already discussed in Section 5.2, p. 359 et seq. and
in Section 7.1.6, p. 617 et seq. For the sake of clarity and convenience, we will
allow ourselves to repeat the derivation of the transformation equation (7.54)
in the following. Note that the transformation t in Section 5.2 is a special case
of the transformation q in Section 7.1.4, p. 612.
The mapping t is determined by means of the Lie derivative
∂c(x)
La c(x) = a(x)
∂x
and the multiple Lie derivatives
Lka c(x) = La La
k−1
c(x)
k−1
∂La c(x)
= a(x).
∂x
Now, the output function
y = c(x)
will be differentiated multiple times with respect to time t, yielding the equa-
tions
656 Chapter 7. Observers for Nonlinear Systems
y = c(x),
∂c (x) ∂c (x) ∂c (x)
ẏ = ẋ = a(x) + b(x)u = La c(x) + Lb c(x) u,
∂x ∂x ∂x | {z }
=0
∂La c(x) ∂La c(x) ∂La c(x)
ÿ = ẋ = a(x)+ b(x)u = L2a c(x)+Lb La c(x) u,
∂x ∂x ∂x | {z }
=0
..
.
δ−2
∂La c(x)
y (δ−1)= ẋ = Laδ−1
c(x) + Lb La δ−2
c(x) u,
∂x | {z }
=0
δ−1
∂La c(x)
y (δ)= ẋ = Lδa c(x) + Lb La δ−1
c(x) u.
∂x | {z }
6= 0
In the process above, the output value y is differentiated until the term which
is multiplied by the control variable u becomes
δ−1
Lb La c(x) 6= 0
for the first time. As mentioned previously, the above sequence of derivatives
corresponds to that calculated in controller design using input-output lin-
earization, as described in Section 5.2. The order δ of the derivative, at which
δ−1
Lb La c(x) 6= 0 holds for the first time, is called the relative degree δ.
In the following, we will only address systems in which the relative degree
δ is equal to the system order n, i. e. δ = n. The sequence of derivatives
discussed previously takes the form
y = c(x),
ẏ = La c(x),
ÿ = L2a c(x),
.. (7.55)
.
y (n−1) = La
n−1
c(x),
y (n) = Lna c(x) + Lb La
n−1
c(x) · u .
New state variables
z1 y c(x)
z2
ẏ
La c(x)
z = z3 =
ÿ
= L2a c(x)
= t(x) (7.56)
.. .. ..
. . .
(n−1) n−1
zn y La c(x)
7.6. High-Gain Observer 657
are now defined, and the mapping t(x) we wish to calculate is directly ob-
tained. Along with equations (7.55) and (7.56), the system description we are
attempting to determine follows as
ż1 z2
.. ..
.
=
.
,
żn−1 zn
n n−1
żn La c(x) + Lb La c(x) · u
y = z1 .
Now the original state x in the last row must be replaced by z using
x = t−1 (z).
So we finally obtain
ż1 z2
.. ..
. .
= ,
żn−1 zn (7.57)
żn ϕ(z, u)
y = z1
with
ϕ(z, u) = Lna c(t−1 (z)) + Lb La
n−1
c(t−1 (z)) · u.
We can formulate equation (7.57) as
ż = Az + b · ϕ(z, u),
y = cT z,
where
0 1 0 ···
0 0
0
0 1 ···
0
0
A = ... .. .. . .
.. , b = ... ,
cT = 1 0 · · · 0 .
. . ..
0 0 0 ··· 1 0
0 0 0 ··· 0 1
The associated high-gain observer
z̃˙ = Az̃ + bϕ(z̃, u) + ℓ(ε) y − cT z̃ (7.58)
ẋ = a(x) + b(x) · u,
(7.60)
y = c(x).
Inserting equation (7.59) into equation (7.58), we obtain
dt(x̃)
= A t(x̃) + b ϕ(t(x̃), u) + ℓ(ε) y − cT t(x̃)
dt
and, consequently,
∂t(x̃) ˙
x̃ = A t(x̃) + b ϕ(t(x̃), u) + ℓ(ε) (y − c(x̃))
∂ x̃
for the estimation vector x̃ in the original coordinates. In the last equation,
we multiply by the inverse of the Jacobian matrix ∂t(x)/∂x from the left.
Thus, we obtain the equation of the high-gain observer
−1
∂t(x̃)
x̃˙ = a(x̃) + b(x̃) · u + ℓ(ε) (y − ỹ) (7.61)
∂ x̃
in the original coordinates, where ỹ = c(x̃) applies. Figure 7.18 shows the
structure of the high-gain observer for the original system (7.60). Equation
(7.61) also immediately follows from the general equation (7.48) of the high-
gain observer.
Finally, note that high-gain observers can also be designed if the relative
degree δ is smaller than the system order n, i. e. if δ < n holds. For more on
this topic, see [208, 387].
x(0) System
u ẋ = a(x) + b(x) · u y
y = c(x)
−1
∂t(x̃)
v= ℓ(ε)(y− ỹ)
∂ x̃
x̃(0) v
7.7 Exercises
Exercise 7.1 Show that a linear system
ẋ = Ax + bu,
y = cT x
with the relative degree δ = n is always observable.
Exercise 7.2 Let us examine the satellite model (1.8) from p. 8. Let
Jx < Jy and Jx < Jz
apply. For the torques, we will assume
Mx = My = Mz = 0.
Due to a malfunction in the satellite’s sensor system, we can only measure ωx .
In which cases is it possible to prove that the satellite is weakly observable
using Theorem 87 on p. 609?
Exercise 7.3 The dynamics of the glucose and insulin concentrations in dia-
betes patients can be described in a simplified way by the model [38, 242]
ẋ1 = 0.028x1 − x2 (x1 + 110),
ẋ2 = −0.025x2 + 0.00013x3,
ẋ3 = 0.093(x3 − 1.5) + 0.0083u,
y = x1 .
Here, x1 is the glucose concentration in the blood plasma in milligrams per
deciliter (mg/dL), x2 is the insulin concentration in the tissue fluids in milli-
units per deciliter (mU/dL), x3 is the insulin concentration in the blood
plasma in mU/dL, and u is the intravenously injected amount of insulin in
mU/min.
(a) Determine whether the diabetes model is weakly observable or even ob-
servable.
(b) Is the type of observability found in (a) globally valid for x ∈ Dx,def = IR3
or only locally valid?
Exercise 7.4 Show that the strict feedback form
ẋ1 = f1 (x1 ) + h1 (x1 )x2 ,
ẋ2 = f2 (x1 , x2 ) + h2 (x1 , x2 )x3 ,
ẋ3 = f3 (x1 , x2 , x3 ) + h3 (x1 , x2 , x3 )x4 ,
..
.
ẋn = fn (x1 , . . . , xn ) + hn (x1 , . . . , xn )u,
y = x1
is observable and state the sufficient conditions under which this applies.
660 Chapter 7. Observers for Nonlinear Systems
ẋ1 = x2 + b1 (x1 )u
ẋ2 = x3 + b2 (x1 , x2 )u
ẋ3 = x4 + b3 (x1 , x2 , x3 )u
..
.
ẋn−1 = xn + bn−1 (x1 , . . . , xn−1 )u
ẋn = α(x) + β(x)u
y = x1
ẋ1 = 1,
ẋ2 = x21 ,
y = x2
with x ∈ Dx = IR2 .
(a) Show that with the diffeomorphism
y
z= = q(x)
ẏ
ẋ1 = x2 − x1 + u,
ẋ2 = −x31 ,
y = x1 .
x = q(z)
which transforms the system into the nonlinear observer canonical form.
(b) Formulate the system in the nonlinear observer canonical form.
7.7. Exercises 661
x1
ẋ1 = x2 ,
2
x3
ẋ2 = −a ,
x1
x2 x3
ẋ3 = −cx3 + d + bu,
x21
y = x1 .
Here, the inductor voltage u is the input variable. The constants a, b, c, and
d are parameters dependent on the construction.
(a) To calculate an observer
In this chapter the solutions to the exercises are presented. Due to the extent
of the calculations, the solutions to the exercises do not contain any calculation
steps, but only the final results. For the same reason, where a proof is to be
given or an assumption is to be verified, the proof or the solution method is
not included here.
(b) The equilibrium point xeq1 is reached if no pathogens are present in the
population. The equilibrium point xeq2 represents the case of illness.
rβ T T
(c) ẋ2 = (N −x2 )x2 (d) xeq1= 0 N , xeq2 = N 0
N
x2 (0)N
(e) x2 (t) = (f) lim x2 (t) = N
(N −x2 (0))e−rβt + x2 (0) t→∞
(g) At the end of an incurable infectious illness such as AIDS, the entire
population will be infected in the case of the simplified model. This is not
realistic, because in reality non-infected newborns are born and infected
patients die. These factors must be taken into account in the model for
the situation in reality to be described more accurately.
1.5 (d) GROA = x ∈ IR2 | x310 x220 6= 5 (e) GRAS = x ∈ IR2 | x310 x220 < 5
1.6 (a)
ud R2
m2 uC1 − , uC1 ≥ u0 ,
u0 = ud ,
R3 R2 +R3
1
i(uC1 ) = m1 uC1 , |uC1 | < u0 , with m1 = − ,
R1
u d 1 1 1
m2 uC1 + , uC1 ≤ −u0 , m2 = − + + ,
R3 R1 R 2 R 3
Using the Routh criterion, we determine that both polynomials and thus
all three equilibrium points are unstable.
(c) The system is chaotic.
1.8 The output signal y1 is a square wave; y2 is a triangular wave.
1.9 (a) The output signal is shown in Figure 8.1 below.
y(t)
3
2
1
10 20 t
-1
-2
-3
1.5
0.5
State x2
-0.5
-1
-1.5
-2 -1.5 -1 -0.5 0 0.5 1 1.5 -2
State x1
Fig. 8.2: Trajectories of the control loop; red trajectories for u = 1 and blue ones
for u = −1
666 Chapter 8. Solutions to the Exercises
x2 x2
k = 0.25 k=4
x1 x1
x2 x2
x1 x1
Fig. 8.4: An example trajectory of the Fig. 8.5: An example trajectory of the
stable control loop unstable control loop
1.13 (a)
a3 +b2 u2 a1 −b1 u1
xTeq1 = , xeq2 = 0,
a4 a2
and for the case in which a1 = b1 u1 : xTeq3 = [x1 ∈ IR 0]
(b) (∆x)˙ = A∆x + B∆u,
a2 b2 b1 b2
0 − a3 + − a a3 + 2 0
a4 2 4
A = , B =
a4 b1 b2 b1
a1 − 0 0 − a1 −
a2 2 a2 2
p
(c) λ1,2 = ±j (a1 − 0.5b1 )(a3 + 0.5b2 ) (d) Yes
1.14 (a) 5
V̇1 = z − V̇ in , (
9 1 if V1 = 0.1, or V̇1 > 0 and V2 > 0.1,
4
z=
V̇2 = − z V̇ in , 0 if V2 = 0.1, or V̇2 > 0 and V1 > 0.1.
9
" i #
(b) i−1
4 (c) 4 (d) ∞
X
∆ti = 4 , i = 1, 2, . . . ti = 20 1− ttot = ∆ti = 20
5 5 i=0
(e) The more the time approaches the time ttot = 20 at which both silos reach
a volume of V1 = V2 = 0.1V , the shorter the duration ∆ti of the switching
intervals become. This means that the switching frequency increases and
eventually becomes infinitely high for t → ttot . The control obviously can-
not cope with this, because each element of the control system, including
the swiveling crane, has a limited switching speed. For practical reasons
as well, high-frequency switching back and forth is undesirable in this
situation. The effect of the increasingly shorter switching intervals whose
duration ∆ti becomes infinitely small for t → ttot is referred to as Zeno
668 Chapter 8. Solutions to the Exercises
behavior, named after the Greek philosopher Zeno and his paradox of the
race between Achilles and the tortoise.
(f) If we simulate a system exhibiting Zeno behavior, an integration procedure
with a fixed step size will of necessity become inexact, and one with a
step-size adaptation will never attain a time t ≥ ttot , because the step
size becomes infinitely small for t → ttot .
1.15 (a) ż = (1 − α)(p(t)z + q(t)) (b) Linear differential equation
bx(0)
1.16 x(t) = (logistic function)
x(0) + (b − x(0))e−at
Zt Z
−1 1
1.17 x(t) = h h(x(0)) + g(τ )dτ , h(x) = dx
f (x)
0
n
p
1.18 (a) x(t) = t (b) x(t) = 3
(x3 (0) + 1)e−2t − 1
x(0) 1
(c) x(t) = (d) x(t) = sin( t3 + arcsin(x(0)))
x(0) + (1 − x(0))et 3
(e) x(t) = x(0) + cosh(t + arsinh(ẋ(0))) − cosh(arsinh(ẋ(0))
p
1.19 (c) teq = 2 |x0 |
1.20 (a) We obtain mi = qi , because lg(εrel ) = q lg(h) + lg(α̃) follows from
εrel = α̃hq . See also Table 8.1.
q
mi
(b) hi = εrel /α̃i , see also Table 8.1. (c) Ni = ni · 10/hi , see also Table 8.1.
(d) The selection of the integration method does not depend only on its or-
der of accuracy. It also depends on the calculation effort, i. e. on the time
required for the simulation. In terms of both accuracy and the time re-
quired, useful approaches are the 4th-order Runge-Kutta method and the
5th-order Adams-Moulton procedure.
Table 8.1: Parameters for the Euler method (1), modified Euler method (2), Simp-
son method (3), Runge-Kutta method (4), Adams-Bashforth method (5), Adams-
Moulton method with one iteration (6), and the Adams-Moulton method with 10
iterations (7).
1.21 See Table 1.3 on p. 54. In the case of the Gear method, the stability
range of the step size h is hλ < ∞.
669
s
(d) k 2
4b X 2i − 1 2k − 1 2k + 1
N (A) = 1− a , a<A< a, k ∈ IN
πA i=1 2A 2 2
e x1
−g(e) −G(s)
x1
(d) The nonlinear locus −1/N (A) for A = a = 1 starts at −7/8 on the
negative real axis and follows the negative real axis for A → ∞ to −7/5.
The Nyquist plot of −G(jω) intersects the real axis in several places; the
furthest to the left is at
Re {G(j3.6196)} = −0.5268.
This means no point of intersection exists between the plots of −G(jω)
and −1/N (A), and thus there is probably no limit cycle either.
2.4 b < 2πa
2.5 (a) 0, A ≤ a,
r
2
2 a 2 a a
m1− arcsin − · 1− 2 , a < A ≤ b,
N (A) = π A π A A
r r
2 2
2m
b a b b a a
arcsin −arcsin + 1− 2 − 1− 2 , b < A,
π
A A A A A A
670 Chapter 8. Solutions to the Exercises
Im
A=∞ A=b
1 Re
A=a −
N (b)
with m = c/(b − a). Figure 8.7 shows the nonlinear locus −1/N (A). Its
turning point is −1/N (b), where
r
2 a 2 a a 2
N (b) = m 1 − arcsin − 1− 2
π b πb b
is reached at A = b.
(b) ω1 = ω2 = 2, A1 = 2.475, A2 = 4.505 (c) K s = 0.8568
(d) For K > 0.8568 we obtain a stable and an unstable limit cycle; for K <
0.8568 there is no limit cycle.
2.6 (a)
f (e) = b arctan(me)
e f (e) u
k G(s)H(s) e−(τe +τa )s
− k G(s)H(s) = k
1 + τν s
1.65e−2.99s
=
1 + 5s
Fig. 8.8: Blood-pressure control loop
Zπ Zπ
2b 2b mA cos2 (α)
(b) N (A) = arctan(mA sin(α)) sin(α)dα = dα
πA πA 1+m2 A2 sin2 (α)
0 0
Zπ Zπ
2bm 1 2b 1
= dα− 1− dα
π 1+m2A2 sin2 (α) πmA2 1+m2A2 sin2 (α)
0 0
2b p 2 2
= m A + 1 − 1
mA2
(c) One single limit cycle exists with ω = 0.2π, i. e. f = 0.1 Hz.
(d) The limit cycle is stable.
2.7 (a) The nonlinear curve can lie in the sector [0, 45.5).
(b) A linear curve (proportional control) can lie in the sector (−81, 140.5).
(c) |e| < 6.74
671
c π π
2.8 (a) T I = Te = 0.2 s, KP = (b) c == , KP ==
125 12 1500
2.9 (a) [0, 27.94] (b) [0, 60)
(c) Aizerman’s conjecture is correct in this case and leads to the sector
(−6, 60).
2.10 (a) The Nyquist plot of G(jω) is shown in Figure 8.9.
(b) Circle with its midpoint on the real axis between −3 and −5
(c) Midpoint c = −4.39, radius r = 0.23, sector [0.22, 0.24]
(d) Hurwitz sector: (0.2, 0.3)
0.3474
0.2315
Im
-0.2315
-0.3474
-5 -4.393 -3 -0.8946
Re
2.11 (a) Ω = π
(b) " √ √ #
8 8
[K1 , K2 ] = √ √ + ǫ, √ √ −ǫ with arbitrarily small ǫ > 0
7+ 8 8− 7
(c) Hurwitz sector: (0, ∞)
2.12 Solution for G1 (s): (a) The plant has two poles at s = 0, i. e. µ = 2. Thus
we use the general circle criterion, Theorem 10. The continuous angle
variation is Ω = π. The sector of absolute stability [K1 , K2 ] is dependent
on the circle selected, as we can see from Figure 8.10. (b) Hurwitz sector:
(0, ∞)
Solution for G2 (s): (a) Using Theorem 9, we obtain (1, ∞) as a sector of ab-
solute stability, because ν = 2 (2 unstable poles) and the circular Nyquist
plot of G2 (jω) encircles each circle D (1/(1 − ǫ), 1/ε) , 0.5 ≥ ε > 0, twice
counterclockwise. See Figure 8.11. (b) Hurwitz sector: K ∈ (1, ∞)
Solution for G3 (s): (a) The general circle criterion, Theorem 10, must be ap-
plied, because there are three poles s1,2,3 = 0. No sector of absolute sta-
bility can be identified using the criterion, because the continuous angle
variation for all circles with K1 > 0, K2 > 0 takes the value Ω = π/2. See
Figure 8.12. However, to prove absolute stability, Ω = νπ + µπ/2 = 3π/2
would have to apply. See Figure 8.12. (b) There is no Hurwitz sector, i. e.
the plant cannot be stabilized by a P controller. That is why there is no
sector of absolute stability at all.
672 Chapter 8. Solutions to the Exercises
√ Im
ω= 0 Im ω = −1± 5 Im
1 ω=0
G2 (jω)
ω=−∞ ω=−∞
ω=−∞ ω=−2 ω=0
ω=∞ Re -1 ω=2 -0.5 ω=∞ Re 1 ω=∞ Re
-
K
G1 (jω) √ -1 G3 (jω)
ω= 0 ω = 1± 5 ω=0
Fig. 8.10: Nyquist plot of Fig. 8.11: Nyquist plot Fig. 8.12: Nyquist
G1 (jω) of G2 (jω) plot of G3 (jω)
800
600
V (x1 )
400
200
0
-50 0 50
x1
(d) The trajectories are circles, because the system is a harmonic oscillator.
2.18 (a) −4 − 15 1 3
ẋ = x− (3x1 + 21x2 )
−4 − 23 1
(b) There is a single equilibrium point at xeq = [0, 0]T .
2.19 (a) Equilibrium points: xeq1 = 0 and all xeq ∈ x∈ IR3 | x21 +x22 +x23 = 1
(b) 1. With V (x) = xTx, V̇ (x) > 0 applies for all x ∈ x ∈ IR3 | x21 +x22 +x23 < 1 .
This means that xeq1 = 0 is unstable (instability theorem, p. 142).
673
2. With
V LaSalle (x) = (x21 +x22 +x23 −1)2 ,
V̇ LaSalle (x) = 0 applies for
x ∈ M = N = x ∈ IR3 | x21 +x22 +x23 = 1 .
In addition, V̇ LaSalle (x) < 0 applies for all x ∈ IR3 \{M ∪ {0}}. This
means that all equilibrium points xeq,i ∈ M are Lyapunov stable and all
trajectories with the exception of x(t) = 0 tends to M .
2.21 (a) S(ω) = 0.5 Jx ωx2 + Jy ωy2 + Jz ωz2
(b) The controller matrix K must be positive definite.
(c) As new coordinates, select the angular momentum values Lx = Jx ωx ,
Ly = Jy ωy , and Lz = Jz ωz . Use the storage function
!
1 L2x L2y L2z
H(L) = + + = S(ω).
2 Jx Jy Jz
The PCH model is
0 −Lz Ly
∂H(L)
L̇ = J (L) +M with J (L) = Lz 0 −Lx .
∂L
−Ly Lx 0
∂H(L)
(d) The control law is M (L) = −D , with D being positive definite.
∂L
2.22 A PID controller is passive, but not strictly passive.
2.24 (a) strictly positive real (b) strictly passive
(c) All characteristic curves in the sector [0, ∞] result in a control loop with
an asymptotically stable equilibrium point.
(d) Based on Aizerman’s conjecture, the largest sector of absolute stability
corresponds to the Hurwitz sector, which is (−1, ∞] in the case of the
system considered.
I
2.25 P · Re {G(jω)} ≥ − Im {G(jω)}
ω
1
2.26 (a) L = Ekin − Epot = ml2 ϕ̇2 − mgl(1 − cos(ϕ))
2
d ∂L ∂L
(b) − = mlϕ̈ + mlg sin(ϕ) = 0 ⇒ lϕ̈ + g sin(ϕ) = 0
dt ∂ ϕ̇ ∂ϕ
p2
(c) H(q, p) = + mgl(1 − cos(q)) with q = ϕ and p = ml2 ϕ̇
2ml2
p
(d) q̇ = , ṗ = −mgl sin(q)
ml2
3.1 The solution to the differential equation ẋ = xu is
Rt
u(τ )dτ
x(t) = x(0)e 0 .
674 Chapter 8. Solutions to the Exercises
Depending on the sign of the initial value x(0), x(t) is either positive for
all t ∈ IR or it is negative. Thus the system is not globally controllable.
However, it is locally controllable for x(0) > 0 on IR+ and for x(0) < 0 on
IR− . It is not controllable if x(0) = 0.
3.2 The system is not controllable, because the state variable x3 cannot be
influenced by the control variable u.
3.3 (a) ẋ1 cos(x3 ) − sin(x3 ) 0 v1
ẋ2 = sin(x3 ) cos(x3 ) 0 v2 = A(x) · v
ẋ3 0 0 1 v3
(c) The overall model
ẋ A(x)v 0
= + u
v̇ −M −1 Dv M −1
(d) The fuel cell model is not globally small-time locally controllable.
3.6 (a) y x1
z = ẏ = f1 (x1 ) + h1 (x1 )x2
ÿ µ(x1 , x2 ) + h1 (x1 )h2 (x1 , x2 )x3
∂f1 (x1 ) ∂h1 (x1 )
µ(x1 , x2 ) = [f1 (x1 )+h1 (x1 )x2 ] + x2 +h1 (x1 )f2 (x1 , x2 )
∂x1 ∂x1
T
(b) b(z) = [0 0 h1 (x1 )h2 (x1 , x2 )h3 (x1 , x2 , x3 )]
z2 − f1 (z1 ) z3 − µ(z1 , x2 )
with x1 = z1 , x2 = , x3 =
h1 (z1 ) h1 (z1 )h2 (z1 , x2 )
675
(c) x1 0 0 1
y = x2 , u = cos(y3 ) sin(y3 ) 0 ẏ
x3 − sin(y3 ) cos(y3 ) 0
T T
3.9 (a) Flat output: y = y1 y2 = x1 x3
(b) Flat system representation:
y1
J ẏ2 + dy2 + M L u
x= , u= r ,
ky 1
us
y2
J ẏ2 + dy2 + M L
ur = Lr ẏ1 + Rr y1 + y2 ,
y1
J(y1 ÿ2 − ẏ1 ẏ2 ) + d(y1 ẏ2 − ẏ1 y2 ) − M L ẏ1 Rs J ẏ2 + dy2 + M L
us = 2 +
ky1 Ls ky1
1 ms ms 1 ms ms
3.10 (a) x1 = y+ ÿ − xd , x2 = ẏ + y −
˙˙˙ ẋd ,
mc mc ct mc mc mc ct mc
1 1
x3 = − ÿ + xd , x4 = − ˙˙˙ y + ẋd ,
ct ct
m
u = y (4) + ÿ + Fs (x1 , x3 ) + Fd (x2 , x4 ) − ms ẍd
ct
(b) The system is controllable, because flat systems are controllable.
(c) The transformation z = t(x) and the transformed system ż = ṫ(x) with
x = t−1 (z), which is in the nonlinear controller canonical form, are
mc x1 + ms x3 z2 0
mc x2 + ms x4 z3 0
z = t(x) = −ct x3 + ct xd , ż = z4 + 0 u
with
676 Chapter 8. Solutions to the Exercises
ct h i ct
α(z) = − z3 + F̂s (z)+ F̂d (z)−ms ẍd , β = ,
ms ms
3 z1 ms +mc z3
F̂s (z) = cs g(z)+cnlsg (z), g(z) = + −xd ,
mc mc ct
2 z2 ms +mc z4
F̂d (z) = d·h(z)+dnl h (z) sgn(h(z)), h(z) = + − ẋd .
mc mc ct
3.11 q
2 2
ln z1 + z2
x = q −1 (z) = z2
arctan
z1
x0
3.12 (a) x = p(z) = z −1 (b) x(t) =
x0 + (1 − x0 )e−t
" # " #
3.13 (a) (b) z2 0
z1 −1 q q
x= = q (z) ż = + u
arcsin(z2 ) −z1 1 − z22 1 − z22
(c) The transformed system description ż = f (z, u) takes the nonlinear con-
troller canonical form.
√
3.14 (a) Local diffeomorphism: z = 3 x, Mz = IR, Mx = IR; although the
diffeomorphism
√ bijectively maps IRn into IRn it is not a global diffeomorphism,
since z = 3 x is not continuously differentiable at x = 0.
(b) Global diffeomorphism if T ∈ IRn×n is regular;
z = T −1 x − T −1 a, Mz = IRn , Mx = IRn .
(c) Local diffeomorphism:
q
x2 + x2 (
1 2
1, x2 ≥ 0,
z= x1 , κ(x2 ) = −1, x < 0,
κ(x2 ) arccos p 2 2
x1 + x22
absolute stability. Figure 8.15 illustrates this. The Popov criterion yields
the same result, as can be seen in Figure 8.17.
Im Im
5
G(jω)R(jω)
ω=∞ ω=∞
-5 Re -1 Re
−0.9980
π
Ω=π Ω=
2
ω=0 -5
G(jω)GPI (jω) ω=0
Fig. 8.14: Nyquist plot of G(s)GPI (s) Fig. 8.15: Nyquist plot of G(s)R(s)
Im ω=∞ Im
ω → ∞ ⇒ 0 + j998
ω=0
Re -1 −0.9980−j0.001Re
ω=0 ω=∞
-2
Fig. 8.16: Popov plot of G(s)GPI (s) Fig. 8.17: Popov plot of G(s)R(s)
(f) The Hurwitz sectors for the control loop with and without anti-windup
are [ǫ, 1000/998 ≈ 1.0020] and [ǫ, ∞), respectively, where 0 < ǫ ≪ 1. Aiz-
erman’s conjecture is true in both cases.
α
4.3 (a) x1 (t) = x22 (t) − x22 (0) , α = ±1, x1 (0) = 0
2umax
2
x (t) x2 (t)
(b) x1 (t) = 2 for x2 < 0 and x1 (t) = − 2 for x2 > 0
2umax 2umax
(c)
umax , x1 < S(x2 ),
x2 |x2 |
u(x) = −umax, x1 > S(x2 ), S(x2 ) = −
2umax
− sgn (x2 )umax , x1 = S(x2 ),
umax |b|
4.4 Xnull = x ∈ IR | |x| <
λ
679
|x(0)|
4.5 (a) t1 = , u(x) = −umax sgn(x)
umax
1 λ|x(0)|
(b) t1 = − ln 1 − , u(x) = −umax sgn(x);
λ umax b
for λ < 0 all initial values x(0) ∈ IR can be compensated to zero, for λ > 0
only initial values x(0) restricted by |x(0)| < umax b/λ can be compensated
to zero.
x2 x2 +umax sgn(x2 ) |x2 |
4.6 u = −umax sgn(S(x2 )−x1 ), S(x2 ) = − + ln 1+
λ λ umax
b̂3
4.7 u = −umax sgn â|â|+ ,
umax
x33 x2 x3 x3 |x3 | x23 x3 |x3 |
â = x1 + + sgn x2 + , b̂ = x2 + sgn x2 +
3umax 2 umax 2umax 2umax 2umax
4.8 (a) i̇a −1.2988 3.4199 ia 37.1085
= + u ,
i̇v 46.7567 178.7697 iv −1335.9062 a
−6 ia
−6
z = −575 · 10 − 16 · 10
iv
Eigenvalues: λ1 = 179.6534, λ2 = −2.1825
(b) −0.1389 −28.4326
i= x
−7.3468 7.3468
" #
|x2 | λ1 /λ2
(c) u = umax sgn(S(x2 ) − x1 ), S(x2 ) = umax sgn(x2 ) 1 + −1
umax
(d) G = x ∈ IR2 | |x1 | < umax , x2 ∈ IR
4.9 (a)
umax ,
x1 < S(x2 ),
x2 |x2 |
uto (x) = −umax, x1 > S(x2 ), S(x2 ) = −
2umax
sgn (x1 )umax , x1 = S(x2 ),
h i
= umax sgn(S(x2 ) − x1 ) + sgn(x1 ) 1 − |sgn(S(x2 ) − x1 )|
(b) u = − 1 2 x
(c) Using Barbashin and Krasovskii’s theorem on p. 116, we obtain
V (0) = 0, V (x) = x21 + x22 > 0 for x 6= 0, and V̇ (x) = −4x22 ≤ 0.
The set of states for which V̇ (x) = 0 applies (except for x(t) = 0) is
M = {x ∈ IR2 | x2 = 0, x1 ∈ IR\{0}}. No trajectory x(t) of the linear
control loop lies within M , because a trajectory of this kind would have
to take the form
680 Chapter 8. Solutions to the Exercises
x (t)
xM (t) = 1
0
but would not fulfill the differential equation
0 1
ẋ = x
−1 −2
of the linear control loop.
(d) The disc with radius 0.1, shown in Figure 8.18, indicates the region in
which the linear controller u = −kT x is activated. Outside the disc, the
time-optimal controller regulates the plant.
Switching curve
x1 = S(x2 ) x2
u = −umax
-0.1 0.1 x1
u = −kTx
u = umax
(e) All trajectories of the time-optimal control loop which start outside the
disc tend to it. After entering the disc, the linear controller is active such
that all these trajectories tend to the origin. The reason for this is that
the disc is a catchment region. Thus all trajectories are asymptotically
stable.
(f) In practice, all control loops have output and state noise. Thus, when
the equilibrium point is reached and afterwards, the time-optimal control
switches continually back and forth between umax and −umax. The linear
controller in the area around the equilibrium point makes it possible to
avoid this switching.
k−1
X
k
4.10 (a) x(k) = a x(0) + ak−i−1 bu(i)
i=0
ln(bumax ) − ln(|x(0)|(1−a)+bumax)
(c) N= ceil
ln(a)
(d)
−umax sgn(x(0)), 0≤i≤N −2
a − aN aN
u(i) = umax sgn (x(0)) − x(0), i=N −1
1−a b
0, i≥N
681
4.11 (b) The switching system is globally asymptotically stable if and only if
the matrix eA2 ∆t eA1 ∆t has only eigenvalues λi with |λi | < 1.
(c) For ∆t = ln(1.4) the system is stable; for ∆t = ln(3) it is unstable.
4.12 (a) u1 = 2, u2 = −1
(b) No values u1 , u2 exist for the case in which t1 = π, t2 = 2π.
(c) In order for there to be a control sequence u1 , . . . , un which transforms one
arbitrary state to another, it is necessary and sufficient for the matrix
t1
Z Zt2 ZtN
M = e−Aτ bdτ e−Aτ bdτ · · · e−Aτ bdτ
0 t1 tN −1
to have rank n.
4.13 (f) Design the procedure of a piecewise linear control:
Step 1: Choose eigenvalues λ1i and thus the coefficients âi of the control
loop’s characteristic polynomial.
Step 2: Determine the matrix R1 from
T
Â1 R1 + R1 Â1 = −Q
for a positive definite matrix Q.
Step 3: Check whether all catchment regions
Gi = x ∈ IRn | e(q)xT D−1 (q)R1 D −1 (q)x ≤ 1
are nested within one another. This is the case if
∂e(q)
≤0
∂q
and
N R1 + R1 N = −S
is negative definite.
Step 4: Select l controllers ki = k(qi ), i = 1, 2, . . . , l.
Calculate R1 by satisfying
T ∂e(q)
Â1 R1 + R1 Â1 = −Q, N R1 + R1 N = −S, and ≤0
∂q
simultaneously.
(h) For the parameter q, the following applies:
1. For x → 0, the volume of G tends to 0; thus q does as well. Therefore
q(x = 0) = 0 applies.
2. For all x ∈ IRn \ {0}, q > 0.
682 Chapter 8. Solutions to the Exercises
Zt Zt
∆ui = Pi ∆ei + Ii ∆ei dτ = Pi e + Ii edτ
0 0
∆ei = ∆xref − ∆xi = (xref − xop,i ) − (x − xop,i ) = xref − x = e
√ √
5.2 (a) m = 0.1 kg : s1,2 = ±j 300, and m = 1 kg : s1,2 = ±j 30
5 Zt
X 1 d(y −yref )
(b) u = di (m(t))ui , ui = KPi y −yref + (y −yref )dτ + TDi
i=1
TIi dt
0
Table 8.2 shows the parameters of the subcontrollers and Figure 8.19 the
weighting functions.
Zt
1 d(y − y )
ref
(c) u = KP (m)y − yref + (y − yref )dτ + TD (m)
TI (m) dt
0
683
300m−c 30m
KP (m) = 300m−c, TI (m) = , TD (m) = , c = 30 Nm−1
1000m 300m−c
Controller 1 2 3 4 5
mi 0.2 kg 0.4 kg 0.6 kg 0.8 kg 1 kg
KPi 30 90 150 210 270
TIi 0.15 0.225 0.25 0.2625 0.27
TDi 0.2 2/15 0.12 4/35 1/9
di
d1 d2 d3 d4 d5
1
5.3 (a) δ = 1
(b)
x3 −z3 − 1 1 "
1 3
#
1 − (z + z z
2 3 )
z = x1 , ż = − (z23 + z2 z3 + z1 ) + 0u, ż zero = ε 2
x2 ε 0 −2z 2 − 2z 3
−2z − 2z 2 3
(d)
z2 0
z3
0
.. ..
y = cT T −1 z
ż = +
. u, .
zn 0
T n −1 T n−1 −1
c A T z c A BT z
5.6 (a) δ = 2
L2 c(x) + a1 La c(x) + a0 c(x) V y ref
(b) u(x) = − a + , y = c(x) = x2
Lb La c(x) Lb La c(x)
La c(x) = k1 x1 + k2 x21 (l − x2 ) − ve
L2a c(x) = −k0 [k1 + 2k2 x1 (l − x2 )] x1 − k2 k1 x1 + k2 x21 (l − x2 ) − ve x21
Lb La c(x) = k0 [k1 + 2k2 x1 (l − x2 )]
(c) The control can be implemented if Lb La c(x) = k0 [k1 +2k2 (l−x2 )x1 ] 6= 0 is
fulfilled. The latter is the case, because k0 > 0, k1 > 0, k2 > 0, l > x2 > 0,
and x1 > 0.
x
˙ a(x̃)+b(x̃)v, y = c(x̃) = g(x), x̃ = , a(x̃) = f(x, u) 0
5.8 (a) x̃= , b(x̃) =
u 0 1
(b) δ ≥ 2
(c)
ẏ 0 1 0 ... 0 0
ÿ 0 0 0 . . . 0 0
.
ż = .. = ... ..
.
.. . .
. .
.. z + .. y , y = c(x̃),
. . ref
(n−1)
y 0 0 0 ... 1 0
(n) −a0 −a1 −a2 . . . −an−1 1
y
(e)
0, t < 0,
π
y = −8 sin(t) cos(t), 0 ≤ t ≤ 2 ,
v = ˙˙˙
0, π
<t
2
5.12 (a) δ = 2 2 2
(b) Since det(D(x)) = −2a/(Jm2 ) 6= 0 holds, the vectorial relative degree δ
is well-defined.
(c) a1,1 x2 + a1,0 x1 − V1 y ref,1
u(x) = −D−1 (x) a2,1 x4 + a2,0 x3 − V2 y ref,2
a3,1 x6 + a3,0 x5 − V3 y ref,3
a cos(x5 ) − b sin(x5 ) b cos(x5 ) + a sin(x5 ) J/m
m
D−1 (x) = b sin(x5 ) + a cos(x5 ) a sin(x5 ) − b cos(x5 ) −J/m
2a
2a sin(x5 ) −2a cos(x5 ) 0
5.15 No, because rank( b ada b ad2a b ) 6= 3. See Theorem 64 on p. 418.
5.16 (a) x1 = y, x2 = ẏ 3 , x3 = −3ÿ, u = 3(y ÿ − ˙˙˙ y)
3 3 2
(b) P (s) = (s+5) = s +15s +75s+125 ⇒ a2 = 15, a1 = 75, a0 = 125
y x1
√
ẏ 3 x2
Ψ1 −1 (x) = = y ) = 3(y ÿ − ˙˙˙
, Ψ2 (y, ẏ, ˙˙˙ y ) = 3(y ÿ − v)
1
ÿ − x3
3
Figure 8.20 shows the block diagram of the control.
2 v
X
(i) ẋ = f (x, u) y
˙˙˙
y ref yref − ai y (i) −yref
v = ˙˙˙ u = Ψ2 (y, ÿ, v)
y = x1
i=0
y ref y x
ẏref z =ẏ = Ψ1−1 (x)
ÿref ÿ
5.17 (a) (x2 − x1 )x1 0
ẋ = + u, y = x1
0.04093x1x2 1
ẏ + y 2 ÿy − ẏ 2
(b) x1 = y, x2 = , u= + ẏ − 0.04093(ẏ + y 2 )
y y2
686 Chapter 8. Solutions to the Exercises
(c) The flat input can be used to influence the growth of human knowledge.
Good education and research funding, for example, can do this.
(d) u = −0.04093y 2
(e) Using the flat input, the population x1 can only be kept constant if human
knowledge and human technological possibilities x2 are held constant, i. e.
if they stagnate. This can be seen directly from ẋ1 = (x2 − x1 )x1 = 0.
(f) The flat output is yf = x2 .
1 ẏf ÿf yf − ẏf2
(g) x1 = · , x2 = yf , u = 0.04903
0.04093 yf (0.04903yf2 − ẏf )ẏf
(h) If the population size x1 (t) = x1,∞ is kept constant by u = 0, then
u
2dα da abeα/λ αa
u(0) = − + +
3µ µ µ µ
u(0) abeα/λ + αa
u(∞) =
µ
u(∞)
t
u = − sat(µxT (N R + RN )x).
6.1 (a) F = 1, G = 1, H = 1
(b) J(∆u(k)) = 2∆u2 (k) + 2∆u(k)e(k) + e2 (k)
(c) u(k) = −0.5y(k − 1) + 0.5yref (k + 1)
(d) y(k + 1) = y(k) − 0.5y(k − 1) + 0.5yref (k + 1)
(e) z1/2 = 0.5 ± j0.5
(f) k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
k 0 1 2 3 4 5 6 7 8
y(k) 0 0.5 0.875 1.0313 1.0547 1.0332 1.0112 1.0001 0.9973
k 9 10 11 12 13 14 15 16 . . . 18
y(k) 0.9979 0.9991 0.9999 1.0001 1.0001 1.0001 1.0000 1.0000
s(x) = 0 u = −umax
State x2
0
-2
u = umax
-4
-4 -2 0 2 4
State x1
8 8
x1 (t) x1 (t)
6 x2 (t) 6 x2 (t)
4 Sliding 4
mode
2 2
x1 , x2
x1 , x2
0 0
-2 -2
-4 -4
-6 -6
0 5 10 15 20 0 5 10 15 20
t t
Fig. 8.23: Time courses of the sliding Fig. 8.24: Time courses of the time-
mode control loop’s state variables optimal control loop’s state variables
(c)
x1 (0)
x1 (0) − gµ(x2,ref )t, t < teq = ,
gµ(x2,ref )
x1 (t) = x2 (t) = x2,ref
x1 (0)
0,
t ≥ teq = ,
gµ(x2,ref )
(d) The slip x2 = λ is constant in the sliding mode, more precisely x2 (t) =
x2,ref . The vehicle’s velocity x1 (t) = x1 (0)−gµ(x2,ref )t in the sliding mode
during braking depends on the friction coefficient. The latter is a function
of the road surfacing. Thus, the braking distance 0.5x1 (0)/(gµ(x2,ref ))
depends on the velocity when braking begins, and on the road surface.
(e) x2,ref = λref ≈ 0.16
6.6 (b) The model of the oven is strictly positive real, i.e. strictly passive. Since
it is linear, it possesses a radially unbounded storage function. The sat-
uration curve combined with the P controller is passive. Thus, according
to Theorem 80 on p. 549, the control loop has a globally asymptotically
stable equilibrium point at ∆Ti = 0, i = 1, 2, 3.
6.8 (a) The characteristic diagram passes through the origin. Furthermore,
the following inequalities apply:
x ≤ 0, e≥0 x ≥ 0, e≥0
h(x, e) ≤ h(0, e) ≥ 0 h(x, e) ≥ h(0, e) ≥ 0
h(x, e) ≥ h(x, 0) ≤ 0 h(x, e) ≥ h(x, 0) ≥ 0
x ≤ 0, e≤0 x ≥ 0, e≤0
h(x, e) ≤ h(0, e) ≤ 0 h(x, e) ≥ h(0, e) ≤ 0
h(x, e) ≤ h(x, 0) ≤ 0 h(x, e) ≤ h(x, 0) ≥ 0
6.9 The system has the relative degree δ = 1, but the internal dynamics are
unstable. Thus it is impossible to generate a passive control loop using a static
controller u(x). See Theorem 85 on p. 564.
6.10 This exercise is out of the ordinary, because the task is not solvable. (It
is the only unsolvable exercise in this book.) It is meant to illustrate that you
may be faced with mathematical problems and tasks in engineering which
are not solvable. You may recognize this immediately with some problems,
but not with others. Examples are the derivation of a general criterion for
the controllability of nonlinear systems or the construction of a perpetual
motion machine. In the example considered here, the plant (6.69), (6.70) is not
strictly passive because there is no positive definite matrix R which satisfies
the Kalman-Yakubovich-Popov equations
691
AT R + RA = −µP ,
RB = C T
are stable.
(f) The control law is u(z) = −28z1 − kz1 − 28z2 + y ref and the control loop
∂V2 (z)
in PCHD form ż = (J cl − D cl ) + bcl u, where
∂x
692 Chapter 8. Solutions to the Exercises
0 −35 −z2 k 0 0 1
J cl = 35 0 0, Dcl = 0 35 0 , bcl = 0 .
z2 0 0 0 0 3 0
∂V2 (x)
(g) ẋ = (J org − D org ) + b y ref ,
∂x
0 35 0 35 0 0 0
J org = −35 0 −x1 , Dorg = 0 k 0 , b = 1
0 x1 0 0 0 3 0
(h) The equilibrium point xeq1 = 0 is globally asymptotically stable, because
the constant matrix D org is positive definite and V2 is a Lyapunov function
with V (x) → ∞ for |x| → ∞.
6.14 The bounded sum satisfies a ∨ ā = 1, but the maximum operator and
the algebraic sum do not.
6.15 (a) The subsidiary system is passive.
6.16 The membership functions and the rule base are shown in Figure 8.25
and Table 8.3, respectively. Probably your solution is slightly different due to
different possible solutions.
Fig. 8.25: Membership functions of the input variables and the output variable nup
7.2 The weak observability can be proven for all ω ∈ IR3 , except for the cases
(1) Jz = Jy , (2) ωx = 0, and (3) ωy = ωz = 0.
7.3 (a) The system is control-affine and has the relative degree δ = 3. It is thus
weakly observable (see Theorem 90 on p. 618). Furthermore, the system
is even observable since the inverse q −1 (z) of the function z = q(x) exists
with the exception of x1 = z1 = −110.
693
resistance M
positive 2500 3000 5500 positive 4500 5500 5500
Driving
Driving
small 2000 2500 5000 small 4000 5000 5000
negative 1500 2000 4500 negative 3500 4500 4500
(b) For x1 = −110, ẋ1 = 0.028x1 applies. In this case, x2 and x3 do not act
on y = x1 . Thus the system is not observable at this point, i.e. it is only
locally observable and only locally weakly observable.
7.4 h1 (x1 ) 6= 0, h2 (x1 , x2 ) 6= 0, ..., hn−1 (x1 , . . . , xn−1 ) 6= 0
7.6 (a) With the inverse function q −1 yielding
p
x1 = ± ẏ y x
of z = = 22 = q(x),
x2 y ẏ x1
not all x ∈ IR2 can be uniquely determined.
(b) We use ÿ in addition. Now, with the function
0.5ÿ x
−1
q̃ (y, ÿ) = = 1 =x
y x2
and if y and ÿ are known, all x ∈ IR2 can uniquely determined.
(c) The example shows that Theorem 86 on p. 608 is only sufficient. A non-
linear system can thus be observable although no formula
x = q −1 (y, ẏ, . . . , y (n−1) )
exists with which all x ∈ Dx are uniquely determinable.
7.7 (a) x1 = z2 , x2 = z1 (b) ż1 = −z23 , ż2 = z1 − z2 + u, y = z2
3
(c) 00 y l
z̃˙ = z̃ − + 1 (y − z̃2 ), l1 = 100, l2 = 20
10 y−u l2
(d) 01 y−u l
˙
x̃ = x̃ − + 2 (y − x̃1 ), y = x1
00 y3 l1
3 x2 2 x2 2ax23 d
7.9 (a) P (s) = s + l1 +c − d 2 s + l2 +l1 c−d 2 + 3 −1 s
x1 x1 x1 x1
2ax3 x2 x3 x3 x2 l2 x21 x3
+ 2 −l3 −2d 3 +l1 d 2 + c−d 2 −
x1 x1 x1 x1 2ax3 x1
(b) P (s) is independent of x and u, i.e. P (s) = s3 + â2 s2 + â1 s + â0 , if the
following apply:
694 Chapter 8. Solutions to the Exercises
x2
l1 = â2 − c + d ,
x21
2ax23 d x2
l2 = â1 + 3 1− − l1 c − d 2 ,
x1 x1 x
2
12
â0 x1 x3 2x2 l2 x1 x3 x2
l3 = − + d 2 l1 − + − c−d 2 .
2ax3 x1 x1 2ax3 x1 x1
7.10 (b) z2 0
z3 0
ż =
2cz1 z2 + mz2 z3 + cz1 + mz3 u, y = z1
−
mz1 mAz1
(c)
x̃2 0 l1 ε−1
c A −2
˙
x̃ = − x̃1 + x̃3 + 0 u +
l2 ε (y − ỹ)
m x̃ x̃ m x̃
cl ε−1 + ml ε−3
2 3 3 1 3
−
x̃1 Ax̃1 A
A
Appendix
Step 1: We add a negative feedback with gain K1 to the plant G(s) for
Y (s) G(s)
Y (s) = G(s)(U (s) − K1 Y (s)) ⇔ G1 (s) = =
U (s) 1 + K1 G(s)
f (e, t) − K1 e U (s)
u2 = and U2 (s) = .
K2 − K1 K2 − K1
Step 3: Now we add a parallel branch with gain 1 between the input of the
transfer function G2 (s) and its output. So we obtain
1 + K2 G(s)
G3 (s) = G2 (s) + 1 = . (A.3)
1 + K1 G(s)
f (z, t) − K1 z
u2 = , z = u2 + e, e = −y
K2 − K1
f (z, t) − K1 z
⇔ (K2 − K1 )u2 = (u2 + e)
z
f (z, t) f (z, t)
⇔ K2 u2 − u2 = e − K1 e
z z
f (z, t)
− K1
⇔ u2 = z e = f˜(e, t), z = u2 + e. (A.4)
f (z, t)
K2 −
z
The modified nonlinearity (A.4) transforms the sector [K1 , K2 ] into
the sector [0, ∞]. We can easily see this if we insert f (z, t) = K1 z
and f (z, t) = K2 z into equation (A.4).
Figure A.1 illustrates these mutually canceling additions to the control loop
(A.1). Consequently, the resulting control loop
e u y
f (e, t) G(s)
e z 1 u2 y
f (e, t) K2 − K1 G(s)
K2 − K1
K1 K1
e u2 1 + K2 G(s) y
f˜(e, t)
1 + K1 G(s)
Thus, we can conclude that the nonlinear standard control loop is abso-
lutely stable in the sector [K1 , K2 ], 0 < K1 < K2 , if the transfer function
(A.3) is strictly positive real. According to Theorem 32 on p. 160, the latter
is fulfilled if
( )
1 + K2 G(jω)
Re >0 (A.5)
1 + K1 G(jω)
holds for all ω ≥ 0, and if G3 (s) is asymptotically stable, which is the case if
G(s)
(A.6)
1 + K1 G(s)
Condition (1) of the general circle criterion results from this Nyquist criterion
and the conditions above. Conditions (2), (3), and (4) are identical to the
circle criterion for systems without poles on the imaginary axis. ⊓
⊔
3.7979·10−3 2.6079·10−2 1.8755·10−1 −2.2657·10−1 5.6711·10−4
2.6079·10−2 1.8712·10−1 1.2913 −1.6330 4.0165·10−3
−1
R2= 1.8755·10
1.2913 2.8190·10 −1.1024·10 1.9722·10−2,
−2.2657·10−1 −1.6330 −1.1024·10 3.0710·10 −2.7863·10−2
5.6711·10−4 4.0165·10−3 1.9722·10−2 −2.7863·10−2 9.5314·10−5
7.0254·10−3 4.5741·10−2 3.1248·10−1 −4.1397·10−1 1.0098·10−3
4.5741·10−2 3.0763·10−1 2.0342 −2.7809 6.7269·10−3
−1
R3 = 3.1248·10
2.0342 3.3884·10 −1.8433·10 3.6004·10−2,
−4.1397·10−1 −2.7809 −1.8433·10 4.2920·10 −5.3480·10−2
1.0098·10−3 6.7269·10−3 3.6004·10−2 −5.3480·10−2 1.5701·10−4
700 Appendix A. Appendix
1.8355·10−2 1.0811·10−1 4.7125·10−1 −9.4012·10−1 2.4504·10−3
1.0811·10−1 6.5416·10−1 2.8488 −5.5883 1.4831·10−2
−1
4.7125·10−1 2.8488
R4 = 3.8658·10 −2.5478·10 5.1777·10−2,
−9.4012·10 −5.5883 −2.5478·10 7.2404·10 −1.1723·10−1
2.4504·10−3 1.4831·10−2 5.1777·10−2 −1.1723·10−1 3.5057·10−4
5.2217·10−2 2.7366·10−1 4.0373·10−1 −2.3095 6.2049·10−3
2.7366·10−1 1.4687 2.4757 −1.2133·10 3.3474·10−2
−1
−2
R5 =
4.0373·10 2.4757 4.2570·10 −2.1409·10 3.7964·10 ,
−2.3095 −1.2133·10 −2.1409·10 1.3541·102 −2.6235·10−1
6.2049·10−3 3.3474·10−2 3.7964·10−2 −2.6235·10−1 7.8876·10−4
1.1949·10−1 5.6923·10−1 −5.1097·10−1 −4.2345 1.3063·10−2
5.6923·10−1 2.7826 −1.6116 −2.0252·10 6.4387·10−2
−1
−5.1097·10 −1.6116
R6 = 6.7149·10 9.3161 −6.8998·10−2,
−4.2345 −2.0252·10 9.3161 2.0442·102 −4.4193·10−1
1.3063·10−2 6.4387·10−2 −6.8998·10−2 −4.4193·10−1 1.5430·10−3
2.3786·10−1 1.0378 −2.8921 −5.9433 2.4280·10−2
1.0378
4.6715 −1.1067·10 −2.6154·10 1.1058·10−1
2
−2.8921
R7 = −1.1067·10 1.5204·10 5.1281·10 −3.2462·10−1 ,
−5.9433 2 −1
−2.6154·10 5.1281·10 2.5478·10 −5.6212·10
2.4280·10−2 1.1058·10−1 −3.2462·10−1 −5.6212·10−1 2.7258·10−3
5.8841·10−1 2.2140 −8.4857 −7.0109 4.9746·10−2
2.2140
8.6981 −2.9546·10 −2.7779·10 1.9994·10−1
2
−8.4857
R8 = −2.9546·10 3.2425·10 6.6341·10 −7.8731·10−1 ,
−7.0109 2 −1
−2.7779·10 6.6341·10 3.0685·10 −5.3622·10
4.9746·10−2 1.9994·10−1 −7.8731·10−1 −5.3622·10−1 4.8279·10−3
1.0563 3.5328 −1.3691·10 −2.9545 7.6710·10−2
3.5328
1.2558·10 −4.2423·10 −1.2953·10 2.8163·10−1
−1.3691·10 −4.2423·10
R9 = 5.5357·102 −1.1448·10 −1.1622 ,
−2.9545 2 −2
−1.2953·10 −1.1448·10 4.6012·10 −9.4034·10
−2
7.6710·10 2.8163·10−1 −1.1622 −9.4034·10−2 6.7514·10−3
1.6062 4.8038 −1.3282·10 6.2810 9.7536·10−2
4.8038
1.5756·10 −3.3740·10 1.2281·10 3.3568·10−1
2 2
R10 =−1.3282·10 −3.3740·10
9.2668·10 −1.0862·10 −1.1734 .
2 3 −1
6.2810 1.2281·10 −1.0862·10 1.0134·10 6.5813·10
9.7536·10−2 3.3568·10−1 −1.1734 6.5813·10−1 7.9645·10−3
B
List of Symbols
df (x) df (x)
or : Derivative of f at the point x = a
dx dx
x=a a
dx
ẋ = : Time derivative of x
dt
˙˙˙
ẍ, x : Two - and threefold derivative of x
with respect to time t
x(i) : i-th derivative of x with respect to
time t
n
df (x) X ∂f (x) dxi ∂f (x)
= · = · ẋ : Total derivative, i. e. derivation of all
dt ∂xi dt ∂x
i=1 variables with respect to t
∂f (x)
: Partial derivative of a function f with
∂xi
several variables, i. e. derivative with
respect to the variable xi
∂f (x) ∂f (x) ∂f (x) ∂f (x)
= ··· : Derivative of a function f with respect
∂x ∂x1 ∂x2 ∂xn to the vector x
∂f (x)
∂x !T
1
∂f (x)
grad(f (x)) = ... =
: Gradient, i. e. directional derivative, of
∂x
∂f (x) a function f (the gradient specifies a
direction in space and is therefore a
∂xn
column vector)
705
∂f1 (x) ∂f1 (x) ∂f1 (x)
∂x ···
1 ∂x2 ∂xn
∂f2 (x) ∂f2 (x) ∂f2 (x)
∂f (x)
···
= ∂x1 ∂x2 ∂xn : Derivative of a vector function with re-
∂x .. .. .. .. spect to a vector x; the result is the
.
. . .
∂fn (x) ∂fn (x) ∂fn (x) Jacobian matrix.
···
∂x1 ∂x2 ∂xn
∂h(x)
Lf h(x) = f (x) : Lie derivative of h with respect to f
∂x
Lif h(x) = Lf Li−1
f h(x) : i-th Lie derivative of h with respect to
f
Lδa1 c1 (x)
Lδa2 c2 (x)
c̊(x) = .. : m-dimensional vector consisting of Lie
.
derivatives
Lδam cm (x)
∂g(x) ∂f
[f , g] = f (x) − g(x) : Lie bracket of the vector functions f
∂x ∂x
and g
adif g = [f , adi−1
f g] : i-times nested Lie bracket
ZT
1
E{x(t)} = lim x(t) dt : Expected value, i. e. time average of a
T →∞ 2T
−T signal x(t)
cov{x1 (t), x2 (t)} : Covariance matrix of two signals x1 (t)
and x2 (t)
References
12. Alessio, A., and Bemporad, A. (2009): A Survey on Explicit Model Predictive
Control. In Magni, L., Raimondo, D. M., and Allgöwer, F. (Eds.): Nonlinear
Model Predicitve Control, 345–369, Springer.
13. Allgöwer, F., and Zheng, A. (Eds.) (2000): Nonlinear Model Predictive Con-
trol, Birkhäuser.
14. Alwi, H., and Edwards, C. (2009): Propulsion Control of a Large Civil Aircraft
using On-line Control Allocation. IEEE Proceedings of the American Control
Conference, St. Louis, 4581–4586.
15. Ametani, A., Nagaoka, N., Baba, Y., Ohno, T., and Koichi, Y. (2016): Power
System Transients: Theory and Applications, Taylor & Francis.
16. Anderson, B. D. O. (1968): A Simplified Viewpoint of Hyperstability. IEEE
Transactions on Automatic Control 13(3):292–294.
17. Anderson, B. D. O., and Vongpanitlerd, S. (2006): Network Analysis and Syn-
thesis: A Modern Systems Theory Approach, Dover Publications.
18. Anderson, R. L., and Ibragimov, N. H. (1979) Lie-Bäcklund Transformations
in Applications, SIAM, Philadelphia.
19. Andrievskii, B. R., and Fradkov, A. L. (2003): Control of Chaos: Methods and
Applications I. Methods. Automation and Remote Control 64(5):673–713.
20. Andrievskii, B. R., and Fradkov, A. L. (2003): Control of Chaos: Methods and
Applications II. Applications. Automation and Remote Control 65(4):505–533.
21. Apkarian, P., and Adams, R. J. (1998): Advanced Gain-Scheduling Techniques
for Uncertain Systems. IEEE Transactions on Control Systems Technology
6(1):21–32.
22. Apollo Program Office - MAO (1969): Apollo 11 [AS-506] Mission. NASA,
Mission Operation Report No. M-932-69-11.
23. Atkinson, K., Han, W., and Stewart, D. (2009): Numerical Solutions of Ordi-
nary Differential Equations, Wiley & Sons.
24. Athans, M., and Falb, P. L. (1966): Optimal Control, McGraw-Hill.
25. Auernig, J. W., and Troger, H. (1987): Time optimal control of overhead cranes
with hoisting of the load. Automatica 23(4):437–447.
26. Bacciotti, A., and Rosier, L. (2010): Liapunov Functions and Stability in Con-
trol Theory, Springer.
27. Badami, V. V., and Dausch, M. E. (1994): Fuzzy logic control method for re-
ducing water consumption in a machine for washing articles. U. S. Patent
5,284,523.
28. Barabanov, N. E. (1988): On the Kalman problem. Siberian Mathematical
Journal 29(3):333–341.
29. Barbaxin, E. A. i Krasovski, N. N. Ob ustoqivosti dvieni v
(1952):
elom Doklad Akademii Nauk SSSR
. 86(3):453–456 (Barbashin, E. A., and
Krasovskii, N. N. (1952): On the stability of motion in the large. Doklady of
Akademii Nauk SSSR 86(3):453–456, in Russian).
30. Barnett, S., and Storey, C. (1970): Matrix Methods in Stability Theory, Barnes
& Noble.
31. Barraquand, J., and Latombe, J.-C. (1993): Nonholonomic Multibody Mobile
Robots: Controllability and Motion Planning in the Presence of Obstacles.
Algorithmica 10(2-3-4):121–155.
32. Barrau, A., and Bonnabel, S. (2017): The Invariant Extended Kalman Filter as
a Stable Observer. IEEE Transactions on Automatic Control 62(4):1797–1812.
33. Bashein, G. (1971): A Simplex Algorithm for On-Line Computation of Time
Optimal Controls. IEEE Transactions on Automatic Control 16(5):479–482.
References 709
34. Beckmann, M. J., and Ryder, H. E. (1969): Simultaneous Price and Quantity
Adjustment in a Single Market. Econometrica 37(3):470–484.
35. Ben-Asher, J., Burns, J. A., and Cliff, E. M. (1992): Time-optimal slewing of
flexible spacecraft. Journal of Guidance, Control and Dynamics 15(2):360–367.
36. Benz, K., Rech, C., and Mercorelli, P. (2019): Sustainable Management of
Marine Fish Stocks by Means of Sliding Mode Control. IEEE Proceedings
of the Federated Conference on Computer Science and Information Systems,
Leipzig, 907–910.
37. Bergen, A. R., and Williams, I. J. (1962): Verification of Aizerman’s Conjecture
for a Class of Third-Order Systems. IRE Transactions on Automatic Control
7(3):42–46.
38. Bergman, R. N., Phillips, L. S., and Cobelli, C. (1981): Physiologic Evalua-
tion of Factors Controlling Glucose Tolerance in Man: Measurement of Insulin
Sensitivity and Beta-cell Glucose Sensitivity from the Response to Intravenous
Glucose. The Journal of Clinical Investigation 68(6):1456–1467.
39. Bernard, P., Andrieu, V., and Astolfi, D. (2022): Observer design for
continuous-time dynamical systems. Annual Reviews in Control 53:224–248.
40. Bernstein, D. S. (2018): Scalar, Vector, and Matrix Mathematics: Theory,
Facts, and Formulas, Princeton University Press.
41. Bertsekas, D. P. (1999): Nonlinear Programming, Athena Scientific.
42. Besançon, G. (Ed.) (2007): Nonlinear Observers and Applications, Springer.
43. Bestle, D., and Zeitz, M. (1983): Canonical form observer design for non-linear
time-variable systems. International Journal of Control 38(2):419–431.
44. Bhatia, N. P., and Szegö, G. P. (2002): Stability Theory of Dynamical Systems,
Springer.
45. Bhatta, P. (2006): Nonlinear Stability and Control of Gliding Vehicles, PhD
thesis, Princeton University.
46. Bhatta, P., and Leonard, N. E. (2008): Nonlinear gliding stability and control
for vehicles with hydrodynamic forcing. Automatica 44(5):1240–1250.
47. Birk, J. (1992): Rechnergestützte Analyse and Lösung nichtlinearer Beobach-
tungsaufgaben. VDI Fortschritt-Berichte, Reihe 8, Nr. 294, VDI-Verlag, (Com-
puter aided analysis and solution of nonlinear observation tasks; in German).
48. Birk, J., and Zeitz, M. (1992): Computer-aided analysis of nonlinear observa-
tion problems. 2nd IFAC Symposium on Nonlinear Control Systems (NOL-
COS), Bordeaux. In IFAC Proceedings Volumes 25(3):257–262.
49. Blanchini, F. (1992): Minimum-Time Control for Uncertain Discrete-Time
Linear Systems. Proceedings of the IEEE Conference on Decision and Control,
Tucson (3):2629–2634.
50. Blümel, R., and Reinhardt, W. P. (1997): Chaos in Atomic Physics, Cambridge
University Press.
51. Boccia, A., Grüne, L., and Wortmann, K. (2014): Stability and feasibility of
state constrained MPC without stabilizing terminal constraints. System &
Control Letters 72:14–21
52. Bode, H. W. (1945): Network Analysis and Feedback Amplifier Design, D. Van
Nostrand.
53. Bonnabel, S., and Slotine, J.-J. E. (2014): A Contraction Theory-Based Analy-
sis of the Stability of the Deterministic Extended Kalman Filter. IEEE Trans-
actions on Automatic Control 60(2):565–569.
710 References
54. Borovic, B., Hong, C., Liu, A. Q., Xie, L., and Lewis, F. L. (2004): Control of a
MEMS Optical Switch. Proceedings of the 43rd IEEE Conference on Decision
and Control, Atlantis (3):3039–3044.
55. Boyd, S., El Ghaoui, L., Feron, E., and Balakrishnan, V. (1994): Linear Matrix
Inequalities in System and Control Theory, SIAM.
56. Bradley, T.-D., Bryson, T., and Terilla, J. (2020): Topology: A Categorical
Approach. MIT Press.
57. Bragin, V. O., Vagaitsev, V. I., Kuznetsov, N. V., and Leonov, G. A. (2011):
Algorithms for Finding Hidden Oscillations in Nonlinear Systems. The Aizer-
man and Kalman Conjectures and Chua’s Circuits. Journal of Computer and
Systems Sciences International 50(4):511–543.
58. Brogliato, B., Lozano. R., Maschke, B., and Egeland, O. (2007): Dissipative
Systems Analysis and Control, Springer
59. Brown, C. J., and Ma, J. T. (1968): Time-Optimal Control of a Moving-Coil
Linear Actuator. IBM Journal of Research and Development 12(5):372–379.
60. Brunovský, P. (1970): A Classification of Linear Controllable Systems. Kyber-
netika 6(3):173–188.
61. Buhl, M., and Lohmann, B. (2009): Control with Exponentially Decaying Lya-
punov Functions and Its Use for Systems with Input Saturation. IEEE Pro-
ceedings of the 10th European Control Conference, Budapest, 3148–3153.
62. Burcham, F. W., Trindel, A., Fullerton, C. G., and Webb, L. D. (1996): Devel-
opment and Flight Evaluation of an Emergency Digital Flight Control System
Using Only Engine Thrust on an F-15 Airplane. NASA Technical Paper 3627.
63. Burden, R. L., Faires, J. D., and Burden, A. M. (2015): Numerical Analysis,
Cengage Learning.
64. Burken, J. J., Burcham, F. W., Maine, T. A., Feather, J., Goldthorpe, S., and
Kahler, J. A. (1996): Flight Test of a Propulsion-Based Emergency Control
System on the MD-11 Airplane With Emphasis on the Lateral Axis. NASA
Technical Memorandum 4746.
65. Byrnes, C. I., Isidori, A., and Willems, J. C. (1991): Passivity, Feedback Equiv-
alence, and the Global Stabilization of Minimum Phase Nonlinear Systems.
IEEE Transactions on Automatic Control 36(11):1228–1240.
66. Byrnes, C. I., and Isidori, A. (1991): Asymptotic Stabilization of Mini-
mum Phase Nonlinear Systems. IEEE Transactions on Automatic Control
36(10):1122–1137.
67. Camacho, E. F., Berenguel, M., and Rubio, F. R. (1994): Application of a gain
scheduling generalized predictive controller to a solar power plant. Control
Engineering Practice 2(2):227–238.
68. Camacho, E. F., and Bordons, C. (2007): Model Predictive Control, Springer.
69. Canudas-de-Wit, C., Rubio, F. R., and Corchero, M. A. (2008): D-OSKIL: A
New Mechanism for Controlling Stick-Slip Oscillations in Oil Well Drillstrings.
IEEE Transactions on Control Systems Technology 16(6):1177–1191.
70. Carter, J., Chiclana, F., Khuman, A. S., and Chen, T. (Eds.) (2021): Fuzzy
Logic: Recent Applications and Developments, Springer.
71. Casavola, A., Prodi, G., and Rocca, G. (2010): Efficient Gear Shifting Strate-
gies for Green Driving Policies. IEEE Proceedings of the American Control
Conference, Baltimore, 4331–4336.
72. Charlet, B., Lévine, J., and Marino, R. (1991): Sufficient conditions for dy-
namic state feedback linearization. SIAM Journal on Control and Optimiza-
tion 29(1):38–57.
References 711
73. Chen, C.-T. (2014): Linear System Theory and Design, Oxford University
Press.
74. Chen, D., Bako, L., and Lecoeuche, S. (2012): The minimum-time prob-
lem for discrete-time linear systems: a non-smooth optimization approach.
Proceedings of the IEEE International Conference on Control Applications,
Dubrovnik, 196–201.
75. Chen, G., and Pham, T. T. (2000): Introduction to Fuzzy Sets, Fuzzy Logic,
and Fuzzy Control Systems, Taylor & Francis.
76. Chen, G., and Ueta, T. (1999): Yet another chaotic attractor. International
Journal of Bifurcation and Chaos 9(7):1465–1466.
77. Chen, G. (2023): Nonlinear Systems: Stability, Dynamics and Control, World
Scientific.
78. Chen, M. Z. Q., and Smith, M. C. (2009): A Note on Tests for Positive-Real
Functions. IEEE Transactions on Automatic Control 54(2):390–393.
79. Cheng, P., Vasić, M., García, O, Oliver, J. Á., Alou, P., and Cobos, J. A.
(2014): Minimum Time Control for Multiphase Buck Converter: Analysis and
Application. IEEE Transactions on Power Electronics 29(2):958–967.
80. Chern, S. S. und Shokurov, V. V. (Eds.) (2002): The Collected Papers of Wei-
Liang Chow, World Scientific.
81. Chow, W.-L. (1940): Über Systeme von linearen partiellen Differentialgle-
ichungen erster Ordnung. Mathematische Annalen 117(1):98–105, (On systems
of linear partial differential equations of first order; in German).
82. Consolini, L., and Piazzi, A. (2009): Generalized bang-bang control for feed-
forward constrained regulation. Automatica 45(10):2234–2243.
83. Corless, M., and Shorten, R. (2009): A correct characterization of strict posi-
tive realness for MIMO systems. IEEE Proceedings of the American Control
Conference, St. Louis, 469–475.
84. Corless, M., and Shorten, R. (2010): On the Characterization of Strict Pos-
itive Realness for General Matrix Transfer Functions. IEEE Transactions on
Automatic Control 55(8):1899–1904.
85. Corless, M., and Shorten, R. (2011): On a class of generalized eigenvalue prob-
lems and equivalent eigenvalue problems that arise in systems and control
theory. Automatica 47(3):431–442.
86. Cragon, S. D. (1991): Time-Optimal Control Application for an Exoatmo-
spheric Interceptor. Proceedings of the IEEE Telesystems Conference (1):31–
36.
87. Creveling, H. F., De Paz, J. F., Baladi, J. Y., and Schoenhals, R. J. (1975):
Stability characteristics of a single-phase free convection loop. Journal of Fluid
Mechanics 67(1):65–84.
88. Davison, E., and Constantinescu, D. (1971): A Describing Function Technique
for Multiple Nonlinearities in a Single-Loop Feedback System. IEEE Transac-
tions on Automatic Control 16(1):56–60.
89. DeCarlo, R. A., Zak, S. H., and Matthews, G. P. (1988): Variable Structure
Control of Nonlinear Multivariable Systems: A Tutorial. Proceedings of the
IEEE 76(3):212–232.
90. Demirci, Y, Pekel, L. C., Altinten, A., and Alpbaz, M. (2015): Application of
fuzzy control on the electrocoagulation process to treat textile wastewater.
Environmental Technology 36(24):3243–3252.
712 References
91. de Paor, A., and Ringwood, J. (2006): A Simple Soft Limiter Describing Func-
tion for Biomedical Applications. IEEE Transactions on Biomedical Engineer-
ing 53(7):1233–1240.
92. Devaney, R. L. (2003): An Introduction to Chaotic Dynamical Systems, West-
view Press Inc.
93. Dewey, A. G., and Jury, E. I. (1965): A Note on Aizerman’s Conjecture. IEEE
Transactions on Automatic Control 10(4):482–483.
94. Diehl, M., Findeisen, R., Schwarzkopf, S., Uslu, I., Allgöwer, F., Bock, H. G.,
Gilles, E. D., and Schlöder, J. P. (2002): An Efficient Algorithm for Nonlinear
Model Predictive Control of Large-Scale Systems - Part I: Description of the
Method. Automatisierungstechnik 50(12):557–567.
95. Di Martino, F., and Sessa, S. (2020): Fuzzy Transforms for Image Processing
and Data Analysis, Springer.
96. Dodds, S. J. (2015): Feedback Control: Linear, Nonlinear and Robust Tech-
niques and Design with Industrial Applications, Springer.
97. Döring, D. (2003): Ein Beitrag zur Synthese von Gain-Schedulingreglern unter
Nutzung normierter Gaußscher Radial-Basisfunktionen, PhD thesis, Univer-
sität Magdeburg, (A Contribution to the Synthesis of Gain-Scheduling Con-
trollers Using Normalized Gaussian Radial Basis Functions; in German).
98. Dorf, R. C., and Bishop, R. H. (2016): Modern Control Systems, Prentice Hall.
99. Dormand, J. R., and Prince, P. J. (1980): A family of embedded Runge-Kutta
formulae. Journal of Computational and Applied Mathematics 6(1):19–26.
100. Draženóvic, B. (1969): The invariance conditions in variable structure systems.
Automatica 5(3):287–295.
101. Drexler, D., Sápi, J., Szeles, A., Harmati, I., Kovács, A., and Kovács, L. (2012):
Flat control of tumor growth with angiogenic inhibition. Proceedings of the
7th IEEE International Symposium on Applied Computational Intelligence
and Informatics, Timişoara, 179–183.
102. Driankov, D., Hellendoorn, H., and Reinfrank, M. (1996): An Introduction to
Fuzzy Control, Springer.
103. Edwards, C., and Postlethwaite, I. (1998): Anti-windup and bumpless-transfer
schemes. Automatica 34(2):199–210.
104. Emel~nov, S. V. Sistemy avtomatiqeskogo upravleni s peremen-
(1967):
no strukturo, Nauka (Russian original publication of [105]).
105. Emel’yanov, S. V. (1967): Variable-Structure Control Systems, Nauka.
106. Emel’yanov, S. V. (2007): Theory of variable-structure control systems: In-
ception and initial development. Computational Mathematics and Modeling
18(4):321–331.
107. Engell, S. (Ed.) (1995): Entwurf nichtlinearer Regelungen, R. Oldenbourg,
(Nonlinear control design; in German).
108. Engeln-Müllges, G., and Uhlig, F. (1996): Numerical Algorithms with C,
Springer.
109. Fadden, E. J., and Gilbert, E. G. (1964): Computational Aspects of the Time-
Optimal Control Problem. In Balakrishnan, A.V., and Neustadt, L.W. (Eds.):
Computing Methods in Optimization Problems: 167–192, Academic Press.
110. Farinwata, S. S., Filev, D. P., and Langari, R. (2000): Fuzzy Control: Synthesis
and Analysis, Wiley & Sons.
111. Fel~dbaum, A. A. O sinteze optimal~nyh sistem s pomow~
(1955):
fazovogo prostranstva. Avtomatika i telemehanika 16(2):129–149
References 713
129. Fliess, M., Lévine, J., Martin, P., and Rouchon, P. (1995): A Lie-Bäcklund
Approach to Equivalence and Flatness of Nonlinear Systems. IEEE Trans-
actions on Automatic Control 44(5):922–937.
130. Föllinger, O. (2022): Regelungstechnik, VDE-Verlag, (Control Engineering; in
German).
131. Fox, L., and Mayers, D. F. (1987): Numerical Solution of Ordinary Differential
Equations for Scientists and Engineers, Chapman and Hall.
132. Franke, D. (1982): Ausschöpfung von Stellgrößenbeschränkungen mittels wei-
cher strukturvariabler Regelung. Regelungstechnik 30(10):348–355, (Exhaust-
ing bounds on control by means of soft variable structure control; in German).
133. Franklin, G. F., Powell, J. D., Emami-Naeini, A. (2018): Feedback Control of
Dynamic Systems, Prentice-Hall.
134. Fridman, L., Moreno, J., and Iriarte, R. (2011): Sliding Modes after the First
Decade of the 21st Century, Springer.
135. Friedland, B. (2005): Control System Design: An Introduction to State-Space
Methods, Dover Publications.
136. Frik, M. (1966): Zeitoptimale Steuerung des Einstellvorganges bei Kreiselkom-
passen. Archive of Applied Mechanics 35(4):262–268, (Time-optimal control
of the adjustment process of gyrocompasses; in German).
137. Fritzsche, K., and Röbenack, K.(2018): On the Computation of Differentially
Flat Inputs. IEEE Proceedings of the 22nd International Conference on System
Theory, Control, and Computing (ICSTCC), Sinaia, 12–19.
138. Fritzsche, K., and Röbenack, K.(2020): On a generalized flat input definition
and physical realizability. 21st IFAC World Congress, Berlin. In IFAC Papers-
Online 53(2):5994–5999.
139. Fujii, K, and Shoji, K. (1972): Verification of the Aizerman and/or Kalman
Conjecture. IEEE Transactions on Automatic Control 17(3):406–408.
140. Fukushima, Y., Irikura, K., Uetake, T., and Matsumoto, H. (2000): Character-
istics of Observed Peak Amplitude for Strong Ground Motion from the 1995
Hyogoken Nanbu (Kobe) Earthquake. Bulletin of the Seismological Society of
America 90(3):545–565.
141. Fuller, A (1974): Simplification of Some Time-Optimal Switching Functions.
IEEE Transactions on Automatic Control 19(1):65–65.
142. Galeani, S., Tarbouriech, S., Turner, M., and Zaccarian, L. (2009): A Tutorial
on Modern Anti-Windup Design. IEEE Proceedings of the 10th European
Control Conference, Budapest, 306–323.
143. Galor, O. (2007): Discrete Dynamical Systems, Springer.
144. Gantmacher, F. R. (1984): The Theory of Matrices, American Mathematical
Society.
145. Gao, W., and Hung, J. C. (1993): Variable Structure Control of Nonlinear Sys-
tems: A New Approach. IEEE Transactions on Industrial Electronics 40(1):45–
55.
146. Gauthier, J. P., and Bornard, G. (1981): Observability for any u(t) of a Class of
Nonlinear Systems. IEEE Transactions on Automatic Control 26(4):922–926.
147. Gelb, A., and Vander Velde, W. E. (1968): Multiple-Input Describing Func-
tions and Nonlinear System Design, McGraw-Hill.
148. Germann, S., and Isermann, R. (1995): Nonlinear distance and cruise control
for passenger cars. IEEE Proceedings of the American Control Conference,
Washington, 3081–3085.
References 715
169. Hagenmeyer, V., and Zeitz, M. (2004): Internal dynamics of flat nonlinear
SISO systems with respect to a non-flat output. Systems & Control Letters
52(3-4):323–327.
170. Hahn, W. (1967): Stability of Motion, Springer.
171. Hahnfeldt, P., Panigrahy, D., Folkman, J., and Hlatky, L. (1999): Tumor
Development under Angiogenic Signaling: A Dynamical Theory of Tumor
Growth, Treatment Response, and Postvascular Dormancy. Cancer Research
59(19):4770–4775.
172. Hairer, E., Nørsett, S. P., and Wanner, G. (1993): Solving Ordinary Differential
Equations I: Nonstiff Problems, Springer.
173. Hairer, E., and Wanner, G. (2004): Solving Ordinary Differential Equations
II: Stiff and Differential-Algebraic Problems, Springer.
174. Hamaya, K., Waita, H., Gomi, H., and Shin, J. (2014): Inverted Pendulum
type vehicle. U. S. Patent 8,763,733 B2.
175. Hangos, K. M., Bokor, J., and Szederkényi, G. (2004): Analysis and Control
of Nonlinear Process Systems, Springer.
176. Härefors, M., and Bates, D. G. (2003): Integrated propulsion based flight con-
trol system design for a civil transport aircraft. International Journal of Turbo
and Jet Engines 20(2):95–114.
177. Harris, J. (2005): Fuzzy Logic Applications in Engineering Science, Springer.
178. Haxel, J. H., Matsumoto, H., Meining, C., Kalbach, G., Lau, T.-K., Dziak,
R. P., and Stalin, S. (2019): Ocean sound levels in the northeast Pacific
recorded from an autonomous underwater glider. PLoS One 14(11):1–20.
179. Haynes, G. W., and Hermes, H. (1970): Nonlinear Controllability via Lie The-
ory. SIAM Journal on Control 8(4):450–460.
180. Hedrick, J. K., and Misawa, E. A. (1989): Nonlinear Observers – A State-
of-the-Art Survey. Transactions of the ASME, Journal of Dynamic Systems,
Measurement, and Control 111(3):344–352.
181. Hendricks, E., Jannerup, O., and Sørensen, P. H. (2008): Linear Systems Con-
trol: Deterministic and Stochastic Methods, Springer.
182. Hermann, R., and Krener, A. J. (1977): Nonlinear Controllability and Observ-
ability. IEEE Transactions on Automatic Control 22(5):728–740.
183. He, R., Woods, W., Zambon, J. B., and Xue, Z. (2016): Monitoring the Gulf
Stream and shelf environment in the South Atlantic Bight through integrated
autonomous underwater glider observations and data assimilative ocean model
predictions. IEEE Proceedings of Oceans 2016, Shanghai, 1-4.
184. Hibbeler, R. C. (2016): Engineering Mechanics: Dynamics, Pearson.
185. Hippe, P. (2006): Windup in Control, Springer.
186. Hocking, L. M. (1991): Optimal Control, Oxford University Press.
187. Holzmann, H., Germann, S., Halfmann, C., and Isermann, R. (1998): Intelli-
gent fuzzy distance and cruise control for passenger cars. Journal of Intelligent
and Fuzzy Systems 6(3):315–327.
188. Honma, H. (1996): Automatic focusing system with response control using
fuzzy interference. U. S. Patent 5,566,380.
189. Hooke, R., and Jeeves, T. A. (1961): „Direct Search“ Solution of Numerical
and Statistical Problems. Journal of the Association of Computing Machinery
(JACM) 8(2):212–229.
190. Hou, C. (2008): Fluid Dynamics and Behavior of Nonlinear Viscous Fluid
Dampers. Journal of Structural Engineering 134(1):56–63.
References 717
191. Hu, T., and Lin, Z. (2001): Control Systems with Actuator Saturation: Anal-
ysis and Design, Birkhäuser.
192. Hu, T., and Lin, Z. (2002): On Improving the Performance with Bounded Con-
tinuous Feedback Laws. IEEE Transactions on Automatic Control 47(9):1570–
1575.
193. Huang, S., Tan, K. K., and Lee, T. H. (2001): Applied Predictive Control,
Springer.
194. Hughes, D., and Dornheim, M. A. (2003): No Flight Controls. Aviation Week
& Space Technology 159(23):42–43.
195. Hughes, P. C. (2004): Spacecraft Attitude Dynamics, Dover Publications.
196. Hung, J. Y., Gao, W., and Hung, J. C. (1993): Variable Structure Control: A
Survey. IEEE Transactions on Industrial Electronics 40(1):2–22.
197. Hunt, L. R., Su, R., Meyer, G., and Lin, Z. (1983): Design for multi-input non-
linear systems. In Brockett, R. W., Millman, R. S., and Sussman, H. J. (Eds.):
Differential Geometric Control Theory. Proceedings of the Conference Held
at Michigan University, Volume 27 of Progress in Mathematics, Birkhäuser,
268–297.
198. Hunt, L. R., Su, R., and Meyer, G. (1983): Global Transformations of Nonlin-
ear Sytems. IEEE Transactions of Automatic Control 28(1):24–31.
199. Ilchmann, A., and Wirth, F. (2013): On Minimum Phase. Automatisierungs-
technik 61(12):805–817.
200. Isermann, R. (1989): Digital Control Systems: Fundamentals, Deterministic
Control, Springer.
201. Isermann, R. (1991): Digital Control Systems: Stochastic Control, Multivari-
able Control, Adaptive Control, Applications, Springer.
202. Isermann, R. (2022): Automotive Control: Modeling and Control of Vehicles,
Springer.
203. Isidori, A. (1995): Nonlinear Control Systems, Springer.
204. Itkis, U. (1976): Control Systems of Variable Structure, Wiley & Sons.
205. Jadbabaie, A., and Hauser, (2005): On the Stability of Receding Horizon Con-
trol with a General Terminal Cost. IEEE Transactions on Automatic Control
50(5):674–678.
206. Jakubczyk, B., and Respondek, W. (1980): On linearization of control systems.
Bulletin de L’Académie Polonaise des Sciences, Série des Sciences Mathéma-
tiques 28(9-10):517–522.
207. Jin, Y. (2003): Advanced Fuzzy Systems Design and Applications, Physica-
Verlag.
208. Jo, N. H., and Seo, J. H. (2000): Input Output Linearization Approach to State
Observer Design for Nonlinear System. IEEE Transactions on Automatic Con-
trol 45(12):2388–2393.
209. Johansen, T. A., Hunt, K. J., and Petersen, I. (2000): Gain-scheduled control
of a solar power plant. Control Engineering Practice 8(9):1011–1022.
210. Jonckheere, E. A., and Yu, G.-R. (1998): H∞ longitudinal control of crippled
trijet aircraft with throttles only. Control Engineering Practice 6(5):601–613.
211. Jonckheere, E. A., and Yu, G.-R. (1999): Propulsion Control of Crippled Air-
craft by H∞ Model Matching. IEEE Transaction on Control Systems Tech-
nology 7(2):142–159.
212. Jordan, L. B. (1995): Locomotive traction control system using fuzzy logic.
U. S. Patent 5,424,948.
718 References
213. Joshi, S. M. (1989): Out of Control. IEEE Control Systems Magazine 9(5):50.
214. Joshi, S. M., and Gupta, S. (1996): On a Class of Marginally Stable Positive-
Real Systems. IEEE Transactions on Automatic Control 41(1):152–155.
215. Kahraman, C. (Ed.) (2006): Fuzzy Applications in Industrial Engineering,
Springer.
216. Kailath, T. (1980): Linear Systems, Prentice Hall.
217. Kalman, R. E. (1957): Physical and Mathematical Mechanisms of Instability in
Nonlinear Automatic Control Systems. Transactions of the American Society
of Mechanical Engineers (ASME) 79(3):553–563.
218. Kalman, R. E. (1960): On the General Theory of Control Systems. 1st Inter-
national IFAC Congress on Automatic and Remote Control, Moscow. In IFAC
Proceedings Volumes 1(1):491–502.
219. Kalman, R. E., and Bucy, R. S. (1961): New Results in Linear Filtering and
Prediction Theory. Transactions of the ASME, Journal of Basic Engineering
83(1):95–108.
220. Kamen, D. L., Arling, R. W., Field, J. D., Morell, J. B., Pompa, J. B., and
Heinzmann, R. K. (2002): Personal Transporter. U. S. Patent 6,796,396 B2.
221. Kane, T. R., Likins, P. W., and Levinson, D. A. (1983): Spacecraft Dynamics,
McGraw Hill.
222. Kapila, V., and Grigoriadis, K. M. (2002): Actuator Saturation Control, Mar-
cel Dekker.
223. Kapoor, N., and Daoutidis, P. (2000): Stabilization of nonlinear processes with
input constraints. Computers and Chemical Engineering 24:9–21.
224. Kaps, P., and Rentrop, P. (1979): Generalized Runge-Kutta methods of order
four with stepsize control for stiff ordinary differential equations. Numerische
Mathematik 33(1):55–68.
225. Karnopp, D. (2001): Motorized power steering system, German Patent
DE 40 31 316 C2.
226. Kaur, R., and Singh, A. (2019): Fuzzy logic: an overview of different appli-
cation areas. Advances and Applications in Mathematical Sciences 18(8):677–
689.
227. Keerthi, S., and Gilbert, E. (1987): Computation of Minimum-Time Feed-
back Control Laws for Discrete-Time Systems with State-Control Constraints.
IEEE Transactions on Automatic Control 32(5):432–435.
228. Kelkar, A. G., and Joshi, S. M. (1996): Control of Nonlinear Multibody Flexible
Space Structures, Springer.
229. Keller, H. (1986): Entwurf nichtlinearer Beobachter mittels Normalformen.
VDI Fortschritt-Berichte, Reihe 8, Nr. 124, VDI-Verlag, (Design of Nonlinear
Observers Using Normal Forms; in German).
230. Kellett, C. M., and Braun, P. (2023): Introduction to Nonlinear Control: Sta-
bility, Control Design, and Estimation, Princeton University Press.
231. Kelley, W. G., and Peterson, A. C. (2001): Difference Equations: An Introduc-
tion with Applications, Academic Press.
232. Khalil, H. K. (2002): Nonlinear Systems, Prentice-Hall.
233. Kiel, L. D., and Elliott, W. E. (Eds.) (1997): Chaos Theory in the Social Sci-
ences: Foundations and Applications, University of Michigan Press.
234. Kiendl, H., and Schneider, G. (1972): Synthese nichtlinearer Regler für die
Regelstrecke const/s2 aufgrund ineinandergeschachtelter abgeschlossener Ge-
biete beschränkter Stellgröße. Regelungstechnik und Prozeß-Datenverarbeit-
References 719
252. Krstić, M., and Smyshlyaev, A. (2008): Boundary Control of PDEs: A Course
on Backstepping Designs, SIAM.
253. Kugi, A. (2001): Non-linear Control Based on Physical Models, Springer.
254. Kundur, P. (1994): Power System Stability and Control, McGraw-Hill.
255. Kuznetsov, N. V., Kuznetsova, O. A., Koznov, D., Mokaev, R. N., and An-
drievsky, B. (2018): Counterexamples to the Kalman Conjectures. 5th IFAC
Conference on Analysis and Control of Chaotic Systems (CHAOS), Eindhoven.
In IFAC PapersOnLine 51(33):138–143.
256. Kvasnica, M., Jones, C. N., Pejcic, I., Holaza, J., Korda, M., and Bakaráč,
P. (2019): Real-Time Implementation of Explicit Model Predictive Control.
In Raković, S. V., and Levine, W. S. (Eds.): Handbook of Model Predictive
Control, 387–412, Birkhäuser.
257. Lafferriere, G., and Sussmann, H. (1991): Motion planning for controllable
systems without drift. Proceedings of the IEEE International Conference on
Robotics and Automation, Sacramento, 1148–1153.
258. Lancaster, P., and Tismenetsky, M. (1985): The Theory of Matrices, Academic
Press.
259. Landau, I. D., and Zito, G. (2006): Digital Control Systems, Springer.
260. Larsen, M., and Kokotović, P. V. (2001): A brief look at the Tsypkin criterion:
from analysis to design. International Journal of Adaptive Control and Signal
Processing 15(2):121–128.
261. LaSalle, J. P. (1960): Some Extensions of Liapunov’s Second Method. IRE
Transactions on Circuit Theory 7(4):520–527.
262. Lee, Y., Jang, S.-I., Chung, K., Lee, D., Kim, W., and Lee, C.-W. (1994):
A Fuzzy-Control Processor for Automatic Focusing. IEEE Transactions on
Consumer Electronics 40(2):138–144.
263. Lee, J.-H., Hyeon, J.-W., Jung, S.-K., Lee, Y.-K., and Ko, S.-H.(2020): Obser-
vations of Temperature and Salinity Mesoscale Variability off the East Coast
of Korea using an Underwater Glider: Comparison with Ship CTD Survey
Data. Journal of Coastal Research 95(Special Issue):1167–1171.
264. Lein, M. (2022): A Mathematical Journey Through Differential Equations Of
Physics, World Scientific.
265. Leith, D. J., and Leithead, W. E. (1998): Gain-scheduled controller design: an
analytic framework directly incorporating non-equilibrium plant dynamics.
International Journal of Control 70(2):249–269.
266. Leith, D. J., and Leithead, W. E. (2000): Survey of gain-scheduling analysis
and design. International Journal of Control 73(11):1001–1025.
267. Lens, H., Adamy, J., and Domont-Yankulova, D. (2011): A fast nonlinear con-
trol method for linear systems with input saturation. Automatica 47(4):857–
860.
268. Lentz, W. (1993): Neuere Entwicklungen in der Theorie dynamischer Systeme
and ihre Bedeutung für die Agrarökonomie. Duncker & Humblot, (Recent
developments in the theory of dynamic systems and their relevance for agri-
cultural economics; in German).
269. Leonhard, W. (1976): Zeitoptimale Scherenregelung. Archiv für Elektrotechnik
58(1):61–67, (Time-optimal shear control; in German).
270. Leonov, G. A., Burkin I. M., and Shepeljavyi, A. I. (1996): Frequency Methods
in Oscillation Theory, Kluwer Academic Publishers.
References 721
271. Leonov, G. A., Bragin, V. O., and Kuznetsov, N. V. (2010): Algorithm for
constructing counterexamples to the Kalman problem. Doklady Mathemat-
ics 82(1):540–542.
272. Lévine, J. (1997): Static and dynamic feedback linearization. In Fossard, A. J.,
and Normand-Cyrot, D. (Eds.): Nonlinear Systems - Vol. 3, Control: 93–126,
Chapman & Hall.
273. Lévine, J. (2009): Analysis and Control of Nonlinear Systems - A Flatness-
based Approach, Springer.
274. Levine, W. S. (2011): The Control Handbook, Taylor & Francis.
275. Li, A., and Ando, K. (2013): Measuring the Acceptability of Self-Balancing
Two-Wheeled Personal Mobility Vehicles. Journal of the Eastern Asia Society
for Transportation Studies 10:444–453.
276. Li, T.-Y., and Yorke, J. A. (1975): Period Three Implies Chaos. The American
Mathematical Monthly 82(10):985–992.
277. Li, X.-J. (1963): On the absolute stability of systems with time lags. Chinese
Mathematics 3(4):609–626.
278. Liao, X., and Yu, P. (2008): Absolute Stability of Nonlinear Control Systems,
Springer.
279. Liapounoff, A. M. (1907): Problème générale de la stabilité du mouvement.
Translation of the original publication [292] by M. É. Davaux. Annales de la
Faculté des Sciences de l’Université de Toulouse, 2e série, 9:203–474.
280. Liberzon, D. (2003): Switching in Systems and Control, Birkhäuser.
281. Liberzon, M. R. (2006): Essays on the Absolute Stability Theory. Automation
and Remote Control 67(10):1610–1644.
282. Limon, D., Alamo, T., Salas, F., and Camacho, E. F. (2006): On the Stabil-
ity of Constrained MPC without Terminal Constraint. IEEE Transactions on
Automatic Control 51(5):832–836.
283. Lin, Y., and Sontag, E. D. (1991): A universal formula for stabilization with
bounded controls. System & Control Letters 16(6):393–397.
284. Llamas, A., De La Ree Lopez, J., Mili, L., Phadke, A. G., and Thorp, J. S.
(1995): Clarifications of the BCU Method for Transient Stability Analysis.
IEEE Transactions on Power Systems 10(1):210–219.
285. Lobry, C. (1970): Contrôlabilité des systèmes non linéaires. SIAM Journal on
Control 8(4):573–605, (Controllability of nonlinear systems; in French).
286. Locatelli, A. (2017): Optimal Control of a Double Integrator: A Primer on
Maximum Principle, Springer.
287. Loughman, M., de Paor, A., Ringwood, J. V. (2016): The Effect of Blood
Pressure Pulsatility on the Baroreflex Gain. IEEE Proceedings of the 27th
Irish Signals and Systems Conference, Londonderry, 1–6.
288. Lozano-Leal, R., and Joshi, S. M. (1990): Strictly Positive Real Transfer Func-
tions Revisited. IEEE Transactions on Automatic Control 35(11):1243–1245.
289. Luenberger, D. G. (1966): Observers for Multivariable Systems. IEEE Trans-
actions on Automatic Control 11(2):190–197.
290. Lur~e, A. I. Nekotorye nelinenye zadaqi teorii avtomatiqes-
(1951):
kogo regulirovani Gosudarstvenoe izdatel~stvo tehniko-teoretiqesko
,
literatury Moskva
, (Russian original publication of [291]).
291. Lur'e, A. I. (1957): Some Non-linear Problems in the Theory of Automatic
Control, Her Majesty’s Stationery Office, London.
722 References
353. Park, M.-H., and Won, C.-Y. (1991): Time Optimal Control for Induction
Motor Servo System. IEEE Transactions on Power Electronics 6(3):514–524.
354. Parker, T. S., and Chua, L. O. (1989): Practical Numerical Algorithms for
Chaotic Systems, Springer.
355. Parks, P. C. (1992): A. M. Lyapunov’s stability theory – 100 years on. IMA
Journal of Mathematical Control & Information 9(4):275–303.
356. Parks, P. C., and Hahn, V. (1993): Stability Theory, Prentice Hall.
357. Pavliotis, G. A., and Stuart, A. M. (2000): Multiscale Methods, Springer.
358. Peckol, J. K. (2021): Introduction to Fuzzy Logic, Wiley.
359. Peng, Y., Vrancic, D., and Hanus, R. (1996): Anti-Windup, Bumpless, and
Conditioned Transfer Techniques for PID Controllers. IEEE Control Systems
Magazine 16(4):48–57.
360. Perruquetti, W., and Barbot, J. P. (Eds.) (2002): Sliding Mode Control in
Engineering, Marcel Dekker Inc.
361. Pfiffner R., and Guzella, L. (1999): Feedback Linearization Idle-Speed Control:
Design and Experiments. Kybernetika 35(4):441–458.
362. Pliss, V. A. Nekotorye problemy teorii ustoiqivosti v elom
(1958): ,
Izdatel~stvo Leningradskogo universiteta (Pliss, V. A. (1958): Certain
problems in the theory of stability of motion in the whole. Leningrad Univer-
sity Press; in Russian).
363. Pliss, V. A. (1965): Certain problems in the theory of stability of motion in the
whole. English translation of the original publication [362], NASA Technical
Translation F-280.
364. Polyanin, A. D., and Zaitsev, V. F. (2018): Handbook of Ordinary Differential
Equations: Exact Solutions, Methods, and Problems, Chapman & Hall.
365. Popov, V. M. (1959): Criterii de stabilitate pentru sistemele neliniare de reglare
automată, bazate pe utilizarea transformatei Laplace. Studii şi Cercetări de
Energetică 9(1):119–135, (Stability criteria for nonlinear systems with auto-
matic control based on the use of the laplace transformation; in Romanian).
366. Popov, V. M. (1959): Criterii suficiente de stabilitate asimptotică in mare pen-
tru sistemele automate neliniare cu mai multe organe de execuţie. Studii şi
Cercetări de Energetică 9(4):647–680, (Sufficient criteria for asymptotic sta-
bility of general nonlinear systems with multiple actuating variables; in Ro-
manian).
367. Popov, V. M. (1960): Criterion of Quality for Non-linear Controlled Systems.
1st International IFAC Congress on Automatic and Remote Control, Moscow.
In IFAC Proceedings Volumes 1(1):183–187.
368. Popov, V. M. (1960): Noi criterii de stabilitate pentru sistemele automate
neliniare. Studii şi Cercetări de Energetică 10(1):159–174, (New stability cri-
teria for nonlinear control systems; in Romanian).
369. Popov, V. M. (1960): Nouveaux critériums de stabilité pour les systèmes au-
tomatiques nonlinéaires. French translation of the original publication [368].
Revue d’Électrotechnique et Énergétique 5(1):73–88.
370. Popov, V. M. (1960): Noi criterii grafice pentru stabilitatea stării staţionare a
sistemelor automate neliniare. Studii şi Cercetări de Energetică 10(3):601–612
(Romanian original publication of [371]).
371. Popov, V. M. (1961): New graphical criteria for the stability of the steady
state of nonlinear control systems. Revue d’Électrotechnique et Énergétique
6(1):25–34.
726 References
392. Rubio, F. R., Camacho, E. F., and Berenguel, M. (2006): Control de Campos
de Colectores Solares. Revista iberoamericana de automática e informática
industrial 3(4):26–45, (Control of solar collector fields; in Spanish).
393. Rugh, W. J., and Shamma, J. S. (2000): Research on gain scheduling. Auto-
matica 36(10):1401–1425.
394. Ruzhansky, M., and Sugimoto, M. (2015): On global inversion of homogeneous
maps. Bulletin of Mathematical Sciences 5(1):13–18.
395. Ryan, E. P. (1974): Time-optimal feedback control laws for certain third-order
relay control systems. International Journal of Control 20(6):881–911.
396. Ryan, E. P. (1977): Time-optimal feedback control of certain fourth-order sys-
tems. International Journal of Control 26(5):675–688.
397. Sabanovic, A., Fridman, L. M., and Spurgeon, S. K. (Eds.) (2004): Variable
Structure Systems: From Principles to Implementation, The Institution of
Engineering and Technology (IET).
398. Sadegh, N, Finney, J. D., and Heck, B. S. (1997): An explicit method for com-
puting the positive real lemma matrices. International Journal of Robust and
Nonlinear Control 7(12):1057–1069.
399. Sage, A. P., and White, C. C. (1977): Optimum Systems Control, Prentice
Hall.
400. Sager, S., Bock, H. G., Diehl M., Reinelt, G., and Schloder, J. P. (2006): Nu-
merical Methods for Optimal Control with Binary Control Functions Applied
to a Lotka-Volterra Type Fishing Problem. In Seeger A. (Ed.): Recent Ad-
vances in Optimization, Springer.
401. Sandberg, I. W. (1964): A Frequency-Domain Condition for the Stability of
Feedback Systems Containing a Single Time-Varying Nonlinear Element. The
Bell System Technical Journal 43(4):1601–1608.
402. Sastry, S. (1999): Nonlinear Systems: Analysis, Stability and Control, Springer.
403. Savkin, A. V., and Evans, R. J. (2002): Hybrid Dynamical Systems: Controller
and Sensor Switching Problems, Birkhäuser.
404. Schmidt, G., and Preusche, G. (1967): Popovs Stabilitätssatz als Mittel zur
teilweisen Bestätigung von Aizermans Vermutung. Regelungstechnik 15(1):20–
25, (Popov’s stability theorem as a means of partially confirming Aizerman’s
conjecture; in German).
405. Schwartz, C. A., and Yan, A. (1995): Systematic Construction of Lyapunov
Functions for Nonlinear Systems in Critical Cases. Proceedings of the 34th
IEEE Conference on Decision and Control, New Orleans, 3779–3784.
406. Schwefel, H.-P. (1995): Evolution and Optimum Seeking, Wiley.
407. Scibile, L. (1997): Non-linear Control of the Plasma Vertical Position in a
Tokamak, PhD Thesis, University of Oxford.
408. Scokaert, P. O. M., Mayne, D. Q., and Rawlings, J. B. (1999): Suboptimal Mod-
el Predictive Control (Feasibility Implies Stability). IEEE Transactions on
Automatic Control 44(3):648–654.
409. Scott, M. (1986): Time/fuel optimal control of constrained linear discrete sys-
tems. Automatica 22(6):711–715.
410. Seibert, P., and Suarez, R. (1990): Global stabilization of nonlinear cascade
systems. Systems & Control Letters 14(4):347–352.
411. Sepulchre, R., Janković, M., and Kokotović, P. V. (1997): Constructive Nonlin-
ear Control, Springer.
728 References
412. Serrarens, A. F. A., van de Molengraft, M. J. G., Kok, J. J., and van den Steen,
L. (1998): H∞ Control for Suppressing Stick-Slip in Oil Well Drillstrings. IEEE
Control Systems Magazine 18(2):19–30.
413. Sharma, S. C., Sharma, C., Kumar, C., Rajawat, P. S., and Mohindra, M.
(2008): Fuzzy approach to control moisture content on a paper machine. Paper
Technology 49(4):33–38.
414. Shen, Z., Huang, P., and Andersson, S. B. (2013): Calculating switching times
for the time-optimal control of single-input, single-output second-order sys-
tems. Automatica 49(5):1340–1347.
415. Shtessel, Y., Edwards, C., Fridman, L., and Levant, A. (2014): Sliding Mode
Control and Observation, Birkhäuser.
416. Singer, J., Wang, Y.-Z., and Bau, H. H. (1991): Controlling a Chaotic System.
Physical Review Letters 66(9):1123–1125.
417. Singh, D. S., Kumari, S., Abhishek, V., and Sathyaraj, R. (2017): Optimal
Gear Indication for Green Environment. International Journal of Engineering
Research 6(5):271–274.
418. Sira-Ramírez, H.(1989): Nonlinear Variable Structure Systems in Sliding Mode:
The General Case. IEEE Transactions on Automatic Control 34(11):1186–
1188.
419. Sira-Ramírez, H. (1998): A general canonical form for feedback passivity of
non-linear systems. International Journal of Control 71(5):891–905.
420. Sira-Ramírez, H., and Agrawal, S. K. (2004): Differentially Flat Systems, Mar-
cel Dekker.
421. Sira-Ramírez, H. (2015): Sliding Mode Control, Birkhäuser.
422. Slotine, J.-J. E., and Li, W. (1991): Applied Nonlinear Control, Prentice-Hall.
423. Soetaert, K., Cash, J., and Mazzia, F. (2012): Solving Differential Equations
in R, Springer.
424. Sofrony, J. (2009): Anti-windup Compensation of Input Constrained Systems:
Synthesis using Riccati Equations, VDM Verlag.
425. Sommer, R. (1980): Control design for multivariable nonlinear time-varying
systems. International Journal of Control 31(5):883–891.
426. Sontag, E. D. (1989): A ’universal’ construction of Artstein’s theorem on non-
linear stabilization. Systems & Control Letters 13(2):117–123.
427. Sontag, E. D. (1989): Smooth Stabilization Implies Coprime Factorization.
IEEE Transactions on Automatic Control 34(4):435–443.
428. Sontag, E. D. (1989): Remarks on Stabilization and Input-to-State Stability.
IEEE Proceedings on the 28th Conference on Decision and Control, Tampa,
1376–1378.
429. Sontag, E. D. (1990): Further Facts about Input to State Stabilization. IEEE
Transactions on Automatic Control 35(4):473–476.
430. Sontag, E. D., and Wang, Y. (1995): On characterizations of the input-to-state
stability property. Systems & Control Letters 24(5):351–359.
431. Sontag, E. D. (1998): Mathematical Control Theory, Springer.
432. Sontag, E. D., and Wang, Y. (1999): Notions of input to output stability.
Systems & Control Letters 38(4-5):235–248.
433. Sontag, E. D. (2008): Input to State Stability: Basic Concepts and Results.
In Nistri, P., and Stefani, G. (Eds.): Nonlinear and Optimal Control Theory,
Springer.
434. Spencer, B. F., and Nagarajaiah, S. (2003): State of the Art of Structural
Control. Journal of Structural Engineering 129(7):845–856.
References 729
435. Stefan, P. (1973): Two Proofs of Chow’s Theorem. In Mayne, D. Q., and Brock-
ett, R. W. (Eds.): Geometric Methods in System Theory, NATO Advanced
Study Institutes Series 3:159–164.
436. Strogatz, S. H. (2001): Nonlinear Dynamics and Chaos, Westview Press Inc.
437. Sun, Y., and Peng, J. (2002): A New Lyapunov Function for Transient Sta-
bility Analysis of Power Systems with Emergency Control. Proceedings of the
IEEE International Conference on Power System Technology (PowerCon 2002)
3:1540–1544, Kunming.
438. Symans, M. D., and Constantinou, M. C. (1997): Experimental Testing and
Analytical Modeling of Semi-Active Fluid Dampers for Seismic Protection.
Journal of Intelligent Material Systems and Structures 8(8):644–657.
439. Symans, M. D., and Constantinou, M. C. (1999): Semi-active control systems
for seismic protection of structures: a state-of-the-art review. Engineering
Structures 21(6):469–487.
440. Takagi, H. (1992): Application of neural networks and fuzzy logic to con-
sumer products. Proceedings of the IEEE International Conference on Indus-
trial Electronics, Control, Instrumentation, and Automation 3:1629–1633, San
Diego.
441. Tan, S.-C., Lai, Y. M., Cheung, M. K. H., and Tse, C. K. (2005): On the Practi-
cal Design of a Sliding Mode Voltage Controlled Buck Converter. IEEE Trans-
actions on Power Electronics 20(2):425–437.
442. Tao, G., and Ioannou, P. A. (1988): Strictly Positive Real Matrices and
the Lefschetz-Kalman-Yakubovich Lemma. IEEE Transactions on Automatic
Control 33(12):1183–1185.
443. Tarbouriech, S., and Turner, M. (2009): Anti-windup design: an overview of
some recent advances and open problems. IET Control Theory and Applica-
tions 3(1):1–19.
444. Tarbouriech, S., Garcia, G., Gomes da Silva, J. M., and Queinnec, J. (2011):
Stability and Stabilization of Linear Systems with Saturating Actuators,
Springer.
445. Taylor, J. H. (1974): Strictly Positive-Real Functions and the Lefschetz-
Kalman-Yakubovich (LKY) Lemma. IEEE Transactions on Circuits and Sys-
tems 21(2):310–311.
446. Taylor, J. H. (1999): Describing Functions. In Webster, J. G. (Ed.): Wiley En-
cyclopedia of Electrical and Electronics Engineering, Wiley-Interscience.
447. Terano, T., Asai, K., and Sugeno, M. (1994): Applied Fuzzy Systems, Aca-
demic Press.
448. Terrell, W. J. (2009): Stability and Stabilization: An Introduction, Princeton
University Press.
449. Thanom, W., and Loh, R. N. K. (2012): Observer-Based Nonlinear Feedback
Controls for Heartbeat ECG Tracking Systems. Intelligent Control and Au-
tomation 3(3):251–261.
450. Thomsen, J. S. (2005): Feedback Linearization Based Arc Length Control for
Gas Metal Arc Welding. IEEE Proceedings of the American Control Confer-
ence, Portland, 3568–3573.
451. Thompson, J. M. T., and Bishop, S. R. (Eds.) (1994): Nonlinearity and Chaos
in Engineering Dynamics, Wiley & Sons.
452. Thompson, J. M. T., and Stewart, H. B. (Eds.) (2002): Nonlinear Dynamics
and Chaos, Wiley & Sons.
730 References
474. Wen, J., and Desrochers, A. A. (1985): A minimum time control algorithm for
linear and nonlinear systems. Proceedings of the 24th IEEE Conference on
Decision and Control, Fort Lauderdale, 1441–1446.
475. Wen, J. T. (1988): Time Domain and Frequency Domain Conditions for Strict
Positive Realness. IEEE Transactions on Automatic Control 33(10):988–922.
476. Wichner, W., Wilharm, H., and Mahr, J. (1997): Crane with a travel drive
for the horizontal movement of a load hanging on a rope. German Patent DE
44 05 525 C2.
477. Willems, J. C. (1972): Dissipative dynamical systems: Part II: Linear Systems
with quadratic supply rates. Archive for Rational Mechanics and Analysis
45(5):352–393.
478. Willems, J. L. (1968): Further comments on a paper by G. Schmidt and G.
Preusche: „Popovs Stabilitätssatz als Mittel zur teilweisen Bestätigung von
Aizermans Vermutung“. Regelungstechnik 16(2):74–75.
479. Willems, J. L. (1970): Stability Theory of Dynamical Systems, Thomas Nelson
and Sons.
480. Wredenhagen, G. F., and Bélanger, P. R. (1994): Piecewise-linear LQ control
for systems with input constraints. Automatica 30(3):403–416.
481. Wu, F. F., and Desoer, C. A (1972): Global Inverse Function Theorem. IEEE
Transactions on Circuit Theory 19(2):199–201.
482. Yan, X.-G., Spurgeon, S. K., and Edwards, C. (2017): Variable Structure Con-
trol of Complex Systems, Springer.
483. Yeung, K. S. (1985): A Reformulation of Nyquist’s Criterion. IEEE Transac-
tions on Education 28(1):58–60.
484. Ying, Y., Rao, M., and Sun, Y. (1992): Bilinear control strategy for paper-
making process. Chemical Engineering Communications 111(1):13–28.
485. Yong, S, Z., Paden, B., and Frazzoli, E. (2015): Computational Methods for
MIMO Flat Linear Systems: Flat Output Characterization, Test and Tracking
Control. IEEE Proceedings of the American Control Conference, Chicago,
3898–3904.
486. Yoshizawa, T. (1966): Stability Theory by Liapunov’s Second Method, The
Mathematical Society of Japan.
487. Yu, H., Cai, G., and Li, Y. (2012): Dynamic analysis and control of a new
hyperchaotic finance system. Nonlinear Dynamics 67(3):2171–2182.
488. Yulin, X. (2009): Modeling and LPV Control of Web Winding System with
Sinusoidal Tension Disturbance. IEEE Proceedings of the Chinese Control
Conference (CCDC), Guilin, 3815–3820.
489. Zaccarian, L., and Teel, A. R. (2011): Modern Anti-Windup Synthesis: Control
Augmentation for Actuator Saturation, Princeton University Press.
490. Zadeh, L. A. (1965): Fuzzy Sets. Information and Control 8(3):338–353.
491. Zames, G. (1966): On the Input-Output Stability of Time-Varying Nonlinear
Feedback Systems-Part I: Conditions Derived Using Concepts of Loop Gain,
Conicity, and Positivity. IEEE Transactions on Automatic Control 11(2):228–
238.
492. Zames, G. (1966): On the Input-Output Stability of Time-Varying Nonlin-
ear Feedback Systems-Part II: Conditions Involving Circles in the Frequency
Plane and Sector Nonlinearities. IEEE Transactions on Automatic Control
11(3):465–476.
493. Zeitz, M. (1983): Controllability canonical (phase-variable) form for non-linear
time-variable systems. International Journal of Control 37(6):1449–1457.
732 References
494. Zeitz, M. (1987): The extended Luenberger observer for nonlinear systems.
Systems & Control Letters 9(2):149–156.
495. Zeitz, M. (1989): Canonical Forms for Nonlinear Systems. IFAC Symposium
on Nonlinear Control Systems Design (NOLCOS), Capri. In IFAC Proceedings
Volumes 22(3):33–38.
496. Zeitz, M. (2014): Minimalphasigkeit – keine relevante Eigenschaft für die
Regelungstechnik! Automatisierungstechnik 62(1):3–10, (The property to be
minimum phase is not a relevant property for control engineering; in German).
497. Zhang, H., and Liu, D. (2006): Fuzzy Modeling and Fuzzy Control, Birkhäuser.
498. Zhang, J., Tugal, H., Carrasco, J., and Heath, W. P. (2018): Absolute Stability
of Systems With Integrator and/or Time Delay via Off-Axis Circle Criterion.
IEEE Control Systems Letters 2(3):411–416.
499. Zhao, Z.-Y., Tomizuka, M., and Isaka, S. (1993): Fuzzy Gain Scheduling of PID
Controllers. IEEE Transactions on System, Man & Cybernetics 23(5):1392–
1398.
500. Zhou, J., and Wen, C. (2008): Adaptive Backstepping Control of Uncer-
tain Systems: Nonsmooth Nonlinearities, Interactions of Time-Variations,
Springer.
501. Zinober, A. S. I. (Ed.) (1994): Variable Structure and Lyapunov Control,
Springer.
502. Zypkin, Ja. S. (1963): Die absolute Stabilität nichtlinearer Impulsregelsysteme.
Regelungstechnik 11(4):145–148, (On the Global Stability of Nonlinear Auto-
matic Sampled-Data Systems; in German).
503. Cypkin, . Z. (1977):Osnovy teorii avtomatiqeskih sistem Nauka , (Rus-
sian original publication of [504])
504. Zypkin, Ja. S. (1981): Grundlagen der Theorie automatischer Systeme, R. Old-
enbourg, (Fundamentals of the Theory of Automatic Control Systems; in Ger-
man).
Index
two-position element, 70, 73, 78, control horizon, 506, 519, 524, 528
548 control Lyapunov function,
characteristic polynomial, 53, 254, 465–477, 479, 481, 504
275, 292, 295, 342, 390, 452, control observer, 291
535, 546, 629, 633, 646, 662 control variable constraints, see
chattering, see high-frequency control variable limitation
switching control variable limitation, 70, 77,
chemical plant, 505 79, 87, 100, 145, 285, 287, 291,
chemical reactor, 651 293, 299, 311, 318, 324, 327,
Chen’s chaotic system, 599 333, 343, 378, 470, 515, 518, 597
Chow’s Theorem, 229 control variable vector, see input
Chua’s circuit, 60, 193, 664, 669 variable vector
circle criterion, 103–110, 200, 298, controllability, 205–239, 250, 260,
335, 677 367, 478, 620
for asymptotically stable systems, criterion for linear systems, 206
104 global, 212, 278, 605
for systems without poles on the local, 212, 278, 605
imaginary axis, 105 local weakly omnidirectional, 239
general, 109, 336, 671, 695 matrix, 206, 253, 394, 446
circulatory system, 196 of control-affine systems, 260, 367,
closed-loop control, see feedback 430
control of the strict feedback form, 478
clownfish, 121 omnidirectional, 209–224,
COA method, 584 233–239, 277, 278, 501, 504,
combustion engine, 198, 410 674
compact set, 139 small-time local, 208–214, 224,
compactification, see one-point 229–233, 234, 278, 674
compactification weak form of omnidirectional, 209
companion matrix, 260, 393 controllability canonical form, 621
compressor, 453, 640 nonlinear, 623, 661
conclusion of a fuzzy rule, see fuzzy controllable canonical form, 621
rule controllable linear system, 251, 254,
condenser, 526 255, 394, 441
condition of a fuzzy rule, see fuzzy controllable on Dx by Du , 213
rule controller canonical form
container crane, 322 generalized, 449, 451, 622
container ship, 210, 322 linear, 218, 250, 251, 254, 255, 260,
continuous angle variation, 108, 200, 307, 341, 362, 389, 441, 535,
671, 698 536, 620
contractive positively invariant set, nonlinear, 215, 223, 255, 257, 279,
135, 138 360, 359–367, 404, 414, 430,
control-affine system, 1, 231, 234, 456, 460, 496, 503, 504, 542,
255, 260, 360, 468, 478, 563, 617, 622, 661, 675, 676
655 convergence rate, 19
control canonical form, 621 converse Lyapunov theorem, 118
736 Index
Nyquist plot, 73, 82–88, 95, 99, open-loop control, see feedforward
104–113, 159, 197, 200, 336, control
669, 671, 678 optical switch, 544
Nyquist value, 98 optical waveguide, 544
order of accuracy, 44–58, 668
output matrix, 3, 158, 628
O output variable vector, 2, 35, 221,
observability, 603–620, 660 239–248, 407, 428, 436, 509,
global, 605 548, 552, 569, 630
local, 605 linearizing, 415–430, 449, 455,
of autonomous systems, 607–612 499, 684
of control-affine systems, 375, 383, output vector, 3, 397, 401, 627, 642
617–620 output, flat, see flat output
of general nonlinear systems, 612 oven, 596
of linear systems, 253, 394, 398,
610 P
weak, 605, 614
pacemaker, 495
observability canonical form, paper machine, 570, 587
nonlinear, 614, 615, 622, 643,
parabolic trough, 354
649, 652, 662
parameter optimization, 326
observability matrix, 253, 392, 394, Park transformation, 266–273
398, 610, 614 partial differential equation, 255,
of control-affine systems, 462 273, 374, 381, 387, 391, 408,
of linear systems, 462, 618 416–430, 567, 624
observable on Dx for Du , 605 passivability
observer, 378, 508 of control-affine systems, 563, 564
by Luenberger, 624, 626, 630, 636, of linear systems, 562
644 passivation, 558, 563
design using linearization, by feedback, 558
626–635, 637, 662 by parallel connection, 558
for control-affine systems, 378, passive control loop, 547, 562–565,
655–662 599–601, 691
for linear systems, 291–297 passive static controller, 547–549
high-gain, 622, 643–662 passive system, 143–151, 190, 204,
linear, 291, 603, 624–628 547–565
reduced-order, 294, 297 passivity, 143–151
observer canonical form of connected systems, 148–151
linear, 620, 623 of linear systems, 151, 560
nonlinear, 621, 623, 660 of static systems, 145
observer error, see estimation error of the satellite model, 203
omnidirectionally controllable, see strict, 145–155, 167, 180,
controllability 184–190, 203, 547, 548, 600,
one-point compactification, 23 673, 690
one-step method, 47–57, 67 passivity-based control, 547–573
744 Index
with IDA, 565, 572, 599 matrix, 119, 121, 126, 152–155,
passivity canonical form, 180, 190 162–168, 180, 185–192, 203,
passivity inequality, 147, 151, 157, 318–322, 331, 343, 504, 506,
173, 180, 184, 187, 549, 553, 562 512, 553, 558, 561, 567, 573,
PCH system, 174–189, 203 673, 681, 682, 692
PCHD system, 179–192, 203, 565, quadratic performance index, 516
599, 600, 691 storage function, 146–153, 167,
P controller, 100, 195, 286, 314, 351, 185–190, 547–550, 560–565
352, 504, 597, 671, 690 positive definite matrix, 349
PD controller, 86, 286 positive real transfer function,
pendulum, 204 158–167
performance index, 506–530, 593, 636 positive realness, 158–168
performance integral, 318 positive semidefinite
periodic orbit, 36 function, 144, 147, 173
phugoid, 445 matrix, 153, 162–165, 180, 558
storage function, 144–151
PI controller, 198, 204, 290, 335, 357,
positively invariant set, 138
494
power plant, 354, 472
with anti-windup, 290, 358
power supply grid, 472
PID controller, 203, 286, 347, 495,
power, characteristic curve, 79
673
power-assisted steering system, 85
with anti-windup, 287, 335
Prandtl number, 490
piecewise linear control, 318, 341, 681
pre-control, see pilot control
pilot control, 313 pre-filter, 291, 294, 365, 375, 382, 401
pneumatic engine, 662 predator-prey relationship, 63, 121
pneumatic motor, 453 prediction horizon, 506, 519, 528
polar coordinates, 124, 282 predictor-corrector method, 46, 52,
polygonal line, 77, 584 56
polymer electrolyte membrane preload, 78
(PEM), 278 premise, 578–582
Pontryagin, maximum principle by, proportional controller, see P
300 controller
Popov pseudoinverse, 568
criterion, 91–103, 103–113, 197, pulse width modulation (PWM), 536
335, 336
inequality, 92–97 Q
line, 94–97, 105
plot, 95–105, 198 quadratic form, 119, 154, 185, 512
sector, 96–99, 200 quadratic optimization problem, 516
quadratic programming, 516
population model, 502
port-controlled Hamiltonian system,
see PCH system R
positive definite radially unbounded
function, 115, 139, 140, 144, 467, Lyapunov function, 116, 135,
468 146–151, 465–468
Index 745
strictly marginally stable, see Taylor series, 127, 131, 226, 227, 235,
stability 240, 609, 627, 638
strictly passive, see passivity temperature control, 5, 75, 299, 574
strictly positive real, 158, 160–168, tertium non datur, 600
204, 597, 673 Theorem
strictly stable system, 18 1 (Input-to-State Stability of
submarine, 309–313 Linear Systems), 27
subway train, 587 2 (Input-Output Stability of
sugar factory, 526 Linear Systems), 28
Swedish wheels, 234 3 (Peano Existence Theorem), 38
switching 4 (Picard-Lindelöf Local Existence
control, 62, 314–322, 325, 470 Theorem), 40
control without a sliding mode, 5 (Picard-Lindelöf Global
318 Existence Theorem), 40
curve, 306, 314, 337, 339, 594, 680, 6 (Popov Criterion), 92
689 7 (Absolute Stability of Control
function, 533 Loops with Delay), 98
hyperplane, 532–535 8 (Circle Criterion for
hypersurface, 543 Asymptotically Stable
Systems), 104
interval, 65, 300, 302, 594, 667
9 (Circle Criterion for Systems
line, 32, 317, 530–547, 594, 596,
without Poles on the Imaginary
689
Axis), 105
synchronous generator, 472–475, 610
10 (General Circle Criterion), 109
system
11 (Basic Tsypkin Criterion), 110
autonomous, 3, 259, 458, 461, 605,
12 (Extended Tsypkin Criterion),
607–615
111
control-affine, 360, 468, 478, 655
13 (Lyapunov’s Direct Method),
discrete, 505
115
discrete-time, 35, 110, 125, 313, 14 (Barbashin and Krasovskii
509, 518 Theorem), 116
domain of definition, 3 15 (Converse Lyapunov Theorem),
driftless, 224 118
free, 4, 6, 14, 18, 36, 469, 477, 600 16 (Lyapunov Equation), 121
passive, 143, 547 17 (Lyapunov’s Indirect Method of
stiff, 56 Stability), 126
strictly stable, 18 18 (Exponential Stability), 129
trivial, 244 19 (Catchment Region), 135
system matrix, 3, 126, 260, 275, 342, 20 (LaSalle’s Invariance Principle),
396, 628–630, 642–648 138
21 (Instability), 142
22 (Stability of Passive Systems),
T 146
table of canonical forms, 622–623 23 (Asymptotic Stability of
Taylor polynomial, 127 Passive Systems), 147
748 Index