Nonlinear Engineering System Control
Nonlinear Engineering System Control
1 Introduction 3
iii
TABLE OF CONTENTS
3.9.2 Observability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.10 Notes for Chapter 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
iv
Preliminaries
This reader is based on several versions of readers of previous courses taught at Delft Univer-
sity of Technology, and the Dutch Mastermath. Authors of these readers were Dimitri Jeltsema
(TUDelft), Arjan van der Schaft (RUG) and Jacquelien Scherpen (RUG).
1
TABLE OF CONTENTS
2
Chapter 1
Introduction
M ANY engineers and scientists analyze, control, and design nonlinear dynamical systems in,
for example, robotics, mechatronics, distribution networks, chemical and biological pro-
cesses, aerospace systems, nano-technology, and other engineering disciplines. Nonlinear dynam-
ical systems are intrinsically different from linear systems, and thus new mathematical concepts
and tools are needed. In this course, we introduce some of these concepts and tools, and discuss
to what extent they generalize linear ideas.
In particular, we will study controllability and observability of nonlinear systems, using con-
cepts from nonlinear analysis and the calculus on manifolds. These concepts will also turn out
to be appropriate for studying the problem of feedback linearization, and its application towards
trajectory tracking of nonlinear systems. Subsequently, we present tools for stability analysis of
nonlinear systems, with emphasis on Lyapunov’s methods, and their extensions towards nonlinear
systems with inputs and outputs. We will discuss how these notions are rooted in physical systems
theory, and how they can be employed for nonlinear control.
Historically engineers have developed specialized methods for analyzing the behavior of sys-
tems within their own discipline. For example, electrical engineers have developed and refined
circuit analysis methods in order to determine the response of voltages and currents in electronic
circuits; and mechanical engineers have developed methods of computing forces and displace-
ments within systems assembled from mechanical components. The generalized discipline of
system dynamics has been developed over the past five decades to provide a unified method of
system representation and analysis that can be applied across a broad range of technologies, and
can handle multi-physics systems. System dynamics concepts are now used in the analysis and
design of many types of complex, large-scale, systems including electric, mechanical, thermal and
fluid systems. The general methodologies arising from this field have recently also been extended
to the analysis of many other types of systems including biology, ecology, economics, medicine,
and the social sciences. As a result, the tools and concepts developed in this course are applicable
in many areas of engineering and the natural sciences.
3
Chapter 1. Introduction
4
Chapter 2
O NCE an engineer has gained some insight in the physical structure of the system, it is often
required to formulate its dynamical behavior in a standard mathematical form. A standard
methodology (at least for finite-dimensional, lumped-parameter, systems) is the use of systems of
first-order differential equations. The key idea behind this is the notion of the state of the system.
Loosely speaking, the state represents the memory of the dynamical system of the past, which is
relevant for the future. The importance of the state concept in the formal structure of dynamical
system theory was first realized by Poincaré in his famous Méthodes Nouvelles de la Mécanique
Céleste (Gauthier Villars, Paris 1892–1899).
The concept of state of a dynamic system refers to a set1 of variables, known as state variables,
that fully describe the system and its response to any given set of inputs and/or initial conditions.
The state variables are an internal description of the system that completely characterizes the
system state at any time t and from which any set of output variables may be computed. There
is no unique set of state variables that describe any given system; many different sets of variables
may be selected to yield a complete system description. However, for a given system the minimal
order n is unique and is independent of the particular set of state variables chosen. State variable
descriptions of systems may be formulated in terms of physical and measurable variables or in
terms of variables that are not directly measurable. It is possible to mathematically transform one
set of state variables to another; the important point, however, is that any set of state variables must
provide a complete description of the system. In this course we concentrate on systems having a
finite number of state variables, i.e., n < ∞. These state space models may be obtained from a first
principles (lumped parameter) system modeling or from input-output data (black box) analysis.
1 In case there algebraic dependencies between (some of) the states, we are usually dealing with algebraic-differential
5
Chapter 2. Nonlinear System Modeling
The standard form for finite-dimensional state space models is a set of n coupled first-order
ordinary differential equations, in which the time-derivative of each state variable is expressed in
terms of the state variables, i.e.,
ẋ1 (t) = f1 x1 (t), x2 (t), . . . , xn (t), u1 (t), u2 (t), . . . , um (t),t
ẋ2 (t) = f2 x1 (t), x2 (t), . . . , xn (t), u1 (t), u2 (t), . . . , um (t),t
(2.1)
..
.
ẋn (t) = fn x1 (t), x2 (t), . . . , xn (t), u1 (t), u2 (t), . . . , um (t),t ,
where the variables x1 (t), x2 (t), . . . , xn (t) are a set of state variables and the variables denoted by
u1 (t), u2 (t), . . . , um (t) represent the effects of control inputs and disturbance inputs to the system.
In addition to the states and inputs of the system, we also define a set of output equations
y1 (t) = h1 x1 (t), x2 (t), . . . , xn (t), u1 (t), u2 (t), . . . , um (t),t
y2 (t) = h2 x1 (t), x2 (t), . . . , xn (t), u1 (t), u2 (t), . . . , um (t),t
(2.2)
..
.
y p (t) = h p x1 (t), x2 (t), . . . , xn (t), u1 (t), u2 (t), . . . , um (t),t .
In vector notation, the set of equations (2.3) together with (2.2) may be written briefly as
ẋ(t) = f x(t), u(t),t
(2.3)
y(t) = h x(t), u(t),t ,
where x(t), f (·) ∈ Rn , u(t) ∈ Rm , and y(t), h(·) ∈ R p are column vectors, i.e.,
6
§2.1. Nonlinear State-Space Models
This does not necessarily mean that the input to the system is zero. It could be that the input has
been specified (before hand) as a given function of time, u = γ (t), a given feedback function of
the state, u = γ (x(t)), or both, u = γ (x(t),t). If the vector function f in (2.4) does not depend
explicitly on time, i.e.,
then the system without inputs is again said to be time-invariant. For linear systems, the state-
space model (2.3) takes the special form
where A(t) is a n × n matrix, referred to as the system matrix, B(t) is a n × m matrix, referred to
as the input matrix, the output matrix C(t) has the dimensions p × n, and D(t) is the feed-through
matrix having dimensions p × m. Hence, a linear and time-invariant (LTI) system takes the well-
known form
Example 2.1 Consider the pendulum depicted in Figure 2.1. Here ℓ denotes the length of the the
rod and m denotes the mass of the bob. Assume that the rod is rigid (that is, not flexible) and has
zero mass. Furthermore, let θ denote the angle subtended by the rod and the vertical axis through
the pivot point. The pendulum is free to swing in the vertical plane with radius ℓ. To write down
the equations of motions for the system, let us first identify the forces acting on the bob. First of
all, there is a downward gravitational force equal to mg (with g the gravitational constant). Second
there is also frictional force resisting the motion, which is assumed to be proportional to the speed
of the bob with coefficient of friction k. Now, using Newton’s second law of motion, we can write
the equation of motion in the tangential direction as
To obtain the state-space model of the pendulum, let us take the state variables as x1 (t) = θ (t) and
x2 (t) = (d θ (t))/(dt). Then, the state equations read
7
Chapter 2. Nonlinear System Modeling
θ ✯
❄
m
Interestingly enough, several unrelated physical systems are modelled by equation similar to the
pendulum equation. Such examples are the simplified model of a synchronous generator con-
nected to an infinite bus in a power grid, or the model of a phase-locked loop electrical circuit.
Consequently, the pendulum equation is of great practical importance.
Example 2.2 A common method to derive the equations of motion for mechanical, electrical or
electro-mechanical systems is via the Euler-Lagrange equations (for ease of notation we have left
out the time variable)
d ∂L ∂L
(q, q̇) − (q, q̇) = τ , (2.7)
dt ∂ q̇ ∂q
1
T ∗ (q, q̇) = q̇⊤ M(q)q̇, (2.8)
2
where the r × r inertia (generalized mass) matrix M(q) is symmetric and positive definite for all q.
Notice that the model equation set (2.7) establishes a set of second-order differential equations of
the form (verify!)
8
§2.1. Nonlinear State-Space Models
where K(q) = ∂∂Vq (q). In order to obtain a set of first-order equations in the form (2.3), we may
select as state variables q and q̇. The resulting n = 2r state-space system then takes the form
q
d q̇ 0
= + −1 τ, (2.9)
dt q̇ −1
−M (q) C(q, q̇) + K(q) M (q)
| {z }
f (q,q̇,τ )
where p denotes the generalized momenta defined by p = (∂ L)/(∂ q̇) and T (q, p) defines the ki-
netic energy. Notice that H(q, p) is the total energy stored in the system, and that the state variables
are now the generalized position and momentum coordinates. Equations (2.10) are expressed in
the form (2.3) by setting x1 = q1 , . . . , xr = qr , xr+1 = p1 , . . . , xn = pr . Hence, we obtain
∂H
ẋ1 = (x) = f1 (x, u)
∂ xr+1
..
.
∂H
ẋr = (x) = fr (x, u)
∂ xn
(2.11)
∂H
ẋr+1 =− (x) + u1 = fr+1 (x, u)
∂ x1
..
.
∂H
ẋn = − (x) + um = fn (x, u),
∂ xr
where we have defined u1 = τ1 , . . . , um = τr (thus, in this case r = m; fully actuated!). The Hamil-
tonian form of the equations may be also obtained directly, by starting from the expression of the
total energy of the system.
9
Chapter 2. Nonlinear System Modeling
Example 2.3 Consider again the pendulum of Example 2.1, but without friction. The kinetic
co-energy and the potential energy stored in the system are readily found as
1
T ∗ (q̇) = mℓ2 q̇2 , V (q) = mgℓ(1 − cos(q)),
2
1
L(q, q̇) = mℓ2 q̇2 − mgℓ(1 − cos(q)).
2
Now, using the Euler-Lagrange equations (2.7) we can easily derive the equations of motion in
the form M(q)q̈ + K(q) = τ , with M(q) = M = mℓ2 and K(q) = mgl sin(q) (verify!). Notice
that C(q, q̇) = 0 because M does not depend on the generalized displacements q. The state-space
equations for the system are obtained using (2.9). Hence, we select x1 = q and x2 = q̇, resulting in
ẋ1 = x2
g
ẋ2 = − sin(x1 ).
ℓ
Furthermore, according to the previous example, we can also select a set of variables x1 = q and
x2 = (∂ L)/(∂ q̇) = mℓ2 q̇ = p and consider the dynamics related to the corresponding energy in the
system, i.e., the Hamiltonian function
1 2
H(x1 , x2 ) = x + mgℓ(1 − cos(x2 )).
2mℓ2 2
Hence, the state-space equations in the coordinates (x1 , x2 ) = (q, p) are determined by
∂H 1
ẋ1 = (x1 , x2 ) = 2 x2
∂ x2 mℓ
∂H
ẋ2 = − (x1 , x2 ) = −mgℓ sin(x1 ).
∂ x1
Example 2.4 (Example 2.2 continued) For linear systems, the kinetic co-energy is independent
of the generalized configuration coordinates q, and can be expressed as a quadratic form T ∗ (q̇) =
1 ⊤
2 q̇ M q̇, where M is now a r × r positive definite constant matrix. The potential energy takes
the form V (q) = 12 q⊤ Kq, where K is an r × r positive definite constant matrix. As a result, the
Lagrangian function becomes
1 1
L(q, q̇) = q̇⊤ M q̇ − q⊤ Qq.
2 2
Hence, by substitution of the latter into (2.7), we obtain
M q̈ + Kq = τ . (2.12)
10
§2.2. Linearization of Nonlinear Models
This is still a set of second-order differential equations. Since M is positive definite, it is invertible
and thus by taking x1 = q and x2 = q̇ as the state coordinates, (2.12) can be written in state-space
form as
" # " #" # " #
ẋ1 0 I x1 0
= + u.
ẋ2 −M −1 Q 0 x2 M −1
| {z } | {z }
A B
The Hamiltonian form of the equations (in the configuration coordinates q and momenta p = M q̇
is given by
" # " #" # " #
q̇ 0 I M −1 p 0
= + u.
ṗ −I 0 Qq I
For the output equations one may take e.g. the complete set of generalized configuration coordi-
nates, i.e., y = q or equivalently y = Cx with C = [I 0].
11
Chapter 2. Nonlinear System Modeling
’essential nonlinear phenomena’ that can take place only in the presence of nonlinearity. For that
reason they cannot be described or predicted by linear models. Examples of essentially nonlinear
phenomena are:
• Finite escape time: For linear systems the state of the system may go to infinity only as time
approaches infinity. (In fact, this happens if one or more of the eigenvalues have a real part
greater than zero,) For a nonlinear system, however, the state can go to infinity even in finite
time.
• Multiple isolated equilibria: In a linear asymptotically stable system, all states approach
zero (the origin of the state-space) as time increases, with no system input. For a nonlinear
system, there may be a number of states that the system can approach as time increases,
with no system input. These different states are called equilibrium states, of which some
of them may unstable. To which equilibrium state the system will converge is determined
by the system initial conditions. This condition is illustrated in a physical system that,
when perturbed (disturbed), can settle to a number of different states, depending on the
disturbance.
• Limit cycles: An isolated periodic oscillation in a nonlinear system is called a limit cycle.
In the phase plane, a limit cycle is defined as an isolated closed curve on which the system
trajectory will stay for ever. The closedness and isolation of the trajectory indicates the
periodic and limiting nature of the motion (with nearby trajectories converging or diverging
from it). In general, limit cycles in nonlinear systems are non-sinusoidal.
In contrast periodic oscillations in a linear time-invariant system are always sinusoidal, and
occur for all amplitudes (and thus are not isolated).
• Bifurcation: As the parameters of nonlinear dynamic systems are changed, the stability of
the equilibrium point can change (as it does also in linear systems) and so can the number
of equilibrium points. Values of these parameters at which the qualitative nature of the
system’s motion changes are known as critical or bifurcation values.
• Chaos: For stable linear systems, small differences in initial conditions can only cause small
differences in the output. Nonlinear systems, however, can display a phenomenon called
chaos, by which we mean that the system output is extremely sensitive to initial conditions.
The essential feature of chaos is unpredictability of the system bahavior. Chaos must be
distinguished from random motion. In random motion, the system model or input contain
12
§2.2. Linearization of Nonlinear Models
Response
✻ ♦
❄ ✇
✒
✮
✲
Frequency
uncertainty and, as a result, the dynamical behavior is subject to chance (only statistical
measures are available). On the other hand, in chaotic motion, the behavior is deterministic,
but practically unpredictable.
2.2.2 Linearization
The linearization process of a nonlinear time-invariant system can be briefly described as follows.
Let x̄, ū be the states and inputs corresponding to a controlled equilibrium (set-point) for the non-
linear system model
and expand the function f (x, u) in a Taylor series around the nominal values x̄, ū, i.e.,
∂f ∂f
f (x, u) = f (x̄, ū) + ∆x + ∆u + higher-order terms. (2.15)
∂x x̄,ū ∂u x̄,ū
13
Chapter 2. Nonlinear System Modeling
For sufficiently smooth f and small ∆x and ∆u, the higher-order terms are small compared to the
linear terms and can be neglected. The same procedure can be applied to the output equations
h. By doing this we approximate the nonlinear equations by linear ones and this leads to the
approximating linear state-space model
where
∂f ∂f ∂h ∂h
A= , B= ,C= , D= . (2.18)
∂x x̄,ū ∂u x̄,ū ∂x x̄,ū ∂u x̄,ū
This procedure can be extended from a controlled equilibrium x̄, ū (satisfying f (x̄, ū) = 0) to any
nominal trajectory x̄(·), ū(·) for the system, that is any fixed pair of time functions x̄(·), ū(·) which
is a solution of the system (2.3); that is, x̄˙(t) = f (x̄(t), ū(t)) for all t. Then the formal execution of
the same steps as above leads to the linearized model (around the nominal trajectory x̄(·), ū(·))
Notice that the linearized model now has time-varying coefficients. In the derivation of this result
we now defined x = x̄ + ∆x and u = ū + ∆u so that ∆x and ∆u denote small perturbations of the
actual trajectory of the system around the nominal trajectory x̄(t), ū(t).
γ̈ + (1 + γ )γ̇ = u.
With the system at the operating point x̄ = col(x̄1 , x̄2 ), ū, the linearized state-space equations are
∆ẋ1 = ∆x2
∆ẋ2 = (−x̄2 )∆x1 − (x̄1 + 1)∆x2 + ∆u.
14
§2.3. Differential-Algebraic Model Equations
f∗ x(t0 )
❄
u(t) ✲
u(t)✲ dx1 (t) Z
x2 (t) dt ✲ x1 (t)
g ✲ f ✲
✲ ✲
x1 (t)
with x1 (t) ∈ Rn and x2 (t) ∈ Rk−n . The algebraic equations (2.20) are in implicit form. This may
be experienced by the occurrence of algebraic loops, i.e., implicit algebraic relations amongst the
variables x1 (t), x2 (t) and u(t). One way to obtain an explicit set of state-space equations is to
try2 to replace the equations (2.20) by an explicit set of equations in which the variables x2 (t) are
specified as explicit functions of x1 (t) and u(t), i.e.,
x2 (t) = g∗ x1 (t), u(t),t . (2.21)
If indeed the model (2.20) can be brought into the format (2.21), we can insert (2.21) into (2.20)
to arrive at a model in state-space form (2.3):
ẋ1 (t) = f x1 (t), g∗ x1 (t), u(t),t , u(t),t
(2.22)
1 ∗ 1
y(t) = h x (t), g x (t), u(t),t , u(t),t ,
or equivalently
ẋ1 (t) = f ∗ x1 (t), u(t),t
(2.23)
y(t) = h∗ x1 (t), u(t),t .
2 If possible! This can be easily checked using the implicit function theorem.
15
Chapter 2. Nonlinear System Modeling
The structure of these relations is depicted in Figure 2.3. Note that all signals pass through the
integrator in their route from inputs to outputs.
Example 2.6 A rather nice example of a differential-algebraic model set are the constrained
Euler-Lagrange equations, which is a standard model form to derive the equations of motion
for mechanical and electrical systems. These equations read:
d ∂L ∂L
(q, q̇) − (q, q̇) = A(q)λ + B(q)u
dt ∂ q̇ ∂q
(2.24)
A⊤ (q)q̇ = 0
(Compare with (2.7).) Here B(q)u are the external forces acting on the system, for some r × m
matrix B(q) and u ∈ Rm , while A(q)λ are the constraint forces, λ ∈ Rk . The Lagrange multipliers
λ (t) are uniquely determined by the requirement that the constraints A⊤ (q(t))q̇(t) = 0 have to be
satisfied for all t.
Defining as before (see Example 2.2) the generalized momenta p = M(q)q̇, then the con-
strained Euler-Lagrange equations are transformed into constraint Hamiltonian equations as
∂H
q̇ = (q, p)
∂p
∂H
ṗ = − (q, p) + A(q)λ + B(q)u
∂q
∂H
0 = A⊤ (q) (q, p)
∂p
∂H
y = B⊤ (q) (q, p).
∂p
The constraint forces are eliminated in the following way. Since rank(A(q)) = k, there exists
locally an r × (r − k) matrix S(q) of rank r − k such that
A⊤ (q)S(q) = 0. (2.25)
Now define p̃ = col( p̃1 , p̃2 ) = col( p̃11 , . . . , p̃1r−k , p̃2r−k+1 , . . . , p̃2r ) as
Since the rows of S⊤ (q) are orthogonal to the rows of A⊤ (q) (see (2.25)), (q, p) → (q, p̃1 , p̃2 ) is
a coordinate transformation. In the new coordinates the constraint Hamiltonian system takes the
16
§2.3. Differential-Algebraic Model Equations
∂Sj ∂ Si
[Si , S j ](q) = (q)Si (q) − (q)S j (q).
∂q ∂q
∂ H̃
A⊤ (q)A(q) (q, p̃) = 0,
∂ p̃2
the constraint dynamics is determined by the dynamics of q and p̃1 (which serve as the coordinates
for the constrained state-space), i.e.,
∂ Hc 1
q̇ 0n S(q) ∂ q (q, p̃ ) 0
= + u,
∂ Hc
p̃˙1 −S⊤ (q) − p⊤ [Si , S j ](q) i, j 1
(q, p̃ ) B c (q)
∂ p̃1
where Hc (q, p̃1 ) = H̃(q, p̃) with p̃2 satisfying (∂ H̃)/(∂ p̃2 ) = 0. Notice also that p is expressed as
a function of q, p̃, with p̃2 eliminated from the property that (∂ H̃)/(∂ p̃2 ) = 0. Furthermore, the
output map is given by
∂ H̃
y = B⊤
c (q) (q, p̃1 ) = 0.
∂ p̃1
17
Chapter 2. Nonlinear System Modeling
a L1 c L3
✲
− −
C1 C2 L2 ❄
+ +
❄ + −
b
d
L4 C3
✲
Example 2.7 Consider the electrical LC circuit depicted in Figure 2.4. Denote the configura-
tion variables as q = col(qC , qL ), with qC = col(qC1 , qC2 , qC3 ) and qL = col(qL1 , . . . , qL4 ). The
Lagrangian is readily found as
1 4 1 3
1
L(q, q̇) = ∑ Li q̇2Li − ∑ C j qC2 .j
2 i=1 2 j=1
As can be seen, the network contains four different current junctions, denoted by a, b, c, and d.
Using Kirchhoff’s current law (KCL), the constraint equations for this network are found as
a : q̇C1 − q̇L1 − q̇L4 = 0
b : q̇C3 + q̇L3 + q̇L4 = 0
KCL : (2.27)
c : q̇C2 + q̇L1 − q̇L2 − q̇L3 = 0
d : −q̇C1 − q̇C2 − q̇C2 + q̇L2 = 0,
18
§2.3. Differential-Algebraic Model Equations
The resulting constrained Euler-Lagrange equations for the capacitor voltages are then given by
qC1
= λ1
C1
qC2
= λ3
C2
qC3
= λ2 ,
C3
while for the inductor voltages we have
L1 q̈L1 = −λ1 + λ3
L2 q̈L2 = −λ3
L3 q̈L3 = λ2 − λ3
L4 q̈L4 = −λ1 + λ2 .
Hence, after solving for the λ ’s, we get for the state equations for the inductor relations
1 1
q̈L1 = − qC1 + qC
L1C1 L1C3 3
1
q̈L2 =− qC
L1C2 2
1 1
q̈L3 = qC3 − qC
L3C3 L3C2 2
1 1
q̈L4 =− qC1 + qC ,
L4C1 L4C2 2
while the state equations for the capacitor currents are obtained from the (minimal) constraint
equation, i.e.,
Since the circuit is linear and does not have any inputs (e.g., voltage or current sources), the sys-
tem can be expressed in a state-space description of the form ẋ = Ax. One possible choice of state
variables would be xi = q̇Li , i = 1, . . . , 4 (inductors currents) and x4+ j = qC j , j = 1, 2, 3 (capacitor
charges).
Example 2.8 (Rolling Euro) Let a and b denote the horizontal and vertical Cartesian coordinates
of the point of contact of the coin with the plane. Furthermore, ϕ denotes the heading angle, and
19
Chapter 2. Nonlinear System Modeling
θ the angle of King Willem Alexander’s head. With all constants set to unity, the constrained
Euler-Lagrange equation of motion are
ä = λ1
b̈ = λ2
θ̈ = −λ1 cos(ϕ ) − λ2 sin(ϕ ) + u1
ϕ̈ = u2 ,
with u1 the control torque about the rolling axis, and u2 the control torque about the vertical axis.
The rolling constraints are
ȧ = θ̇ cos(ϕ )
ḃ = θ̇ sin(ϕ )
(rolling without slipping). The total stored energy in the coin can be expressed as
p2a p2b p2θ p2ϕ
H= + + + ,
2 2 2 2
and the constraints can be rewritten as
ṗa = pθ cos(ϕ )
ṗb = pθ sin(ϕ ).
Next, we define according to (2.26) new p-coordinates, i.e.,
p1 = pϕ
p2 = pθ + pa cos(ϕ ) + pb sin(ϕ )
p3 = pa − pθ cos(ϕ )
p3 = pb − pθ sin(ϕ ).
The constrained state-space is given by p3 = p4 = 0, and the dynamics are computed as
∂ Hc
∂a
∂ H
c
ȧ 0 0 0 0 0 cos(ϕ ) ∂ b
0 0
0 0 0 0 0 sin(ϕ ) ∂H
c 0 0"
ḃ
#
θ̇ 0 0 0 1 u
0 0 ∂ θ 0 0 1
= +
ϕ̇ 0 0 0 0 1 0 ∂ Hc 0 0
u2
ṗ
1 0 0 0 −1 0 0 ∂ ϕ 0 1
ṗ2 − cos(ϕ ) − sin(ϕ ) −1 0 0 0 ∂ Hc 1 0
∂ p1
∂ Hc
∂ p2
" # " #
y1 p1
= ,
y2 p2
20
§2.4. From Linear Spaces to Manifolds
21
Chapter 2. Nonlinear System Modeling
r3
✼
✲ r1
e3
✻ ⑦
r2
✲ e2
✠
Rei = ri, for i = 1, 2, 3.
e1
η (x) = 0,
is an (n − 1)−dimensional manifold in Rn .
Example 2.9 Let us consider a model used for spacecraft attitude control. The equations describ-
ing the attitude control of a spacecraft are basically those of a rotating body with extra terms giving
the effect of the control torques (e.g., gas jet or momentum exchange actuators). For that, one may
separate the equations into kinematic equations relating the angular position with the angular ve-
locity and the dynamic equations describing the evolution of angular velocity (or, equivalently,
angular momenta). The kinematic equations can be represented as follows. The angular position
is described by a rotation matrix, say R. This matrix transforms an inertially fixed set of orthonor-
mal axes, say e1 , e2 and e3 , into a set of orthonormal axes r1 , r2 and r3 (both with the same
orientation). The axes are fixed in the spacecraft and have the center of mass of the spacecraft as
origin, like in Figure 2.5.
The evolution of R may now be expressed as
22
§2.4. From Linear Spaces to Manifolds
where ω (t) is the angular velocity of the spacecraft at time t (with respect to the axes in the
spacecraft) and S(ω ) is a 3 × 3 matrix defined by
0 ω3 −ω2
S(w) = −ω3 0 ω1 , (2.30)
ω2 −ω1 0
Therefore,
ϕ̇ 1 sin(ϕ ) tan(ϕ ) cos(ϕ ) tan(ϕ ) ω1
θ̇ = 0 cos(ϕ ) − sin(ϕ ) ω2 .
ψ̇ 0 sin(ϕ )(cos(ϕ ))−1 cos(ϕ )(cos(ϕ ))−1 ω3
∆Ṙ = 0. (2.31)
Obviously, the latter linearized model does not reveal any of the essential features of the original
model (2.29). This shows, that for a better understanding of the spacecraft dynamics, one has to
resort to nonlinear analysis tools.
23
Chapter 2. Nonlinear System Modeling
24
Chapter 3
I N this chapter we will introduce some basic concepts and results in the study of controlla-
bility and observability for nonlinear systems. In particular we will attempt to generalize the
well-known Kalman rank conditions for controllability and observability of linear systems to the
nonlinear case; see Appendix 3.6 for a brief summary of the linear case. In order to simplify the
developments and notations we assume that the state space of the nonlinear system is a coordi-
nate neighborhood (domain) D ⊂ Rn ; although everything in this chapter can be generalized to
arbitrary manifolds (curved surfaces).
3.1 Introduction
Definition 3.1 The nonlinear system (3.39) is called controllable if for any two points x1 , x2 in D
there exists a finite time T and an input function u : [0, T ] → Rm such that x(T, 0, x1 , u) = x2 .
1 All theory can be extended to general nonlinear systems ẋ = f (x, u), y = h(x, u), cf. [3].
2 We throughout assume that solutions of (3.39) exist for all time and are unique.
25
Chapter 3. Controllability and Observability of Nonlinear Systems
ẋ = Ax + Bu, x ∈ Rn , u ∈ Rm
y = Cx, y ∈ R p,
we know that controllability is equivalent with the (easily verifiable) algebraic condition
rank B AB A2 B ··· An−1 B = n (3.2)
(Kalman’s controllability rank condition), while observability is equivalent with the (equally easily
verifiable) condition
C
CA
rank . =n (3.3)
..
CAn−1
(Kalman’s observability rank condition). The main aim of this chapter is to see how, and to what
extent, we can generalize these algebraic conditions for controllability and observability for linear
systems to the nonlinear case.
Furthermore, in linear systems theory the concept of controllability is crucial not only because
of the concept of controllability per se, but also because of its importance for other control goals,
e.g., stabilization and (optimal) control design. In particular, a main paradigm of linear systems
theory is the equivalence of controllability with the ability to place (by the use of state feedback)
the eigenvalues of the closed loop system at arbitrary locations in the complex plane (the pole-
placement theorem). In Section 3.6 we will briefly discuss the status of this paradigm in the
nonlinear case.
Proposition 3.2 Consider the nonlinear system (3.39), and let x0 ∈ X be an equilibrium, that is,
satisfying f (x0 ) = 0. Suppose that the linearization of (3.39) at x0 and u = 0
m
∂f
ż = (x0 )z + ∑ g j (x0 )v j , z ∈ Rn , v ∈ Rm , (3.4)
∂x j=1
is controllable. Then for every T > 0 and ε > 0 the set of points which can be reached from x0 in
time T using control functions u(·) : [0, T ] → Rm satisfying ku(t)k < ε, contains a neighborhood
of x0 .
26
§3.1. Introduction
Proof Since the linearization (3.4) is controllable there exist input functions v1 (·), . . . , vn (·) de-
fined on [0, T ] steering the origin z = 0 in time T to independent vectors z1 , . . . , zn ∈ Rn . Then
define the total input function
with ξ = (ξ1 , . . . , ξn ) ∈ Rn . Denote by x(t, ξ ) the solution of (3.39) for the input (3.5) with initial
condition x(0, ξ ) = x0 . Consider now the map
is non-singular at t = T . Then the conclusion follows from the Inverse Function Theorem applied
to the map (3.6), since by non-singularity of ∂∂ ξx (T, ξ ) there exists for all x near x0 an ξ near 0
ξ =0
(and thus ku(t)k < ε ) such that x = x(T, ξ ).
Noting that
m
∂
x(t, ξ ) = f (x(t, ξ )) + ∑ g j (x(t, ξ ))u j (t, ξ ) , (3.8)
∂t j=1
Definition 3.3 Consider the nonlinear system (3.39), with f (x0 ) = 0. Then (3.39) is called small-
time locally controllable at x0 if for every ε > 0 there exists δ > 0 such that for every x1 , x2 ∈
Bδ (x0 ) there exists a function u : [0, ε ] → Rm with ku(t)k ≤ ε ,t ∈ [0, ε ], such that the solution x(t)
of (3.39) for this input function and initial condition x(0) = x1 satisfies x(ε ) = x2 .
Proposition 3.4 Consider the nonlinear system (3.39), with f (x0 ) = 0. Suppose that the lineariza-
tion of (3.39) at x0 and u = 0 is controllable. Then the system is small-time locally controllable at
x0 .
27
Chapter 3. Controllability and Observability of Nonlinear Systems
yr
■ θ
▼ ϕ
xr
Example 3.5 [The car or bicycle] Consider the model of maneuvering a car (or, a vertical bicycle),
depicted in Figure 3.1. The Cartesian coordinates of the center of the front axis is defined by
(x1 , x2 ) = (xr , yr ), the angle x3 = ϕ measures the direction in which the car is headed, and x4 = θ
is the angle made by the front wheels with the car. There are two input vector fields g1 (x) and
g2 (x), called ‘Drive’ and ‘Steer’, respectively. The control input u1 represents the input from the
gas accelerator pedal, while u2 represents the input from the steering wheel. Hence, the dynamic
model is given by (verify!)
ẋ1 cos(x3 + x4 ) 0
ẋ2 sin(x3 + x4 ) 0
=
ẋ sin(x ) u1 + 0 u2 .
3 4
ẋ4 0 1
| {z } | {z }
g1 (x) g2 (x)
Notice that any point x∗ is an equilibrium for u1 = u2 = 0. Linearization of the system around x∗
28
§3.1. Introduction
An even simpler example illustrating the main ideas is the unicycle model given as
ẋ1 = u1 cos x3
ẋ3 = u2
The linearization at any point x∗ in the state space, and at u1 = u2 = 0, has a zero A-matrix, while
the B-matrix is a 3 × 2 matrix. Thus the linearization is not controllable. However, the system is
controllable, as is already suggested by the following mathematical reasoning.
The system has two inputs, while its state space is 3-dimensional. This means that at any
point x in the state space the set of possible velocities ẋ is constrained to the 2-dimensional space
spanned by the vectors
cos x3 0
sin x3 , 0
0 1
Nevertheless, as we will indicate now, by switching between the two inputs we may move outside
this subspace, and actually steer the system (approximately) in a new independent third direction
as well, thus yielding controllability.
In fact, consider the following switching input strategy
(1, 0), t ∈ [0, ε ), ε > 0
(0, 1), t ∈ [ε , 2ε )
u(t) = (3.11)
(−1, 0), t ∈ [2ε , 3ε )
(0, −1), t ∈ [3ε , 4ε ),
for some small value of ε > 0. At every time-interval the system equations (3.10) for this input
strategy can be easily integrated leading to the following solution at final time 4ε . Consider an
29
Chapter 3. Controllability and Observability of Nonlinear Systems
Using first-order Taylor expansions of the functions cos(x30 + ε ) and sin(x30 + ε ) around x30 this
yields
x10 sin x30
x(4ε ) = x20 + ε 2 − cos x30 + terms in ε 3 (and higher powers of ε )
(3.12)
x30 0
Hence for small ε we can approximately steer the system into the independent third direction
sin x30
− cos x30 ,
0
The objective of this chapter is to develop a mathematical framework for investigating con-
trollability and observability for nonlinear systems, which allows for a mathematical justification
of the above reasoning for controllability of the unicycle example. In order to do so, we first need
to introduce some mathematical tools from the calculus on manifolds. To limit the conceptual
and notational complexity, we discuss these tools directly in the context of nonlinear dynamical
systems described on a coordinate neighborhood (domain) D, instead of on a general state space
manifold (a curved space).
In this section we define some mathematical notions that will be crucial in the subsequent devel-
opments.
ẋ = f (x) (3.13)
30
§3.2. Mathematical Preliminaries
This implies that a vector field f transforms in a special way under a coordinate transformation
z = S(x). Indeed, if x satisfies the differential equation ẋ = f (x) then z = S(x) satisfies
∂ S −1
ż = (S (z)) f (S−1 (z)), (3.14)
∂x
where ∂∂ Sx (x) denotes the Jacobian3 of the coordinate transformation S.
Hence f (x) transforms under the coordinate transformation z = S(x) to
∂ S −1
f˜(z) := (S (z)) f (S−1 (z)) (3.15)
∂x
Here, f˜ denotes the same vector field, but now expressed in the new coordinates. As an example,
any linear set of differential equations
ẋ = Ax (3.16)
ż = SAS−1 z (3.17)
The intuition for the terminology ’vector field’ is that one may think of f as attaching to every
point x ∈ D the vector f (x) ∈ Rn , thus defining a field of vectors on the domain D.
ẋ1 = x1
ẋ2 = x2
What is the expression of this vector field in polar coordinates r, ϕ with x1 = r cos ϕ , x2 = r sin ϕ ?
One way to obtain this expression is to write out
31
Chapter 3. Controllability and Observability of Nonlinear Systems
and to substitute ẋ1 = x1 = r cos ϕ , ẋ2 = x2 = r sin ϕ . Solving then for ṙ and ϕ̇ yields
ṙ = r, ϕ̇ = 0
Note that the transformation rule under an arbitrary coordinate transform for a function h : Dn → R
is quite different. Indeed, under a coordinate transform z = S(x) the function h simply transforms
to
The dual notion to a vector field is that of a co-vector field (or also called a differential one-form).
A co-vector field α on a domain D is a mapping α : D → (Rn )∗ ; the space of n-dimensional row-
vectors. Thus a co-vector field α assigns to every point x ∈ D a row vector vector α (x) ∈ (Rn )∗ .
A well-known example of a co-vector field is the following. Let h : D → R be a function. Then dh
is a co-vector field, defined by
∂h ∂h ∂h
dh(x) = (x) = (x), . . . , (x) . (3.21)
∂x ∂ x1 ∂ xn
32
§3.2. Mathematical Preliminaries
Note that this co-vector field transforms in a way that is dual to the transformation rule for a vector
field. Indeed, since h transforms to h̃(z) := h(S−1 (z)) the co-vector field α = dh transforms to α̃
given by4
α̃ (z) = d h̃(z) = ∂∂ h̃z (z) = ∂∂zh̃1 (z), . . . , ∂∂zh̃n (z)
−1 (3.22)
= ∂∂xh1 (S−1 (z)), . . . , ∂∂xhn (S−1 (z)) ∂ ∂S z (z) = dh(S−1 (z))( ∂∂ Sx (S−1 (z)))−1
This transformation rule holds for all co-vector fields, as summarized in the following definition.
∂ S −1
α̃ (z) = α (S−1 (z))( (S (z)))−1 (3.23)
∂x
Remark 3.9 If we replace the domain D ⊂ Rn by a general manifold X then a vector field f
corresponds to a mapping from X to its tangent bundle T X , which is such that every x ∈ X
is mapped to a tangent vector f (x) ∈ Tx X , with Tx X denoting the tangent space at the point
x ∈ X , that is, the linear space tangent to the manifold X at the point x. In this more general
description it is clear that a coordinate transformation for X around x will automatically result in
an accompanying linear coordinate transformation for the tangent space Tx X .
Furthermore, in this case a co-vector field α corresponds to a mapping from X to the co-
tangent bundle T ∗ X , which is such that every x ∈ X is mapped to a co-tangent vector f (x) ∈
Tx∗ X , with Tx∗ X denoting the co-tangent space at the point x ∈ X , that is, the dual space of the
linear space Tx X .
For simplicity of exposition we will not care about the precise degree of differentiability of all
the objects that we are dealing with. In fact we will throughout consider smooth functions, vector
fields, and co-vector fields, i.e., continuous (partial) derivatives of any required order are assumed
to exist.
Summarizing, the equations of the beginning of this section, i.e.,
33
Chapter 3. Controllability and Observability of Nonlinear Systems
Thus the Lie derivative L f h represents the directional derivative of h along the direction of f .
It can be easily verified that L f h transforms in the way as any function does. Indeed, since f
transforms to f˜(z) := ∂∂ Sx (S−1 (z)) f (S−1 (z)), while dh transforms to dh(S−1 (z))( ∂∂ Sx (S−1 (z)))−1 it
follows that L f h(x) = dh(x) f (x) transforms to
∂ S −1 ∂S
dh(S−1 (z))( (S (z)))−1 (S−1 (z)) f (S−1 (z)) = dh(S−1 (z)) f (S−1 (z)) = L f h(S−1 (z))
∂x ∂x
Repeated Lie derivatives can be defined recursively as
∂Lfh
Lg L f h(x) = (x)g(x).
∂x
Example 3.11 Consider the nonlinear system
ẋ1 = x2
ẋ2 = − sin(x1 ) − x2 + u
y = x21 + x2 .
34
§3.2. Mathematical Preliminaries
" #
x2
L2f h(x) = 2x2 − cos(x1 ) 2x1 − 1
− sin(x1 ) − x2
Finally, L f Lg h(x) = 0. ◭
Let us move to another crucial Lie derivative, namely the Lie bracket of two vector fields.
Definition 3.12 (Lie bracket) Let f and g be two vector fields on the domain D ⊂ Rn . The Lie
bracket of f and g is a third vector field defined by
∂g ∂f
[ f , g](x) = (x) f (x) − (x)g(x). (3.26)
∂x ∂x
The Lie bracket [ f , g] can be seen to transform in the same way as the vector fields f and g, and
thus correctly defines a new vector field. In order to verify this, denote the transformed vector
fields in z-coordinates as
∂ S −1 ∂ S −1
f˜(z); = (S (z)) f (S−1 (z)), g̃(z); = (S (z))g(S−1 (z)) (3.27)
∂x ∂x
Then it needs to be verified that
∂ g̃ ∂ f˜
[ f˜, g̃](z) = ˜
∂ z (z) f (z) − ∂ z (z)g̃(z)
∂ S −1 −1 ∂ S −1 −1
∂ x (S (z))g(S (z))) ∂ S −1 −1 ∂ x (S (z)) f (S (z))) ∂ S −1 −1
= ∂z ∂ x (S (z)) f (S (z)) − ∂z ∂ x (S (z))g(S (z))
(3.28)
is equal to
∂ S −1 ∂ g −1 −1 ∂f −1 −1
∂ x (S (z))( ∂ x (S (z)) f (S (z)) − ∂ x (S (z))g(S (z)))
(3.29)
∂ S −1 −1
= ∂ x (S (z))[ f , g](S (z))
35
Chapter 3. Controllability and Observability of Nonlinear Systems
For simplicity, let us work this out for the scalar case x ∈ R, in which case the third term is written
out as
∂ S ∂ g ∂ S −1 ∂ 2 S ∂ S −1 ˜ ∂ S ∂ f ∂ S −1 ∂ 2 S ∂ S −1
[ ( ) + 2 ( ) g] f (z) − [ ( ) + 2 ( ) f ]g̃(z),
∂x ∂x ∂x ∂x ∂x ∂x ∂x ∂x ∂x ∂x
where all expressions between [ and ] are evaluated at S−1 (z). It follows that the terms involving
2
the second-order derivatives ∂∂ xS2 cancel, and what remains is exactly the last term.
Thus the Lie bracket enables us to define, based on two given vector fields, a new vector field
(a new ”set of differential equations”). The interpretation of this newly defined vector field, and
its relevance for controllability, is yet to be seen.
Then,
" #" # " #" #
0 0 x2 0 1 0
[ f , g](x) = −
1 0 − sin(x1 ) − x2 − cos(x1 ) −1 x1
" #
−x1
=
x1 + x2
Furthermore, we may compute the Lie bracket of f with the newly computed Lie bracket [ f , g],
yielding the higher-order Lie bracket
" #" # " #" #
−1 0 x2 0 1 −x1
[ f , [ f , g]](x) = −
1 1 − sin(x1 ) − x2 − cos(x1 ) −1 x1 + x2
" #
−x1 − 2x2
= .
x1 + x2 − sin(x1 ) − x1 cos(x1 )
◭
36
§3.2. Mathematical Preliminaries
[ f , g1 + g2 ] = [ f , g1 ] + [ f , g2 ]
[ f , α g] = α [ f , g] + L f α · g
L[ f ,g] h = L f Lg h − Lg L f h (3.30)
[ f1 , [ f2 , f3 ]] + [ f2 , [ f3 , f1 ]] + [ f3 , [ f1 , f2 ]] = 0.
The first property directly follows from the definition. Also the second and the third property are
easily checked, and explain why the Lie bracket [ f , g] can be seen as some kind of derivative of
the vector field g with respect to the vector field f . In fact, the second property corresponds to
the fact that derivation is a linear operation, while the third property expresses a product rule: the
derivative of the product α g with respect to f is equal to the sum of the product of α with the
’derivative’ of g along f , that is, [ f , g], and the product of the derivative of α along f with g.
Specifically
∂ (α (x)g(x)) ∂f
[ f , α g](x) = f (x) − α (x) (x)g(x)
∂x ∂x
∂ α (x)g(x)
and the result follows by applying the product rule of differentiation to ∂x .
The fourth property is easily checked since by definition
∂h ∂g ∂f
L[ f ,g] h = (x) (x) f (x) − (x)g(x) (3.31)
∂x ∂x ∂x
while
∂ Lg h ∂ ∂h ∂h ∂g ∂ 2h
L f Lg h = (x) f (x) = ( (x)g(x)) f (x) = (x) (x) + gT (x) 2 f (x)
∂x ∂x ∂x ∂x ∂x ∂x
and similarly for Lg L f h. Hence the second-order derivatives of h in the expression L f Lg h − Lg L f h
cancel each other, leaving a first-order derivative5 of h.
5 Note furthermore that since the right-hand side of (3.30) transforms in the right way, this proves that L[ f ,g] h is
well-defined for all h. Hence this property yields an alternative proof of the well-definedness of the Lie bracket [ f , g] as
a vector field.
37
Chapter 3. Controllability and Observability of Nonlinear Systems
The proof of the fifth property follows from the fourth property. Indeed, using the property
(3.30) repeatedly one verifies that for an arbitrary function h
L[ f1 ,[ f2 , f3 ]]+[ f2 ,[ f3 , f1 ]]+[ f3 ,[ f1 , f2 ]] h = 0
Sometimes we will denote the Lie bracket [ f , g](x) as ad f g(x) (where ‘ad’ stands for ‘ad-
joint’6 ). This notation is especially convenient if we consider repeated brackets of g with f ,
written as follows:
ad0f g(x) = g(x)
ad1f g(x) = [ f , g](x)
..
.
adif g(x) = [ f , adi−1
f g](x), i = 1, 2, 3, . . . .
of Rn . The mapping ∆, also denoted as span{ fi , i ∈ I}, which assigns to every x ∈ D the subspace
∆(x), is called a distribution on D.
Note that the dimension of ∆(x) may vary with x. A distribution ∆ for which dim ∆(x) is the
same for every x ∈ D is called a nonsingular distribution on D, and the value of dim ∆(x) will
be called the dimension of the distribution. If ∆ is a non-singular distribution of dimension k then
it can be shown that around any point p ∈ D there exist k independent vector fields f1 , · · · , fk with
fi (x) ∈ ∆(x), i = 1, · · · , k, x ∈ D, such that ∆ = span( f1 , . . . , fk ). In this case it follows that every
smooth vector field g ∈ ∆ can be expressed as
k
g(x) = ∑ µi (x) fi (x),
i=1
[ fi , f j ](x) ∈ ∆(x), i, j ∈ I, x ∈ D
38
§3.2. Mathematical Preliminaries
Since f1 (x) and f2 (x) are linearly independent for every x, we have that dim(∆(x)) = 2, for all
x ∈ D. Furthermore, we have
1
∂ f2 ∂ f1
[ f1 , f2 ](x) = (x) f1 (x) − (x) f2 (x) = 0 .
∂x ∂x
0
Now, [ f1 , f2 ] ∈ ∆ if and only if rank( f1 (x), f2 (x), [ f1 , f2 ](x)) = 2, for all x ∈ D. However (verify!),
2x2 1 0
rank( f1 (x), f2 (x), [ f1 , f2 ](x)) = rank 1 0 0 = 3,
0 x2 1
for all x ∈ D. Hence, ∆ is not involutive! ◭
for arbitrary constants c1 , . . . , cn−r , are well-defined r-dimensional sub-manifolds of Rn (that is,
smoothly curved r-dimensional surfaces), to which all the vector fields f1 , . . . , fr are tangent. This
explains the terminology ’integrability’: the distribution is integrable if we can find a complemen-
tary number of independent functions such that all vector fields in the distribution are everywhere
tangent to level sets of these functions, meaning that the distribution is ’integrated’ to level sets.
A key result from differential geometry is Frobenius’ theorem, stating that a nonsingular dis-
tribution is integrable if and only if it is involutive. The necessity of involutivity for integrability is
easily seen. Indeed, suppose that (3.32) is satisfied. This is the same as
L fi h j = 0 (3.33)
7 h (x), . . . , h ∂ h1 ∂ hn−r
1 n−r (x)
are called independent on N if their gradient vectors (co-vectors) ∂ x (x), . . . , ∂ x (x) are inde-
pendent at every x ∈ N.
39
Chapter 3. Controllability and Observability of Nonlinear Systems
for all indices i, j as above. It follows that also L[ fi , fk ] h j = L fi L fk h j − L fk L fi h j = 0. Since the func-
tions h1 (x), . . . , hn−r (x) are assumed to be independent, this implies that the Lie brackets [ fi , fk ]
are (pointwise) linear combinations of the vector fields f1 , . . . , fr , and are thus contained in the
distribution ∆.
We state this one-sided version of Frobenius’ theorem as follows.
Corollary 3.17 Let the independent functions h1 (x), . . . , hn−r (x) satisfy
∂hj
(x) fi (x) = 0, (3.34)
∂x
for all 1 ≤ i ≤ r and 1 ≤ j ≤ n − r and all x contained in a level set
40
§3.3. Controllability for driftless systems
Example 3.19 Consider the distribution ∆ on R3 spanned by the two vector fields
cos x3 0
g1 (x) = sin x3 , g2 (x) = 0
0 1
As we have seen in Example 3.13 their Lie bracket is given as
sin x3
[g1 , g2 ](x) = − cos x3
0
Clearly, [g1 , g2 ](x) is independent from the vectors g1 (x) and g2 (x), and thus is not contained in
the distribution ∆(x). This means that there does not exist a non-trivial function h (i.e., dh(x) 6= 0)
such that ∂∂ hx (x)gi (x) = 0, i = 1, 2. However, the non-existence of such an h precisely means from
the controllability perspective that it is not possible to find a non-trivial function such that g1 , g2 are
contained in the tangent space to level sets of this function, and thus the evolution of the dynamical
system corresponding to g1 , g2 , i.e., the unicycle system, will be constrained to such a level set.
Thus controllability corresponds to a lack of involutivity.
Note that the bicycle and the unicycle model as discussed earlier are of this type.
Clearly from any point x0 ∈ Rn we may steer directly in all directions contained in
G (x0 ) = span g1 (x0 ), g2 (x0 )
by using e.g. constant inputs. If the vector fields g1 and g2 are such that [g1 , g2 ](x) ∈ G (x) for all
x in a neighborhood of x0 , then by an application of Frobenius’ theorem the system is not be con-
trollable. Indeed, by Frobenius’ theorem there will exist n − 2 independent functions h1 , · · · , hn−2
around x0 such that Lg1 hi = Lg2 hi = 0, for i = 1, · · · , n − 2. Hence the vector fields g1 , g2 will be
tangent to any level set {x | h1 (x) = c1 , · · · , hn−2 (x) = cn−2 }, with c1 , · · · , cn−2 constants. Conse-
quently, the solution of the differential equation (3.36), for any input functions u1 , u2 , will remain
on the same level set.
41
Chapter 3. Controllability and Observability of Nonlinear Systems
It can be verified that the solution of the system (3.36) is described by (see Section 3.8 for a
detailed derivation)
Thus we have obtained an interpretation of the Lie bracket [g1 , g2 ]: it measures ”what remains if
we switch between g1 and g2 ”8
The formula (3.37) implies that, at least approximately, we can steer the system (3.36) from
x0 into the direction given by vector defined by the Lie bracket g3 (x0 ) , [g1 , g2 ](x0 ), which in-
deed implies that if [g1 , g2 ](x0 ) ∈ / G (x0 ) we can steer into a direction outside G (x0 ). Moreover,
by choosing more and more elaborate switchings for the inputs u1 and u2 , it is also possible to
move into directions given by higher-order Lie brackets of g1 (x0 ) and g2 (x0 ), e.g., [g2 , [g1 , g2 ]],
[[g1 , g2 ], [g2 , [g1 , g2 ]]], and so on (see e.g., Figure 3.2). (In fact, these higher-order Lie brackets
are already present in the remainder O(ε 3 ) in the expansion of (3.37).) Let us again consider the
unicycle and the bicycle example.
Example 3.20 (The unicycle) The Lie bracket of the two input vector fields
cos x3 0
g1 = sin x3 , g2 = 0
0 1
is given by
sin x3
[g1 , g2 ] = − cos x3 ,
0
in accordance with (3.12) and (3.37). Clearly, g1 , g2 , [g1 , g2 ] are three independent vector fields. ◭
8 In fact, it can be shown that [g1 , g2 ] = 0 if and only if the vector fields g1 and g2 are commuting: if we follow
from a given initial condition x0 the solution of g1 for a time ε and then follow from the obtained state at time ε the
solution of g2 for time ε then the final state is the same as if we would have done the same with g1 replaced by g2 and
g2 replaced by g1 .
42
§3.3. Controllability for driftless systems
[g1 , g2 ]
[g1 , [g1 , [g1 , g2 ]]] [g2 , [g1 , [g1, g2 ]]] [g1 , [g2 , [g1 , g2 ]]] [g2 , [g2 , [g1, g2 ]]]
Example 3.21 (The car or vertical bicycle; Example 3.5 cont’d) Consider again the model of a
car (or bicycle) shown in Figure 3.1. Recall that the ‘driving’ and ‘steering’ vector fields are given
by
cos(x3 + x4 ) 0
sin(x3 + x4 ) 0
g1 (x) =
sin(x ) , g2 (x) = 0 .
4
0 1
| {z } | {z }
Drive Steer
By calculating Lie brackets we can find movement directions other than Steer and Drive. First
compute
∂ g1 ∂ g2
[Steer, Drive] = g2 − g1
∂ x ∂x
0 0 − sin(x3 + x4 ) − sin(x3 + x4 ) 0
0 0 cos(x3 + x4 ) cos(x3 + x4 ) 0
=
0 0
−0
0
0 cos(x4 )
0 0 0 0 1
− sin(x3 + x4 )
cos(x3 + x4 )
cos(x ) , Wriggle.
=
4
0
We can hence move the car in the ‘Wriggle’ direction by applying the switching control sequence
43
Chapter 3. Controllability and Observability of Nonlinear Systems
defined by
u(t) = (1, 0), (0, 1), (−1, 0), (0, −1) .
It can be seen that the vector fields Drive, Steer, Wriggle,Slide are independent at every point of the
state space. In fact, the determinant of the 4×4 matrix with columns being Drive, Wriggle, Slide,Steer
is equal to 1 at every point of the state space. This suggests that the car is controllable, and that you
can maneuver your car out of any parking lot (that is an arbitrary small distance bigger than the
length of your car) by applying controls corresponding to the ‘Slide’ direction, i.e., by applying
the control sequence {Wriggle, Drive, −Wriggle, −Drive}. ◭
on an n-dimensional state space D. Compute all (higher-order) Lie brackets of the vector fields
g1 , g2 , · · · , gm , and denote the resulting linear space of vector fields (including g1 , g2 , · · · , gm them-
selves) by C (the controllability algebra). The system is controllable if at every x ∈ D we can
find n vector fields in C that are independent at x ∈ D. Conversely, if the system is controllable at
every x ∈ D then for all x in an open and dense9 subset of D we can find n vector fields in C that
are independent at x ∈ D.
A sketch of the proof of this basic theorem will be provided in Section 3.5; see [3] for a detailed
proof.
9 Loosely speaking, controllability at every x thus implies that almost everywhere there are n independent vector
fields in C in D; singular points may occur.
44
§3.4. Local (strong) accessibility of nonlinear systems with drift vector field
where x = (x1 , . . . , xn ) denotes the state of the system, and f , g1 , . . . , gm are smooth vector fields.
f is called the drift vector field, and g j , j = 1, · · · , m, the input vector fields. Given any initial
condition x(0) = x0 one may wonder what one can say about the set of points which can be
reached from x0 in finite time by a suitable choice of the input functions u j (·), j = 1, · · · , m. This
is the general controllability problem.
In case the system contains a drift term f , we have to consider, next to the Lie brackets involv-
ing only the input vector fields g1 , · · · , gm , the Lie brackets involving g1 , · · · , gm as well as the drift
vector field f . However the role of the drift vector field and its Lie brackets is different from that
of the input vector fields; in fact a drift vector field ”corresponds to an input vector vector field
where the corresponding input is identically equal to 1. For instance, the system
ẋ = f (x) + g(x)u
can be considered as a special case of (3.39), with u1 = 1. Although we cannot go back and forth
along the vector field f (x), by making switchings only in u, the evolution of x still can be steered
in directions involving the brackets of f and g. In general, however, we can now only steer along
the positive and negative directions of these brackets.
For nonlinear systems with drift vector field, it is in general difficult to derive Lie bracket con-
ditions for true controllability (in the spirit of Kalman’s controllability rank condition for linear
systems). Instead we will weaken the notion of controllability to the notion of local accessibility
for which it turns out that Lie bracket conditions can be derived.
For any neighborhood V of x0 define R V (x0 ,t1 ) as the reachable set from x0 at time t1 ≥ 0,
following the trajectories which remain in the neighborhood V of x0 for t ≤ t1 . That is, R V (x0 ,t1 )
consists of all points x1 for which there exists an input u(·) such that the evolution of (3.39) for
x(0) = x0 satisfies x(t) ∈ V, 0 ≤ t ≤ t1 , and x(t1 ) = x1 . Furthermore, let
[
RtV1 (x0 ) = R V (x0 , τ ).
τ ≤t1
Definition 3.23 (Local accessibility) A system of the form (3.39) is said to be locally accessible
from x0 if RtV1 (x0 ) contains a non-empty open subset of Rn for all non-empty neighborhoods V
of x0 and all t1 > 0. If the latter holds for all x0 ∈ Rn then the system (3.39) is called locally
accessible.
Remark 3.24 The terminology ’local’ in the above definition of local accessibility refers to the
fact that for reaching a nearby state we only consider system trajectories which also remain nearby
(i.e., are contained in V). (It may occur that nearby states may be only reachable via trajectories
going far way.)
45
Chapter 3. Controllability and Observability of Nonlinear Systems
In order to derive algebraic conditions for local accessibility we define the following set of
vector fields.
Definition 3.25 (Accessibility algebra) Consider the nonlinear system (3.39). Its accessibility
algebra, denoted by Ca , is the linear space of all (higher-order) Lie brackets of the vector fields
f , g1 , . . . , gm (including f , g1 , . . . , gm themselves).
Theorem 3.26 (Local accessibility) A sufficient condition for the system (3.39) to be locally ac-
cessible from x0 is that we can find n vector fields in the accessibility algebra Ca which are inde-
pendent at x0 . This will be referred to as the accessibility rank condition at x0 .
Conversely, if the system is locally accessible then the accessibility condition holds for all x0
in an open and dense10 subset of Rn .
A sketch of the proof of this theorem will be provided in Theorem 3.32 in the next section; see
also [3] for details.
ẋ1 = x22
ẋ2 = u.
Therefore, the accessibility rank condition is satisfied everywhere, and so the system is locally ac-
cessible. However, since x22 ≥ 0, the x1 -coordinate is always non-decreasing. Hence, the reachable
set R(x0 ) looks like in Figure 3.3, and thus the system is not controllable. ◭
The above example shows that local accessibility for nonlinear systems may be far from true
controllability. In fact, local accessibility basically means that the reachable set from every point
x0 has the ’same dimension’ as the state space.
46
§3.4. Local (strong) accessibility of nonlinear systems with drift vector field
x2
✻
x0
✲ x1
Starting from the obtained algebraic conditions for local accessibility we gan go one step further
to obtain stronger algebraic conditions implying a slightly stronger form of controllability than
local accessibility (but in general still not implying true controllability). This stronger form of
local accessibility is called local strong accessibility.
Definition 3.28 (Strong local accessibility) A system of the form (3.39) is locally strongly ac-
cessible at x0 if for any neighborhood V of x0 the set R V (x0 ,t1 ) contains a non-empty set for any
t1 > 0 sufficiently small. If the latter holds for all x0 ∈ Dn then the system (3.39) is called locally
strongly accessible.
Definition 3.29 (Strong accessibility algebra) Consider the nonlinear system (3.39), and con-
sider f , g1 , · · · , gm as well as all the (higher-order) Lie brackets. Define the strong accessibility
algebra Csa as the linear space spanned by all these vector fields except for f .
Theorem 3.30 (Local strong accessibility) A sufficient condition for the system to be locally
strongly accessible at x0 is that there are n vector fields in Csa which are independent at x0 (the
strong accessibility rank condition at x0 ). If this holds for every x0 then the system is locally
strongly accessible. Conversely, if the system is locally strongly accessible then the strong acces-
sibility rank condition holds for all x0 in an open and dense subset of Dn .
Example 3.31 Consider the equations of a spacecraft with gas jet actuators. We only consider the
equations describing the dynamics of the angular velocities ω1 , ω2 , ω3 (called Euler equations).
Since the inertia matrix J is positive definite we can diagonalize it as diag(a1 , a2 , a3 ) to obtain the
47
Chapter 3. Controllability and Observability of Nonlinear Systems
equations
3
a1 ω̇1 = ω2 ω3 (a2 − a3 ) + ∑ b1j u j
j=1
3
a2 ω̇2 = ω1 ω3 (a3 − a1 ) + ∑ b2j u j (3.40)
j=1
3
a3 ω̇3 = ω2 ω1 (a1 − a2 ) + ∑ b3j u j
j=1
where bi = (b1i , b2i , b3i )T , i = 1, 2, 3, are vectors in R3 . We distinguish between three cases.
I. b1 , b2 , b3 are independent. Clearly in this case the system is controllable.
II. dim span{b1 , b2 , b3 } = 2. Without loss of generality we may assume that b3 = 0, so that in fact
we only have two inputs u1 , u2 .
h iT h iT
First consider the simple case b1 = 1 0 0 , b2 = 0 1 0 , so that the torques are around the
first two principal axes. Rewrite the system as
ω̇1 = A1 ω2 ω3 + α1 u1
ω̇2 = A2 ω1 ω3 + α2 u2 (3.41)
ω̇3 = A3 ω2 ω1
48
§3.4. Local (strong) accessibility of nonlinear systems with drift vector field
are contained in Csa , and thus if A3 6= 0, or equivalently a1 6= a2 , the strong accessibility rank
condition is met at every point ω , and the system is locally strongly accessible if a1 6= a2 . Further-
more the condition a1 6= a2 is also necessary for local strong accessibility, since if we would take
a1 = a2 in (3.41) then we obtain
ω̇1 = A1 ω2 ω3 + α1 u1
ω̇2 = A2 ω1 ω3 + α2 u2 (3.45)
ω̇3 = 0
which is clearly not accessible since ω3 is constant. Therefore, (3.41) is locally strongly accessible
if and only if a1 6= a2 .
For the general location of gas jet actuators the computations become more involved. Without
proof we give the result
III. dim span{b1 , b2 , b3 } = 1. Without loss of generality we may assume that b2 = b3 = 0, so that
in fact we have only one input u. For simplicity we only consider the case a1 = a2 , so that the
system becomes
ω̇1 = Aω2 ω3 + α u
ω̇2 = −Aω1 ω3 + β u (3.47)
ω̇3 = γ u
h iT h iT
with A = (a1 − a3 )a−11 . Computing the algebra C 0 for f = A ω2 ω3 −ω1 ω3 0 and g = α β γ
yields
β ω3 + ω2 γ
[ f , g] = −A −αω3 − ω1 γ ,
0
β α
2 2
ḡ2 := [g, [ f , g] ] = −2Aγ −α , ḡ3 := [g2 , [ f , g] ] = −2A γ β . (3.48)
0 0
Therefore, if γ 6= 0, and A 6= 0, and not both α and β are zero, then the system is locally strongly
accessible. These conditions are also necessary as can be checked as follows. If A = 0 then the
49
Chapter 3. Controllability and Observability of Nonlinear Systems
system (3.47) is clearly not locally accessible. If γ = 0 then ω3 is constant, and so the system is
not locally accessible. Finally if α = β = 0 then
d 1 2 1 2
( ω + ω ) = A(ω1 ω2 ω3 − ω1 ω2 ω3 ) = 0, (3.50)
dt 2 1 2 2
and so ω is constrained to lie in the surface 21 ω12 + 21 ω22 = constant. Hence the system is not locally
accessible. ◭
where bi , . . . , bm are the columns of the input matrix B. The (strong) accessibility algebra in this
case is computed as follows. Clearly, the Lie brackets of the constant input vector fields given by
the input vectors bi , . . . , bm are all zero, i.e.,
Furthermore, the Lie bracket of the linear drift vector field Ax with an input vector field bi yields
the constant vector field
[Ax, bi ] = −Abi .
The Lie brackets of Abi with Ab j or b j are all zero (verify!), while
[Ax, −Abi ] = A2 bi .
Hence, if we continue in this way, we conclude that the accessibility algebra Ca is spanned by all
constant vector fields bi , Abi , A2 bi , . . . , i = 1, · · · , m, together with the linear drift vector field Ax,
while the strong accessibility algebra Csa is spanned by all constant vector fields bi , Abi , A2 bi , . . . ,
i = 1, · · · , m. We conclude that a linear system satisfies the strong accessibility rank condition at
all x0 if and only if the Kalman rank condition for controllability (3.2) is met. Hence, if we would
not have known anything special about linear systems, then at least it follows that a linear system
which satisfies the Kalman rank condition is locally strongly accessible. Of course, we know from
linear system theory that, by exploiting the linear structure, the Kalman rank condition is in fact
equivalent to controllability.
50
§3.5. A formal proof of local accessibility and controllability
Throughout we will make the assumption concerning the input space U that the set of associated
vector fields of the system (3.39) given by
m
{ f + ∑ g j u j | (u1 , . . . , um ) ∈ U } (3.51)
j=1
contains the vector fields f , g1 , . . . , gm . Note that this assumption is trivially satisfied if U = Rm .
We will denote F := { f , g1 , . . . , gm }.
Furthermore, let as before Ca denote the linear space spanned by the vector fields f , g1 , · · · , gm
and all (higher-order) Lie brackets of f , g1 , · · · , gm .
Theorem 3.32 Consider the system (3.39) with state space dimension n, and let x0 ∈ D. As-
sume that there exist n vector fields X1 , · · · , Xn in Ca which are independent at x0 . Then for any
neighborhood V of x0 and T > 0 the set RTV (x0 ) contains a non-empty open set of D.
Proof By continuity there exists a neighborhood W ⊂ V of x0 such that dim Ca (x) = n, for any
x ∈ W . We construct by induction a sequence of submanifolds N j in W , dim N j = j, j = 1, · · · , n,
in the following way. Given a vector field X we will denote by X t : D → D the map which assigns
to an initial condition x(0) = x1 the solution of the differential equation ẋ = X (x), x(0) = x1 , at
time t, i.e., X t (x1 ) = x(t, x1 ).
For j = 1 choose the vector field X1 as any vector field in F such that X1 (x0 ) 6= 0. Then for
sufficiently small ε1 > 0
where Xi, j = 1, · · · , j − 1, are vector fields in the set F . If j − 1 < n then we can find X j in the set
F and q ∈ N j−1 such that
X j (q) ∈
/ Tq N j−1 . (3.54)
where Tq N j−1 denotes the tangent space of the submanifold N j−1 at the point q. Indeed, if this was
not possible then X (q) ∈ Tq N j−1 for any X in the set F and for all q ∈ N j−1 . However in view of
Corollary 3.17 this would mean that this holds for any X ∈ Ca , so that the number of independent
vector fields in C at every q ∈ N j−1 ⊂ W is less than n, which is in contradiction with the definition
of W . It also follows that we take q in (3.54) arbitrarily close to x0 . Therefore the map
t t
(t j , . . . ,t1 ) 7→ X j j ◦ X j−1
j−1
◦ · · · ◦ X1t1 (x0 ) (3.55)
51
Chapter 3. Controllability and Observability of Nonlinear Systems
has rank equal to j on some set 0 ≤ σi < ti < εi , i = 1, · · · , j. Hence the image of this map for εi ,
i = 1, · · · , j, sufficiently small is a submanifold N j ⊂ W of dimension j.
Hence we obtain at the final step of the induction process the n-dimensional Nn , which is the
desired open set contained in RTV (x0 ).
Based on this theorem we can provide the following proof of the ’if’-part of Theorem 3.22
concerning driftless systems; i.e., f = 0.
Proof Return to the setting of Theorem 3.22 and consider for any x0 the map
t
(tn , . . . ,t1 ) 7→ Xntn ◦ Xn−1
n−1
◦ · · · ◦ X1t1 (x0 ), 0 ≤ σi < ti < εi , (3.56)
with the vector fields Xi in the set {g1 , · · · , gm }, of which the image is Nn . Now let (s1 , . . . , sn )
satisfy 0 < si < εi , i = 1, · · · , n, and consider the map
t
(tn , . . . ,t1 ) 7→ (−X1 )s1 ◦ (−X2 )s2 ◦ · · · ◦ (−Xn )sn ◦ Xntn ◦ Xn−1
n−1
◦ · · · ◦ X1t1 (x0 ),
0 < ti < εi . (3.57)
Since (−Xi )si = Xi−si it follows that the image of this map is an open set of D containing x0 . Fur-
thermore, the vector field −Xi results from taking some input variable equal to −1 (and the others
equal to 0). Hence RTV (x0 ) contains a neighbourhood of x0 for all choices of neighbourhoods V of
x0 .
Controllability now can be deduced as follows; see Figure 3.4). Let R(x0 ) denote the reachable set
from x0 . By the previous reasoning R(x0 ) is open. Now suppose that R(x0 ) is strictly contained
in D. Take a point z on the boundary of R(x0 ). By (a), R(z) contains a neighborhood of z, and
hence intersects non-trivially with R(x0 ). Hence z can not be a boundary point of R(x0 ), which
is a contradiction.
R(z)
z
x0
R(x0 )
Finally, for the proof of Theorem 3.30 concerning local strong accessibility we refer to [3].
52
§3.5. A formal proof of local accessibility and controllability
only implies that the reachable set from any initial condition has the ’same dimension’ as the
state space, and does not guarantee true controllability or e.g. small-time local controllability,
remains unsatisfactory. Also it is unsatisfactory that the controllability of linear systems satisfying
the Kalman rank condition does not follow from a more general theorem dealing with nonlinear
systems.
All this has motivated the search for a possible sharpening of the Lie-algebraic conditions
for local (strong) accessibility. The basic idea is to look into more detail in the structure of the
accessibility algebra Ca , and especially its spanning elements. Let us start with a simple example.
Example 3.33 We have already seen that the system ẋ = f (x) + g(x)u given by
ẋ1 = x22
(3.58)
ẋ2 = u.
is locally strongly accessible, but is not controllable. On the other hand, the linear system
ẋ1 = x2
(3.59)
ẋ2 = u.
" #
1
is controllable by application of the Kalman rank condition. In fact, [g, f ] = . Furthermore, by
0
direct computation the nonlinear system
ẋ1 = x32
(3.60)
ẋ2 = u.
can be also seen to be controllable. What is the difference between (3.59) and (3.60) on the one
hand, and (3.58) on the other "
? #
0
In all cases we have g = . The second spanning vector within Ca is obtained in the first
1
case as
" #
2
[g, [g, f ]] =
0
while in the second case as
" #
1
[g, f ] =
0
Furthermore, in the third case
" #
6
[g, [g, [g, f ]]] =
0
This suggests that the Lie brackets involving one time f and an even number of times g are not
helpful for true controllability (’bad’ brackets), while the Lie brackets involving one time f and
an odd number of times g are helpful (’good’ brackets).
53
Chapter 3. Controllability and Observability of Nonlinear Systems
The preceding example suggests that for controllability we should look more closely into the
spanning condition of Ca in Theorem 3.26: the spanning condition on Ca needs to be refined by
requiring that already the ’good brackets’ within Ca define as many independent vectors as the
dimension of the state space. This is formalized in the following statement which we state without
proof (see [1] for further information).
Consider the elements X of Ca (iterated Lie brackets of f and g). Define ε (X ) to be the number of
times that f is appearing in the expression X , and δ (X ) as the number of times that g is appearing
in X .
Let Ca satisfy the accessibility rank condition at 0, and furthermore, assume that for any X ∈ Ca
with ε (X ) odd and δ (X ) even (’bad brackets’) there exist elements Y1 , · · · ,Yr in Ca with δ (Yi ) <
δ (X ), i = 1, · · · , r, such that the vector X (0) is in the span of Y1 (0), · · · ,Ym (0). Then the system is
small-time locally controllable.
The above theorem can be easily extended to the multi-input case. Furthermore, it is a special case
of what is known as Sussmann’s conditions for good and bad brackets; see [1] for a full treatment.
Example 3.35 Verify the above condition for systems (3.59) and (3.60) by showing that the bad
brackets are zero at 0. Furthermore, show that the system (3.58) does not satisfy the above condi-
tion. ◭
ẋ = Ax + bu, x ∈ Rn
h i
satisfying the Kalman rank condition rank b Ab · · · An−1 b = n. In this case the bad brackets X
with ε (X ) = 1 and δ (X ) even and > 0 are identically zero. The bad brackets with ε (X ) odd and
> 1 are zero at 0. Thus the system is small-time locally controllable. ◭
54
§3.6. Controllability and stabilizability for nonlinear systems
Does this ’equivalence’ between controllability and arbitrary eigenvalue placement carry over
to the nonlinear case ? The simplest answer to this (complex) question is ’No’. For example, it
can be shown that the unicycle example (about which we have just learned that it is controllable)
cannot be stabilized by any (possibly nonlinear) continuous feedback mapping
u1 = α1 (x1 , x2 , x3 )
(3.61)
u2 = α2 (x1 , x2 , x3 )
This follows from the following general theorem. Consider a set of differential equations
ẋ = f (x), x ∈ Rn ,
with equilibrium x̄, that is, f (x̄) = 0. Then a necessary condition11 for the solutions of this system
of differential equations to converge to the equilibrium x̄ is that the mapping
f : Rn → Rn
is onto an open neighborhood of 0 ∈ Rn , and in fact, this should be the case for the image of
an arbitrarily small open neighborhood of x̄. However this means that a necessary condition for
stabilizability of the system with inputs
m
ẋ = f (x) + ∑ g j (x)u j
j=1
from an arbitrary small open neighborhood of the point (x̄, 0) ∈ Rn × Rm should be onto an open
neighborhood of 0 ∈ Rn .
Example 3.37 The above necessary condition for feedback stabilizability is not satisfied for the
unicycle example, for any x̄ ∈ R3 . Indeed, the mapping
x1
x2 v1 u1 cos x3
x3 7→ v2 :=
u1 sin x3
u1 v3 u2
u2
does not satisfy this condition at any point x̄ ∈ R3 , u = 0. For example, for any point x̄ with x̄3 = 0 it
will not be possible to reach points with v1 = 0 and v2 6= 0. Thus the unicycle cannot be stabilized
around any point x̄, at least not using a continuous feedback (3.61).
11 This can be proved using topological arguments.
55
Chapter 3. Controllability and Observability of Nonlinear Systems
The lack of stabilizability of the unicycle is caused by the fact that, although the unicycle is
controllable, its controllability is completely due to the nonlinear terms in its equations. Indeed,
if the linearization of a nonlinear system at an equilibrium happens to be controllable, then the
system can be stabilized. On the other hand, controllability of the linearization is only a sufficient
condition for stabilizability, not a necessary one. In later chapters we will return to the question of
stability and stabilizability of nonlinear systems.
where h = col(h1 , . . . , h p ) : Rn → R p is the smooth output map of the system. Recall that y(t, 0, x0 , u) =
h(x(t, 0, x0 , u)) denotes the output of (3.62) for u(·) and initial state x(0) = x0 . Since in nonlinear
systems the input vector field g(x) may depend on x, inputs may play a role in observability. This
in contrast with linear systems, where the observability properties solely depend on the system
and output matrices A and C, respectively.
Since our aim is to replace the Kalman observability rank condition for linear systems by a
nonlinear observability rank condition (which inherently will be a local condition), we first give a
local definition of observability as follows. Consider an open set V in Rn , i.e., V ⊂ Rn .
Definition 3.38 (Indistinguishability) The two states x1 and x2 are V-distinguishable for (3.62)
if there exists an input function u : [0,t1 ] → U, t1 > 0, whose trajectories from both x1 and x2
remain in V such that the output functions
Remark 3.39 V-indistinguishability of x1 and x2 means that the solutions x(t, 0, x1 , u) and x(t, 0, x2 , u)
both remain in V for all t ≤ t1 and that the corresponding output functions y(t, 0, x1 , u) and y(t, 0, x2 , u),
respectively, are the same for all t ≤ t1 on their common domain of definition.
Definition 3.40 (Local observability) The system (3.62) is said to be locally observable at x0 if
there exists a neighborhood W of x0 such that for every neighborhood V ⊂ W of x0 every state in
V other than x0 is V-distinguishable from x0 . Hence, the system (3.62) is locally observable if it
is locally observable at x0 for every x0 in Rn .
56
§3.7. Observability for nonlinear systems
Notice that regarding the latter definition, V-indistinguishability of x0 and x1 implies that x1 =
x0 . Roughly speaking, a system is locally observable if every state x0 can be distinguished from
its neighbors by using system trajectories remaining close to x0 . Recall that for studying local
accessibility the accessibility algebra of the system was shown to be essential. Analogously, the
observation space will prove to be instrumental for studying the local observability properties for
the system of the form (3.62).
Definition 3.41 (Observation space) The observation space Os of (3.62) is the linear space of
functions on Rn containing h1 , . . . , h p , and all repeated Lie derivatives, i.e.,
We notice that the observation contains the output functions and all derivatives of the output
functions along the system trajectories. In particular, for the systems under consideration, Os is
constructed by taking y j = h j (x) together with all repeated time derivatives, i.e.,
y j = h j (x), j∈p
m m
ẏ j = dh j (x)ẋ = dh j (x) f (x) + ∑ ui dh j (x)dgi (x) = L f h j (x) + ∑ ui Lgi h j (x)
i=1 i=1
m m m
ÿ j = L2f h j (x) + ∑ ui Lgi L f h j (x) + ∑ u̇i Lgi h j (x) + ∑ ui L f Lgi h j (x)
i=1 i=1 i=1
m m
+ ∑ ∑ ui uℓ Lgℓ Lgi h j (x)
i=1 ℓ=1
..
.
(Recall that d(·) denotes the differential operator defined in (3.21).) Expressions for higher deriva-
tives of y j get progressively nastier, but the pattern is clear enough. The observation space Os
defines the observability (co-)distribution, denoted as Oc = dOs , i.e.,
Oc = span dh1 (x0 ), . . . , dh p (x0 ), dLvk Lvk−1 · · · Lv1 h j (x0 ) , j ∈ p, k = 1, 2, . . . , (3.64)
Theorem 3.42 (Local observability) Consider the system (3.62) on Rn . If Oc (x0 ) is of constant
dimension, with
dim Oc (x0 ) = n, (3.65)
57
Chapter 3. Controllability and Observability of Nonlinear Systems
We call (3.65) the observability rank condition. The system is said to satisfy the observability rank
condition if (3.65) holds for any x0 ∈ Rn . Next, let us apply the theory developed above to a linear
system of the form
m
ẋ = Ax + ∑ b j u j , x ∈ Rn , u ∈ Rm
j=1
yi = ci x, i ∈ p.
Lb j ci x = ci b j .
Hence, the Lie derivative of a linear function along the constant vector field b j yields a constant
function, which will not contribute to the dimension of the observability co-distribution Oc . Fur-
thermore,
LAx ci x = ci Ax,
L2Ax ci x = ci A2 x
..
.
LkAx ci x = ci Ak x.
Since d(ci x) = ci , d(ci Ax) = ci A, etc., it follows that the linear system is observable if and only if
C
CA
rank .. = n, (3.67)
.
CAn−1
which is exactly the Kalman rank condition for observability. Of course we know that (3.67) not
only implies local observability, but even (global) observability.
The following can be concluded about the observability properties of the system:
58
§3.7. Observability for nonlinear systems
Example 3.44 Consider the schematic representation of a magnetic levitation system shown in
Figure 3.5. The input is a (controllable) voltage source u. The modelling details are omitted here.
The equation of motion are
ẋ1 = x2
Fg α x23
ẋ2 = −
M 2M (β − x1 )2
x2 x3 β − x1
ẋ3 = + u,
β − x1 α
where x1 = qm , x1 < β is the mechanical displacement of the isolated mass measured from the
magnetic pole face, x2 = q̇m is the mechanical velocity, and x3 = q̇e is the electrical current flowing
through the coil. The gravitational force Fg = mḡ, with ḡ the gravitational constant. M is the mass
of the ball, and α , β ∈ R are design parameters.
In general it is difficult to measure the coil current. Also, we usually want to avoid measuring
the rate of change of the air gap. In such situation it is desirable to build an observer for the system.
Though we will not build an observer here, we check if the states of the system are observable from
x, locally around the equilibrium point. It is directly seen that
x2 0
ḡ − α
x23
0
f (x) = 2M (β − x1 )2 , g(x) =
, h(x) = x1 .
x2 x3 β − x1
β − x1 α
The observability properties of the system are checked by first computing the Lie derivatives
59
Chapter 3. Controllability and Observability of Nonlinear Systems
✛
q̇e
L(qm) u
✻
qm
Fg m
❄
∂h
L1f h(x) = (x) f (x) = x2
∂x
∂Lfh α x23
L2f h(x) = (x) f (x) = ḡ − .
∂x 2M (β − x1 )2
Hence,
L0f h(x)
Os = span L1f h(x) .
L2f h(x)
The observability rank condition is now easily checked by investigating the rank of
1 0 0
dOs (x0 ) = Oc (x0 ) = 0 1 0
.
α x23 2α x3
3
0 2
M (β − x1 ) M (β − x1 ) x0
The rank condition can be easily checked by considering the determinant of Oc at the equilibrium
point x0 , i.e.,
2α x03
det Oc (x0 ) = − ,
M (β − x01 )2
which is not equal to zero for all α 6= 0, β 6= x01 , and x03 6= 0. So, Oc spans R3 , and thus we
conclude that the system is locally observable at the equilibrium point x0 , for all α 6= 0, β 6= x01 ,
and x03 6= 0. ◭
60
§3.8. Appendix: Derivation of formula (3.37)
61
Chapter 3. Controllability and Observability of Nonlinear Systems
3.9.1 Controllability
Linear systems are given by equations of the form
ẋ = Ax + Bu, (3.68)
Definition 3.45 The system (3.68) is controllable if for every pair of vectors x0 , x1 ∈ Rn , there
exist a time t1 > 0 and an input function u : [0,t1 ] → Rm such that the solution of (3.68) starting
from initial condition x(0) = x0 satisfies x(t1 ) = x1 .
Controllability means that any state can be driven to any other state using an appropriate con-
trol. The following theorem gives some important characterizations of controllability.
Theorem 3.46 For the system (3.68), the following statements are equivalent:
1. The system is controllable;
2. The matrix
B, AB, · · · , An−1 B ,
3. For every set {λ1 , λ2 , · · · , λn } of n points in the complex plane, symmetric with respect to
the real axis, there exists a matrix F of appropriate dimensions such that the eigenvalues of
A + BF are equal to {λ1 , λ2 , · · · , λn }.
Note that part 3. of this theorem implies that if the system is controllable, then it is also
stabilizable.
3.9.2 Observability
Now consider a linear system with a output equations
ẋ = Ax + Bu
(3.69)
y = Cx,
where A is the same as in (3.68) and C is a (constant) k × n matrix. It is a natural question to ask
how much information the output gives about the state. For example, if we know the output and
the input functions, do we then also know the state ? Because the system is linear, we only have
to answer this question for the output and input equal to zero.
62
§3.10. Notes for Chapter 3
Definition 3.47 The system (3.69) is observable if x0 = 0 is the only initial state for which the
output y(·) is equal to zero.
Theorem 3.48 For the system (3.69), the following statements are equivalent:
2. The matrix
C
CA
,
...
CAn−1
has full rank, i.e., its rank is equal to n;
3. For every set {λ1 , λ2 , · · · , λn } of n points in the complex plane, symmetric with respect to
the real axis, there exists a matrix G of appropriate dimensions such that the eigenvalues of
A + GC are equal to {λ1 , λ2 , · · · , λn };
4. The system
ẋ = AT x +CT u, x(0) = x0
is controllable.
ẋ = Ax + Bu, x(0) = x0
(3.70)
y = Cx
is called minimal if (A, B) is controllable and (C, A) is observable.
It can be shown that every system (3.70) can be reduced to a minimal system, while keeping the
same transfer matrix C(Is − A)−1 B.
63
Chapter 3. Controllability and Observability of Nonlinear Systems
[1] J.-M. Coron. Control and Nonlinearity Mathematical Surveys and Monographs, vol. 136,
American Mathematical Society, 2007.
[2] A. Isidori. Nonlinear Control Systems, Third Edition. Springer Verlag, 1995.
[3] H. Nijmeijer and A.J. van der Schaft. Nonlinear Dynamical Control Systems. Springer-Verlag,
1990, corrected printing 2016.
64
Chapter 4
4.1 Introduction
Feedback linearization of nonlinear systems is based on the idea of transforming a, possibly com-
plicated, nonlinear system into an equivalent, but much simpler, form by the use of feedback
transformations and state space transformations. Let us start with two examples.
Example 4.1 As mentioned in Example 2.2 of Chapter 2 the Euler-Lagrange equations for the
dynamics of a mechanical system with kinetic energy 21 q̇T M(q)q̇ and potential energy V (q) take
the form
’Equivalent’ here means that there is a one-to-one correspondence between τ and v given the
knowledge of all the system parameters and system state variables q, q̇. Substitution of (4.2) into
(4.1) yields the equations M(q)q̈ = M(q)v, or equivalently, since M(q) is invertible,
q̈ = v, (4.3)
65
Chapter 4. Feedback Linearization of Nonlinear Systems
which is simply the juxtaposition of n double integrators q̈i = vi , i = 1, . . . , n. Thus we have trans-
formed the complicated nonlinear system (4.1) into the simple, and in fact, linear, system (4.3) !
This suggests the following control strategy for (4.1): first design a control strategy for (4.3), in
terms of the equivalent input vector v, and then transform the obtained expression for v into an
expression for the ’real’ control input τ using (4.2). ◭
where a is a non-zero constant. Even though linear control design can stabilize the system in a
small region around the equilibrium (0, 0) it is not so obvious how to do that globally. However,
if we define new state variables z = (z1 , z2 ) using the invertible (verify !) transformation
z1 = x1 , z2 = ax2 + sin x1 ,
then the system in these new, equivalent, state space coordinates takes the form
ż1 = −2z1 + z2
(4.5)
ż2 = −2z1 cos z1 + cos z1 sin z1 + au cos 2z1
Here the first equation is linear, while the nonlinearities in the second equation can be canceled by
defining the almost equivalent (as long as cos 2z1 is different from zero !) new input v ∈ R as
1
u= (− cos z1 sin z1 + 2z1 cos z1 + v), (4.6)
a cos 2z1
leading to the almost equivalent linear system
ż1 = −2z1 + z2
(4.7)
ż2 = v,
which is very easy to stabilize globally (using standard linear control theory). ◭
The obvious question is now: when is this possible ?. That is, when is it possible to transform a
nonlinear system into a linear system using feedback and state space transformations ?
Consider a nonlinear system given in local coordinates x = (x1 , . . . , xn ) as
m
ẋ = f (x) + ∑ g j (x)u j = f (x) + g(x)u , u = (u1 , . . . , um ) ∈ U ⊂ Rm , (4.8)
j=1
The application of a general nonlinear feedback u = α (x)+ β (x)v to (4.8) results in the closed-loop
system
66
§4.1. Introduction
having new inputs v = v1 , · · · , vm . Throughout we will require that the feedback transformation
is invertible in the sense that from u = α (x) + β (x)v we can conversely solve for v as a function
of x and u. This is possible if and only if the m × m matrix β (x) is invertible, leading to v =
β (x)−1 (−α (x) + u).
ż = Az + Bv (4.10)
for certain matrices A and B of appropriate dimensions. More precisely, we are looking for a
feedback u = α (x) + β (x)v and state space transformation z = S(x) such that
∂S ∂S
(x)[ f (x) + g(x)α (x)] = AS(x), (x)[g(x)β (x)] = B (4.11)
∂x ∂x
Note that feedback linearization is fundamentally different form linearization of a nonlinear system
around an equilibrium, as studied in Chapter 2. Indeed, in this latter case the nonlinear system is
approximated, around the equilibrium, by a linear system. In the feedback linearization problem,
however, the nonlinear system is transformed into an equivalent linear system (no information is
lost).
If the dynamics (4.8) is feedback linearizable then in principle the control of the system can be
split into two parts: a nonlinear feedback loop which renders the closed-loop system (in suitable
local coordinates) linear, and a superimposed linear control strategy for the obtained linear system.
We have added the words ”in principle”, because the nonlinear feedback, required to make the sys-
tem linear, may be very complicated, and very sensitive to parameter uncertainties. Furthermore,
if the original controls u1 , . . . , um are bounded, say if U = {(u1 , . . . , um ) | |ui | ≤ 1}, then the bounds
for the new inputs v1 , . . . , vm may become complicated functions of the state. Nevertheless, it is
clear that feedback linearizability is an enjoyable property for a nonlinear control system.
The feedback linearization problem is also important from a mathematical and system-theoretic
point of view, since it forms a first step in the classification of nonlinear systems (under state space
and feedback transformations) by singling out the essentially linear systems. Furthermore, we note
that the problem of linearization of (4.8), by state space transformations and feedback transforma-
tions, can be seen as the generalization of the problem of linearizing a single vectorfield
ẋ = f (x), (4.12)
67
Chapter 4. Feedback Linearization of Nonlinear Systems
makes the problem much easier, since by assuming controllability we add a lot of extra rigidity to
the system.
For clarity of exposition we shall only discuss the geometric conditions for feedback lineariz-
ability of (4.8) for the single-input case, that is, m = 1. We will also show how these conditions
nicely generalize to the solution of the problem of feedback linearizability of general nonlinear
single-input systems ẋ = f (x, u), u ∈ R, using general nonlinear feedback u = α (x, v).
together with a state space transformation z = S(x) with (x0 ) = 0 such that the closed-loop system
in the new z-coordinates takes the form of a linear system
ż = Az + bv (4.15)
ad f g := [ f , g], ad k+1 k
f g := [ f , ad f g], k = 1, 2, . . . (4.16)
Proposition 4.4 Consider the single-input system (4.13). Suppose there exists a function ϕ such
that
(a) hd ϕ , adn−1
f gi(x0 ) 6= 0
68
§4.2. Geometric Conditions for Feedback Linearization of Single-Input Systems
Conversely, if g(x0 ) 6= 0 then (b) implies (a), and if d ϕ (x0 ) 6= 0 then (c) implies (a).
Lemma 4.5 Let f and g be vector fields and ϕ a function on the n-dimensional state space mani-
fold X . The following statements are equivalent
(a) hd ϕ , adkf gi = 0, k = 0, 1, 2, . . . , n − 2,
(c) hdLkf ϕ , gi = 0, k = 0, 1, 2, . . . , n − 2.
(d) hd ϕ , adn−1
f gi = (−1)k hdLkf ϕ , adn−1−k
f gi, k = 0, 1, . . . , n − 1.
Proof Clearly (b) implies (a) and (c). We prove that both (a) and (c) imply (b). Assume that (a)
holds. Recall that L[X,Y ] ϕ = LX LY ϕ − LY LX ϕ , which can be equivalently rewritten as
LX hd ϕ ,Y i = hdLX ϕ ,Y i + hd ϕ , adX Y i
for any vector fields X ,Y and functions ϕ on M. Let k be such that k + 1 ≤ n − 2. Then certainly
hd ϕ , adkf gi = 0 and thus
Since k + 1 ≤ n − 2 the second term on the right-hand side is zero, so that also hdL f ϕ , adkf gi = 0.
Hence we have proved (b) for j = 1. Now suppose that (b) holds for a certain j < n − 2. Then
we prove that (b) also holds for j + 1. Let k be such that k + j + 1 ≤ n − 2. Then by the induction
assumption
Hence
0 = L f hdL jf ϕ , adkf gi = hdL j+1 k j k+1
f ϕ , ad f gi + hdL f ϕ , ad f gi =
(4.20)
= hdL j+1 k
f ϕ , ad f gi.
so that indeed (b) holds for j + 1. Similarly (b) follows from (c) as follows. Suppose (b) holds for
a certain i < n − 2 (it does hold for i = 0), then we prove it also holds for i + 1. Indeed let k be
such that k + i + 1 ≤ n − 2. Then by the induction assumption
69
Chapter 4. Feedback Linearization of Nonlinear Systems
Hence
so that indeed (b) holds for i+ 1. Finally (d) will be proved by induction to k. For k = 0 the identity
is trivial. Let (d) be satisfied for k − 1. Then differentiate the function hdLk−1 n−1−k
f ϕ , ad f gi which
is zero by (b), with respect to f :
0 = L f hdLk−1 n−1−k
f ϕ , ad f gi = hdLkf ϕ , adn−1−k
f gi + hdLk−1 n−k
f ϕ , ad f gi. (4.23)
We now obtain the following necessary and sufficient conditions for feedback linearizability in a
neighborhood of an equilibrium x0 .
70
§4.2. Geometric Conditions for Feedback Linearization of Single-Input Systems
Proposition 4.6 Consider the single-input system (4.13). Then the system is feedback lineariz-
able around x0 to a controllable linear system (4.15) if and only if there exists a function ϕ such
that
zi = Li−1
f ϕ (x), i = 1, · · · , n, (4.27)
Assume, without loss of generality, that ϕ (x0 ) = 0, implying that zi (x0 ) = Li−1
f ϕ (x0 ) = 0, i =
1, · · · , n. Then, for any i = 1, · · · , n − 1
and inductively
It follows that for the linear controllable system we can always find a function ϕ satisfying (4.26a),
namely we take the linear function ϕ (z) = kz with k the n-dimensional row vector satisfying
h i h i
k b Ab · · · An−1 b = 0 · · · 0 1 . (4.33)
71
Chapter 4. Feedback Linearization of Nonlinear Systems
The claim is now that the function ψ (x) = ϕ (S(x)) satisfies the conditions (4.26) for the original
system ẋ = f (x) + g(x)u. Indeed, b is nothing else than the vector field gβ in the z-coordinates.
Hence hd ϕ , bi = 0 in the z-coordinates implies that hd ψ , gβ i = 0 in the x-coordinates, and thus,
since β (x) 6= 0, hd ψ , gi = 0. Furthermore,
[ f + gα , gβ ] = [ f , gβ ] + [gα , gβ ] (4.34)
= [ f , g]β + L f β g + αβ [g, g] + α Lg β g − β Lg α g (4.35)
(where in fact [g, g] = 0). Hence, [ f + gα , gβ ] equals [ f , g]β modulo a multiple of g. Recall that
Az is equal to f + gα in the z-coordinates. Since hd ϕ , bi = 0 and hd ϕ , Abi = 0 in the z-coordinates
it thus follows (again using the fact that β (x) 6=) that in the x-coordinates hψ , [ f , g]i = 0. By
induction it is easily shown that hψ , adkf gi = 0, k = 2, 3, · · · , n − 2, while hψ , adn−1
f gi =
6 0.
We can summarize the (if)-part of the proof in the following constructive procedure for feed-
back linearization.
Corollary 4.7 Suppose the single-input system (4.13) satisfies (4.26). Then locally around x0
there exists a function ϕ satisfying (4.26) and ϕ (x0 ) = 0. By defining the state space transforma-
tion z = S(x) around x0 as
zi = Li−1
f ϕ (x), i ∈ n, (4.36)
the system around x0 is transformed into the controllable linear system (4.30).
Consequently the only possibly difficult step in performing feedback linearization lies in the com-
putation of the function ϕ satisfying (4.26a) and (4.26b). Furthermore we note that by Proposi-
tion 4.4 this already requires the vector fields g, ad f g, . . . , adn−1
f g to be independent. Therefore
n−1
hd ϕ , ad f gi(x0 ) 6= 0 is guaranteed if d ϕ (x0 ) 6= 0; i.e., ϕ should satisfy (4.26a) and be a non-
constant function around x0 .
Thus the crux of the computation resides in finding a non-constant solution ϕ of the n-
dimensional set of partial differential equations
where Xi = adi−1
f g, i = 1, . . . , n, are independent. Geometric conditions for the existence of such
pde’s are well-known, and are based on the following observation. Suppose LXi ϕ (x) = 0, i = 1, 2
for some vector fields Xi and function ϕ . Then also
L[X1 ,X2 ] ϕ (x) = LX1 LX2 ϕ (x) − LX2 LX1 ϕ (x) = 0 (4.39)
72
§4.2. Geometric Conditions for Feedback Linearization of Single-Input Systems
Thus a necessary condition for the solvability of the pde’s (4.38) is that the Lie brackets [Xi , X j ] of
the vector fields Xi = adi−1
f g, i = 1, . . . , n − 1, are all a linear combination of these vector fields !
Under the assumptions made in the solution of the feedback linearization problem, it follows that
this is a sufficient condition as well. This is known as Frobenius theorem, as already discussed in
Chapter 3.
Corollary 4.8 (Feedback linearizability) The system (4.13) is feedback linearizable around x0
to a controllable linear system if and only if on a neighborhood of x0 the vector fields g, ad f g, · · · ,
adn−1
f g are independent, and furthermore the Lie brackets of the vector fields g, ad f g, . . . , adn−2
f g
n−2
are a (pointwise) linear combination of g, ad f g, . . . , ad f g, or equivalently, the distribution spanned
by g, ad f g, . . . , adn−2
f g is involutive.
Proof The (if) part follows from the argumentation given above, implying the existence of a func-
tion ϕ satisfying (4.26). The (only if) part follows as the proof of the (only if) part of Proposition
4.4, also noting that by the assumption of controllability of the linear system necessarily the vector
fields g, ad f g, · · · , adn−1
f g are independent.
ẋ1 = ex2 − x3
ẋ2 = x3
ẋ3 = x21 + u
1 0 −2x1
Since [g, ad f g] = 0 it follows that the system is feedback linearizable to a controllable linear
system. A function ϕ such that Lg ϕ = Lad f g ϕ = 0 is given by ϕ (x) = x1 + x2 . The resulting new
coordinates z1 , z2 , z3 are given as
z1 = x1 + x2
z2 = L f (x1 + x2 ) = ex2
z3 = L2f (x1 + x2 ) = L f ex2 = ex2 x3
Finally, the nonlinear state feedback which is required in order to transform the system into a
linear one is given by
73
Chapter 4. Feedback Linearization of Nonlinear Systems
We shall now show how Proposition 4.6 generalizes to general nonlinear systems ẋ = f (x, u); at
least for the single-input case.
with equilibrium (x0 , u0 ) i.e. f (x0 , u0 ) = 0. Throughout we assume that U is an open subset of R
containing u0 . The system is feedback linearizable around (x0 , u0 ) if there exists
(ii) a regular static state feedback u = α (x, v) satisfying α (x0 , 0) = u0 and defined on a neighbor-
hood O × V of (x0 , 0), V ⊂ U , with ∂∂αv (x, v) non-singular on O × V such that for a suitable
constant matrix A and vector b
∂S
(x) f (x, α (x, v)) = AS(x) + bv, x ∈ O, v∈V (4.41)
∂x
The conditions for feedback linearizability in this case rely on the notion of the extended system
of a general nonlinear system.
Definition 4.11 The extended system of (4.40) is the affine nonlinear system
ẋ = f (x, u)
(4.42)
u̇ = w
Theorem 4.12 Consider the nonlinear system (4.40) with f (x0 , u0 ) = 0. Then the nonlinear sys-
tem (4.40) is feedback linearizable around (x0 , u0 ) to a controllable linear system if and only if the
extended system (4.42) is feedback linearizable around (x0 , u0 ) to a controllable linear system.
Proof (Only if) One can interpret the state space transformation x = S−1 (z) together with the
feedback u = α (x, v) for (4.40), as a state space transformation (x, u) 7→ (z, v) for the extended
system. In the new coordinates (z, v) the extended system has the form
ż = Az + Bv (4.44a)
v̇ = G(z, v) + K(z, v)w (4.44b)
74
§4.2. Geometric Conditions for Feedback Linearization of Single-Input Systems
for some mappings G and K. In fact, by the regularity of the feedback u = α (x, v) we can locally
solve from the relation u = α (x, v) for v as function of x and u, i.e., v = β (x, u) with α (x, β (x, u)) =
u. Then it follows that (4.44b) is given as
∂ β −1
v̇ = (S (z), α (S−1 (z), v) f (S−1 (z), α (S−1 (z), v)) + (4.44b’)
∂x
∂ β −1
+ (S (z), α (S−1 (z), v))w
∂u
Setting the right-hand side of (4.44b’) equal to the new control w̄ defines the required linearizing
feedback for the extended system.
(If) Suppose the extended system (4.42) is feedback linearizable. Then by the previous Proposition
pro:6.16 there exists a function ϕ (x, u) with ϕ (x0 , u0 ) = 0, such that hd ϕ , X i = 0 for all vector
fields ge , ad fe ge = [ fe , ge ], · · · , , ad n−1 n
fe ge , while hd ϕ , ad fe ge i 6= 0. Using Lemma 4.5 it is clear that
∂ i−1
the functions Li−1 f ϕ , i = 1, . . . , n, do not depend on u since ∂ u L f ϕ = 0 for i = 1, . . . , n, while
∂ n
∂ u L f ϕ (x0 , u0 ) 6= 0. This defines a state space transformation z = S(x) as
zi = Li−1
f ϕ (x, u), i = 1, . . . , n, (4.45)
and a feedback u = α (x, v) by solving (based on the Implicit Function theorem) the equation
for u = α (x, v). This means that żn = Lnf ϕ (x, α (x, v)) = v. Hence the resulting linear system is
again given by (4.30).
Example 4.13 Consider the dynamics of a rocket outside the atmosphere. The forces which act
on the rocket are the gravitational force and the force as delivered by the rocket motor.
α
earth r
R θ rocket
The control variable is the angle α expressing the direction of the force as delivered by the rocket
motor. Take state space variables x1 = r, x2 = θ , x3 = ṙ, x4 = θ̇ , thus x ∈ T (R+ × S1 ). Then the
dynamics are given as
ẋ1 = x3
ẋ2 = x4
T (4.47)
ẋ3 = −gR2 /x21 + cos u + x1 x24
m
T
ẋ4 = −2x3 x4 /x1 + sin u
mx1
75
Chapter 4. Feedback Linearization of Nonlinear Systems
(with m the mass of the rocket; g the gravitational constant and R the radius of the earth). In order
to check if the system is feedback linearizable (around an arbitrary equilibrium point) we consider
the extended system, i.e. (4.47) together with the equation u̇ = w. The extended system is of the
form ẋe = f (xe ) + g(xe )w, where xe = (x, u) and
x3 0
x4 0
T
f (x, u) = 2 2 2
−gR /x1 + x1 x4 + m cos u , g(x, u) =
0 . (4.48)
T
−2x3 x4 /x1 + mx1 sin u 0
0 1
Hence
0
0
T
[ f , g](x, u) = m sin u . (4.49a)
T
− mx cos u
1
0
76
§4.2. Geometric Conditions for Feedback Linearization of Single-Input Systems
taking coordinates (z1 , . . . , zn ) as in (4.36), thus defining a linear transformation z = S(x), and by
the feedback u = α (x) + β (x)v as given in (4.37). It is clear that the modified feedback
−1 n
u = − (Lg Ln−1 n−1
f ϕ (x)) (L f ϕ + rn−1 L f ϕ + · · · + r0 ϕ )(x) +
(4.50)
−1
+ (Lg Ln−1
f ϕ (x)) v
Remark 4.14 Assume that the nonlinear system (4.13) equals the linear system ẋ = Ax + bu, and
let us see what the feedback (4.50) amounts to in this case. First, by (4.26) the function ϕ will be
a linear function ϕ (x) = kx, with the (1 × n)-vector k satisfying
h i h i
k b Ab · · · An−1 b = 0 · · · 0 c . (4.52)
with c 6= 0. Without loss of generality we can take c = 1. Secondly, the new system of coordinates
z = (z1 , . . . , zn ) as in (4.36) is given as zi = Li−1
Ax kx = kA
i−1 x, i = 1, · · · , n. Said otherwise, if we
where r(λ ) = λ n + rn−1 λ n−1 + · · · + r0 , then the system ẋ = Ax + bu is transformed into (4.51).
Actually, the feedback expression u = −kr(A)x, assigning the characteristic polynomial r(λ ) to
the closed loop matrix, is well-known in linear systems theory. (It is called Ackermann’s formula.)
Furthermore, it can be seen that the i-th column of the inverse matrix S−1 is given as
77
Chapter 4. Feedback Linearization of Nonlinear Systems
implying in particular that the relation between the input and the newly defined output y = ϕ (x) is
linear. In fact, the relation between v and y is given as
y(n) = v
In other words, the new input v is equal to the n-the time derivative of the output.
This motivates to consider single-input systems
with a given output function h(x), and to pose the question under which conditions it is possible
to construct a state feedback law u = α (x) + β (x)v such that the closed-loop system satisfies a
linear relation between the output y = h(x) and the new input v. This is called the input-output
linearization problem.
In the single-input single-output case (4.57) it turns out that the solution to the input-output
linearization can be readily derived using the techniques of the previous section.
Define ρ to be the smallest non-negative integer such that for all r < ρ
Lg Lr−1
f h(x) = 0, for all x (4.58)
ρ −1
Hence Lg L f h(x) 6= 0 for some x. Then, analogously to the proof of Proposition 4.4, we have the
following result.
ρ −1
Proposition 4.15 Define ρ as in (4.58). Assume that Lg L f h(x0 ) 6= 0, and hence by continuity
ρ −1 ρ −1
Lg L f h(x) 6= 0 for all x in a neighborhood of x0 . Then the ρ functions h, L f h, L2f h, · · · , L f h are
independent on a neighborhood x0 .
ρ −1
Proof We will prove that the functions h, L f h, . . . , L f h are independent at x0 , and therefore on
a neighborhood of x0 . Let c0 , c1 , . . . , cρ −1 be constants such that
ρ −1 ρ −2
cρ −1 dL f h(x0 ) + cρ −2 dL f h(x0 ) + . . . + c1 dL f h(x0 ) + c0 dh(x0 ) = 0 (4.59)
78
§4.3. Input-Output Linearization
ρ −1
We will prove that c0 , c1 , . . . , cρ −1 are all zero, and thus h, L f h, . . . , L f h are independent at x0 .
First, observe that (4.59) implies (since Lg k(x0 ) = dk(x0 )g(x0 ) for any function k)
ρ −1 ρ −2
Lg cρ −1 L f h(x0 ) + cρ −2 L f h(x0 ) + . . . + c1 L f h(x0 ) + c0 h(x0 ) = 0 (4.60)
Since Lg Lr−1
f h(x0 ) = 0 for all r = 1, . . . , ρ − 1 this implies that
ρ −1
cρ −1 Lg L f h(x0 ) = 0, (4.61)
ρ −1
and thus, since Lg L f h(x0 ) 6= 0, cρ −1 = 0. Hence (4.59) reduces to
ρ −2
cρ −2 dL f h(x0 ) + . . . + c0 dh(x0 ) = 0 (4.62)
and thus to
ρ −1
Lg cρ −2 L f h(x0 ) + . . . + c0 L f h(x0 ) = 0 (4.65)
The pattern is now clear; at the next step we will consider differentiation along ad 2f g. Thus by
induction it follows that cρ −1 , cρ −2 , . . . , c1 , c0 are all zero.
Remark 4.16 Note that the reasoning in the above proof is very similar to that in Lemma 4.5.
Hence, under the assumptions of Proposition 4.15, we can use the variables z1 = h, z2 = L f h, . . . ,
ρ −1
zρ = L f h as a partial set of new coordinates (’partial’ since in general ρ < n). By supplement-
ing z1 , z2 , . . . , zρ with n − ρ independent functions zρ +1 , · · · , zn we then obtain a full set of new
coordinates z = (z1 , z2 , · · · , zn ) around x0 given by
zi = Li−1
f h, i = 1, · · · , ρ , zρ +1 , · · · , zn (4.68)
79
Chapter 4. Feedback Linearization of Nonlinear Systems
Then in such coordinates we obtain (compare with the proof of Proposition 4.6)
żi = zi+1 , i = 1, · · · , ρ − 1
ρ ρ −1
żρ = L f h(x) + Lg L f h(x)u (4.69)
y(ρ ) = v, (4.71)
On the other hand, it is important to note that the linear dynamics (4.71) between v and y has to be
supplemented with the remaining n − ρ -dimensional dynamics
This dynamics is called the zero-dynamics, because for a linear input-state-output system it cor-
responds to the zeros of the transfer function (from u to y). For most control purposes stability
of the controlled system is a condition sine qua non. Therefore, it is normally required for the
applicability of this tracking control strategy that this zero-dynamics is stable (sometimes referred
to as minimum-phase systems).
Example 4.17 The theory of input-output linearization can be, rather straightforwardly, extended
to systems with m inputs and outputs; see the references at the end of this chapter. As an example
of such a more general situation consider a planar vertical take-off and landing (PVTOL) aircraft
modeled as
ẍ = −u1 sin θ + ε u2 cos θ
θ̈ = u2
Here the state is the x, y position of the aircraft’s center of mass, the angle θ of the aircraft relative
to the x-axis, and the corresponding velocities ẋ, ẏ, θ̇ . The control inputs u1 , u2 are the thrust
(directed out of the aircraft) and the rolling moment. The term −g is the gravitational acceleration,
while ε is a coupling coefficient. Consider as outputs
y1 = x, y2 = y
Differentiating these outputs twice we obtain the following expressions involving the inputs u1 , u2
" # " # " #" #
ẍ 0 − sin θ ε cos θ u1
= + (4.74)
ÿ −g cos θ ε sin θ u2
80
§4.4. Tracking of Nonlinear Systems
By inverting the last matrix we can thus define the feedback transformation
" # " # " # " #!
u1 − sin θ cos θ 0 v1
= cos θ sin θ + (4.75)
u2 ε ε g v2
implicitly defining the new equivalent inputs v1 , v2 . Substitution into (4.74) yields the resulting
system
ẍ = v1
ÿ = v2 (4.76)
which consists of two double integrators (together a 4-dimensional linear system), together with a
zero-dynamics described by the 2-dimensional nonlinear system
1
θ̈ = (sin θ + v1 cos θ + v2 sin θ ) (4.77)
ε
This is the dynamics that is not visible anymore from the input-output point view (with regard to
the inputs v1 , v2 and outputs x, y), but is still important for the overall dynamics of the controlled
system. ◭
An important application of input-output linearization concerns the solution to the tracking prob-
lem.
First of all note that if a system ẋ = f (x) + g(x)u, y = h(x), is input-output linearizable, then
it follows that for any time-function yref : [0, ∞) → R, called a reference trajectory, there exists
an initial condition x(0) together with an input function u : [0, ∞) → R such that the output of the
ρ
system is exactly equal to the reference trajectory yref . In fact, define v(t) = yref (t), t ∈ [0, ∞),
and compute the corresponding input function u : [0, ∞) → R. Furthermore, choose the initial
condition x(0) such that in the new coordinates z1 , . . . , zn as defined in the previous section the
values of z1 (0), . . . , zρ (0) are equal to the first ρ derivatives of the function yref at t = 0. Therefore,
input-output linearizable systems are sometimes called flat, in the sense that any reference function
yref : [0, ∞) → R can be reproduced as output of the system, for a certain input function and a
certain initial condition.
Furthermore, suppose the system (4.57) is input-output linearizable, but that its initial condi-
tion is not the correct one for reproducing the desired reference function yref : [0, ∞) → R (or the
system is subject to disturbances leading to perturbed state values). Then one would like to asymp-
totically track the arbitrary given reference trajectory yref : [0, ∞) → R, in the sense of designing
81
Chapter 4. Feedback Linearization of Nonlinear Systems
a feedback u = α (x) such that for every initial condition x0 the output y(·, x0 ) : [0, ∞) → R of the
closed-loop system satisfies
for t → ∞. This means that the output of the system will asymptotically converge to the desired ref-
erence trajectory yref : [0, ∞) → R; irrespective of the initial condition of the system, and therefore
also irrespective of disturbances which perturb the state of the system.
How can this be done ? Let us first apply the input-output linearizing feedback (4.85), trans-
forming the system into the closed-loop system (4.71, 4.72). Then apply to (4.71) an additional
feedback (also based on the knowledge of the desired reference trajectory) of the form
(ρ ) (ρ −1)
v = yref (t) − aρ −1 (y(ρ −1) (t) − yref (t)) − · · · − a0 (y(t) − yref (t)) (4.79)
transforming (4.71) into the error dynamics for the error e = y − yref , given by the linear higher-
order differential equation
Hence if we choose the constants aρ −1 , · · · , a0 in (4.79) in such a way that the polynomial sρ +
aρ −1 sρ −1 + · · · + a0 has all its roots in the open left-half complex plane (and thus the solutions
of the higher-order differential equation (4.80) converge to zero), then the error e = y − yre f will
converge to zero for t → ∞, thus solving the tracking problem. Note that the resulting control
scheme in the original input variable u contains a feedback and a feedforward part. The feedback
part (transformation from the original input u to the new input v, and the terms in the control law
for v depending on the actual output y and its derivatives) uses information about the current state
of the system, while the feedforward part uses information about the desired reference trajectory
yref (t) and its time-derivatives.
As before, there is a catch here. Indeed, if the remaining n − ρ -dimensional zero-dynamics
(4.72) is not stable, then in most cases we will not have reached our control goal. Indeed, although
the error e = y − yref converges to zero, the remaining part of the state z̄ will grow unboundedly,
which is in general not allowed. Hence for a satisfactory solution of the tracking problem we also
need to require that the remaining dynamics (4.72) remains bounded (or preferably converges to
zero).
Example 4.18 In the above example of the PVTOL aircraft we see that the aircraft is likely going
to exhibit pendulum-like behavior in the angle θ ; depending on the precise form of the inputs v1
and v2 . practically, the problem is further aggravated by the fact that the coupling constant ε is
usually relatively small, leading to a sensitive zero-dynamics (4.77). ◭
82
§4.4. Tracking of Nonlinear Systems
y = x3
y2 (t) = v(t)
z1 = x3 , z2 = x2 , z3 = x1
A control law (in the new input v) that achieves asymptotic tracking of this reference trajectory is
given by
(2) (1)
v(t) = yref (t) − a1 [y(1) (t) − yref (t)] − a0 [y(t) − yref (t)]
with the coefficients a0 , a1 chosen in such a way that the polynomial s2 + a1 s + a0 has its roots in
the open left-half of the complex plane; e.g., a0 = 1, a1 = 2. This control law should be substituted
in the above zero-dynamics in order to analyze the resulting dynamical behavior. ◭
Example 4.20 Consider the car (or bicycle) example, Example 3.5 as treated in the previous chap-
ter, with constant driving velocity, say equal to 1, resulting in the single-input system
x1 cos(x3 + x4 ) 0
x sin(x + x ) 0
d 2
=
3 4
+ u,
dt x sin x
0
3 4
x4 0 1
83
Chapter 4. Feedback Linearization of Nonlinear Systems
where u is the steering velocity. Take as output y = x2 , that is, the vertical position of the middle
of the front axis of the car. Given a constant d, a feedback law u = α (x) can be designed ensuring
that the controlled system satisfies e.g.
x2 (t) → d, t → ∞,
for any initial condition x1 (0), x2 (0), x3 (0), x4 (0) such that along the solution trajectory − π2 <
x3 + x4 < π2 . In fact, differentiation of y = x2 twice yields
In order to ensure that x2 (t) → d,t → ∞ the control law for v can be designed, similarly to the
preceding example, as
v(t) = −a1 y(1) (t) − a0 [y(t) − d] = −a1 sin(x3 (t) + x4 (t)) − a0 [x2 (t) − d],
with e.g. a0 = 1, a1 = 2.
the disturbance d does not have any influence on the output y, for any initial condition and for any
input function v.
Proposition 4.21 Consider the nonlinear system (4.82). Define ρ as in (4.58), and assume that
ρ −1
Lg L f h(x0 ) 6= 0. Then the disturbance decoupling problem is solvable in a neighborhood of x0 if
and only if
ρ −1
Lk h(x) = Lk L f h(x) = Lk L2f h(x) = · · · = Lk L f h(x) = 0 (4.84)
84
§4.6. Notes for Chapter 4
together with the new z-coordinates as in (4.68), leading to the closed-loop dynamics
żρ = v + kρ (z)d
(4.86)
z̄˙ = f¯(z) + ḡ(z)u + k̄(z)d
y = z1
Then it is easily seen that the disturbance d does not affect the output y = z1 if and only if the first
ρ components of the disturbance vector field k in these coordinates are zero, i.e.,
(Indeed, if this is the case then the disturbance d in the closed-loop system will only affect the
remaining coordinates z̄.) Furthermore, (4.87) holds if and only if (4.84) is satisfied.
We see that the feedback (4.85) renders the dynamics of the remaining coordinates z̄ to be decou-
pled from the output y = h(x), and consequently the influence of the disturbance d, if (4.87) is
satisfied, gets confined to this unobservable part of the system.
[1] A. Isidori. Nonlinear Control Systems, Third Edition. Springer Verlag, 1995.
[2] H. Nijmeijer and A.J. van der Schaft. Nonlinear Dynamical Control Systems. Springer-Verlag,
1990, Corrected printing 2016.
[3] J.J.E. Slotine and W. Li. Applied Nonlinear Control. Prentice-Hall Inc., 1991.
85
Chapter 4. Feedback Linearization of Nonlinear Systems
86