NLC Lecture Notes 2025
NLC Lecture Notes 2025
Lecture Notes
Summer Semester 2025
The present manuscript is a typeset and edited version of lecture notes for the course “Nonlinear
Control” which I started giving in winter semester 2012/13 within the Master of Science in
Power Engineering (MSPE) programme at TUM. In the meantime, the audience has widened,
and “Nonlinear Control” appears in many study programmes.
The intention of the course is to give you insight into some of the basic concepts and methods
of modern nonlinear control theory. The central problem under consideration is stabilization
of equilibria of nonlinear dynamical systems. The main argument in many solutions is the
use of energy-type so-called Lyapunov functions to prove stability (Chapter 2) or to construct
stabilizing nonlinear controllers like in the Backstepping approach (Chapter 6). A different,
quite appealing idea is to make a given nonlinear system, or at least a part of it, linear by state
feedback (Chapter 4). After a stable feedback linearization, simple linear control theory can
be applied to the transformed system.
Not surprisingly, the application of such a promising approach is limited by more or less re-
strictive requirements. To understand the case of input-output linearization, the concepts
of relative degree and zero dynamics are necessary. To formulate conditions for input-state
linearization, some ideas from differential geometry need to be introduced. These concepts
give interesting insight into the dynamic behavior of nonlinear dynamical systems, and some
of them are introduced in Chapter 3. These concepts are also crucial to test controllability or
related properties of nonlinear systems, which is discussed in Chapter 4.
In Chapter 5, the fact is taken into account that stabilization is not the only relevant control
task. To achieve exact trajectory tracking of nonlinear systems within a two-degrees-of-freedom
controller structure, the flatness-based methods are powerful and widely applied tools.
Chapter 7 deals with the passivity formalism which has attracted a lot of attention, particularly
for system representations that arise from modeling of interconnected multi-physics systems
(see my course “Energy-Based Modeling of Complex Systems” for an extensive introduction
into the “port-Hamiltonian” modeling paradigm). After a discussion of the properties of
dissipative and passive systems and the statement of the Invariance Principle as an important
tool for stability analysis, passivity based state feedback control is introduced, with IDA-PBC
a systematic control design procedure exploiting the port-Hamiltonian formulation.
I would like to express my gratitude to my 2013/14 students Aastha Kanwar and Antonio
Blancato who did an excellent job in typesetting my hand written notes and producing the
computer drawings of the illustrations.
The lecture and the exercise will take place in presence at campus Garching. I will upload the
recordings on Moodle/Opencast after the course. Please make use of the optional offer of
revision exercises in presence or via Zoom (in a bi-weekly rhythm), which are an excellent
opportunity to clarify very early any doubts on lecture and exercises.
3
On the Moodle course you find all course documents: these lecture notes, the exercises, all
solutions (in the exercise course, I can only solve a part of them – the rest should be solved by
yourself as an excellent practice for the exam), the teaching recordings, additional material as
well as up-to-date information. Moreover, please use the discussion forum to connect with
your fellow students. You can exchange on the course topics there: post your questions and
doubts and respond to those of your fellow students if you know the answer or have a good
explanation by your own understanding.
I hope that you will enjoy our journey through nonlinear control systems and encourage you
to actively participate in our lessons. The last courses showed that active discussions in class
are extremely fruitful for a thorough understanding!
1 Introduction 9
1.1 Typical Controller Structures and Control Tasks . . . . . . . . . . . . . . . . . 9
1.2 Behavior of Linear and Nonlinear Systems . . . . . . . . . . . . . . . . . . . . 10
1.3 Motivation for Nonlinear Control . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 Lyapunov Stability 19
2.1 The Linear Case: Lyapunov Equations . . . . . . . . . . . . . . . . . . . . . . 20
2.2 The Two Methods of Lyapunov for Nonlinear Systems . . . . . . . . . . . . . . 22
2.3 Control Lyapunov Functions and Sontag’s Formula . . . . . . . . . . . . . . . 25
2.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5
Contents
6 Backstepping 71
6.1 Derivation of the Backstepping Controller . . . . . . . . . . . . . . . . . . . . 71
6.2 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.3 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
A Handouts 97
Introduction
This first section reviews in a very compact way the signals occuring in a control system and
the frequently used Two-Degrees-of-Freedom (2 DOF) controller structure, as well as typical
control goals (see also “Advanced Control”).
The feedforward part does the control job in an ideal/perfect setting for stable systems without
disturbances and uncertainties. Feedforward control is based on the (dynamical) model of the
9
1.2. Behavior of Linear and Nonlinear Systems
system, which includes plant and actuators. The better the underlying model, the more precise
will the computed nominal control signal uF F be, and the less action must be taken by the
feedback control part.
The feedback is necessary to stabilize an unstable system and to compensate for errors that
originate in imperfect modeling and certain external disturbances. Nonlinear state feedback
control design, which is dealt with in this course, can improve the closed-loop performance,
e.g., it can enlarge the domain of attraction (see Definition 1.1) and robustify the control
system.
2. Accuracy w.r.t. the reference: In the best case (exact tracking), lim y(t) → w(t) for
t→∞
arbitrary signals. Often only lim y(t) → w∗ will be achieved (steady state gain 1).
t→∞
In the course Nonlinear Control, the focus is on point 1: you will learn about stability analysis
for nonlinear systems and the design of state feedback controllers for nonlinear systems. (state
feedback methods for stabilization). Point 2 will be addressed in the section on flatness-based
control.
On a few examples, we illustrate the following aspect, in which linear and nonlinear time-
invariant systems1 differ. In this study, we consider only the homogeneous case without input.
has exactly one equilibrium if A has full rank. If A is rank deficient, there may be a
continuum of equilibria of the same type. The trajectories of an undamped linear oscil-
lator (where A has purely imaginary eigenvalues) are periodic. These periodic solutions,
however, do not attract other solutions. See Example 1.1.
• A nonlinear system
ẋ(t) = f (x(t)), x(0) = x0 (1.2)
can have a finite number of equilibria of different type, see Example 1.2. Moreover, in
nonlinear systems not only stable equilibria can attract solutions, but also (attractive)
limit cycles. The van der Pol oscillator in Example 1.3 is an example for such a nonlinear
system.
1
We do not consider time-varying systems in this course
Example 1.1 (Equilibria of linear systems). The purpose of this example is to recall the different
possible behaviors of a linear time-invariant system near its equilibrium. Depending on the
location of the eigenvalues, their multiplicity and the direction of the (generalized) eigenvectors,
the trajectories of the system show different characteristic patterns. A phase portrait shows a
set of solutions (for different initial values) of a 2D LTI system
in the (x1 , x2 )-plane. The eigenvalues and (generalized) eigenvectors for the depicted cases
are shown in Table 1.1. Figure 1.3 shows in gray the vector fields, in red the eigenvectors (only
in the case of the singular node v 2 is a generalized eigenvector) and in blue the trajectories.
Depicted are the stable versions of the considered equilibria. Their unstable counterparts can
be obtained by changing the sign of the eigenvalue real parts.
The knowledge of linear systems’ behavior is still very useful for the local analysis of nonlinear
systems near their equilibria. ◁
Table 1.1: Eigenvalues and (generalized) eigenvectors of the systems in Example 1.1.
λ1 λ2 v1 v2
1 −1
Stable node −1 −2
0.25 1
1 −1
Stable dicritical node −1 −1
0.25 1
1 −0.4
Stable singular node −1 −1
0.25 0.4
(v 2 generalized eigenvector)
1 −1
Saddle point −1 2
0.25 1
1 −1
Continuum of stable nodes −1 0
0.25 1
−1 + j −1 − j
Center −j j
−0.25 − j −0.25 + j
−1 + j −1 − j
Stable Focus −0.1 − j −0.1 + j
−0.25 − j −0.25 + j
Figure 1.3: Phase portraits for different types of equilibria according to Table 1.1.
ẋ
x
-1 1
-1
ẋ = x3 − x, x(0) = x0 (1.4)
has the three equilibria x∗1 = 0 (stable) and x∗2/3 = ±1 (unstable). The three equilibria, as
well as the directions of the flow (the solution of the initial value problem) in the (x, ẋ)-plane
are depicted in Fig. 1.4. ◁
Example 1.3 (Van der Pol oscillator). The van der Pol oscillator
" # " #
ẋ1 (t) x2 (t)
= (1.5)
ẋ2 (t) −x1 (t) − ε(x21 (t) − 1)x2 (t)
is a nice example for a nonlinear system, which features an (unstable) equilibrium and an (at-
tractive) limit cycle. On the state differential equations (1.5) you recognize a linear oscillator,
which is perturbed by a nonlinear term, weighted with the factor ε. A van der Pol oscillator
can be realized as an LC circuit in parallel with the series connection of a voltage source and
a tunnel diode. Figure 1.5 shows three phase portraits for the values 0.1, 0.5 and 2 of ε. The
gray lines are isoclines, i.e., lines on which the solutions of (1.5) have the same slope (−5,
−1, 0 and 1). The three phase portraits nicely illustrate the transition from an almost linear
system behavior around the equilibrium to apparently nonlinear trajectories, which rapidly tend
to the limit cycle, with a periodic change of slower and faster phases. ◁
Linear state space methods are often the first choice in controller design. They are:
• Model-based, i.e., they respect/make use of the (approximated) physical model (physical
modelling → linearization).
Figure 1.5: Phase portraits of the van der Pol oscillator with isoclines for −5, −1, 0 and 1.
ẋ ẋ ẋ
1 1 1
x x x
-1 1 -1 1 -1 1
-1 -1 -1
Figure 1.6: The non-smooth system in Example 1.4. Resulting dynamics with linear and non-
smooth controller.
• Highly performant and robust due to the use of measurements/estimation of the complete
system state – in contrast to simple PID output feedback.
However, the progress made since the 1980s in the theory of nonlinear control allows to consider
the detailed nonlinear description of the system’s dynamics which opens the door to derive
(state feedback) controllers that outperform the linear controllers. In some cases, equilibria of
dynamical systems can even not be stabilized by smooth state feedback2 .
A very simple example, which shows that a smooth (in this case linear) controller can be
inferior to a switching (i.e., non-smooth, nonlinear) controller is as follows.
Figure 1.7: Illustration of the domain of attraction, the dashed line shows the boundary ∂D
of the domain of attraction of x∗ .
with a linear controller u = −kx works for k > 1. However, the closed-loop system has
still a non-smooth right hand side, with faster dynamics for x < 0 and slower dynamics for
x > 0. The middle plot in Fig. 1.6 shows illustrates the resulting dynamics under the feedback
u = −2x.
A nonlinear control law
u = −x · sgn(x) − kx, k>0 (1.7)
yields the linear (and therefore smooth) closed-loop dynamics ẋ = −kx.
Note that the latter cancellation of the nonlinear term (which is at the core of the feedback
linearization methods) can sometimes be problematic, if the cancellation is not exact, e.g. due
to model inaccuracy or measurement or other errors in the control loop.
In this course, we will only consider smooth, i.e., sufficiently often differentiable nonlinearities.
◁
Appropriately tuned (!) nonlinear control can be necessary for robust stabilization. It can also
improve the performance with respect to various criteria. A very important criterion is the
domain of attraction of the closed-loop equilibrium.
Definition 1.2 (Flow of a vector field). We call the solution of the initial value problem
(1.8) also flow of the vector field f (starting at x0 ) and write
The following very simple example shows how the domain of attraction can be enlarged by
nonlinear control.
ẋ = x3 . (1.11)
At its equilibrium, 0 = (x∗ )3 holds ⇒ x∗ = 0. Stability of this equilibrium can easily be tested
by considering initial values x(0) ̸= 0 and observing the time derivative:
Upon an initial perturbation from the equilibrium, the state will move further avay from x∗ = 0.
Hence, x∗ is an unstable equilibrium.
Now assume, that a control input u is at our disposition to stabilize the equilibrium:
ẋ = x3 + u. (1.12)
∂x3
∆ẋ = ∆x + ∆u
∂x x∗=0
The ∆ can be dropped because of (x∗ , u∗ ) = (0, 0). The control law
u = −x
ẋ = −x
with a stable eigenvalue at −1. Substituting the control law in the original nonlinear equation
yields
ẋ = x3 − x = − x · (1 − x2 ) .
|{z} | {z }
≶0 for x≷0 ≷0 for |x|≶0
From the definiteness of the terms on the right hand side, we can conclude that (see Fig. 1.8)
ẋ(0) < 0 for 0 < x(0) < 1 and x(0) < −1,
ẋ(0) > 0 for − 1 < x(0) < 0 and x(0) > 1.
is its domain of attraction. The domain of attraction is bounded by the two unstable equilibria
at ±1.
ẋ ẋ ẋ
1 1 1
x x x
-1 1 -1 1 -1 1
-1 -1 -1
Figure 1.8: Illustration of ẋ = x3 , and the closed-loop dynamics under the linear and the
nonlinear controller (gray: domain of attraction).
2. Feedback linearization
If we inspect
ẋ = x3 + u
and choose the control law
u = −x3 − x
to cancel the nonlinear (cubic) term and impose linear closed-loop behavior
ẋ = −x,
The observations from the simple example can be generalized: While for asymptotically stable
linear systems ẋ = Ax the domain of attraction3 of x∗ = 0 is the whole Rn , this is, in general,
not true for nonlinear systems. Moreover, nonlinear systems ẋ = f (x) – unlike linear systems
– can have multiple equilibria {x∗ | f (x∗ ) = 0} with different stability properties.
Stability of equilibria, as well as the extent of the domain of attraction in the nonlinear setting
are investigated with the help of so called Lyapunov functions, as presented in the following
chapter.
3
Note that we do not take into account saturation effects that limit the domain of attraction also for linear
systems.
Lyapunov Stability
Observation: Mechanical systems (and also systems from other domains) tend for t → ∞
to a state of minimum energy. This state – if it exists in the considered scale – is the
(asymptotically) stable equilibrium of the system. The energy (potential + kinetic energy)
decreases monotonically until the stable equilibrium is reached.
The key idea of Lyapunov stability analysis is to find a generalized (type of) energy function
which is non-increasing along the solutions of the state differential equations. This idea goes
back to the Russian mathematician A.M. Lyapunov (“The General Problem of Motion Stabil-
ity”, 1892 (!)). His work is the basis of most “modern” analysis and synthesis methods for
nonlinear dynamical systems, developed since the 1960s.
First recall the stability definitions from “Advanced Control”:
• stable if for every ε > 0, there exists a δ(ε) > 0 such that
• unstable if not for every given ε > 0 there exists a δ = δ(ε) such that the solutions
remain bounded to the ε-neighborhood when ∥x(0) − x∗ ∥ < δ(ε).
Before we move on to the Lyapunov functions in the context of general nonlinear systems, we
consider the important special case of linear systems. For linear systems, finding a Lyapunov
function means solving a so-called Lyapunov equation – once again with the help of linear
algebra.
19
2.1. The Linear Case: Lyapunov Equations
Figure 2.1: Illustration of stable, asymptotically stable and unstable equilibrium points
P >0 ⇔ xT P x > 0 ∀x ̸= 0,
T
(2.4)
P ≥0 ⇔ x Px ≥ 0 ∀x ̸= 0.
1. all its eigenvalues (which are real-valued by the symmetry of P ⊤ ) are positive, or,
equivalently,
2. all its leading principal minors det ∆1 , . . . , det ∆n are positive, where ∆i = [P ]1...i,1...i
are the “northwestern” submatrices of P (Sylvester’s criterion).
Important: The eigenvalue criterion 1. can be applied accordingly for semi-definiteness (the
eigenvalues must be non-negative). To check semi-definiteness with Sylvester’s criterion, how-
ever, 2. is not sufficient; in this case, all principle minors must be non-negative, not only the
leading ones.
Suppose there exists a positive definite function
1
V = xT P x, P = PT > 0 (2.5)
2
1
We will later use a more generalized definition of positive (semi-)definiteness and call a function V (x)
positive (semi-)definite if it has a minimum V ∗ at x∗ and V (x) > V ∗ (≥ V ∗ ) everywhere else. This includes
the case of quadratic forms in shifted coordinates (x − x∗ )⊤ P (x − x∗ ).
which continuously decreases along the solutions of Eq. (2.3), i.e. (we differentiate V w.r.t.
x and xT separately, and apply the chain rule),
∂V ∂V
V̇ = ẋ + ẋT
∂x ∂xT
1 T 1
= x P Ax + xT AT P x
2 2
1 T
= x (P A + AT P )x
2
1
= − xT Qx < 0, Q = QT > 0 (2.6)
2
for a certain, given Q > 0. Then clearly
Due to positive definiteness of Q = QT > 0 the integrand is > 0 for x(t) ̸= 0. The equation
is true if and only if the second term takes the finite value V (x(0)), ∞ > V (x(0)) > 0. This
in turn is possible if and only if the exponential functions under the integral decay to zero:
A positive definite function (2.5) which decreases continuously according to (2.6) under
the flow of (2.3) exists if and only if
Notation: σ(A) denotes the spectrum, i.e., the set of all eigenvalues of the matrix A. C−
represents the open left complex half plane.
Recall (2.6): The matrices P and Q must be related according to
With the above argumentation, it becomes clear that this so-called Lyapunov equation has,
for a given positive definite matrix Q = QT > 0, a positive definite solution P = P T > 0 if
and only if σ(A) ∈ C− .
Theorem 2.1 (Lyapunov equations and stability). Given the autonomous linear system
(2.3).
(i) A (positive definite) Lyapunov function
1
V = xT P x, P = PT > 0 (2.12)
2
which strictly decreases under the dynamics (2.3) according to
1
V̇ = − xT Qx, Q = QT > 0 (2.13)
2
exists if and only if the Lyapunov equation
AT P + P A = −Q (2.14)
σ(A) ∈ C− . (2.15)
Point (ii) allows the following reasoning, which is identically used in nonlinear stability analysis:
Suppose one can find a quadratic function V = 21 xT P x, P > 0, which is positive definite
with its strict minimum in x∗ = 0 (x∗ = 0 without loss of generality) and which strictly
decreases along the solutions of the system of ODEs, V̇ = − 12 xT Qx, Q > 0, i.e., a Lyapunov
function, then the equilibrium x∗ is asymptotically stable.
Note however, that the theorem states “A Lyapunov function [. . . ] exists if and only if [. . . ]”. If
a specific Lyapunov candidate function V = 12 xT P x does not satisfy the Lyapunov equation,
i.e. no Q = QT > 0 can be found to satisfy (2.11) for the given P , then this does not mean
that the considered system is necessarily unstable. It rather means that this choice of V (x)
is not suitable to show stability of the equilibrium. Another function V̂ (x) = 12 xT P̂ x may do
the job. If indeed no such function can be found (which is in general hard to verify), then x∗
is unstable.
The two methods of Lyapunov are of central importance in nonlinear stability analysis and
controller design.
Let us first formulate Lyapunov’s indirect (first) method which we have already applied implic-
itly when checking the stability of an equilibrium of a linearized system in Advanced Control.
ẋ = f (x), x ∈ X ⊆ Rn
• If at least one eigenvalue lies on the imaginary axis (while the others are in C− ), the
equilibrium is called “non-hyperbolic” and no direct stability statement is possible.
For the non-hyperbolic case, consider the system with cubic nonlinearity as in Example 1.1.
For both ẋ = x3 and ẋ = −x3 , the linearization in x∗ = 0 yields ∆ẋ = 0 · ∆x, i.e., an
eigenvalue in zero. However, in the former case, the equilibrium is unstable, in the latter it is
globally asymptotically stable.
Lyapunov’s linearization method provides a purely local stability statement. The direct or
second method, which generalizes Theorem 2.1 to nonlinear systems, allows for an estimate of
the domain of attraction of the equilibrium by the shape of the obtained Lyapunov function:
ẋ = f (x), x ∈ X ⊆ Rn .
Remarks
• A single Lyapunov function candidate can prove stability but not instability.
Let c̄ be the value of V (x) on the largest closed and bounded (i.e., compact) level set Ωc̄ ,
which is completely contained in XV ∩ XV̇ . Then all trajectories that start in Ωc̄ remain in Ωc̄
and approach x∗ asymptotically for t → ∞. Ωc̄ is an estimate of the domain of attraction of
x∗ .
Explanation:
• In Ωc̄ , except for x∗ , V̇ (x) = ∂V∂x(x) ẋ < 0 holds, and hence ∂V (x)
∂x ̸= 0T . ⇒ There are
no further stationary points of V (x).
• ⇒ Every point in Ωc̄ is “transient” (ẋ ̸= 0) and V (x) decreases strictly: V̇ (x) < 0.
• ⇒ As V (x) is bounded from below by V ∗ = V (x∗ ), every trajectory which starts in Ωc̄
must end asymptotically in x∗ .
Global asymptotic stability If V̇ < 0 holds on the complete Rn and if V (x) has a particular
shape, it can prove global asymptotic stability:
Corollary 2.1. Let V (x) be a positive definite function, which is strictly increasing with
the distance ∥x − x∗ ∥ from x∗ (such a function is radially unbounded, i.e. V (x) → ∞
for ∥x − x∗ ∥ → ∞). Let in addition V̇ (x) < 0 on Rn \{x∗ } . Then the equilibrium x∗ is
globally asymptotically stable and the domain of attraction is Rn .
Figure 2.2: Illustration of the estimate of the domain of attraction provided by a Lyapunov
function.
Remark 2.1. The quadratic Lyapunov function V (∆x) = 12 ∆xT P ∆x, where P = P T > 0 is
the solution of a Lyapunov equation (2.14) and the state matrix A represents the linearization
according to (2.16), serves also as a Lyapunov function for the nonlinear system ẋ = f (x) – in
a region around the equilibrium x∗ , where the linearization is a sufficiently good approximation
of the nonlinear system. This can be seen as follows. We consider w.l.o.g. x∗ = 0 and write
the differential equation as
ẋ = f (x∗ ) +Ax + r(x),
| {z }
=0
where r(x) represents a residual term of order O(∥x∥2 ). Express now the time derivative of
the quadratic Lyapunov function:
1 1
V̇ = xT P (Ax + r(x)) + (xT AT + r T (x))P x
2 2
1 T
= x (P A + A P )x + xT P r(x) .
T
|2 {z } | {z }
perturbation
=− 12 xT Qx, Q>0
As long as the quadratic first term dominates the second non-quadratic perturbation term,
V (x) is a Lyapunov function for the nonlinear system.
Lyapunov stability analysis is the basis of Lyapunov-based controller design techniques for
nonlinear systems. Most of the time we consider so-called input-affine systems, where the
vector-valued input function u(t) acts linearly on the system dynamics,
has the desired equilibrium x∗ , i.e., f cl (x∗ ) = 0, and x∗ is asymptotically stable. To prove
stability and to give an estimate of the domain of attraction, we want to determine a closed-loop
Lyapunov function V (x) such that for all x ̸= x∗ in some neighborhood of the equilibrium
∂V (x)
V (x) > V (x∗ ) and V̇ (x) = f cl (x) < 0. (2.26)
∂x
Control Lyapunov Functions While Lyapunov functions where defined for autonomous sys-
tems, the concept of Control Lyapunov Functions (CLFs) for input-affine systems takes into
account rendering the time derivative V̇ (x) negative by means of the control input. For
the discussion of CLFs, we assume that the input-affine system (2.23) has an equilibrium
(x∗ , u∗ ) = (0, 0), which implies f (0) = 0. Note that this can always be achieved by a simple
coordinate shift (x, u) 7→ (x − x∗ , u − u∗ ).
Sontag’s Formula Once a CLF V (x) according to the previous definition is found, an asymp-
totically stabilizing feedback control law can be constructed, the so-called Sontag’s formula,
see [1] or [2], Section 3.5.3. Define
⊤
∂V (x) ∂V (x)
a(x) := f (x) and b(x) := G(x) . (2.28)
∂x ∂x
Recall that a(x) < 0 must hold whenever b(x) = 0 for x ̸= 0. Sontag’s formula is then given
by q
a(x) + a2 (x) + (b⊤ (x)b(x))2
−b(x) , b(x) ̸= 0,
uS (x) = b⊤ (x)b(x) (2.29)
0, b(x) = 0.
The control law has an interpretation in terms of optimal control, as it minimizes a certain
cost functional, see also [3] for a generalized version.
Before we learn about Lyapunov-based control methods, where (closed-loop) Lyapunov func-
tions and the corresponding control laws are constructed – like Backstepping or passivity-based
control with IDA-PBC – we take a closer look at the dynamical behavior of nonlinear systems.
We study the local effects of nonlinear vector fields on the flow they induce. At the end of
the next chapter, the famous Frobenius theorem makes the link between local properties of
the vector fields and the global behavior of the solutions of the nonlinear state differential
equations.
2.4 References
Classical textbooks that cover Lyapunov-based analysis and control design for nonlinear systems
are [4], [5] and [6].
Bibliography
[5] J.-J. E. Slotine and W. Li. Applied Nonlinear Control, volume 199. Prentice Hall Englewood
Cliffs, NJ, 1991.
We present some fundamental concepts from differential geometry, which help to characterize
the evolution of the solutions of nonlinear control systems of the form
m
(3.1)
X
ẋ(t) = f (x(t)) + g i (x(t))ui (t).
i=1
First of all, we clarify our notion of vector fields, which are the objects on the right hand side
of (3.1). They can clearly be understood as mappings from X to Rn , i.e.,
f : X → Rn , g i : X → Rn , i = 1, . . . , m. (3.2)
The image spaces of these mappings can be, however, endowed with a more geometric meaning
if we think of what these vector fields do: They induce the solutions of the state differential
equation (3.1), depending on the initial value, i.e., the flow x(t) = Φ(x0 , t). If we for the
moment consider the unforced system, i.e., zero input u1 = . . . = um = 0, then the drift
vector field f can be understood in the following sense:
∂Φ(x0 , t + ε)
f (x(t)) = lim , (3.3)
ε→0 ∂ε
see Fig. 3.1 for illustration.
1
For brevity, we will simply write u ∈ U ⊂ Rm , which tacitly contains the fact that we deal with functions
in time.
29
3.1. Vector Fields
Figure 3.1: The (representative of a) vector field is tangent to the flow of the differential
equation.
With this relation to the solution of the differential equation in mind, we can understand the
vector field as a mapping from the space X , in which the solution is defined and evolves, to a
space, which is tangent to this solution.
If, as in the case of the control system (3.1), several vector fields induce (depending on the
choice of the inputs) different possible solutions, we can imagine that for every state x ∈ X the
possible time derivatives ẋ lie in a (hyper-)plane, which is tangent to all the possible solutions
through x. The space X ⊂ Rn can be a curved subspace, a (solution) manifold, and we can
nicely illustrate the tangent space Tx X at X in x, see Fig. 3.2. Whenever we want to stress
this geometric notion of a vector field, we write
f : X → Tx X , g i : X → Tx X , i = 1, . . . , m. (3.4)
Note that there is a tangent space in every point x ∈ X . Each tangent space has the structure
of a linear vector space 2 . The union of the tangent spaces in all points of X is called the
tangent bundle T X = ∪x∈X Tx X .
Figure 3.2: Flow and control vector field of a system ẋ = f (x) + g(x)u as elements of the
tangent space.
2
See Def. 3.2 further below.
Definition 3.1 (Lie derivative). Given a scalar function h : Rn → R and a vector field
f : Rn → Rn . The Lie derivative or directional derivative of h(x) in direction of the
vector field f (x) is given by
∂h(x)
Lf h(x) = f (x). (3.5)
∂x
Example 3.1. Given the scalar function (which could be a Lyapunov candidate)
1 1
V (x) = x21 + x22
2 2
and the vector field (here constant)
" #
1
f (x) = .
0
The Lie derivative of V in direction of f , which is nothing else than the rate of change of
V (x) along the flow induced by the vector field f , is given by
" #
h i 1
Lf V (x) = x1 x2 = x1 . (3.6)
0
See Fig. 3.3 for an illustration. ◁
Figure 3.3: Level sets of the function V (x) and vector field f (x) in Example 3.1. For x1 = 0,
there is no differential change of V (x) in the direction of f , the vector field f is tangential to
the level sets V (x) = const.
Homework: Sketch the same with the vector field representing the dynamics of a damped
oscillator (with unit parameter values)
" # " #
0 1 x2
f (x) = x= .
−1 −1 −x1 − x2
Definition 3.2 (Vector space). A linear vector space V over the real numbers R (or an-
other field) is a nonempty set with the operations addition + : V × V → V and scalar
multiplication · : R × V → V . These two operations satisfy a set of properties: (i)
commutativity, (ii) associativity, existence of (iii) a zero element and (iv) an inverse with
respect to addition, (v) associativity and existence of (vi) a unit element with respect to
scalar multiplication, as well as two distributivity properties (vii and viii), which combine
addition and scalar multiplication.
Definition 3.3 (Dual vector space). Given a vector space V . Its dual space V ∗ is the space
of all linear functionals φ : V → R on V .
Consider Eq. (3.6). Lf h(x) can be understood as a linear functional on the tangent space
Tx X : A vector f (x) ∈ Tx X is mapped (by means of w(x)) to the real numbers. Equivalently,
this functional can be represented as a duality product or duality pairing
as follows:
2
∂h(x)
with (3.9)
X
Lf h(x) = ⟨w(x), f (x)⟩ = wi (x)fi (x) w(x) = .
i=1
∂x
In the duality product, the vector f (x) is paired with its dual object w(x), which we call a
covector or (differential) one-form. While we think of f (x) “living” in the tangent space Tx X ,
we can consider its dual4 object w(x) to live on the cotangent space Tx∗ X .
3
The dual spaces (Rn )∗ are isomorphic to Rn . Roughly speaking, they can roughly be parameterized by the
same (number of) coordinates.
4
A naive illustration of the different character of vectors and covectors stems from writing the duality product
as scalar product, with f (x) a column vector and wT (x) a row vector: ⟨w(x), f (x)⟩ = wT (x)f (x). Note
however that this is only notation and the definition of a covector by duality is much more general and can be
extended to other vector spaces than the Euclidean space.
In the above example, w(x) is a special one-form, a so-called exact differential. The compo-
nents of w(x) are obtained from differentiation of a scalar function:
h i h i
∂h(x) ∂h(x)
w(x) = w1 (x) w2 (x) = ∂x1 ∂x2
=: dh(x). (3.10)
Equation (3.9), and therefore the definition of the Lie derivative, can be rewritten as the duality
pairing of a vector field with the exact differential of a scalar function:
i f1 (x)
∂h(x) ..
h
∂h(x)
∂xn .
Lf h(x) = ∂x1 ...
fn (x) (3.12)
∂ ∂
= f1 (x) + . . . + fn (x) (h(x)),
∂x1 ∂xn
a vector field f (x) can be understood as a first order partial differential operator, which acts
on a real-valued function h(x). Hence, it makes sense to define { ∂x∂ 1 , . . . , ∂x∂n } as the basis
of the tangent space. In this basis, a vector f (x) is written
∂ ∂
f (x) = f1 (x) + · · · + fn (x) . (3.13)
∂x1 ∂xn
Consider the rate of change of a scalar function h : X → R along the solutions of a system
ẋ = f (x) + g(x)u. Assume that, as indicated in Fig. 3.2, the solutions evolve for arbitrary
inputs u(t) on a 2-dimensional integral (solution) manifold of X ⊂ R3 , on which h(x0 ) =
h(x(t)) = const. holds. Equivalently, ḣ = 0 along the flow Φ(x0 , t). We now write the
difference h(x(ε)) − h(x(0)) = 0 on a small time interval [0, ε], and thereby highlight the basis
elements of the cotangent space and justify the notion and notation of an exact differential:
Z ε
0= ḣ(x(t))dt
0
dx1
Z εh i dt
∂h ∂h ∂h dx
= dt2 dt
∂x1 ∂x2 ∂x3
0 dx3
dt
Z x(ε) h i dx1
= ∂h ∂h ∂h
∂x3 dx2 dxi : differentials of coordinate functions (3.14)
∂x1 ∂x2
x(0)
dx3
Z h(x(ε))
= dh dh: differential/increment of h along the path
h(x(0))
= h(x(ε)) − h(x(0))
The third line nicely illustrates that {dx1 , . . . , dxn } is a natural basis of the cotangent space.
The exact differential dh, as a particular element of the cotangent space Tx∗ X with partial
is the result of the duality pairing between a covector field w(x) ∈ Tx∗ X and a vector field
f (x) ∈ Tx X , i.e., we obtain the “intuitive” result by doing the calculus in the appropriate
bases of tangent and cotangent space.
Remark 3.1. An interpretation why {dx1 , . . . , dxn } is the natural basis for the space of one-
forms on Rn is as follows. Consider the interval I = [a, b] ⊂ R with the single spatial coordinate
x ∈ I ⊂ R and the exact differential6
∂Q(x)
dQ = dx.
∂x
This exact differential can describe the distribution of charge on an electric transmission line,
with ∂Q(x)
∂x = ρ(x) the charge density per length.
Z b
∂Q(x)
Z
Qab = dQ = dx
I a ∂x
then represents the total charge, which is obtained by integration over I. How is the total
charge on a transmission line influenced (if we neglect distributed currents to ground)? Only
by the currents injected at the two terminals:
d
Qab = Ia − Ib .
dt
This is an integral conservation law for the charge and a 1D example for a class of systems
that can be modelled in a physically intuitive and natural way in the language of differential
forms (of degree k in general – k-forms), see e.g., [1]. Maxwell’s equations, heat transfer and
fluid dynamical problems are further examples on higher-dimensional spatial domains.
With the new understanding of vector fields and their dual objects in the differential geometric
setting, we now introduce the Lie bracket. While the Lie derivative returns the rate of change
5
This is not the case for an arbitrary one-form whose coefficient functions are not partial derivatives of a
scalar function.
6
Note that in this example, x is a spatial coordinate and not a state, which does only show another context
where differential forms naturally arise, i.e., integration in space.
of a scalar function h(x) when transported along a vector field f (x), the Lie bracket gives an
answer to what occurs, when two vector fields interact. We will introduce the idea behind the
Lie bracket at an everyday life situation:
Example 3.2 (Parking a car in a parallel parking lot). Assume you want to bring your car from
the initial position A to the final position C as depicted in Fig. 3.4, knowing that your car
doesn’t allow a direct parallel shift by the available controls due to the kinematic constraints.
What you do, is the following sequence of actions.
In nonlinear systems, in general, the order of subsequently applying (control) vector fields
plays an important role and can be used to generate new vector fields / directions of
motion.
We would like to abstract from the car parking problem and investigate the solution of the
following switched system.
f (x), 0 ≤ t < ∆t,
g(x), ∆t ≤ t < 2∆t,
ẋ = (3.17)
−f (x), 2∆t ≤ t < 3∆t,
−g(x), 3∆t ≤ t < 4∆t.
For intervals of time ∆t, two vector fields, with positive and negative sign each, are subse-
quently applied and induce the solution x(t). If one lets ∆t → 0, then an interesting question
is whether the final value x(4∆t) equals the initial value x(0) or not.
Example 3.3 (Constant vector fields). Consider the two constant vector fields
" # " #
1 1
f= , g= ,
1 −1
and let ∆t = 1. As an alternative to the sequence of vector fields as described in Eq. (3.17),
one could also do as follows: Start from an initial value and apply first f , then g. Then, start
from the same initial value and permute the sequence of the vector fields, i.e., start with g
and then apply f . Figure 3.5 depicts the solutions of the differential equations for the two
consant vector fields in this scenario. Both solutions end at the same point, they commute.
In the case of constant vectors f and g, we have
Φgt2 (Φft1 (x0 )) = Φft1 (Φgt2 (x0 )), (3.18)
which can be read as follows: Φft1 (x0 ) is the solution of ẋ = f (x), starting at x0 and evaluated
at time t1 , or alternatively, the flow induced by the vector field f . ◁
What we observed for constant vector fields, is not true in general for non-constant vector
fields. The situation then is sketched in Fig. 3.6.
∂g(x) ∂f (x)
[f (x), g(x)] := f (x) − g(x). (3.19)
∂x ∂x
is a measure for the non-commutativity of vector fields. If the Lie bracket of two vector
field is zero, we say that their flows commute.
3.5.1 Distribution
Given a set of k vector fields f 1 (x), . . . , f k (x) ∈ Tx X . In every point x ∈ X , the vector fields
span a subspace of the tangent space
Definition 3.5 (Distribution). The assignment of a set of vector fields to the corresponding
subspace of Tx X in every point of X is called a distribution and denoted
∆ = span{f 1 , . . . f k }. (3.22)
The dimension of ∆ may vary on X . If, however, for all x ∈ X , the vector fields f 1 (x), . . . , f k (x)
are linearly independent, then the matrix on the right hand side of (3.23) has full rank k in
every x ∈ X and
dim(∆(x)) = k = const. on X (3.24)
and we call ∆ nonsingular.
When f i (x) are smooth (i.e., sufficiently often differentiable) vector fields of a nonsingular
distribution ∆, then every g ∈ ∆ can be expressed as a linear combination of the vector fields
f i,
k
(3.25)
X
g(x) = ci (x)f i (x)
i=1
f i, f j ∈ ∆ ⇒ [f i , f j ] ∈ ∆. (3.26)
The iteration to construct the involutive closure can be written in a compact, algorithmic way
as follows:
¯ 0 := ∆
∆
i := 0
repeat
¯ i+1 := ∆
∆ ¯ i ∪ span{[f , g] | f , g ∈ ∆
¯ i}
i := i + 1
until ∆¯i = ∆¯ i−1
¯ := ∆
∆ ¯i
Example 3.4. The involutive closure of the distribution ∆ = span {g 1 , g 2 } in the unicycle
¯ = span {g , g , [g , g ]}
example (see exercise) with g 1 , g 2 ∈ Tx R3 vector fields over R3 is ∆ 1 2 1 2
¯
and has dimension dim ∆ = 3 = n. ◁
In the same way as we collect vector fields for a distribution, a set of covector fields (one-forms)
spans a codistribution. A special codistribution is the annihilator ∆⊥ of a distribution ∆:
7
More precisely, the vector spaces (tangent spaces) Tx X spanned by the vector fields in every point x ∈ X
are closed under the Lie bracket.
Recall that we defined an exact differential as a covector whose components are the partial
derivatives of a scalar function λ(x):
∂λ ∂λ
dλ(x) = dx1 + · · · + dxn . (3.29)
∂x1 ∂xn
Consider Fig. 3.8, where the distribution ∆ comprises the two vector fields f 1 and f 2 . The
condition for complete integrability can be formulated as follows: There exists a scalar function
λ : R3 → R such that
∂λ(x)
⟨dλ(x), f i (x)⟩ = f (x)
∂x i
= Lfi λ(x) (3.30)
=0 for i = 1, 2.
Figure 3.8: Two leaves of an integral manifold (solution manifold) to illustrate the idea of
integrability of a distribution.
This means that in every point x the gradient of a function λ(x) shall be “perpendicular” to
f 1 (x) and f 2 (x). In this case, the possible solutions of
ẋ = ±f i (x), i = 1, 2,
Looking at the equation (3.30) from a “computational” point of view, the following interpre-
tation of complete integrability can be given (for some general dimension of the state space
n = dim(X ) and dimension of the distribution k = dim(∆)):
The distribution ∆ = span{f 1 , . . . , f k } is completely integrable, if there are n − k real-valued
functions λj which each at the same time satisfy the k partial differential equations
∂λj (x)
f i (x) = 0, i = 1, . . . , k j = 1, . . . , n − k. (3.31)
∂x
A necessary and sufficient condition for this to be true is given by the famous Frobenius’
Theorem:
Frobenius’ Theorem is an important result for differential geometric control theory. It allows
an easy check of complete integrability of a distribution: If the Lie brackets of all vector fields
8
The term integral manifold stems from the fact that it can be characterized by the solutions (integrals) of
differential equations.
Figure 3.9: Sketch of the bases of the tangent space in straightened out coordinates. The
vector fields that induce the flow have zero component in the transformed ∂z∂ 3 direction.
in ∆ again lie in ∆, then the condition is satisfied and ∆ is integrable. If ∆ is not involutive,
¯ will be an integrable distribution if dim(∆)
then its involutive closure ∆ ¯ < n.
Note that if dim(∆)¯ = n, there exists no function λ(x), which remains constant along the
solutions of the underlying dynamical system, and which could define an integral manifold of
dimension less than n. In fact, the “integral manifold” is the state space itself in this case.
Frobenius’ Theorem gives us an idea how the solutions of a system, which is driven by a
number of vector fields, evolve in state space, without explicitly computing its solutions. An
important implication is the following.
∆ = span{f 1 , . . . , f k }
is involutive, then the k vector fields can be represented in new (local) coordinates as vector
fields with zero components in n − k directions. Under a smooth coordinate transformation
(diffeomorphism)
z = s(x) (3.32)
the vector fields, i = 1, . . . , k
n
∂
(3.33)
X
f i (x) = fij (x)
j=1
∂xj
transform to
k
∂
f˜ij (z) (3.34)
X
f̃ i (z) = .
j=1
∂z j
Proof (only necessity): Vector fields are transformed using the Jacobian9 of the transformation,
i.e.,
∂s(x)
f̃ i (z) = f (x) ◦ s−1 (z).
∂x i
The condition for the required shape of the transformed vector fields is then
∗ ··· ∗
.. .. ..
.
. .
k
∗ ···
∗
∂s(x)
!
[f 1 (x), . . . , f k (x)] = − − − − − − (3.35)
∂x 0 ···
0
.. .. ..
. . . n−k
0 ··· 0
Therein, ∗ in the upper block denotes an arbitrary element, as opposed to the necessary 0
elements in the lower block. The n − k partial dimensional equations represented by this lower
block are
∂si (x)
f j (x) = 0, i = k + 1, . . . , n j = 1, . . . , k, (3.36)
∂x
or in different notation
⟨dsi , f j ⟩ = 0, i = k + 1, . . . , n j = 1, . . . , k. (3.37)
The latter equation obviously reveals that the condition for this straightening out of the vector
fields of ∆ is equivalent to the requirement that the annihilator of ∆ is spanned by exact
differentials. This is equivalent to ∆ being completely integrable, for which involutivity is a
necessary and sufficient condition according to Frobenius.
3.7 References
For a more detailed and complete introduction to the sketched concepts of differential geometry
for dynamical systems, see for example Sections 1.3 and 1.5 of [2] and Sections 34 and 39 of
[3]. Section 12.4 of [4] contains an introduction from a control perspective. The books [5]
and [6] deal with control theory from a differential geometric point of view.
Bibliography
[1] H. Flanders. Differential Forms with Applications to the Physical Sciences. Number 3.
Academic Press, New York, 1963.
[3] V. I. Arnold. Mathematical Methods of Classical Mechanics, volume 60. Springer Science
& Business Media, 1989.
9 ∂z
Think of ż = ∂x ẋ and replace the vector fields in x- and z-coordinates
The ◦s−1 (z) indicates, that in the result of the operation on the right hand side, the argument, i.e., x, has to
be replaced by s−1 (z) in order to have the result in new coordinates z.
[5] A. Isidori. Nonlinear Control Systems. Springer Science & Business Media, 2013.
[6] H. Nijmeijer and A. van der Schaft. Nonlinear Dynamical Control Systems. Springer, 2017.
In this chapter, we start with discussion of controllability and different related notions for
nonlinear input-affine systems. Based thereon, we present a condition, under which a nonlinear
system can be made completely linear by state feedback and a state transformation. The
condition for input-state-linearizability being quite restrictive, we end the chapter with the
presentation of input-output linearization and the definition of internal/zero dynamics.
For linear systems ẋ = Ax + Bu, controllability is defined as the property that for every initial
state x(0) ∈ Rn , there exists a control input u(t) such that the equilibrium x∗ = 0 is reached
in finite time. By a simple coordinate shift, we can also argue that for a controllable linear
system, there exist finite time control inputs, which steer the state from x∗ = 0 to any other
final state xf ∈ Rn . For nonlinear systems, these cases are not necessarily equivalent, and
various notions like reachability and accessibility describe the possibilities to steer the nonlinear
system between points and sets in finite time. The most general controllability definition is as
follows:
Example 4.1 (Controllability of the unicycle). Consider the unicycle model from the exercise,
for which we computed the Lie bracket of the two input vector fields g 1 (x) and g 2 (x). We
argued that by switching the control inputs u1 and u2 in an alternating manner, we can
move (indirectly) the unicycle also in the sideways direction [g 1 (x), g 2 (x)]. We can reach (as
45
4.2. Example: Satellite Attitude Control
we experience with a car or a bicycle) from any initial state an arbitrary final configuration
(position plus orientation) in finite time. The unicycle is, hence, controllable. ◁
The statement that the unicycle is controllable can, however, not be deduced from its lin-
earization (see exercise). In general this means that information on the controllability of a
nonlinear system can get lost under linearization.
The unicycle is an example for a driftless system, i.e., the drift vector field in the system
representation (4.1) is zero, f (x) = 0. Before we enter the discussion on controllability and
related properties for nonlinear systems of the form (4.1), we concentrate on driftless systems
We first recall how the solutions of such systems with multiple control inputs evolve in state
space, by using our insights from the previous chapter. These insights will make plausible the
statement of the famous Chow–Rashewskii Theorem for controllability of driftless systems.
Let ∆ = span{g 1 , . . . , g m } be the distribution of control vector fields of dimension m and
∆¯ = inv(∆) its involutive closure with dim ∆ ¯ = l < n, where l ≥ m. Then, by alternating the
inputs u1 , . . . , um , the flow generated by the control vector fields evolves on an l-dimensional
subspace (manifold) of X ⊂ Rn . As discussed earlier, the state space X is foliated into l-
dimensional submanifolds, depending on the initial values x(0). These submanifolds can be
imagined as leaves 1 , see Fig. 4.4.
¯ = n, then the flow is not confined to a lower-dimensional subspace, which is necessary
If dim ∆
for controllability of (4.2) according to Definition (4.1). If this condition holds for all x ∈ X ,
then it is necessary and sufficient for controllability. The theorem goes back to the 1930s,
when it was proven independently by Chow in China [2] and Rashevskii in the USSR [3]. Here
we reproduce the control systems oriented formulation as in [4] (Chapter 10, Theorem 7):
Theorem 4.1 (Controllability of driftless systems). The driftless system (4.2) is controllable
¯
if and only if dim ∆(x) = n at each x ∈ X .
Figure 4.1: Sketch of a symmetric rigid with body fixed frame and torques applied in the
principal axes. The discs could be reaction wheels on a satellite.
1
Think of the coordinate transformation which straightens out the vector fields such that they have n − l
zero components.
This subsection is inspired by Example 10.11 in [4], where Chow’s theorem is applied to the
controllability analysis for the rotation of a rigid body in R3 . One might think of an object
as depicted in Fig. 4.1. Before analysing controllability in the space of angular velocities,
and then in the space of configurations / the manifold of spherical rotations, we present the
modeling equation.
4.2.1 Modeling
Kinematics An arbitrary configuration of the rigid body (the satellite) can be described as
the composition of three rotations around its principal axes. For example can we use Euler
angles to express the sequence of rotations in the body frame starting with the body and
inertial frame aligned:
Figure 4.2: Illustration of the rotations with the three Euler angles according to Eq. (4.3).
First turn by an angle ϕ about the z-axis, then by θ about the y-axis, and finally by ψ about
the z-axis. The rotation matrix, see [4], Subsection 2.5.1,
takes a vector r b written in the body fixed frame (representing a point on the satellite) to its
inertial frame representation r 0 (t). If R(t) is varying in time, then we write
Rotation matrices are orthogonal matrices with determinant 1, they belong to the so-called
special orthogonal group SO(3), which is a particular matrix Lie group 2 . The description of the
velocity kinematics below follows Section 4.1 of [5]. With R(t) ∈ SO(3) a description of the
2
This is only to mention the term, we will not use this framework in the rest of the course.
time-varying orientation of the satellite3 , we are now interested in the velocities. Differentiating
(4.4), we obtain the velocity of r b in the inertial frame:
v 0 (t) = Ṙ(t)r b
= Ṙ(t)R−1 (t) R(t)r b . (4.5)
| {z } | {z }
ω̂ 0 (t) r 0 (t)
The role of the instantaneous spatial (or inertial) angular velocity matrix ω̂ 0 (t) will be clarified
in a moment. First note that from orthogonality of R(t), we know that
R(t)RT (t) = I (and also RT (t)R(t) = I) (4.6)
with I ∈ R3×3 the identity matrix, which implies R−1 (t) = RT (t). Differentiating the left
equation with respect to time (the same works for the right one), we get
T
Ṙ(t)RT (t) + R(t)Ṙ (t) = 0 ⇔ Ṙ(t)RT (t) = −(Ṙ(t)RT (t))T , (4.7)
i.e., the matrix
ω̂ 0 (t) = Ṙ(t)R−1 (t) (4.8)
is skew-symmetric. Multiplication with R(t) from the right gives the velocity kinematics
equation for the rotating rigid body
Ṙ(t) = ω̂ 0 (t)R(t), (4.9)
with (we omit the time argument)
0 −ωz ωy
ω̂ 0 = ωz 0 −ωx
−ωy ωx 0 (4.10)
Dynamics We shall now express the dynamics of the rotating body in terms of the angular
velocities with respect to the body frame ω = ω b . To obtain the forced equations of motion
h iT
with τ = τ = τx τy τz the body-fixed input torques and J = diag{Jx , Jy , Jz } the
diagonal matrix of the moments of inertia around the principal axes, we start with Newton’s
second law for the vector of angular momenta L0 ∈ R3 in the inertial frame:
L̇0 = τ 0 . (4.15)
τ 0 = Rτ . (4.16)
L0 = RLb , (4.17)
Substitution of L̇0 and τ 0 according to (4.16), (4.18) in Newton’s law (4.15) yields, after
multiplication with RT ,
With the property6 ω̂Lb = ω × Lb , the definition of Lb and anti-commutativity of the cross
product, we can write
J ω̇ = (J ω) × ω + τ . (4.20)
In what follows, we first assume a velocity feedback of the form
τ = ω × (J ω) + J (ω × u) (4.21)
with u ∈ R3 the new input vector with units of angular velocity, which renders the Euler
equations “velocity controlled”:
ω̇ = ω × u. (4.22)
τ = ω × (J ω) + J T −1 (ω ∗ − ω) (4.23)
with T = diag {Tx , Ty , Tz } a matrix of small time constants, which renders (4.20) the
controlled velocity dynamics
T ω̇ = −ω + ω ∗ . (4.24)
By neglecting this dynamics of the underlying velocity control loop, we only consider the
velocity kinematics
Ṙ(t) = R(t)ω̂ ∗ (t). (4.25)
Controllability on R3 Equation (4.22) can be written in the form of a driftless control system
(for convenience we write 1, 2, 3 instead of x, y, z as indices) as
ω̇ = ω × u
0 −ω3 ω2
= ω3 u1 + 0 u2 + −ω1 u3 (4.26)
−ω2 ω1 0
= g 1 (ω)u1 + g 2 (ω)u2 + g 3 (ω)u3 .
For Chow’s theorem we try to construct the involutive closure of the distribution
∆ = span {g 1 , g 2 , g 3 } (4.27)
[g 1 , g 2 ] = g 3 , [g 2 , g 3 ] = g 1 , [g 3 , g 1 ] = g 2 , (4.29)
for all ω ∈ R3 , which can easily be verified, we see that each vector fields in ∆ depends linearly
on the others, which shows that
¯ = dim ∆ = 2 < 3.
dim ∆ (4.31)
Therefore, the driftless system (4.27) is not controllable according to Chow’s theorem.
Controllability on SO(3) We now analyse controllability on the space of rotations (or rota-
tion matrices) SO(3) for the velocity-controlled kinematics equation (4.25) (omitting the “*”).
We decompose the rotation matrix R into its column vectors
h i rx1 ry1 rz1
R = rx ry rz = rx2 ry2 rz2 , (4.32)
rx3 ry3 rz3
each of which gives the direction of the corresponding body axes (x, y and z) in the inertial
frame. First consider the dynamics of the x-axis of the body-fixed frame,
ṙ x = Rω̂ b ex
h i 0
= rx ry rz ωz (4.33)
−ωy
= r y ωz − r z ωy .
By orthogonality of the vectors r x , r y and r z that form the body-fixed frame, the two vector
fields in this driftless system span the tangent plane to the unit sphere attached at the tip
of r x , see Fig. 4.3. This means, that the vector r x can be rotated in all possible directions
on the sphere by the two control inputs ωz and ωy . To also arbitrarily align the body y- and
z-axes, another pure rotation around the x-axis, realized by ωx is necessary.
Figure 4.3: The vector r x represents an element of the sphere S 2 . Together with the ori-
entation of r y (or r z ), a complete rotation R(t) is parameterized. We illustrate the above
argumentation that arbitrary directions in the tangent space to the sphere plus orientations
can be achieved by controlling the angular velocities.
The argumentation makes plausible that we can join two arbitrary attitudes R(t0 ) and R(t1 ) of
the body fixed frame in finite time by the velocity controls, which corresponds to controllability
of (4.25) on SO(3).
In control it is desirable to reach all states in the neighborhood of an initial value in finite time,
this means in particular in every direction from the initial value. This is basically the notion
of (strong) accessibility, which we will have defined and for which we will have stated criteria
at the end of this section.
First recall Def. 3.2 of a linear vector space. The Lie algebra, as a mathematical structure
which will appear in the definitions and criteria below, is a linear vector space, whose elements
satisfy additional conditions:
Definition 4.2 (Lie algebra, [1], Def. 2.28). A vector space V is a Lie algebra, if in addition
to the above operations and properties, there is an operation [·, ·] : V × V → V such that
for all f , g, h ∈ V the following properties hold:
b) Skew-symmetry:
[f , g] = −[g, f ]
c) Jacobi identity:
[f , [g, h]] + [h, [f , g]] + [g, [h, f ]] = 0.
We recognize that the set of (smooth) vector fields over an n-dimensional subspace of Rn ,
together with the Lie bracket, is a Lie algebra: The Lie bracket of a smooth vector field is again
a smooth vector field, and the Lie bracket has the properties given in the above definition (do
Exercise 3.2 to verify them).
Definition 4.3 (Subalgebra, [1], below Def. 2.28). A subalgebra of a Lie algebra (V, [·, ·])
is a linear subspace V ′ ⊂ V such that [f ′ , g ′ ] ∈ V ′ for all f ′ , g ′ ∈ V ′ , i.e., a subspace
that is closed under the Lie bracket.
In other words, a subalgebra is a subspace of a Lie algebra, which is closed under the (Lie)
bracket. Coming back to our nonlinear dynamical system (4.1), we can define a particular
subalgebra.
Definition 4.4 (Accessibility algebra, [1], Def. 3.7). The accessibility algebra C is the
smallest subalgebra of the set of smooth vector fields on X , which contains the drift
vector field f and the control vector fields g 1 , . . . , g m .
To construct the accessibility algebra, we start with the set {f , g 1 , . . . , g m }, and we succes-
sively add Lie brackets of the contained vector fields, until the set is closed under the Lie
bracket, i.e., until the corresponding Lie bracket can be expressed as a linear combination of
the elements of the (extended) set7 .
Remark 4.1. Note that a subalgebra, like the accessibility algebra, is by definition a subspace
of a vector space. It can therefore be represented by a set of (basis) vectors, which span the
according subspace. With the same vector fields, we can define a corresponding distribution,
which is understood (see previous chapter) as the mapping from a point x ∈ X to a subspace
of the tangent space Tx X .
By the fact that C is a subalgebra (a set of vector fields, which is closed under the Lie bracket),
the involutivity of the accessibility distribution C immediately follows. The following iterative
procedure to construct C is presented in Appendix D.2 of [6].
C 0 := span{f , g 1 , . . . , g m }
i := 0
repeat
C i+1 := C i ∪ span{[v, w] | v ∈ C i , w ∈ C0 }
i := i + 1
until C i = C i−1
C := C i
we start with C 0 (x) = span{Ax, b}, obtain C 1 (x) = span{Ax, b, Ab}, and the algorithm
terminates with
The distribution is spanned by n + 1 elements (one linear and n constant vector fields), if the
system is controllable according to Kalman. The reason that the last element is necessary, is
that An−1 b cannot be expressed as a linear combination of the first n vector fields for all x,
because the first one is linear in the state x. ◁
Now how does all this help us in checking controllability-related properties of nonlinear systems
(4.1)? We first define a property, which is weaker than controllability. To this end, we introduce
reachable sets 8 .
7
See [1], Prop. 3.8: Every element of C is a linear combination of repeated Lie brackets.
8
We use the same symbol V for the neighborhood x0 and a (generic) vector space. Due to specific context,
this should not cause confusion.
Reachable "tube"
for small T
Figure 4.5: Illustration of two sets RTV (x0 ), one with non-empty (left), the other with empty
interior.
Definition 4.6 (Reachable set). The set of states x = x(τ ), which can be reached from
an initial value x(0) = x0 by an admissible input u : [0, τ ] → U in finite time τ , while the
trajectory x(t) remains in the neighborhood V of x0 for 0 ≤ t ≤ τ , is called a reachable
set and denoted RV (x0 , τ ).
The union of reachable sets up to a time T > 0 is denoted RTV (x0 ) = ∪τ ≤T RV (x0 , τ ) and is
sometimes referred to as reachable tube.
Definition 4.7 (Local accessibility, [1], Def. 3.10). The system (4.1) is called locally
accessible from x0 if RTV (x0 ) contains a non-empty open set for all neighborhoods V and
all times T > 0. If the system is locally accessible from all x0 ∈ X , it is called locally
accessible.
The openness of the mentioned subset of RTV (x0 ) means that points in any direction in the
neighborhood can be reached, and the solutions are not confined to a subspace of lower
dimension. Note however that the definition of local accessibility does not require the single
reachable sets RV (x0 , τ ), τ ≤ T to contain open sets! The following theorem gives a criterion
for local accessibility.
Theorem 4.2 (Local accessibility, [1], Cor. 3.11 of Thm. 3.9). If dim C(x) = n for all
x ∈ X , with C the accessibility distribution, then the system (4.1) is locally accessible.
A stronger property, which requires all reachable sets to contain open sets is local strong
accessibility.
Definition 4.8 (Local strong accessibility, [1], Def. 3.18). The system (4.1) is locally
strongly accessible from x0 if for any neighborhood V and every T > 0 sufficiently small,
the reachable sets RV (x0 , τ ), τ ≤ T are non-empty open sets. The system is called
locally strongly accessible if it is locally strongly accessible from every x0 ∈ X .
Fig. 4.5 illustrates the distinction between the cases of an open and a closed set RTV (x0 ). We
close this section with a criterion for local strong accessibility, for which we need the following
definition:
Definition 4.9 (Strong accessibility algebra/distribution, [1], Def. 3.19). Let C be the
accessibility algebra of (4.1) according to Def. 4.4. C0 is the smallest subalgebra of C,
which contains g 1 , . . . , g m and satisfies
C0 and C0 are called strong accessibility algebra and strong accessibility distribution,
respectively.
The property (4.37) that Lie brackets of the elements of C0 with f provide no “new directions”
is called f -invariance of the strong accessibility algebra/distribution.
Example 4.3. Consider the local accessibility distribution C(x) for the linear SISO system in
Example 4.2, Eq. (4.36). We are now looking for the smallest distribution C0 (x) contained in
C(x), which (i) contains g(x) = b, which (ii) is involutive and (iii) which is f -invariant, this
means the Lie bracket of each element with the drift vector field f (x) = Ax lies in C0 (x).
You can verify that for the linear SISO system, the local strong accessibility distribution is
which is C(x) without the drift vector field. You directly recognize the column vectors of
Kalman’s controllability matrix, and dim C0 (x) = n is equivalent to Kalman’s controllability
criterion – this is also true in the MIMO case ẋ = Ax + Bu. See also the exercise. ◁
Example 4.4 (See [1], Example 3.24). For the attitude control of a satellite using control
torques as inputs, we use the Euler equations (4.20). We assume that
τ1 u1
τ2 = u2 , (4.41)
τ3 0
i.e., two axes are actuated. The equations can be rewritten in the form
a1 ω2 ω3 b1 0
ω̇ = a2 ω1 ω3 + 0 u1 + b2 u2 (4.42)
a3 ω1 ω2 0 0
with a1 = (J2 − J3 )/J1 , a2 = (J3 − J1 )/J2 , a3 = (J1 − J2 )/J3 and b1 = 1/J1 , b2 = 1/J2 .
We want to investigate local strong accessibility from ω = 0, i.e., from rest. To set up
the strong accessibility distribution C0 (ω), we start with the two input vector fields g 1 , g 2
and add the Lie brackets with the drift vector field [g 1 , f (ω)], [g 2 , f (ω)]. The resulting
distribution has only dimension 2 at ω = 0 (see below), therefore (and to ensure involutivity
or closedness under the Lie bracket) we add another Lie bracket of the contained vector fields,
[g 2 [g 1 , f (ω)]] = [g 1 [g 2 , f (ω)]]. The result is finally
We will re-use the notions that appear in the definitions of subalgebras and (strong) acces-
siblity distributions in the following section in the formulation of a criterion for input-state-
linearizability.
A straightforward idea for nonlinear controller design is the following. Take the nonlinear
system (x ∈ Rn , we restrict ourselves to the SISO case u, y ∈ R)9
such that the closed-loop system with the new input v behaves like a linear one:
ż = Az + bv. (4.47)
The advantage of such complete feedback linearization is very clear: All known linear tech-
niques for control design can be directly applied to the transformed system10 (4.47). It will
become very clear in the next subsection on input-output linearization that such input-to-state
linearizability is equivalent to the existence of a (ficticious or virtual) output y = h(x), for
which the system (4.44) has full relative degree n. You will see that in this case, it is very
easy to endow the system with completely linear dynamics.
9
We are aware that the state space and the set of possible inputs are usually restricted, i.e. x ∈ X ⊂ Rn ,
and correspondingly u ∈ U ⊂ R. For brevity we write Rn and R.
10
As in the whole course we assume the state x to be measurable and therefore also z to be known.
Definition 4.10 (Relative degree). The relative degree r ≤ n of the SISO system
ẋ = f (x) + g(x)u
(4.48)
y = h(x)
is the number of times the output y has to be differentiated with respect to time until
the input appears for the first time.
y = h(x)
∂h ∂h ∂h
ẏ = ẋ = f (x) + g(x) u
∂x ∂x ∂x
| {z } | {z }
Lf h(x) Lg h(x)=0
..
.
(r) ∂Lr−1
f h
y = ẋ = Lrf h(x) + Lg Lr−1
f h(x) u. (4.49)
∂x | {z }
̸=0
We recognize that for relative degree n the following repeated Lie derivatives must be zero,
while Lg Ln−1
f h(x) ̸= 0. Notation of repeated Lie derivatives:
Theorem 4.4 (Input-state linearizability, [7], Thm. 12.2). The SISO system (4.44) is
input-state linearizable if and only if
1. The matrix
G(x) = [g(x), adf g(x), . . . , adfn−1 g(x)] (4.52)
has full rank n for all x ∈ X (i.e., dim C0 = n with C0 the strong accessibility
distribution) and
2. the distribution
D = span{g, adf g, . . . , adn−2
f g} (4.53)
is involutive on X .
The proof for the existence of a (virtual) output y = h(x) = t1 (x) of full relative degree n,
based on which the invertible coordinate transformation (4.46) can be constructed, can be
found on the corresponding handout. Some comments:
• G(x) is nothing else than the matrix containing the vector fields, which span the strong
accessibility distribution C0 according to Definition 4.9 for the SISO case. The rank
condition is nothing else than dim C0 (x) = n in Theorem 4.3.
ẋ = f (x) + g(x)u
(4.54)
y = h(x).
Instead of a complete linearization of the dynamics (i.e., a completely linear state representation
in new coordinates) by feedback, we aim this time at linear input-output behavior, which can
be desribed by a target transfer function G(s):
As above, v(t) and its Laplace transform V (s) represent the input to the closed-loop system.
Remark 4.2. We consider the input-output linearization for the SISO case. The MIMO case
can be considered a nonlinear generalization of the decoupling control for linear MIMO systems
(see e. g. Advanced Control).
One advantage of making the I/O behavior of the system (4.54) linear (with new input) is
that trajectory tracking can be easily achieved for the system in the form (4.55). To make the
output exactly follow a reference signal w(t) c s W (s), we demand
!
Y (s) = W (s). (4.56)
Obviously, if 1
G(s) is a stable transfer function (this means G(s) has no right hand zeros), the
input signal v(t) c s V (s) with
1
V (s) = W (s) (4.57)
G(s)
does the job. If G(s) is stable, initial deviations from the desired trajectory (due to unknown
initial values) disappear, i.e., y(t) → w(t) for t → ∞. If G(s) is unstable or the dynamics in
closed loop shall be modified, feedback is necessary to stabilize the trajectory tracking error at
0.
I/O linearization is easy to derive. However, in certain cases the approach is inapplicable due
to the possible instability of the so-called zero dynamics 11 . We start with an example, where
the key aspects of I/O linearization become clear and we then generalize the approach.
1. Note that it takes one integration from the input u to the output y (one differentiation in
opposite direction). This means, the first order time derivative of y is directly influenced
by u and we say the the output y has relative degree r = 1.
2. By choosing the control law u = −y − sin x2 + v, the first order input-output behaviour
ẏ = −y + v is imposed.
3. The dynamics of x2 disappears from the I/O behaviour. However, it is still present in
the system, and the I/O linearizing control law also depends on x2 . The differential
equation
ẋ2 = x1 + x2 (4.66)
represents the “hidden” or internal dynamics.
In case of internal instability,
• the internal states grow unboundedly, which on the one hand may cause failure or
damage of the system.
• On the other hand, the commanded control u, that in general depends on the
internal states, can go into saturation. If this occurs, the system can be considered
open-loop and I/O linearization fails.
To prove internal stability it is sufficient to show the stability of the zero dynamics, i.e.,
(r)
the internal dynamics, restricted to y = ẏ = . . . = y = 0 (in the example, r = 1).
1. Relative degree
Determine the relative degree r according to Definition (4.10) by differentiating the output y
with respect to time, until the input u appears.
2. Desired dynamics
Choose asymptotically stable linear I/O behaviour of order r, represented by the r-th order
differential equation
(r) (r−1)
y + ar−1 y + · · · + a2 ÿ + a1 ẏ + a0 y = b0 v (4.67)
or the corresponding transfer function
Y (s) b0
= r r−1
. (4.68)
V (s) s + ar−1 s + · · · + a2 s 2 + a1 s + a0
The difference of the orders of the denominator and the numerator polynomial is the relative
degree r of the transfer function. For steady-state gain equal to 1, b0 = a0 must be chosen.
Comparison of (4.67) with (4.49), i.e.,
(r)
y = Lrf h(x) + Lg Lr−1
f h(x)u,
imposes the linear closed-loop input-output behavior according to (4.67) to the SISO
system (4.54).
(r)
The simplest (yet unstable) transfer function from v to y is an integrator chain y = v, which
is obtained by setting b0 = 1, ai = 0, i = 0, . . . , r − 1.
3. Zero dynamics
Differentiating the output according to Step 1 defines the following (local) coordinate change
(diffeomorphism12 , if the vector field f (x) and the function h(x) are sufficiently smooth):
" #
ξ
z = t(x), z= , ξ ∈ Rr , η ∈ Rn−r (4.70)
η
12
An invertible (i.e., regular) coordinate transformation z = t(x) is a diffeomorphism, if the mapping t(x)
as well as its inverse t−1 (z) are differentiable.
with
ξ1 = t1 (x) = h(x)
ξ2 = t2 (x) = Lf h(x)
.. (4.71)
.
ξr = tr (x) = Lr−1
f h(x).
To complete the diffeomorphism, n − r coordinate functions tr+1 (x), . . . , tn (x) are missing.
They can be chosen arbitrarily, with the only restriction that z = t(x) is invertible, i.e., the
inverse coordinate transformation x = t−1 (z) exists (and is also smooth):
η1 = tr+1 (x)
.. (4.72)
.
ηn−r = tn (x).
The closed-loop system, resulting from the control law (4.69) can be written in new coordinates:
ξ˙1 = ξ2
ξ˙2 = ξ3
.. ξ̇ = Aξ ξ + bξ v (4.73)
.
ξ˙r = −a0 ξ1 − · · · − ar−1 ξr + b0 v
η̇1 = fη,1 (ξ, η)
..
. η̇ = f η (ξ, η) (4.74)
η̇n−r = fη,n−r (ξ, η)
Equation (4.73) is the state space representation of the asymptotically stable13 input-output
transfer function (4.68), equation (4.74) represents the internal dynamics which is excited by
the ξ-subsystem.
Setting all “external states” ξ1 = · · · = ξr = 0, the unforced zero dynamics
η̇ = f n (0, η) (4.75)
remains. If the equilibrium η ∗ of (4.75) is (locally) asymptotically stable, then (local) asymp-
totic stability of the overall I/O linearized system is guaranteed.
In practice, it is not always necessary to determine η(x) explicitely to obtain an expression for
the zero dynamics: Take the state differential equation
ẋ = f (x) + g(x)u. (4.76)
Substitute the state variables according to the zero output conditions
y = ξ1 (x) = 0
..
. (4.77)
(r−1)
y = ξr (x) = 0
and the output-zeroing control law, i.e., (4.69) with v = 0 and the zero output conditions.
The resulting set of differential equations will contain redundancies. The set of n−r remaining
independent differential equations describes the zero dynamics, see the exercise for an example
13
by choice of the coefficients a0 , . . . , ar−1
Remark 4.3. The procedure to check stability of the zero dynamics holds in complete analogy,
if another constant (non-zero) output y(t) = const. for all t ≥ 0 is considered. Only v(t) has
to be changed to the corresponding constant stationary value.
4.6 References
The discussion on controllability is based on Section 3.1 of [1], where more details and the
proofs can be found. Input-output-linearization and input-state linearization are for example
treated in Chapter 6 of [8] and Chapter 12 of [7]. A nice slide set on nonlinear controllability
and geometric control is [9]14 , where particularly Chow’s Theorem is discussed. Chapter 10 of
[4] gives a very readable overview over geometric control in the context of robotics.
Bibliography
[1] H. Nijmeijer and A. van der Schaft. Nonlinear Dynamical Control Systems. Springer, 2017.
[2] W.-L. Chow. Über Systeme von linearen partiellen Differentialgleichungen erster Ordnung.
Mathematische Annalen, 117-117(1):98–105, dec 1940.
[3] P. K. Rashevskii. About connecting two points of complete non-holonomic space by ad-
missible curve (in Russian). Uch. Zapiski Ped. Inst. Libknechta, 2:83–94, 1938.
[4] M. W. Spong, S. Hutchinson, and M. Vidyasagar. Robot Modeling and Control. Wiley,
2006.
[6] B. Siciliano, L. Sciavicco, L. Villani, and G. Oriolo. Robotics: Modelling, Planning and
Control. Springer, 2010.
[8] J.-J. E. Slotine and W. Li. Applied Nonlinear Control, volume 199. Prentice Hall Englewood
Cliffs, NJ, 1991.
[9] L. Rifford. Geometric control and applications. Course at the Fields Institute, 2014.
14
https://math.unice.fr/~rifford/Papiers_en_ligne/COURSE_FIELDS_trans.pdf
As a very useful tool for nonlinear control, we now introduce the differential flatness approach.
The flatness approach proves useful both in the derivation of highly accurate feedforward
control laws, and the design of nonlinear feedback controls.
So far we only discussed the problem of feedback stabilization. However, modern control
systems, particularly if the control task is to follow or track a desired reference y d (t) of the
output, have a so-called two-degrees-of-freedom (2 DOF) structure, see Fig. 5.1.
• If a precise model of the system is known, it can be used in the feedforward block: A
nominal input ud (t) = uF F (t) is generated, which – in the ideal (nominal) case without
disturbances z(t) and with the knowledge of the initial value x(0) – would result in exact
tracking y(t) = y d (t).
• Knowing the initial state x(0) is an utopistic situation. The feedback controller needs
to achieve x(t) → xd (t) (and therefore y(t) → y d (t)). The feedback mechanism is also
necessary to cope with model inaccuracies.
65
5.2. Differential Flatness
• To cope with disturbances z(t) ̸= 0, additional measures have to be taken, like dis-
turbance feedback or integral action (the latter to compensate for piecewise constant
disturbances).
ẋ = f (x, u) (5.1a)
y = h(x, u) (5.1b)
Equations (5.2a) and (5.2b) are called the differential parametrization of the system (5.1).
Remarks:
• Flat outputs are not unique. There might be several flat outputs for (5.1a), which, e.g.,
• The mathematical analysis whether there exist flat outputs for a given system of differ-
ential equations (5.1a) is a difficult task. A sufficient – but not necessary – condition
is that the system is input-state linearizable, see [1], Subsection 3.1.2 “Known Results”.
1
∥u(t)∥ denotes an appropriate norm on the signal u(t).
The question of a constructive procedure to find flat outputs (or not) has been actively
discussed in research with different contributions for particular cases. To the best of my
knowledge a general procedure to determine whether a given system has a flat output
or not has not been reported, yet.
• In practice, flat outputs are often found in a rather heuristic way, exploiting the knowledge
of the system dynamics: Good candidates are outputs which are “far away” from the
input. If the output of a SISO system has full relative degree n, then the system can be
feedback-transformed into a linear integrator chain, and it is straightforward to find the
differential parametrization.
Example 5.1 (Integrator chain). Consider the integrator chain with n = 3 in Fig. 5.2. The
differential parametrization is obvious from the block diagram. The equations
x1 = y
x2 = ẏ
x3 = ÿ
(3)
u= y
represent the differential parametrizations of the state and the input. ◁
Once a flat output of a general MIMO system (and not a simple integrator chain) is found,
the differential parametrization is derived as follows:
• Differentiate the outputs until the resulting set of equations can be solved for the un-
knowns x and u.
• If on the way time derivatives of u appear, then they are also treated as unknowns. The
number of equations obtained from differentiation, which is necessary to solve for x and
u and the derivatives of u, increases correspondingly.
Given a differential parametrization (5.2) and a sufficiently smooth reference trajectory y d (t)
(such that all necessary derivatives exist), the nominal feedforward control for a system (5.1)
is immediately given by
(β+1)
ud (t) = ψ u (y d (t), ẏ d (t), . . . , y d (t)). (5.3)
For the feedback controller presented in the next subsection, also the nominal state trajectory
(β)
xd (t) = ψ x (y d (t), ẏ d (t), . . . , y d (t)) (5.4)
is required.
The task of the feedback controller in a 2 DOF structure is to stabilize the dynamics of the
state error e(t) = x(t) − xd (t) at its equilibrium e∗ = 0. We present how this can be achieved
1. locally and 2. globally. Note that in the sequel, we will write the argument (t) only
for those quantities that have a time dependence, which comes explicitly from the desired
reference trajectory y d (t).
ė = ẋ − ẋd (t)
(5.5)
= f (x) + g(x)(ud (t) + uc ) − ẋd (t)
is linearized along the state trajectory x = xd (t). This yields in general a time-varying linear
dynamics
ė = A(t)e + b(t)uc . (5.6)
For this system, a time-varying or constant state feedback
Remark 5.1. Note that to rigorously prove the equilibrium stability of a linear time-varying
system, it is not sufficient that the eigenvalues of the time-varying state matrix are in the
open left half plane for all times t. However, if the time-variance is sufficiently slow and the
eigenvalues are “far enough left”, a feedback controller based on this argument works.
We consider a SISO system with full relative degree r = n. For such a system, the n-th time
derivative of the output is
(n)
y = Lnf h(x) + Lg Lfn−1 h(x) (ud (t) + uc ) . (5.8)
| {z } | {z }| {z }
a(x) b(x) u
The nominal input ud (t) is given from the feedforward design, as well as the nominal evolution
of the state vector xd (t). The highest order time derivative of the desired output clearly
satisfies the equation
(n)
yd (t) = a(xd (t)) + b(xd (t))ud (t). (5.9)
Subtracting (5.9) from (5.8), the n-th order differential equation for the output error ϵ =
y − yd (t) is obtained:
(n) (n)
y − yd (t) = a(x) − a(xd (t)) + (b(x) − b(xd (t)))ud (t) + b(x)uc . (5.10)
| {z }
(n)
ϵ
Let
(n) (n) (n−1) (n−1)
y − yd (t) = −pn−1 ( y − yd (t)) − · · · − p1 (ẏ − y˙d (t)) −p0 (y − yd (t)), (5.11)
| {z } | {z } | {z } | {z }
(n) (n−1) ϵ̇ ϵ
ϵ ϵ
wherein
(n−1)
y = h(x), ẏ = Lf h(x), ... y = Lfn−1 h(x), (5.12)
be the desired trajectory error dynamics with p0 , . . . , pn−1 coefficients of a Hurwitz polynomial
sn + pn−1 sn−1 + · · · + p1 s + p0 . The control signal to (globally) asymptotically stabilize the
equilibrium 0 of the state error e = x − xd (t) follows from comparison of the right hand sides
of (5.10) and (5.11).
with
(i) (i)
ϵ = Lif h(x) − y d (t), i = 0, . . . , n − 1. (5.14)
Remark 5.2. We come to the same result, if we write the original dynamics (5.8) in the state
space normal form
ξ˙1 = ξ2
..
.
(5.15)
ξ˙n−1 = ξn
ξ˙n = a(t−1 (ξ)) + b(t−1 (ξ))(ud (t) + uc )
where ξ = t(x) with
(n−1)
ξ1 = y = h(x), ξ2 = ẏ = Lf h(x), ... ξn = y = Ln−1
f h(x), (5.16)
denotes the nonlinear transformation to normal form. Defining the error states
(i−1)
εi = ξi − y d (t), i = 1, . . . , n, (5.17)
we can compare the state differential equations (the last line)
ε̇1 = ε2
..
. (5.18)
ε̇n−1 = εn
ε̇n = a(x) + b(x)(ud (t) + uc ) − a(xd (t)) − b(xd (t))ud (t)
with the desired error dynamics in linear controller canonical form
ε̇1 = ε2
..
. (5.19)
ε̇n−1 = εn
ε̇n = −p0 ε1 − p1 ε2 − . . . − pn−1 εn .
5.5 References
The present chapter gave only a very short introduction to the idea of flatness and its use for
nonlinear control. Much more can be found for example in the textbooks [2] (with a lot of
examples, for linear and nonlinear systems) and [3] (with a stronger emphasis on the differential
geometric perspective).
Bibliography
[1] Ph. Martin, R. M. Murray, and P. Rouchon. Flat systems. Technical report, 2002.
[2] H. Sira-Ramírez and S. K. Agrawal. Differentially Flat Systems. Marcel Dekker, Inc., 2004.
Backstepping
Backstepping is a Lyapunov based design technique for nonlinear systems. It exploits the
structure of a system which can be split into two (or more) subsystems. In the simplest case
this splitting looks as follows:
The η-subsystem is fed by the output of the integrator ξ˙ = u, see Fig. 6.1. While deriving the
Backstepping controller for a more general state representation in the following subsection,
to illustrate the method graphically, the Figures 6.2 and 6.3 will refer to this basic case of
Integrator Backstepping.
The idea of backstepping is to start with the design of a ficticious controller ξf = ϕ(η) to
stabilize the equilibrium of the η-subsystem, understanding ξ as the input to this subsystem.
Then, the stabilizing controller for the overall system can be derived by construction. If there
is more than one integrator (or ξ-subsystem) “left” of the η-subsystem, the controller design
is performed recursively.
The big advantage of Backstepping is that, exploiting the system structure, the complexity of
the control design task is reduced, as only for the lower-dimensional η-subsystem creativity is
needed. Moreover, in contrast to linearizing techniques (as seen in Chapter 4), nonlinearities
are not cancelled by force – these cancellations are in general very sensitive with respect to
parameter uncertainties.
with η ∈ Rn and ξ ∈ R. Observe that the right hand side of the η-subsystem – except for
ξ which acts as the input – only depends on η, while the ξ-subsystem can depend on all the
states. Such a system structure (see in particular the next section) is called strict feedback
form.
71
6.1. Derivation of the Backstepping Controller
Figure 6.1: Simplest system structure for which Backstepping is applicable (f1 = 0, g1 = 1).
Exploiting the fact, that the ficticious controller asymptotically stabilizes the η-subsystem, we
reformulate it as follows2 :
η̇ = f 0 (η) + g 0 (η)ϕ(η) + g 0 (η) (ξ − ϕ(η)) . (6.6)
| {z } | {z }
Drift vector field :=z
of as. stable system
z = ξ − ϕ(η) plays now the role of the input to the asymptotically stabilized subsystem. The
situation for the case of f1 = 0, g1 = 1 is depicted in Fig. 6.2.
With the coordinate change ξ → z = ξ − ϕ(η), we obtain
η̇ = (f 0 (η) + g 0 (η)ϕ(η)) + g 0 (η)z (6.7)
ż = ξ˙ − ϕ̇(η)
= f1 (η, ξ) − ϕ̇(η) + g1 (η, ξ)u . (6.8)
| {z }
:=v
The resulting, transformed system now has an asymptotically stable η-subsystem (for z = 0).
With the input transformation u → v such that
v = f1 (η, ξ) − ϕ̇(η) + g1 (η, ξ)u, (6.9)
now again the z-subsystem can be represented as a simple integrator, see Fig. 6.3. In this
figure, also the name Backstepping is illustrated: The ficticious control ϕ(η) is stepped back
to the left of the integrator and now appears as ϕ̇(η).
1
η ∗ = 0 is chosen for simplicity and without loss of generality.
2
g 0 (η)ϕ(η) − g 0 (η)ϕ(η) = 0 is added to the right hand side.
Figure 6.2: With the help of the ficitcious control ϕ(η) an asymptotically stable η-subsystem
can be formulated (f1 = 0, g1 = 1). The new state variable z = ξ − ϕ(η) now appears as
input to the stabilized η-subsystem.
With V0 (η), a Lyapunov function is known for the η-subsystem (when stabilized by the ficticious
control). The total system according to Fig. 6.3 consists in addition of a simple integrator
subsystem ż = v. For this simplest linear first order system, a simple quadratic function is an
appropriate energy-like function, hence we set up the following Lyapunov candidate function
for the total system:
1
V (η, z) = V0 (η) + z 2 . (6.10)
2
V (η, z) is obviously positive definite, as both parts are positive definite in their corresponding
arguments. Now we want to construct a control law (this time a real and not a ficticious one)
under which V is indeed a closed-loop Lyapunov function. In order to show this, the condition
" # " #
η 0
V̇ (η, z) < 0 for ̸= . (6.12)
z 0
must be satisfied. The time derivative of V can be written as follows, where in particular
the reformulated state representation of the system (6.7), (6.8) is used to replace the time
∂V (η, z) ∂V (η, z)
V̇ (η, z) = η̇ + ż
∂η ∂z
∂V0 (η, z) ∂V0 (η, z) ! (6.13)
= (f 0 (η) + g 0 (η)ϕ(η)) + g0 (η)z + zv < 0.
∂η ∂η
| {z } | {z }
<0 for η̸=0, see (6.5) !
=−kz 2 , k>0
The first underbraced term is negative definite in η, as it describes the evolution of V0 in the
ficticiously controlled η-subsystem. In order to make the whole expression negative definite,
the second term is made negative definite by requiring it to be a negative quadratic function
in z. The latter leads directly to the following expression for the transformed control input v:
∂V0 (η)
v=− g0 (η) − kz. (6.14)
∂η
Figure 6.4: Illustration of the overall stabilizing control law v = β(η, z) (f1 = 0, g1 = 1).
and replacing z = ξ − ϕ(η) where necessary, finally results in the Backstepping control law:
6.2 Summary
1. Find a stabilizing fictitious input ϕ(η) for the η-subsystem and the corresponding Lya-
punov function V0 (η).
2. Transform the state and the input in an appropriate way to obtain an asymptotically
stable η-subsystem (ξ → z, u → v).
3. Set up a total Lyapunov function V (η, z) = V0 (η)+ 12 z 2 and construct the Backstepping
controller by demanding V̇ < −kz 2 . Transform the condition back to original states and
input (z → ξ, v → u) to obtain the Backstepping control law.
Remark 6.1. A popular error which must be avoided (in the exercise or the exam), is to simply
replace ξ by ϕ(η) in the right hand side of η̇ during the derivation of the Backstepping control
law, in particular in Eq. (6.13). This is wrong. It is correct to replace η̇ by the reformulated
version (6.6) or (6.7) of the state differential equation.
• The approach does not rely on linearization by force which is not very robust to parameter
uncertainties.
• The difficult/creative control design part is reduced in its complexity: Rather than to
design a controller for the overall system, a fictitious controller for the lower dimensional
η-subsystem must be derived. The rest of the design procedure follows by construction.
• The presented approach can be extended iteratively to systems in a strict feedback form:
η̇ = f0 (η) + g0 (η)ξ1
ξ˙1 = f1 (η, ξ1 ) + g1 (η, ξ1 )ξ2
.. (6.17)
.
˙ξk = fk (η, ξ1 , . . . , ξk ) + gk (η, ξ1 , . . . , ξk )u.
• For systems in strict forward form, there exists a complementary technique: Forwarding.
6.3 References
A textbook which deals with different Lyapunov and passivity based control design techniques
for nonlinear systems is [1]. Backstepping and forwarding are addressed in Chapter 6. See also
Section 14.3 of [2], which is devoted to Backstepping. “Backstepping” has also become a very
popular approach for the boundary control and observation of distributed parameter systems,
see e.g., the course slides [3]3 for an overview.
3
http://www.eeci-institute.eu/GSC2012/Photos-EECI/EECI-GSC-2012-M7/
Krstic-slides-Supelec-2012.pdf
Bibliography
[3] M. Krstic. Boundary control of pdes: A course on backstepping designs. Course at EECI,
2012.
This chapter guides you from the definitions of dissipative and passive systems and their prop-
erties over the Invariance Principle to prove asymptotic stability to passivity-based control
using the so-called IDA-PBC approach, which exploits the port-Hamiltonian system represen-
tation. If you want to learn more about energy-based modeling and order reduction, you are
invited to follow our course Modeling and Reduction of Complex Systems in summer semester.
The last two Sections 7.6 and 7.7 are marked with a star, which means that they are not
taught this year, and therefore they are not relevant for the exam (yet interesting).
Definition 7.1 (Dissipativity). The system (7.1) is called dissipative on X ⊆ Rn if there ex-
ists a locally integrable2 supply rate s(u, y) and a positive semi-definite3 storage function
H(x) such that the dissipation inequality
Z t
H(x(t)) − H(x(t0 )) ≤ s(u(τ ), y(τ )) dτ (7.2)
t0
holds for all admissible inputs u ∈ U ⊂ Rm and for all t0 , t such that t0 ≤ t. (The state
x(τ ) is supposed to remain in X for all τ ∈ [t0 , t]).
1
The zero values of states and in-/outputs at the equilibrium are chosen for simplicity of presentation. By
a simple linear coordinate shift, all statements can be accordingly reformulated for the nonzero case.
77
7.1. Dissipativity and Passivity
The supply rate s(u, y) is an arbitrary real valued function. There are several choices for
s(u, y) which are interesting and useful in the context of system theory (also for linear systems),
e.g.,
1 1
s(u, y) = uT u + y T y. (7.3)
2 2
By the fact that the dissipation inequality (7.2) must hold for all t0 and t, we can deduce that
the (total) integral dissipation
Z t
D(t, t0 ) := s(u(τ ), y(τ )) dτ − (H(x(t)) − H(x(t0 ))) (7.4)
t0
must monotonically increase in t for arbitrary (given) t0 . Therefore, Ḋ(t, t0 ) ≥ 0, and accord-
ingly from
d t
Z
0≤ s(u(τ ), y(τ )) dτ − Ḣ(x(t)) (7.5)
dt t0
we obtain the dissipation inequality (7.2) in its differential form:
is of particular importance in physical modeling and energy-based control. If the pairs (ui , yi )
consist of conjugate power variables (like current and voltage or force and velocity), then y T u
represents the power which is supplied to the system through the power ports (u1 , y1 ), . . . , (um , ym ).
Definition 7.2 (Passivity). The system (7.1) is passive if it is dissipative with a supply rate
s(u, y) = y T u.
Observe that the definition of passivity (dissipativity) connects the evolution of the states to
inputs and outputs, by the passivity (dissipativity) inequality.
The increase of energy stored in a passive system is bounded from above by the power
supplied through the system boundaries.
Proof. For u ≡ 0, the passivity inequality becomes Ḣ(x) ≤ 0, which together with positive
definiteness of H(x) shows (local) Lyapunov stability of x∗ = arg minx H(x). □
2
The integral over every compact domain has a finite value.
3
Remember that we call a function H(x), with a slight extension of the mathematical definition, positive
definite or semi-definite, if it has a (local) minimum at x∗ and H(x) > H(x∗ ) or H(x) ≥ H(x∗ ) if x ̸= x∗ .
Roughly speaking, passive systems in physical modeling can be characterized by the lack of
internal energy sources. Passive systems have nice properties which can be exploited for
analysis and controller design, some of which shall be mentioned in the next section.
If we choose the physical energy H(x) as a Lyapunov candidate function to prove stability of
the equilibrium x∗ of an autonomous system
ẋ = f (x), x ∈ Rn . (7.10)
• Let E = {x ∈ Ω | V̇ (x) = 0} bet the subset of Ω where V̇ (x) is zero, and M the
largest invariant subset in E.
Let us clarify the following terms which appear in the formulation of the Invariance Principle:
Compact. A set which is closed (i.e., it contains its boundary) and bounded is called compact.
Positively invariant. A set Ω is called positively invariant (w.r.t. some dynamics) if the
following holds:
x(t0 ) ∈ Ω ⇒ x(t) ∈ Ω ∀ t ≥ t0 , (7.11)
i.e., the trajectory x(t) must remain in Ω if it starts in Ω.
Every trajectory which passes through a point x(t0 ) in Ω must remain in Ω for all t ≥ t0
and must have been in Ω for all t < t0 .
Figure 7.1: Illustration of the sets used in the Invariance Principle. In the example, x∗ is an
unstable equilibrium, and the limit set of the system is the depicted limit cycle. (The dashed
green line shall coincide with the blue line – their distance is for better visibility in the sketch.)
Example: (Positive) invariance can be illustrated with the help of the simple: first order dynamics
ẋ = −ax, a > 0. (7.13)
Every set {x, |x| ≤ c} is positively invariant as the trajectories tend asymptotically to zero without
ẋ(t) changing sign. The equilibrium x = 0 in contrast is the only invariant set. It is certainly positive
invariant as ẋ|x=0 = 0. Moreover, x = 0 is only approached asymptotically by any other solution. Hence,
any solution which at some time is in 0 must have been there for all past times (negative invariance).
Together with positive invariance, the invariance of x = 0 is shown.
Largest invariant subset. As largest invariant subset we understand the union of all invariant
subsets.
With the help of the Invariance Principle, the limit set (the set to which all trajectories
converge) of a dynamical system (7.8) can be determined.
If one is only interested in the stability property of an equilibrium, the following theorem is
easier to apply:
Theorem 7.3 (Barbashin, 1952). Given the system (7.10) with an equilibrium at x∗ .
Note that in this theorem, the function V (x) has to be positive definite. However, only positive
invariance of x∗ needs to be checked.
Sketch of the proof :
1. From positive definiteness of V , i.e., V > V ∗ , x ̸= x∗ , and the fact that V is non-
increasing, V̇ ≤ 0, it follows that for any initial state x0 (t0 ), the solutions x(t), t > t0
stay in the level set {x | V (x) ≤ V (x0 ) = c0 } (Lyapunov stability).
3. This means, that after some time t1 > t0 , the value of V must have decreased, ∃ t1 > t0 ,
V (x(t1 )) < V (x(t0 )). Then the trajectory x(t), t > t1 stays in the level set {x | V (x) ≤
V (x, (t1 )) = c1 }, with c1 < c0 .
4. With the same arguments as in Step 2 and 3, it can be shown that there exist also
times t2 , t3 , . . . with t0 < t1 < t2 < t3 < . . . and a decreasing series of level sets
with c0 > c1 > c2 > c3 > . . . which asymptotically encircle the equilibrium x∗ to show
limt→∞ x(t) = x∗ . □
We consider simple mechanical systems4 , whose Hamiltonian, i.e., the sum of kinetic and po-
tential energy, serves as a storage function to show their passivity. The second order equations
of motion
M (q)q̈ + C(q, q̇)q̇ + g(q) = f e (7.14)
with symmetric, positive definite mass matrix M (q), the Coriolis matrix C(q, q̇) and the
gradient g(q) = ∇V (q) of the potential energy follow from the Euler-Lagrange equations
holds. The Euler-Lagrange equations can then be written in the alternative Hamiltonian
representation
q̇ = ∇p H(q, p)
ṗ = −∇q H(q, p) + f e
or in matrix form " # " #" # " #
q̇ 0 I ∇q H(q, p) 0 e
= + f . (7.17)
ṗ −I 0 ∇p H(q, p) I
We denote with ∇q H and ∇p H the column vectors of partial derivatives of the energy with
respect to q and p. The collocated outputs, with respect to the external generalized forces,
are the velocities " #
h i ∇ H(q, p)
q
q̇ = 0 I . (7.18)
∇p H(q, p)
Equations (7.17) and (7.18) build the Hamiltonian state space representation of mechanical
systems, which is dual to the Lagrangian representation (7.14). The passivity of mechanical
systems (or conservativeness in the absence of friction) becomes evident from the balance
equation
Ḣ = (∇q H)T q̇ + (∇p H)T ṗ =
= (∇q H)T ∇p H + (∇p H)T (−∇q H) + (∇p H)T f e =
| {z }
q̇ T
= q̇ T f e .
Splitting the generalized forces into a part u corresponding to control inputs, and velocity-
proportional6 friction forces/torques Rq̇,
f e = u − Rq̇, R = RT ≥ 0,
then Eq. (7.17) becomes
" # " #" # " #
q̇ 0 I ∇q H(q, p) 0
= + u. (7.19)
ṗ −I −R ∇p H(q, p) I
In this case, we obtain the differential energy balance
Ḣ = q̇ T u − q̇ T Rq̇ ≤ y T u
with the definition of the output vector
y = q̇.
Passivity is a property which is particularly favorable for the modeling and analysis of large
scale systems, like circuits and networks. In this section, we first consider two typical intercon-
nections of passive systems and check passivity of the resulting system in both cases. Feedback
and parallel interconnection, see Fig. 7.2, are prototypical examples of power-preserving in-
terconnections.
We will also examine what happens if the output of a passive system is fed back, and we obtain
the simplest possible passivity-based (output) controller.
6
Of course, this is a simplifying assumption if we think of the different types of existing friction models
Let us first consider two systems Σ1 and Σ2 with their corresponding state, input and output
vectors x1,2 , u1,2 , and y 1,2 . Both systems obey a passivity inequality, where H1,2 denotes
their energy/storage function:
Σ1 : H1 (x1 ) = y T1 u1 − d1 (x1 ) ≤ y T1 u1
(7.20)
Σ2 : H2 (x2 ) = y T2 u2 − d2 (x2 ) ≤ y T2 u2 .
d1,2 (x1,2 ) ≥ 0 are the non-negative dissipation terms. In the interconnected system, we denote
the composed state vector and the total energy function
" #
x
x= 1 , H(x) = H1 (x1 ) + H2 (x2 ).
x2
Parallel interconnection In this case, the in- and output vectors are related according to
u = u1 = u2
y = y1 + y2.
≤ (y T1 + y T2 ) u
| {z }
yT
⇒ Ḣ(x) ≤ y T u
u − y 2 = u1
y = y 1 = u2 ,
≤ y T1 (u − y 2 ) + y T2 u2
|{z} |{z}
yT y
= y T u −y T y 2 + y T2 y
| {z }
=0
⇒ Ḣ(x) ≤ y T u.
y T u = y T1 u1 + y T2 u2 , (7.21)
i.e., the power supplied to the subsystems through the ports (u1 , y 1 ), (u2 , y 2 ) equals the power
supplied to the interconnected system via the port (u, y).
where (ui , y i ), i = 1, . . . , N , are the power ports of the subsystems and (u, y) is the power
port for the interconnected system.
Systems which result from a power-preserving interconnection of passive systems are pas-
sive as well.
This is the simplest form of a feedback interconnection. The system Σ is interconnected with
a static relation as depicted in Fig. 7.3. Via output feedback – under a certain condition –
the equilibrium of a passive system can be asymptotically stabilized.
Theorem 7.4 (Asymptotic stabilization by output feedback). Given a passive system with
positive definite storage function H(x). Let the system be (locally) zero state detectable.
Then every output feedback
u = −ϕ(y), (7.23)
with ϕ(0) = 0, y T ϕ(y) > 0 for y ̸= 0, stabilizes the equilibrium x∗ = 0 (locally)
asymptotically.
Let’s clarify the term zero state detectability (ZSD), starting with zero state observability
(ZSO):
Figure 7.3: Output feedback, feedback function in the first and third quadrant
ZSO A system is zero state observable if a zero output implies a zero state7 :
y(t) = 0 ⇒ x(t) = 0.
ZSD A system is zero state detectable if a constant zero output implies the asymptotic
convergence of the state to zero:
Sketch of the proof: Passivity inequality with u = −ϕ(y) and a positive definite storage
function H(x) (with minimum in x∗ and H(x∗ ) = 0):
Ḣ(x) ≤ −y T ϕ(t) ≤ 0.
The equilibrium x∗ of the system is Lyapunov stable, the state remains within closed contour
surfaces of H(x). The state will tend to a limit set {x̄ | Ḣ(x̄) = 0}. Assume H(x̄) = a ≥ 0.
Remaining on this set from a time t′ on means that
Z t
0 = H(x̄(t)) − H(x̄(t′ )) ≤ − y T (τ )ϕ(y(τ ))dτ ≤ 0 (7.24)
t′
for all t > t′ . From the zero on the left hand side, it follows that y(t) = 0 for t > t′ . From
zero state detectability finally lim x(t) = 0 follows and also lim H(x(t)) = 0. □
t→∞ t→∞
Our goal in this section is to find a way how to determine state feedback controllers which
render a given system passive. In particular, we want to bring the system by state feedback
into a special, physically inspired form which is passive by construction.
7
Again, by a coordinate shift, this notion can be extended to nonzero (equilibrium) states and outputs.
8
Generalizations include implicit systems and more general definitions of input/output port variables.
• H(x) is a positive definite energy function, i.e., it has a minimum at the (desired)
equilibrium x∗ :
arg min H(x) = x∗ .
x
The most important property of a port-Hamiltonian system (7.25) is that the following energy
balance equation follows directly from the structure of the equations:
∂H
Ḣ(x) = ẋ
∂x
= (∇H(x))T (J (x) − R(x))∇H(x) + (∇H(x))T G(x) u
| {z }
yT (7.26)
T T T
= (∇H(x)) J (x)∇H(x) − (∇H(x)) R(x)∇H(x) + y u
| {z } | {z }
=0 ≥0
≤ y T u.
Hence, a port-Hamiltonian system with a positive definite energy H(x) and R(x) ≥ 0 is
passive, and y = GT (x)∇H(x) is the so-called collocated passive or power-conjugated output.
The port-Hamiltonian state representation unites ideas from geometric mechanics and network
theory and proves particularly useful in modeling and nonlinear control.
Some remarks:
• In the mechanical system, the skew-symmetric part of the matrix in (7.28) represents the
continuous exchange between potential and kinetic energy. The structure matrix J (x)
is a generalization of this and captures the exchange between different energy forms in
an interconnected system.
Note, however, that the exchange between different energy forms can be also coded by
a coupling in the energy function, and then not be visible in J (x). An example is the
magnetic floating ball, where the inductance, which appears in the expression for the
magnetic energy, depends on the distance.
• The definition of the passive output of a port-Hamiltonian system is not unique. Besides
the canonical passive output y = GT (x)∇H(x), there exist other passive outputs.
In the rare case that the number n of states equals the number m of inputs and the square
input matrix G(x) is invertible, the matching equation
In this case the designer can choose the design matrix F d (x) = J d (x) − Rd (x) and the
closed-loop desired energy function Hd (x) completely freely. However, m < n is the usual
case, which comes along with restrictions on the possible/admissible design parameters.
Basically, the differential equations (7.29) may not be changed in directions in state space
which are not affected by the control input.
Definition 7.4 (Left hand annihilator). A matrix G⊥ (x) ∈ R(n−m)×n of rank n−m, which
satisfies G⊥ (x)G(x) = 0 for a given input matrix G(x) ∈ Rn×m , is called (full rank) left
hand annihilator of G(x).
Multiplying the matching equation (7.33) with G⊥ (x) eliminates u and v and we get the
so-called projected matching equation or matching PDE
The vector valued matching PDE consists of n − m scalar first order linear partial differential
equations of the type
bi (x) ∈ R, aTi (x) ∈ R1×n , which must be satisfied simultaneously under the definiteness
conditions (7.32b) and (7.32a). This is the main difficulty in the application of IDA-PBC.
There are two different approaches to attack the problem, depending on which of the free design
quantities are prespecified at the beginning. Both approaches contain as a main argument the
suitable choice or modification of the closed-loop energy (energy shaping), hence, IDA-PBC
is a typical representative of energy-based control schemes.
A Non-algebraic approach
At the beginning of the design process, desired interconnection and damping matrices are
chosen. The design steps are:
2. Solve the set of n − m scalar matching PDEs (7.35) for the closed-loop energy Hd (x).
In order to achieve a minimum of Hd (x) in the second step, it is exploited that a solution of
(7.35) is composed of two parts Ψ(x) and Φ(ξ):
While the particular solution Ψ(x) solves the inhomogeneous PDE (7.35), the homogeneous
version of the PDE
0 = G⊥ (x)F d (x)∇ξi (x) (7.38)
has a number (in general m) of solutions ξi (x), which are summarized in the vector of char-
actistic coordinates ξ ∈ Rm . Arbitrary functions Φ(ξ) of the characteristic coordinates can be
added to the particular solution without changing its validity.
Besides the solution of the vector-valued matching PDE itself, the main difficulty is to choose
design matrices F d (x) such that the inhomogeneous PDE is indeed solvable. This means that
in Step 1, the admissible parameterizations of F d (x) have to be found based on a solvability
test of the resulting matching PDE. A solvability test, which is based on the requirement that
the solutions must have permutable second order partial derivatives (Poincaré’s Lemma or
Schwarz’ Theorem)
∂ 2 Hd (x) ∂ 2 Hd (x)
= , i, j = 1, . . . , n, (7.39)
∂xi ∂xj ∂xj ∂xi
can be rather easily derived if the coefficient matrix G⊥ (x)F d (x) of the matching PDE is
constant.
Another difficulty is the large number (of order n2 ) of available and interdepending design
quantities. However, different design steps, like the solvability check, the solution of the PDE,
the definiteness check of Rd (x) can be to a certain extent performed automatically with a
computer algebra system.
B Algebraic approach
In the algebraic approach, to solve the projected matching equation, the following design steps
are performed:
2. Solve the projected matching equation (7.35) for the unknown elements of F d (x) such
that
1
Rd (x) = − (F d (x) + F Td (x)) ≥ 0 (7.40)
2
in a neighborhood of x∗ .
The advantage of this approach is that the projected matching equation is not a PDE but a
rather easy to solve algebraic equation.
The disadvantage is that it depends on the choice of the closed-loop energy Hd (x) whether
the definiteness condition (7.40) can be satisfied or not. The reason is that Hd (x) defines
the “canonical” passive (or collocated) output y = GT (x)∇Hd (x) of the desired closed-loop
system. Then the problem can be formulated as follows:
Find a state feedback such that the system (original system + new output)
ẋ = f (x) + G(x)u
(7.41)
y = GT (x)∇Hd (x)
This question on feedback equivalence to passive systems is addressed in Section 7.7. Feed-
back passivity of a system requires relative degree {1, 1, . . . , 1} of the output and stable zero
dynamics. If one of these conditions is violated for system (7.41) with prespecified output
y = GT (x)∇Hd (x), then the system (7.42), which results from state feedback, cannot be
passive. In such a case, the projected matching equation (7.35) can not be solved such that
the dissipation matrix is positive semi-definite: Rd (x) ≱ 0.
In this section, first we formulate conditions for passivity of a given nonlinear input-affine system
and once more recognize the strong relation between passivity and stability of a system. We
already know that a positive definite storage function H(x) of a passive system serves as a
Lyapunov function for the stable equilibrium at x∗ = arg minx H(x), due to Ḣ ≤ 0 for u = 0.
Consider the system
ẋ = f (x) + G(x)u
(7.43)
y = h(x).
The question at hand is: “What are the conditions for passivity of the system (7.43)?” In
other words, using the definition of passivity: “What are the conditions for the existence
of a positive (semi-)definite storage function H(x) which satisfies the differential passivity
inequality Ḣ(x) ≤ y T u?”
The answer follows from expressing the balance equation for the unknown storage function
and replacing the dynamics of (7.43):
∂H
Ḣ = ẋ
∂x
∂H ∂H
= f (x) + G(x) u
∂x
| {z } |∂x {z } (7.44)
! !
≤0 = yT
!
≤ y T u.
The required boundedness of Ḣ(x) can only be guaranteed for arbitrary inputs u if the two
underbraced terms meet the indicated (in-)equalities:
Theorem 7.5 (Passivity of a nonlinear system). System (7.43) is passive if and only if
there exists a C 1 storage function H(x) ≥ 0 with the two properties
∂H
a) f (x) ≤ 0,
Lf H(x) = (7.45)
∂x
∂H
b) LG H(x) = G(x) = hT (x). (7.46)
∂x
In most cases, including many physical examples and passivity in the context of controller
design, it makes sense to assume H(x) to be positive definite, i.e., H(x) > 0, with a minimum
at an actual or desired equilibrium state x∗ . Then condition a) means that indeed H(x) is a
Lyapunov function for the equilibrium x∗ of the unforced system. Condition b) establishes a
necessary relation between in- and output vector by fixing the output map h : Rn → Rm .
Let us now look at conditions a) and b) for two interesting special cases:
If there exists a positive definite function H(x) such that, besides condition b), the stronger
version of condition a)
holds, then the system (7.43) is called output strict passive. For such a system, the stronger
passivity inequality
Ḣ(x) ≤ y T u − k · y T y < 0 for y = ̸ 0 (7.48)
Output strict passive systems which are zero state observable have an asymptotically
stable equilibrium for u = 0.
Linear systems
ẋ = Ax + Bu
(7.49)
y = Cx,
The conditions have to hold for all x, hence we can state the following:
Theorem 7.6 (Passivity of a linear system). The linear system (7.49) is passive with a
positive definite, quadratic storage function H(x) = 12 xT P x if an only if there exists a
positive definite solution P = P T > 0 of the Lyapunov equation a) and in- and output
are related by condition b):
a) P A + AT P = −Q, Q ≥ 0, (7.52)
b) PB = C . T
(7.53)
Once more, the Lyapunov equation a) highlights the strong relation between passivity and
stability. As known from Chapter 2, it possesses a solution P = P T > 0 for Q = QT > 0
(or Q = QT ≥ 0 if an additional observability condition holds) only if A is a Hurwitz
matrix. Equations a) and b) are known from the famous Kalman-Yakubovich-Popov (KYP)
Lemma which was formulated to express conditions for positive realness of a transfer function
G(s) = C(sI −A)−1 B. Positive realness is a frequency domain concept which roughly means
that the phase shift of a system remains within ±90◦ . It is strongly related to the time domain
concept of passivity.
We learned so far: The drift part of a given input-affine control system (7.43) (i.e., ẋ = f (x))
must be stable if the overall system (with input and output) is supposed to be passive.
What if ẋ = f (x) is unstable? Is it possible to make the closed-loop system passive by state
feedback? This would be a nice property, as the storage function in this case would serve as
a Lyapunov function to prove stability of the closed-loop equilibrium and to give an estimate
of its domain of attraction.
Definition 7.5 (Feedback passivity). The system (7.43) is called feedback passive or feed-
back equivalent to a passive system if we can find a state feedback
The conditions for feedback passivity are given and proven in [1]. We state the result and
show its validity for the special (but insightful) case of linear systems.
Theorem 7.7 (Feedback passivity). Assume that x∗ is a so-called regular point of the
system (7.43), i.e., rank(LG h(x)) = m in a neighborhood of x∗ . Then (7.43) is feedback
passive with a C 2 positive definite storage function if and only if
Condition a) means that every scalar output y1 , . . . , ym has relative degree one. A sys-
tem with asymptotically stable/Lyapunov stable zero dynamics is frequently called minimum-
phase/weakly minimum-phase.
Sketch of the proof for linear systems. The key idea is to show that a passive linear system
has relative degree {1, 1, . . . , 1} and stable zero dynamics. Then the fact is used that these
system properties are invariant under state feedback of the form (7.54): The relative degree
of a scalar output is the number of times it has to be derived w.r.t. time until an arbitrary
component of the input u appears. Hence, if the mapping β is regular (invertible), the relative
degree is the same, also with the new input v. Concerning the stability of the zero dynamics,
the invariance becomes plausible if one thinks about the (invariant) zeros of a linear system.
Their location, which cannot be changed via a regular feedback of type (7.54) determines the
stability of the internal/zero dynamics in the linear case.
Consider the linear passive system with a positive definite storage function H(x) = 21 xT P x,
ẋ = Ax + Bu
(Σlin )
y = Cx.
Assume that both B and C have full rank m. According to Theorem 7.6, the matrix P =
P T > 0 satisfies the conditions
AT P + P A ≤ 0 (7.55)
T
B P = C. (7.56)
As P has full rank n, also the square matrix B T P B = CB has full rank m and is invertible.
Then
ẏ = C ẋ
= CAx + CB (7.57)
|{z} u
invertible
η̇ = T Ax + T Bu} = A
| {z
e 11 η + A
e 12 y
=0 (7.59)
ẏ = CAx + CBu = A
e 21 η + A
e 22 y + CBu,
where only the second is affected by the input u. Applying the feedback
u = (CB)−1 (v − A
e 21 η + A
e 22 y) (7.60)
η̇ = A
e 11 η + A
e 12 y
(7.61)
ẏ = v,
where the zero dynamics (i.e., (7.49) restricted to y = 0, ẏ = 0) can be easily identified as
η̇ = A
e 11 η. (7.62)
fT P
The second passivity condition (7.56) in new coordinates is B e or written out,
e = C,
" #
h i Pe 11 P e 12 h i
0 (CB)T T = 0 I . (7.64)
P
e
12 P 22
e
| {z }
P
e >0
P 12 T = P 12 = 0, e 22 = (CB)−T = (CB)−1
P (7.65)
T T
A 11 11 + P 11 A11 ≤ 0.
e P e e e (7.67)
From the converse Lyapunov theorems for linear systems, it is known that A
e 11 must be stable,
i.e., the zero dynamics (7.62) must not be unstable.
For completeness, observe from the transformed state differential equations that A
e 21 and A
e 22
can be arbitrarily altered by state feedback, and hence, can be used to satisfy the Lyapunov
inequality (7.66).
We have seen that in nonlinear feedback controller design, different methods are at our dispo-
sition. Each of these methods has advantages and drawbacks. Certain methods can be applied
to certain types of systems only. There is not the one preferrable procedure for nonlinear con-
troller design, rather in many cases it makes sense to decompose a problem into subproblems
and to attack the subproblems with the suitable methods. For example, in systems with an ap-
propriate structure, feedback linearization or IDA-PBC could be used to determine a ficticious
controller within the Backstepping procedure.
7.8 References
For invariance theorems, see the corresponding Chapter 4.3 of [2]. The textbook [3] deals
with dissipative systems theory and passivity-based feedback design. Chapters 6 and 7 are
devoted to port-Hamiltonian systems and their control. [4] gives a wider overview over port-
Hamiltonian systems’ modeling and control. The article [5] presents a solution to the problem
of transparent dynamics assignment in IDA-PBC. There is quite a large amount of research
articles on different aspects and approaches in the field of port-Hamiltonian systems, which
have been published in the past almost 30 years (search in Google Scholar for example).
Bibliography
[1] C. I. Byrnes, A. Isidori, and J. C. Willems. Passivity, feedback equivalence, and the
global stabilization of minimum phase nonlinear systems. IEEE Transactions on Automatic
Control, 36:1228–1240, 1991.
[3] A. J. van der Schaft. L2-Gain and Passivity Techniques in Nonlinear Control. Springer,
3rd edition, 2017.
[4] A. J. van der Schaft, D. Jeltsema, et al. Port-Hamiltonian Systems Theory: An Introductory
Overview. Foundations and Trends in Systems and Control, 1(2-3):173–378, 2014.
Handouts
Find here three handouts on proofs of Lyapunov’s theorems, the Lie bracket, and the derivation
of the conditions for input-state linearization.
97
Technische Universität München
Lehrstuhl für Regelungstechnik
PD Dr.-Ing. habil. Paul Kotyczka
Alexander Michailovich
Lyapunov (1857-1918)
1) Lyapunov stability Source: Wikipedia
Positive definiteness of the function means that – at least locally around the equilibrium – there
are closed contour lines of the energy function where
Let be an „open ball“ in state space around the equilibrium with radius , i.e. inside this ball
and on the boundary we have .
Let be the minimum value of on the boundary . Then the contour line lies
completely in the ball . Let be another ball which lies completely inside the contour , i.e.
holds.
2) Asymptotic stability
Now the case is considered. Since is lower bounded by and strictly decreases, it
must tend asymptotically towards a limit: .
Assumption:
is a negative definite / is a
positive definite function around . Remember
that .
This means that the function decreases with a minimum rate of . Consequently the trajectory
would enter the interior of the ball in a finite time less than , which contradicts the
above assumption.
Consider the nonlinear system . The mean value theorem states that
where is a point on the line between and . In the equilibrium the first term
is zero and rearranging the expression yields
Due to the continuity of the first term on the right hand side tends to for
and therefore also (now the are summarized in a vector)
as .
, with .
For sufficiently small the second term tends to and the linear approximation of the
nonlinear system is
We prove only the statement that asymptotic stability of the nonlinear system can be
immediately deduced from asymptotic stability of the linearized system.
Let be Hurwitz, i.e. all eigenvalues are in the open left half plane: . From Theorem
2.1 we know that there exists a positive definite solution of the Lyapunov equation
for given .
The underbraced term is negative definite, and an upper bound can be constructed taking the
minimum eigenvalue (which is real and positive) of the symmetric matrix :
Due to the properties of for (see Schwarz' inequality above) there exists for
every a such that
for all .
is a strictly decreasing Lyapunov function for the nonlinear system which proves
local asymptotic stability of the equilibrium.
Starting at an initial state , and applying the vector field and then the vector field for an
infinitesimal time each, what is the difference to the opposite case ( and then )?
(If and are constant, the answer is zero, see the example from the lecture).
and
Accordingly:
Herein the following holds (we only need terms which appear with order less or equal in ):
Therefore:
(1)
(2)
such that
where the right hand side linear system is supposed to be controllable. Replace
and sort the terms with and without . This yields the two conditions
(3)
and
. (4)
As we want a closed loop controllable system, we can assume without loss of generality that the system
has controller canonical structure (the coordinate change then contains the corresponding linear
transformation), i.e.,
The first condition (3) means (evaluate the first rows; the elements of the last row are arbitrary)
or, respectively,
(5)
or, rewritten,
(6)
This is exactly the condition that is an output function of relative degree . The functions
according to (5) must be such that the transformation (2) is invertible. The theorem
stated on the next page gives a necessary and sufficient condition for such an inverible state
transformation.
Theorem: Necessary and sufficient conditions for the existence of a (virtual) output with
maximum relative degree , such that the coordinate transformation (2) with the remaining
coordinate functions (5) is invertible on , are:
1. The matrix
2. the distribution
is involutive on .
Proof: (Necessity:) If (we use for better readability) has relative degree , then (see
the Lemma 12.2 below), the matrix has full rank and, consequently, is nonsingular and has
dimension on .
, (7)
. (8)
This means that the distribution is annihilated by an exact differential, i.e., . Hence,
is completely integrable and therefore involutive on (Frobenius).
The following property and Lemmas 12.1 and 12.2 (from H. Khalil: Nonlinear Systems) are used in the
proof of the above theorem.
With the help of the Jacobi identity of the Lie bracket (see exercise) and the fact that the Lie bracket
of two vector fields can be understood as , it can be derived that
Proof by induction: In the case , the following holds by the definition of the relative degree:
Lemma 12.2:
Proof:
The red elements are non-zero (see Lemma 12.1), therefore the right hand matrix is non-singular. Then,
also both matrices on the left hand side are non-singular.