0% found this document useful (0 votes)
19 views90 pages

Nonlinear Engineering System Control

The document consists of lecture notes on the modeling and control of complex nonlinear engineering systems, covering topics such as nonlinear system modeling, controllability, observability, and feedback linearization. It introduces mathematical concepts and tools necessary for analyzing nonlinear dynamical systems across various engineering disciplines. The course emphasizes the application of these concepts in areas like robotics, mechatronics, and other complex systems, providing a unified method of system representation and analysis.

Uploaded by

zybernex
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views90 pages

Nonlinear Engineering System Control

The document consists of lecture notes on the modeling and control of complex nonlinear engineering systems, covering topics such as nonlinear system modeling, controllability, observability, and feedback linearization. It introduces mathematical concepts and tools necessary for analyzing nonlinear dynamical systems across various engineering disciplines. The course emphasizes the application of these concepts in areas like robotics, mechatronics, and other complex systems, providing a unified method of system representation and analysis.

Uploaded by

zybernex
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

LECTURE NOTES FOR WIMCCNES12:

Modeling & Control of Complex


Nonlinear Engineering Systems
Part I
Arjan van der Schaft & Jacquelien Scherpen

Version March 5, 2020


Table of Contents

1 Introduction 3

2 Nonlinear System Modeling 5


2.1 Nonlinear State-Space Models . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Linearization of Nonlinear Models . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.1 Nonlinear Phenomena . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.2 Linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Differential-Algebraic Model Equations . . . . . . . . . . . . . . . . . . . . . . 15
2.4 From Linear Spaces to Manifolds . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3 Controllability and Observability of Nonlinear Systems 25


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.1 Nonlinear controllability and linearization . . . . . . . . . . . . . . . . . 26
3.2 Mathematical Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.1 Vector fields and co-vector fields . . . . . . . . . . . . . . . . . . . . . . 30
3.2.2 Lie derivatives and Lie brackets . . . . . . . . . . . . . . . . . . . . . . 34
3.2.3 Distributions and involutivity . . . . . . . . . . . . . . . . . . . . . . . . 38
3.3 Controllability for driftless systems . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4 Local (strong) accessibility of nonlinear systems with drift vector field . . . . . . 44
3.4.1 Local accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4.2 Local strong accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.5 A formal proof of local accessibility and controllability . . . . . . . . . . . . . . 50
3.5.1 The basic theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.5.2 Good and bad brackets . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.6 Controllability and stabilizability for nonlinear systems . . . . . . . . . . . . . . 54
3.7 Observability for nonlinear systems . . . . . . . . . . . . . . . . . . . . . . . . 56
3.8 Appendix: Derivation of formula (3.37) . . . . . . . . . . . . . . . . . . . . . . 61
3.9 Appendix: Controllability and observability of linear systems . . . . . . . . . . . 62
3.9.1 Controllability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

iii
TABLE OF CONTENTS

3.9.2 Observability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.10 Notes for Chapter 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4 Feedback Linearization of Nonlinear Systems 65


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.2 Geometric Conditions for Feedback Linearization of Single-Input Systems . . . . 68
4.3 Input-Output Linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.4 Tracking of Nonlinear Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.5 Disturbance Decoupling of Nonlinear Systems . . . . . . . . . . . . . . . . . . . 84
4.6 Notes for Chapter 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

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

Nonlinear System Modeling

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).

2.1 Nonlinear State-Space Models

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

models. We come back to this type of systems in Section 2.3.

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.,

x(t) = col(x1 (t), x2 (t), . . . , xn (t)), etc.

If no confusion can arise we will just write x = (x1 , · · · , xn ).


The set of equations (2.3) is referred to as a state-space system. Since systems of higher-order
differential equations may be replaced by an equivalent set of first-order differential equations, the
set of equations (2.3) can be taken as a standard form for dynamical models.
If f and h do not explicitly depend on time t, then the system is called time-invariant. If the
system is not time-invariant, then it is called time-varying.
Special case of (2.3) occurs if there are no input variables u, and the system takes the form

ẋ(t) = f (x(t),t). (2.4)

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.,

ẋ(t) = f (x(t)), (2.5)

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

ẋ(t) = A(t)x(t) + B(t)u(t)

y(t) = C(t)x(t) + D(t)u(t),

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

ẋ(t) = Ax(t) + Bu(t)


(2.6)
y(t) = Cx(t) + Du(t).

Let us next consider a few examples.

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

mℓθ̈ (t) + kℓθ̇ (t) = −mg sin(θ (t)).

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

ẋ1 (t) = x2 (t)


g k
ẋ2 (t) = − sin(x1 (t)) − x2 (t).
ℓ m

7
Chapter 2. Nonlinear System Modeling

θ ✯


m

Figure 2.1: Pendulum.

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

where q = col(q1 , . . . , qr ) are the generalized configuration coordinates (e.g., displacements in


mechanical systems or charges in electrical circuits) and q̇ = (dq)/(dt) = col(q̇1 , . . . , q̇r ) are the
corresponding generalized velocities (e.g., mechanical velocities or currents in electrical circuits)
of the system with r degrees of freedom. Furthermore, the Lagrangian function L(q, q̇) equals
the difference between between the kinetic co-energy T ∗ (q, q̇) and the potential energy V (q), i.e.,
L(q, q̇) = T ∗ (q, q̇) − V (q), and τ ∈ Rr are the external forces supplied to the system (e.g. motor
controls of a robot arm or voltage sources). In mechanical systems the kinetic co-energy is usually
given by

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!)

M(q)q̈ +C(q, q̇) + K(q) = τ ,

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̇,τ )

or also in terms of x by selecting x1 = q1 , . . . , xr = qr , xr+1 = q̇1 , . . . , xn = q̇r .


Another method to obtain a set of first-order equations in the form (2.3) is to transform the
Euler-Lagrange equations into a Hamiltonian system form given by
∂H
q̇ = (q, p)
∂p
(2.10)
∂H
ṗ = − (q, p) + τ .
∂q
Here H(q, p) is called the Hamiltonian (function) of the system, which can be derived from the
Lagrangian function via a Legendre transformation, H = p⊤ q̇ − L, yielding
1 ⊤ −1
H(q, p) = p M (q)p +V (q),
|2 {z }
T (q,p)

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

where we have used q = θ and q̇ = θ̇ . Hence, the Lagrangian function is given by

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].

2.2 Linearization of Nonlinear Models


In the previous subsection we have presented a standard form to describe the dynamical behavior
of (possibly nonlinear) systems. It is often useful to determine analytically the parameter groups
that are responsible for properties such as steady-state gain, time constants coupling coefficients,
stability behavior, or sensitivity coefficients with respect to parameter variation. Unfortunately, for
nonlinear systems, such analysis is in general rather complex as analytical solutions are usually
not available. Often, we have to resort to numerical simulations and numerical computations for
nonlinear systems. For example, a computer can provide a numerical solution, but in general does
not provide background information about the relationship of this solution to the parameters of the
model.

2.2.1 Nonlinear Phenomena


Because of the powerful tools we know for linear systems, the first step in analyzing a nonlin-
ear system is usually to linearize it about some nominal operating point and analyze the resulting
model. Most processes behave globally as nonlinear systems, whereas many processes behave
locally as linear systems. Although it is appealing to use linear tools, since they are available and
generally simpler than the nonlinear tools, we must keep the severe limitations of linearization
in mind. There are two basic limitations of linearization. First, since linearization is an approx-
imation in the neighborhood of an equilibrium point, it can only predict “local” behavior of the
nonlinear system in the vicinity of that point. It cannot predict the “nonlocal” behavior far from
the equilibrium, and certainly not the “global” behavior throughout the state space. Second, the
dynamics of a nonlinear system are much richer that the dynamics of a linear system. There are

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).

• Subharmonic, harmonic or almost-periodic oscillations: A nonlinear system with a periodic


input may exhibit a periodic output whose frequency is either a subharmonic or a harmonic
of the input frequency. For example, an input of frequency 10 Hz may result in an output of
5 Hz for the subharmonic case or 30 Hz for the harmonic case.

• 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

Figure 2.2: Jump resonance in a frequency response.

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.

• Jump phenomenon: A jump phenomenon is illustrated in Figure 2.2. Here a nonlinear


system frequency response that exhibits the jump phenomenon is shown, which is called
jump resonance. Suppose that the nonlinear system input is a sinusoid of constant amplitude.
Then, as the frequency of the input sinusoid is increased, a discontinuity (jump) occurs in
the amplitude of the response. As the frequency of the input is deceased, again a jump
occurs but at a different frequency.

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

ẋ = f (x, u), f (x̄, ū) = 0. (2.13)

Hence, suppose that a (small) perturbation occurs such that

x = x̄ + ∆x, u = ū + ∆u, (2.14)

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̄,ū

Since ẋ = x̄˙ + ∆ẋ and f (x̄, ū) = 0, we have that


∂f ∂f
x̄˙ + ∆ẋ = ∆x + ∆u + higher-order terms. (2.16)
∂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

∆ẋ = A∆x + B∆u, ∆x(t0 ) = ∆x0


(2.17)
∆y = C∆x + D∆u,

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̄(·), ū(·))

∆ẋ = A(t)∆x + B(t)∆u


(2.19)
∆y = C(t)∆x + D(t)∆u.

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).

Example 2.5 Consider the nonlinear differential equation

γ̈ + (1 + γ )γ̇ = u.

The state-space equations are determined by defining x1 = γ and x2 = γ̇ , i.e.,


 
ẋ1 = x2 = f1 x1 , x2 , u
 
ẋ2 = −x1 x2 − x2 + u = f2 x1 , x2 , u .

Then, from (2.18) (verify!)


       
∂ f1 ∂ f1 ∂ f1
∂ x1 ∂ x2 0 1 ∂u 0
A=  =  and B =   = .
∂ f2 ∂ f2 ∂ f2
∂ x1 ∂ x2 −x2 −x1 − 1 ∂u 1
x̄,ū x̄,ū x̄,ū

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)

Figure 2.3: Differential-algebraic equations, transformed to state-space form.

2.3 Differential-Algebraic Model Equations


The model in the set of equations (2.3) is not the most general one encountered in dynamical
system modeling. In fact, as we will see later on, in general we have mixed differential and
algebraic equations of the form
 
ẋ1 (t) = f x1 (t), x2 (t), u(t),t
 
0 = g x1 (t), x2 (t), u(t),t (2.20)
 
y(t) = h x1 (t), x2 (t), u(t),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

p̃1 , S⊤ (q)p, p̃1 ∈ Rr−k


(2.26)
p̃2 , A⊤ (q)p, p̃2 ∈ Rk .

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

form (∗ denoting unspecified elements):


 
∂ H̃
    (q, p̃) 
q̇ 0n S(q) ∗   ∂q 
    
 ˙1   ⊤    ∂ H̃ 
 p̃  =  −S (q) − p⊤ [Si , S j ](q) i, j ∗   1 (q, p̃)  +
     ∂ p̃ 
 
p̃˙2 ∗ ∗ ∗  ∂ H̃ 
2
(q, p̃)
∂ p̃
   
0 0
   
   
 0  λ +  Bc (q)  u
   
A⊤ (q)A(q) B̄(q)
∂H ∂ H̃
A⊤ (q) = A⊤ (q)A(q) 2 = 0,
∂p ∂ p̃
with H̃(q, p̃) the Hamiltonian expressed in the new coordinates. Here Si denotes the i-th column
of S(q), i = 1, . . . , r − k, and [Si , S j ] is the Lie bracket3 of Si and S j , in local coordinates q given as

∂Sj ∂ Si
[Si , S j ](q) = (q)Si (q) − (q)S j (q).
∂q ∂q

Since λ only influences the p̃2 dynamics, and the constraints


∂H
A⊤ (q) (q, p) = 0
∂p
are equivalently given by

∂ 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

3 We come back to Lie brackets later.

17
Chapter 2. Nonlinear System Modeling

a L1 c L3

− −
C1 C2 L2 ❄
+ +
❄ + −
b
d
L4 C3

Figure 2.4: Linear LC circuit.

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,

or in matrix-vector notation, A⊤ q̇ = 0, with


 
1 0 0 −1 0 0 −1
 

 0 0 1 0 0 1 1 
A =  .

 0 1 0 1 −1 −1 0 
−1 −1 −1 0 1 0 0

According to its definition A is minimal if rank(A) = k everywhere. Since rank(A) = 3, we con-


clude there is one constraint too many. This is due to the fact that we didn’t specify the equipoten-
tial (i.e., the circuit has no earth reference yet) for the circuit. Suppose that we take the point d as
the equipotential, then the constraints reduce to
 
1 0 0 −1 0 0 −1
A⊤ =  0 0 1
 
0 0 1 1 . (2.28)
0 1 0 1 −1 −1 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.,

q̇C1 = q̇L1 + q̇L4

q̇C2 = −q̇L1 + q̇L2 + q̇L3

q̇C3 = −q̇L3 − q̇L4 .

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

where Hc (p1 , p2 ) = 21 p21 + 21 p22 .

2.4 From Linear Spaces to Manifolds


In the previous sections we have seen that many physical and engineering systems can be described
by a set of nonlinear first-order differential equations (2.3). Until now we have assumed that the
system dynamics are properly defined on a state-space which is equal to the Euclidian space Rn ,
or more generally a finite-dimensional linear space. However, many systems are defined on a state
space which is a curved n-dimensional surface, called a (smooth) manifold. As a consequence, the
equations (2.3) usually do not describe the system on the whole state space manifold, but only on
a part of it. On another part of the state space manifold we may need another representation of
the system in equations like (2.3). In geometric language we say that (2.3) is a local coordinate
expression of the system we wish to describe, and that in order to cover the whole system more
than one coordinate expression (’chart’) is needed.
A (smooth) manifold4 is a topological space which is locally linear (i.e., around every point,
there is a neighborhood which can be identified with an open part of Rn ). To illustrate this idea,
consider the ancient belief that the Earth was flat as contrasted with the modern evidence that it is
round. This discrepancy arises essentially from the fact that on the small scales that we see, the
Earth does indeed look flat (although the Greeks did notice that the last part of a ship to disappear
over the horizon was the mast). In general, any object which is nearly “flat” on small scales is a
manifold, and so manifolds constitute a generalization of objects we could live on in which we
would encounter the round/flat Earth problem, as first codified by Poincaré. More formally, any
object that can be “charted” is a manifold.
In the case of smooth manifolds (as in these Lecture Notes) overlapping charts “relate smoothly”
to each other, meaning that the inverse of one followed by the other is a smooth (infinitely often
differentiable) map from (an open part of) Rn to itself.
Manifolds arise naturally in a variety of applications as “global objects”. For example, the
configuration space of a typical robot arm is not a linear space but a manifold. The same holds for
the description of a bicycle, or an airplane. From the geometric perspective, manifolds represent
the profound idea having to do with global versus local properties.
Luckily, many properties of Rn carry over to manifolds. In particular, the notions of continuity
and differentiability of functions on Rn can be extended to functions on a manifold. This allows
us to extend the whole machinery of calculus on Rn to calculus on manifolds.
A submanifold is a subset of a manifold which is itself a manifold, but has smaller dimension.
For example, the equator of a sphere is a submanifold. Most examples of manifolds are naturally
defined as submanifolds of RN for some N. In fact, Whitney showed in the 1930s that any n-
dimensional manifold can be embedded in RN , where N = 2n + 1.
4 See e.g. Eric’s W. Weisstein’s World of Mathematics ([Link]

21
Chapter 2. Nonlinear System Modeling

r3

✲ r1
e3
✻ ⑦
r2

✲ e2


Rei = ri, for i = 1, 2, 3.
e1

Figure 2.5: Angular position of a spacecraft.

In general, a k-dimensional submanifold of Rn , (1 < k < n) can be often represented as the


solution set of nonlinear equations

η (x) = 0,

where η : Rn → Rn−k is a smooth map. For example, the unit circle



x ∈ R2 |x21 + x22 = 1 , S1

is a one-dimensional manifold in R2 . Similarly, the unit sphere


 n
x ∈ Rn | ∑ x2i = 1 , Sn−1
i=1

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

Ṙ(t) = −R(t)S(ω (t)), (2.29)

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

with ω = col(ω1 , ω2 , ω3 ). An alternative (local) description of (2.29) is obtained as follows. The


angular position may be described locally by three angles ϕ , θ and ψ , which represent consecutive
clockwise rotations about the axes r1 , r2 and r3 , respectively. Setting ri to be the standard i-th basis
vector in R3 we obtain for the kinematic equations
      
ω1 ϕ̇ 1 0 0 0
      
 ω2  =  0  +  0 cos(ϕ ) sin(ϕ )   θ̇  +
ω3 0 0 − sin(ϕ ) cos(ϕ ) 0
   
1 0 0 cos(ϕ ) 0 − sin(ϕ ) 0
   
 0 cos(ϕ ) sin(ϕ )   0 1 0  0 .
0 − sin(ϕ ) cos(ϕ ) sin(ϕ ) 0 cos(ϕ ) ψ̇

Therefore,
    
ϕ̇ 1 sin(ϕ ) tan(ϕ ) cos(ϕ ) tan(ϕ ) ω1
    
 θ̇  =  0 cos(ϕ ) − sin(ϕ )   ω2  .
ψ̇ 0 sin(ϕ )(cos(ϕ ))−1 cos(ϕ )(cos(ϕ ))−1 ω3

Clearly, this description is only locally valid in the region


π π
− <θ < ,
2 2
but it serves to show that the equations (2.29) evolve on a three dimensional state-space manifold
(which in fact is a Lie group SO(3) of 3 × 3 real orthonormal matrices with determinant 1).
Another local (approximate) description of the dynamics is by concerning the linearization
round an equilibrium point. Its easily seen that R = I3 (with I3 the 3 × 3 identity matrix) together
with ω = 0 is an equilibrium for the spacecraft. Linearizing the dynamics (2.29) around I3 yields

∆Ṙ = 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

Controllability and Observability of


Nonlinear Systems

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

Throughout this chapter we will consider nonlinear control systems1

ẋ = f (x) + ∑mj=1 g j (x)u j


(3.1)
yi = hi (x), i = 1, · · · , p

Here x = (x1 , · · · , xn ) are coordinates defined on a domain D ⊂ Rn .


The unique solution2 of (3.39) at time t ≥ 0 for a particular input (control) function u(·) and
initial condition x(0) = x0 will be denoted as x(t, 0, x0 , u), or simply as x(t).

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

For linear 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.

3.1.1 Nonlinear controllability and linearization


The simplest method to study controllability for a nonlinear system is to study the controllability of
its linearization around an equilibrium point. This is evidenced by the following theorem. Recall
1
the notation kzk = (z21 + · · · + z2k ) 2 for the (Euclidian) norm of any vector z ∈ Rk .

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

u(t, ξ1 , . . . , ξn ) := ξ1 v1 (t) + · · · + ξn vn (t) (3.5)

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

ξ 7→ x(T, ξ ), ξ near 0. (3.6)

We shall show that the matrix


∂x
Z(t) = (t, ξ ) (3.7)
∂ξ ξ =0

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

we can differentiate (3.8) with respect to ξ at ξ = 0, so as to obtain


h i
Ż(t) = AZ(t) + B v1 (t) · · · vn (t) , Z(0) = 0, (3.9)
h i
where A = ∂∂ xf (x0 ) and B = g1 (x0 ) · · · gm (x0 ) . By definition of vi it follows that the columns of
Z(T ) are independent.

Hence controllability of the linearization at an equilibrium implies ’local’ controllability: there


exists a neighborhood of x0 which can be reached from x0 .
In fact, Proposition 3.2 can be sharpened to a stronger statement [1]. First we state the follow-
ing definition. Define the ball Bδ (x0 ) with radius δ as Bδ (x0 ) := {x | kx − x0 k < δ }.

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

Figure 3.1: Model of a car.

Thus controllability of the linearization at an equilibrium implies a local form of controllability.


On the other hand, as is illustrated by the following example, controllability of the linearization is
not a necessary condition for controllability of the nonlinear system: information about nonlinear
controllability may get lost in the process of linearization.

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

gives ∆ẋ = b1 ∆u1 + b2 ∆u2 , with


   
cos(x̄3 + x̄4 ) 0
   
 sin(x̄3 + x̄4 )  0
b1 =  sin(x̄ )  , b2 =  0  .
  
 4   
0 1

Since A = 0 the controllability rank condition (3.2) yields rank(B AB A2 B A3 B) = 2 < 4.


Hence, the linearized system is not controllable at every point x∗ ∈ R4 . On the other hand, as
we will see later on, this model of driving a car is controllable (in accordance with most people’s
experience of driving a car). Thus the controllability of this nonlinear system is due to nonlinear
terms which are lost in linearization. ◭

An even simpler example illustrating the main ideas is the unicycle model given as

ẋ1 = u1 cos x3

ẋ2 = u1 sin x3 (3.10)

ẋ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

arbitrary initial condition x(0) = (x10 , x20 , x30 ), then


 
x10 + ε cos x30 − ε cos(x30 + ε )
 
x(4ε ) =  x20 + ε sin x30 − ε sin(x30 + ε ) 
x30

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

thus strongly suggesting controllability !

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).

3.2 Mathematical Preliminaries

In this section we define some mathematical notions that will be crucial in the subsequent devel-
opments.

3.2.1 Vector fields and co-vector fields

A vector field on a domain D ⊂ Rn is a mapping f : D → Rn with ’additional transformation prop-


erties’. Thus, a vector field f is not just an arbitrary mapping from D to Rn ; it should correspond
to a set of differential equations

ẋ = 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)

transforms under a linear coordinate transformation z = Sx (with S an invertible matrix) to

ż = SAS−1 z (3.17)

Let us summarize this in the following definition.

Definition 3.6 A vector field f on D is a mapping f : D → Rn which transforms under a coordinate


transformation z = S(x) to the mapping f˜ given by (3.15).

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.

Example 3.7 Consider the vector field X on R2 given by


" #
x1
X (x1 , x2 ) = ,
x2

corresponding to the system of differential equations

ẋ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

ẋ1 = ṙ cos ϕ − r sin ϕ ϕ̇

ẋ2 = ṙ sin ϕ + r cos ϕ ϕ̇ ,


3 The ∂S
Jacobian ∂ x (x) of a coordinate transformation S : Rn → Rn is the n × n matrix with (i, j)-th element given by
∂ Si
∂ x j (x).

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

leading to the expression of the vector field X in polar coordinates given as


" #
r
X̃(r, ϕ ) =
0
(The validity of this expression can be also seen from drawing the phase portrait of the vector field
X .) An equivalent second way is to express r, ϕ in terms of x1 , x2 ; that is, to consider the coordinate
transformation (r, ϕ ) = S(x1 , x2 ) given as
q
x2
r = x21 + x22 , ϕ = arctan ,
x1
and to write out directly the set of differential equations in polar coordinates

ṙ = √ 12 (2x1 ẋ1 + 2x2 ẋ2 ) = √ 1


(x2 + x22 ) = r
2 x1 +x22 x21 +x22 1
ϕ̇ = 1
x ( ẋ2
1+( x2 )2 x1
− xx22 ẋ1 ) = 0
1 1

leading to the same expression for X̃(r, ϕ ).


Thirdly, we may compute
  " #
∂S √ x21 2 √ x22 2 cos ϕ sin ϕ
x1 +x2 x1 +x2 
(x) =  −x = (3.18)
∂x 2
2
2 2
x1
2
− sinr ϕ cosr ϕ
x1 +x2 x1 +x2

and then compute X̃(r, ϕ ) again as


" #" # " #
∂ S −1 cos ϕ sin ϕ r cos ϕ r
X̃(r, ϕ ) = (S (r, ϕ )) f (S−1 (r, ϕ )) = sin ϕ cos ϕ = (3.19)
∂x − r r r sin ϕ 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

h̃(z) := h(S−1 (z)) (3.20)

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.

Definition 3.8 A co-vector field α on D is a mapping α : D → (Rn )∗ which transforms under a


coordinate transformation z = S(x) to the mapping α̃ given by

∂ 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.,

ẋ = f (x) + ∑mj=1 g j (x)u j


(3.24)
yi = hi (x), i = 1, · · · , p

are to be interpreted as coordinate expressions on a domain D ⊂ Rn , where f is called the drift


vector field, g j are called the input vector fields, and hi are called the output functions. Further-
more, the (control) inputs u = (u1 , . . . , um ) take value in a set U ⊂ Rm ; often we will take U = Rm .
This immediately generalizes to the definition of a control system on an arbitrary manifold X .
−1
4 Note that ∂ ∂S z (z) = ( ∂∂ Sx (S−1 (z)))−1 . This follows from differentiating the equality S ◦ S−1 = id, with id denoting
the identity mapping.

33
Chapter 3. Controllability and Observability of Nonlinear Systems

3.2.2 Lie derivatives and Lie brackets


Key in the study of controllability and observability are Lie derivatives and Lie brackets.
Given a scalar function h(x) and a vector field f (x), we define a new scalar function L f h(x),
called the Lie derivative (or simply, the derivative) of h with respect to f .

Definition 3.10 (Lie derivative of a function) Let h : D → R be a smooth function, and f : D →


Rn be a smooth vector field on the domain D ⊂ Rn . Then, the Lie derivative of h with respect to f
is the scalar function defined by
∂h
L f h(x) = (x) f (x) =< dh(x), f (x) > (3.25)
∂x
with < ·, · > denoting the duality product between the tangent vector f (x) and the co-tangent
vector dh(x).

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

L0f h(x) = h(x)


L1f h(x) = L f h(x)
..
.

Lif h(x) = L f Li−1
f h(x) , i = 1, 2, 3, . . . .

Similarly, if g is another vector field, then the scalar function Lg L f h is defined 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 .

Hence, we have that


" # " #
x2 0
f (x) = , g(x) = g = ,
− sin(x1 ) − x2 1

34
§3.2. Mathematical Preliminaries

and h(x) = x21 + x2 . Then,


" #
  x2
L f h(x) = 2x1 1 = 2x1 x2 − sin(x1 ) − x2 ,
− sin(x1 ) − x2

" #
  x2
L2f h(x) = 2x2 − cos(x1 ) 2x1 − 1
− sin(x1 ) − x2

= (2x2 − cos(x1 )x2 − (2x1 − 1)(sin(x1 ) + x2 ),


" #
  0
Lg L f h(x) = 2x2 − cos(x1 ) 2x1 − 1 = 2x1 − 1,
1
and
" #
  0
Lg h(x) = 2x1 1 = 1.
1

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.

Example 3.13 Consider the two vector fields


   
cos x3 0
   
g1 (x) =  sin x3  , g2 (x) = 0
0 1

from the unicycle example. Their Lie bracket is computed as


 
sin x3
 
[g1 , g2 ] = − cos x3 
0

Example 3.14 Consider the two vector fields


" # " #
x2 0
f (x) = , g(x) = .
− sin(x1 ) − x2 x1

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

Lie brackets have the following properties:

• (skew-symmetry) [ f , g] = −[g, f ] for any two vector fields f , g.

• (bilinearity) Let f and g1 , g2 be vector fields. Then

[ f , g1 + g2 ] = [ f , g1 ] + [ f , g2 ]

• (product rule) Let f , g be vector fields, and α a function, then

[ f , α g] = α [ f , g] + L f α · g

• Let f , g be vector fields, and h a function. Then

L[ f ,g] h = L f Lg h − Lg L f h (3.30)

• (Jacobi identity) If f1 , f2 and f3 are vector fields, then

[ 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, . . . .

3.2.3 Distributions and involutivity


Let fi , i ∈ I, with I an arbitrary index set, be smooth vector fields on D ⊂ Rn . Since at any fixed
point x ∈ D, we have that fi (x), i ∈ I, are vectors in Rn we can define for every x ∈ D the subspace

∆(x) := span{ fi (x), i ∈ I}.

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

for certain smooth functions µi (x).


An important notion in the study of distributions is the notion of involutivity.

Definition 3.15 A distribution ∆ is called involutive if, whenever f , g ∈ ∆, also [ f , g] ∈ ∆.

For a distribution ∆ = span{ fi , i ∈ I} it is easily verified that ∆ is involutive whenever

[ fi , f j ](x) ∈ ∆(x), i, j ∈ I, x ∈ D

In particular, if ∆ = span{ f1 , · · · , fk } we only need to check [ fi , f j ](x) ∈ ∆(x), i, j = 1, · · · , k, x ∈ D


for the spanning vector fields f1 , · · · , fk .
6 This terminology has its background in the theory of Lie algebras.

38
§3.2. Mathematical Preliminaries

Example 3.16 Let D = R3 and ∆ = span( f1 , f2 ), where


   
2x2 1
   
f1 (x) =  1  , f2 (x) =  0  .
0 x2

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! ◭

Let ∆ be a nonsingular distribution on D, generated by the independent vector fields f1 , . . . , fr .


then, ∆ is said to be integrable if for each x0 ∈ D, there exists a neighborhood N of x0 and n − r
real-valued independent7 functions h1 (x), . . . , hn−r (x) defined on N, such that h1 (x), . . . , hn−r (x)
satisfy the partial differential equations
∂hj
(x) fi (x) = 0, (3.32)
∂x
for all 1 ≤ i ≤ r and 1 ≤ j ≤ n− r. A more geometric description is as follows. Let the independent
functions h1 (x), . . . , hn−r (x) satisfy (3.33). Then their level sets, i.e., all sets of the form

{x | h1 (x) = c1 , . . . , hn−r (x) = cn−r }

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

{x | h1 (x) = c1 , . . . , hn−r (x) = cn−r }

for certain constants c1 , . . . , cn−r . Then


∂hj
(x)[ fi , f j ](x) = 0, (3.35)
∂x
for all i, j = 1, · · · , n − r, and all x contained in the same level set.

Example 3.18 Consider the following set of partial differential equations


∂ϕ ∂ϕ ∂ϕ
0 = x1 + x2 + x3
∂ x1 ∂ x2 ∂ x3
∂ϕ
0=
∂ x3
To investigate the existence of a smooth function ϕ (x) that satisfies these equation, we define the
vector fields
   
x1 0
   
f1 (x) =  x2  , f2 (x) =  0  .
x3 1

It is easily checked that ∆ = span( f1 , f2 ) is nonsingular with r = 2 whenever x3 6= 0, and involutive


(verify!). Thus, by Frobenius’ theorem, ∆ is integrable throughout the state space except for points
with x3 = 0. Consequently, for each such x0 ∈ R3 , there exists a neighborhood N of x0 and a real-
valued function ϕ (x) with d ϕ (x) 6= 0 that satisfies the given set of partial differential equations.
(Notice that there is only one function ϕ (x) since n − r = 3 − 2 = 1.) In fact, ϕ (x) = ln x1 − ln x2
is a (global) solution. Note that the solution is by no means unique. In particular, ϕ (x) = arctan xx12
is also a (global) solution. ◭

An example of non-involutivity is provided by the example of the unicycle as discussed before.


Indeed, this will already illustrate that controllability is in some sense opposite to involutivity; as
to be further discussed in the following section.

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.

3.3 Controllability for driftless systems


In this section we will study controllability for the situation where the drift vector field in (3.39)
is absent (i.e., f (x) = 0); so-called driftless systems. Note that for this case the linearization of the
system around any equilibrium is never controllable whenever m < n (number of inputs is smaller
than the number of states), and thus controllability can only result from the nonlinearities in the
system description.
For simplicity we start with the case of only two input vector fields, i.e.,

ẋ = g1 (x)u1 + g2 (x)u2 , x ∈ D ⊂ Rn , u = col(u1 , u2 ) ∈ R2 . (3.36)

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

However, if [g1 , g2 ](x0 ) ∈


/ G (x0 ) we can actually steer into a direction outside G (x0 ) as follows.
Let u = col(u1 , u2 ) be defined as the switching strategy (used before for the unicycle example !)



 (1, 0), t ∈ [0, ε ), ε > 0

 (0, 1), t ∈ [ε , 2ε )
u(t) =


 (−1, 0), t ∈ [2ε , 3ε )

 (0, −1), t ∈ [3ε , 4ε ),

It can be verified that the solution of the system (3.36) is described by (see Section 3.8 for a
detailed derivation)

x(4ε ) = x0 + ε 2 [g1 , g2 ](x0 ) + O(ε 3 ). (3.37)

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 , g2 ]] [g2 , [g1 , g2 ]]

[g1 , [g1 , [g1 , g2 ]]] [g2 , [g1 , [g1, g2 ]]] [g1 , [g2 , [g1 , g2 ]]] [g2 , [g2 , [g1, g2 ]]]

Figure 3.2: The Lie bracket tree.

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) .

Furthermore, a useful higher-order Lie bracket is the following


 
− sin(x3 )
 
 cos(x3 ) 
[Wriggle, Drive] = 
  , Slide.
0 
 
0

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}. ◭

We can state the following theorem.

Theorem 3.22 Consider a system without drift vector field

ẋ = g1 (x)u1 + g2 (x)u2 + · · · + gm (x)um (3.38)

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.

3.4 Local (strong) accessibility of nonlinear systems with drift vector


field
In this section we consider nonlinear control systems
m
ẋ = f (x) + ∑ g j (x)u j , u = (u1 , . . . , um ) ∈ U ⊂ Rm , (3.39)
j=1

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.

3.4.1 Local accessibility

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.

Example 3.27 Consider the system on R2

ẋ1 = x22
ẋ2 = u.

The accessibility algebra Ca contains the vector fields


"# " #
x22 0
f (x) = , g(x) = ,
0 1

and the Lie brackets


" # " #
−2x2 2
[ f , g](x) = , [[ f , g], g](x) = .
0 0

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.

10 A set is dense if its complement does not contain an open set.

46
§3.4. Local (strong) accessibility of nonlinear systems with drift vector field

x2

x0

✲ x1

Figure 3.3: Reachable set from x0 .

3.4.2 Local strong accessibility

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 .

Note that, loosely speaking, Csa equals ”Ca minus 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

with A1 = (a2 − a3 )a−1 −1


1 , A2 = (a3 − a1 )a2 , A3 = (a − a )a−1 and α1 = a−1 −1
1 i , α2 = a2 . Denote
h 1 iT2 3 h T
f (ω ) = (A1 ω2 ω3 , A2 ω1 ω3 , A3 ω2 ω1 )T , g1 (ω ) = α1 0 0 , g2 (ω ) = 0 α2 0 . Compute
    
0 A1 ω3 A1 ω2 α1 0
    
[g1 , f ](ω ) = A2 ω3 0 A2 ω1   0  = α1 A2 ω3 
A3 ω2 A3 ω1 0 0 α1 A3 ω2
     (3.42)
0 A1 ω3 A1 ω2 0 α2 A1 ω3
    
[g2 , f ](ω ) = A2 ω3 0 A2 ω1  α2  =  0 
A3 ω2 A3 ω1 0 0 α2 A3 ω1

On the other hand


    
0 0 0 0 0
    
[g2 , [g1 , f ] ](ω ) = 0 0 α1 A2  α2  =  0  (3.43)
0 α1 A3 0 0 α1 α2 A3

which also equals [g1 , [g2 , f ] ](ω ). Hence the vectors


     
α1 0 0
     
 0  , α2  ,  0  (3.44)
0 0 α1 α2 A3

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

(3.41) is locally strongly accessible ⇐⇒


(3.46)
dim span{b1 , b2 , S(ω )J −1 ω ; ω ∈ span{b1 , b2 } } = 3

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

Now g, ḡ2 , ḡ3 span R3 for all ω ∈ R3 if and only if


 
α Aγβ A2 γ 2 α
det β −Aγα A2 γ 2 β  = A3 γ 4 (α 2 + β 2 ) 6= 0.
 
(3.49)
γ 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. ◭

Let us now apply the theory developed above to a linear system


m
ẋ = Ax + ∑ bi ui , x ∈ Rn ,
i=1

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.,

[bi , b j ] = 0, for all i, j ∈ m.

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.

3.5 A formal proof of local accessibility and controllability


3.5.1 The basic theorem
Consider the nonlinear control system (3.39), that is
m
ẋ = f (x) + ∑ g j (x)u j , u = (u1 , . . . , um ) ∈ U ⊂ Rm
j=1

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

N1 = (X1t1 (x0 ) | 0 < t1 < ε1 ) (3.52)

is a submanifold of D of dimension 1, contained in W . Let us now construct N j for j > 1 by


induction. Assume that we have constructed a submanifold N j−1 ⊂ W of dimension j − 1 defined
as
t t
j−1
N j−1 = {X j−1 j−2
◦ X j−2 ◦ · · · ◦ X1t1 (x0 ) | 0 ≤ σi < ti < εi , i = 1, · · · , j − 1} (3.53)

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 )

Figure 3.4: Illustrating the proof of Proposition 3.22

Finally, for the proof of Theorem 3.30 concerning local strong accessibility we refer to [3].

3.5.2 Good and bad brackets


Although the Lie-algebraic conditions for local (strong) accessibility of nonlinear systems with
drift vector field are elegant, and often easy to verify, the fact that local (strong) accessibility

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).

Theorem 3.34 Consider a single-input system with equilibrium 0

ẋ = f (x) + g(x)u, f (0) = 0

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. ◭

Example 3.36 Consider a linear single-input system

ẋ = 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. ◭

3.6 Controllability and stabilizability for nonlinear systems


As is well-known, see also Appendix 3.6, in the linear case ẋ = Ax + Bu there is an immediate
and elegant relation between controllability and stabilizability. Here stabilizability refers to the
existence of a feedback matrix F such that A + BF has all its eigenvalues in the open left-half
of the complex plane. In fact (see Appendix 3.6) the systems is controllable if and only if the
eigenvalues of A + BF can be located at arbitrary points (symmetric with respect to the real axis)
in the complex plane by a suitable choice of F (sometimes referred to as the pole placement
theorem).

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

is that the image of the mapping


m
(x, u) 7→ 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.

3.7 Observability for nonlinear systems


In this section we will discuss the notion of observability for nonlinear systems. For that, let
us consider the smooth nonlinear system (3.39) as before, but now together with an output map
y = h(x), i.e.,
m
ẋ = f (x) + ∑ g j (x)u j , u = col(u1 , . . . , um ) ∈ U ⊂ Rm
j=1 (3.62)
yi = hi (x), i = 1, . . . , p,

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

y(t, 0, x1 , u) 6= y(t, 0, x2 , u), t ≥ 0.

Otherwise, the states x1 and x2 are V-indistinguishable.

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.,

Lvk Lvk−1 · · · Lv1 h j (x), j ∈ p, k = 1, 2, . . . , (3.63)

where vi , i ∈ k, is a vector field in the set { f , g1 , . . . , gm }.

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)

where vi , i ∈ k, is a vector field in the set { f , g1 , . . . , gm }. The distribution Oc is invariant with



respect to f , g1 , . . . , gm and it is contained in the kernel of span dh1 , . . . , dh p . If Oc is nonsingular,
it is also involutive. We are now ready to state the main theorem concerning local observability.

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)

then the system (3.62) is locally observable at x0 .

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.

Let us compute the observation space Os . First,

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,

which is again constant. In general we have

L2Ax ci x = ci A2 x
..
.
LkAx ci x = ci Ak x.

Finally, we conclude that



Os = span ci x, ci Ax, . . . , ci An−1 x, i ∈ p + constant functions. (3.66)

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.

Example 3.43 Consider the bilinear system


     
ẋ1 x2 0
     
 ẋ2  =  x3  +  x1  u, y = h(x) = x2 .
ẋ3 0 0
| {z } | {z }
f (x) g(x)

The following can be concluded about the observability properties of the system:

58
§3.7. Observability for nonlinear systems

• The linearized system around (0, 0, 0) is not observable.

• The system with g(x) = 0, yields


!
[0 0 1]
Os = span .
[0 1 0]

• On the other hand, for the system in the present form


 
[1 0 0]
 
Os = span  [0 1 0]  .
[0 0 1]

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

Figure 3.5: Magnetic levitation system.

Lkf h(x), k = 0, 1, 2, i.e.,

L0f h(x) = h(x) = x1

∂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)

3.8 Appendix: Derivation of formula (3.37)


In this (appendix) section we show how to derive the system response defined by (3.37), which is
repeated here for ease of reference

x(4ε ) = x0 + ε 2 [g1 , g2 ](x0 ) + O(ε 3 ).

How to obtain this result? By Taylor expansion, we have


1
x(ε ) = x(0) + ε ẋ(0) + ε 2 ẍ(0) + · · ·
2
1 2 ∂ g1
= x0 + ε g1 (x0 ) + ε (x0 )g1 (x0 ) + · · ·
2 ∂x
Similarly (only writing terms up to order ε 2 ),
1 ∂ g2
x(2ε ) = x(ε ) + ε g2 (x(ε )) + ε 2 (x(ε ))g2 (x(ε )) + · · ·
2 ∂x 
 1 ∂ g1
= x0 + ε g1 (x0 ) + g2 (x0 ) + ε 2 (x0 )g1 (x0 )+
2 ∂x

∂ g2 1 ∂ g2
(x0 )g1 (x0 ) + (x0 )g2 (x0 ) + · · ·
∂x 2 ∂x
where we have used the fact that
∂ g2
g2 (x0 + ε g1 (x)) = g2 (x0 ) + ε (x0 )g1 (x) + · · ·
∂x
Next, we compute (for sake of brevity: all functions are evaluated at x0 and are thus the arguments
are omitted, unless stated otherwise)
1 ∂ g1
x(3ε ) = x(2ε ) − ε g1 (x0 + ε (g1 + g2 ) + · · · ) + ε 2 (x0 + · · · )g1 (x0 + · · · ) + · · ·
 2 ∂x 
2 1 ∂ g1 ∂ g2 1 ∂ g2
= x0 + ε (g1 + g2 ) + ε g1 + g1 + g2 −
2 ∂x ∂x 2 ∂x
 
∂ g1 1 ∂ g1
ε g1 + ε (g1 + g2 ) + ε 2 g1
∂x 2 ∂x
 
2 ∂ g2 ∂ g1 1 ∂ g2
= x0 + ε g2 + ε g1 − g2 + g2 + · · ·
∂x ∂x 2 ∂x
Finally, we obtain
1 ∂ g2
x(4ε ) = x(3ε ) − ε g2 (x0 + ε g2 + · · · ) + ε 2 (x0 + · · · )g2 (x0 + · · · ) + · · ·
 2 ∂x 
∂ g2 ∂ g1 1 ∂ g2
= x0 + ε g2 + ε 2 g1 − g2 + g2 −
∂x ∂x 2 ∂x
 
∂ g2 1 ∂ g2
ε g2 + ε g2 + ε 2 g2 + · · ·
∂x 2 ∂x
 
2 ∂ g2 ∂ g1
= x0 + ε g1 − g2 +O(ε 3 ).
∂x ∂x
| {z }
[g1 ,g2 ]

61
Chapter 3. Controllability and Observability of Nonlinear Systems

3.9 Appendix: Controllability and observability of linear systems


In this appendix we give a brief account of the theory of controllability and observability of linear
input-state-output systems.

3.9.1 Controllability
Linear systems are given by equations of the form

ẋ = Ax + Bu, (3.68)

where A is a constant n × n matrix and B a constant n × m matrix.

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 ,

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 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.

Also for observability, we have some equivalent characterizations.

Theorem 3.48 For the system (3.69), the following statements are equivalent:

1. The system is observable;

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.

We conclude this appendix with the following definition.

Definition 3.49 The system

ẋ = 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.

3.10 Notes for Chapter 3


Large parts of this chapter are based on Chapter 3 of the book [3], though we have restricted
ourselves to coordinate neighborhoods D instead of general manifolds. This book contains some
extra examples and formal proofs of all statements in the present chapter. The theory regarding
’good’ and ’bad’ brackets, as well as extensions to the partial differential equation case, can be
found in [1]. For further background on nonlinear control we refer to [2, 3].

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

Feedback Linearization of Nonlinear


Systems

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

M(q)q̈ +C(q, q̇) + K(q) = τ , (4.1)

where q is an n-dimensional vector of position (or configuration) coordinates, M(q) is the n × n


mass matrix, C(q, q̇) are the centrifugal and Coriolis forces, K(q) = ∂∂Vq (q) denote the components
of the vector of potential energy forces (e.g., gravity), and τ ∈ Rn is the vector of external gen-
eralized forces (translational and rotational). Already for a simple two-degree-of-freedom robot
manipulator, these equations, although looking innocently in the compact formulation (4.1), tend
to become quite complicated. On the other hand, if the external forces τ are available for control
action, then we may define an equivalent input vector v ∈ Rn by setting

τ = C(q, q̇) + K(q) + M(q)v (4.2)

’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). ◭

Example 4.2 Consider the 2-dimensional nonlinear system

ẋ1 = −2x1 + ax2 + sin x1


(4.4)
ẋ2 = −x2 cos x1 + u cos 2x1

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

ẋ = [ f (x) + g(x)α (x)] + [g(x)β (x)]v =: f˜(x) + g̃(x)v, (4.9)

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).

Definition 4.3 (Feedback linearization) The problem of feedback linearization is to investigate


when the dynamics (4.8) can be transformed by a state feedback u = α (x) + β (x)v, with β (x)
invertible, together with a state space transformation z = S(x), into a linear system

ż = 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)

by means of coordinate transformations z = S(x) in a neighborhood of an equilibrium point of f .


This problem has a long history in mathematics, starting at least with the work of Poincaré, and
is known to be hard in general. Surprisingly, we shall see that in a sense the addition of inputs

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).

4.2 Geometric Conditions for Feedback Linearization of Single-Input


Systems
Consider the single-input system

ẋ = f (x) + g(x)u, f (x0 ) = 0, (4.13)

The feedback linearization problem is to find a state feedback law

u = α (x) + β (x)v, v ∈ R, β (x) 6= 0 for all x (4.14)

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)

for a certain n × n matrix A and n-dimensional column vector b.


The main technical proposition reads as follows. Recall the following notation for any two
vector fields f and g

ad f g := [ f , g], ad k+1 k
f g := [ f , ad f g], k = 1, 2, . . . (4.16)

and define for notational completeness ad 0f g = g.


Furthermore, for notational convenience we sometimes denote LX ϕ = d ϕ (X ) as hd ϕ , X i, for
any vector field X and function ϕ . (Recall that geometrically X (x) is a tangent vector while d ϕ (x)
is a co-tangent vector; with hd ϕ (x), X (x)i denoting the duality product between the tangent space
and its dual co-tangent space.)

Proposition 4.4 Consider the single-input system (4.13). Suppose there exists a function ϕ such
that

hd ϕ , adkf gi(x) = 0, k = 0, 1, . . . , n − 2 (4.17)

Then the statement

(a) hd ϕ , adn−1
f gi(x0 ) 6= 0

68
§4.2. Geometric Conditions for Feedback Linearization of Single-Input Systems

implies the following two statements


(b) the functions ϕ , L f ϕ , . . . , Ln−1
f ϕ are independent around x0 .

(c) the vector fields g, [ f , g], . . . , adn−1


f g are independent around x0 .

Conversely, if g(x0 ) 6= 0 then (b) implies (a), and if d ϕ (x0 ) 6= 0 then (c) implies (a).

In order to prove Proposition 4.4 we state the following auxiliary lemma.

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,

(b) hdL jf ϕ , adif gi = 0, i + j = 0, 1, 2, . . . , n − 2,

(c) hdLkf ϕ , gi = 0, k = 0, 1, 2, . . . , n − 2.

Furthermore if one of the above statements holds, then

(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

0 = L f hd ϕ , adkf gi = hdL f ϕ , adkf gi + hd ϕ , adk+1


f gi. (4.18)

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

hdL jf ϕ , adkf gi = 0 = hdL jf ϕ , adk+1


f gi. (4.19)

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

hdLkf ϕ , adif gi = 0 = hLk+1 i


f ϕ , ad f gi (4.21)

69
Chapter 4. Feedback Linearization of Nonlinear Systems

Hence

0 = L f hdLkf ϕ , adif gi = hdLk+1 i k i+1


f ϕ , ad f gi + hdL f ϕ , ad f gi =
(4.22)
= hdLkf ϕ , adi+1
f gi,

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)

Hence hdLkf ϕ , adn−k−1


f gi = −hdLk−1 n−k
f ϕ , ad f gi = −(−1)k−1 hd ϕ , adn−1
f gi, so that (d) holds for
k.

Proof of Proposition 4.4 Consider the following product of two n × n matrices


 

 
 dL f ϕ  h i
  g ad f g · · · adn−1 g (x0 ) =
  f
 
dLn−1
f ϕ
  (4.24)
hd ϕ , gi hd ϕ , adn−1
f gi
 
 
  (x0 )
 
 
hdLn−1
f ϕ , gi hdL n−1
f ϕ , ad n−1
f gi

which by (4.17) and Lemma 4.5(b) is of the form


 
0 0 hd ϕ , adn−1
f gi
 
 
  (x0 ) (4.25)
 
0 
hdLn−1
f ϕ , gi ∗
Now suppose that (a) holds, then because of Lemma 4.5(d) the matrix (4.25) is nonsingular, and
hence the two n × n matrices on the left-hand side of (4.24) are also nonsingular, so that (b) and
(c) follow. Conversely, suppose (c) holds and d ϕ (x0 ) 6= 0 then by (4.17) necessarily (a) holds.
Also, suppose (b) holds and g(x0 ) 6= 0. By (4.17) and Lemma 4.5(b) it follows that hdLkf ϕ , gi = 0,
k = 0, 1, 2, . . . , n − 2. Since g(x0 ) 6= 0 necessarily hdLn−1
f ϕ , gi(x0 ) 6= 0 and thus by Lemma 4.5(d)
(a) follows.

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

hd ϕ , adkf gi(x) = 0, k = 0, 1, . . . , n − 2, x in a neighborhood of x0 , (4.26a)


hd ϕ , adn−1
f gi(x0 ) 6= 0. (4.26b)

Proof If (4.26) holds then by Proposition 4.4 the functions ϕ , L f ϕ , . . . , Ln−1


f ϕ are independent
around x0 . Thus we may define the coordinates z = (z1 , . . . , zn ) by

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

żi = L f +gu (Li−1 i i−1 i


f ϕ )(x) = L f ϕ (x) + uLg L f ϕ (x) = L f ϕ (x) = zi+1 , (4.28a)

since Lg Li−1 i−1


f ϕ (x) = hdL f ϕ , gi(x) = 0 by Lemma 4.5(b), and

żn = Lnf ϕ (x) + uLg Ln−1


f ϕ (x). (4.28b)

By (4.26b) and Lemma 4.5(d) Lg Ln−1


f ϕ (x) 6= 0 in a neighborhood of x0 so that we can define the
regular static state feedback
−1
u = (Lg Ln−1 n
f ϕ (x)) (−L f ϕ (x) + v), (4.29)

resulting in the controllable linear system


   
01 0 0
   
   
ż = 

 z +   v.
 0 (4.30)
 1  
0 0 1

This specific form is usually called the Brunovsky normal form.


Conversely, assume the system is feedback linearizable to a controllable linear system (4.15).
Recall that

[Ax, b] = −Ab (4.31)

and inductively

[Ax, Ak b] = −Ak=1 b, k = 1, 2, . . . (4.32)

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)

and the regular static state feedback u = α (x) + β (x)v as


−1 n
α (x) = −(Lg Ln−1
f ϕ (x)) L f ϕ (x)
(4.37)
−1
β (x) = (Lg Ln−1
f ϕ (x))

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

LXi ϕ (x) = 0, Xi := adi−1


f g, i = 1, . . . , n − 1 (4.38)

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.

Example 4.9 Consider the system

ẋ1 = ex2 − x3

ẋ2 = x3

ẋ3 = x21 + u

We compute the three independent vectors


     
0 1 −ex2 − 1
g(x) = 0 , ad f g(x) = −1 , ad2f g(x) =  0 
     

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

u = −x21 − x23 + e−x2 v

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.

Definition 4.10 Consider a smooth nonlinear system

ẋ = f (x, u), u ∈ U ⊂ R, (4.40)

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

(i) a coordinate transformation S : Rn → Rn defined on a neighborhood O of x0 with S(x0 ) = 0,

(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

with extended state xe = (x, u) ∈ M ×U and input w ∈ R.

In the sequel we will also denote the extended system as

ẋe = fe (xe ) + ge (xe )w, xe = (x, u) (4.43)

where fe denotes the vector field f (x, u) ∂∂x and ge (xe ) = ∂


∂u.

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

v = Lnf ϕ (x, u) (4.46)

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

Figure 4.1: Rocket outside the atmosphere.

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

It follows that span{g(x, u), [ f , g](x, u)} is not involutive, since


 
0
 
 
 0 
 
 T 
[g, [ f , g] ](x, u) =  − m cos u  ∈
/ D2 (x, u). (4.49b)
 
 T 
− mx sin u
 1 
0

Therefore by Theorem 4.12 the system is not feedback linearizable. ◭

As is well-known, controllability of a linear system ẋ = Ax + Bu guarantees the existence of a


linear feedback u = Kx such that the characteristic polynomial of the closed loop matrix A + BK is
equal to any desired monic1 polynomial of the same degree. It is therefore clear that if a nonlinear
system is feedback linearizable to a controllable linear system ż = Az + Bv then by an extra linear
feedback u = Kz the poles of the feedback linearized system can be arbitrarily assigned. Hence
the nonlinear system can not only be transformed to a linear system in Brunovsky normal form (cf.
(4.30)), but also to a linear system with an arbitrary characteristic polynomial (of degree n). Let us
study this in more detail for a single-input affine system (4.13), which we assume to be feedback
linearizable to (4.30). As explained in Corollary 4.7 the transformation to (4.30) is performed by
1A polynomial is called monic if the coefficient of its leading term is equal to one.

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

results in the linear system


   
0 1 0
   
   
ż = 

z+ v
 0 (4.51)
 1   
−r0 −rn−1 1

with characteristic polynomial r(λ ) = λ n + rn−1 λ n−1 + rn−2 λ n−2 + · · · + r0 .

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

apply to ẋ = Ax + bu the linear basis transformation z = Sx given as


 
k
 
 kA 
S=  ,
 (4.53)
 
kAn−1

together with the feedback

u = −(LnAx kx + rn−1 Ln−1


Ax kx + · · · + r0 kx) =

= −k(An + rn−1 An−1 + · · · + r0 I)x = −kr(A)x, (4.54)

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

An−i b + pn−1 An−i−1 b + · · · + pi b , (4.55)

with p(λ ) the characteristic polynomial of A.

77
Chapter 4. Feedback Linearization of Nonlinear Systems

4.3 Input-Output Linearization


Another interpretation of the feedback linearization problem as treated in the previous section
is that we aim at constructing an (artificial) output function y = ϕ (x) together with a feedback
u = α (x) + β (x)v such that in the new coordinates zi = Li−1f ϕ (x), i = 1, · · · , n, the closed-loop
system is given as
   
01 0
    h i
   
ż = 

 z +   v, y = 1 0 · · · 0 z = z1 (4.56)
 1
0
 
0 0 1

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

ẋ = f (x) + g(x)u, y = h(x) (4.57)

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)

This, in its turn, implies that


 
ρ −2
L[ f ,g] cρ −2 L f h(x0 ) + . . . + c0 h(x0 ) = 0 (4.63)

Since L[ f ,g] k = L f Lg k − Lg L f k for any function k, and Lg Lr−1


f h(x) = 0, r = 1, . . . , ρ − 1, on a neigh-
borhood of x0 , this reduces to
 
ρ −2
Lg L f cρ −2 L f h(x0 ) + . . . + c0 h(x0 ) = 0 (4.64)

and thus to
 
ρ −1
Lg cρ −2 L f h(x0 ) + . . . + c0 L f h(x0 ) = 0 (4.65)

Using the same reasoning as above this yields


ρ −1
cρ −2 Lg L f h(x0 ) = 0, (4.66)
ρ −1
and thus, since Lg L f h(x0 ) 6= 0, cρ −2 = 0. Hence (4.62) reduces to
ρ −3
cρ −3 dL f h(x0 ) + . . . + c0 dh(x0 ) = 0 (4.67)

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)

z̄˙ = f¯(z) + ḡ(z)u

where z̄ = (zρ +1 , · · · , zn ). Applying the feedback (well-defined in a neighborhood of x0 )


ρ −1 ρ
u = α (x) + β (x)v := (Lg L f h(x))−1 (−L f h(x) + v) (4.70)

thus yields the linear relation

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

z̄˙ = f¯(z) + ḡ(z)[α (x) + β (x)v]. (4.72)

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 θ

ÿ = −u1 cos θ + ε u2 sin θ − g (4.73)

θ̈ = 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)

θ̈ = ε1 (sin θ + v1 cos θ + v2 sin θ ),

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. ◭

4.4 Tracking of Nonlinear Systems

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

|y(t, x0 ) − yref (t)| → 0 (4.78)

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

e(ρ ) (t) + aρ −1 e(ρ −1) (t) + · · · + a0 e(t) = 0 (4.80)

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

Example 4.19 Consider the nonlinear system

ẋ1 = −x31 + u cos x2

ẋ2 = cos x1 cos x2 + u


(4.81)
ẋ3 = x2

y = x3

One computes Lg L f h(x) = 1, i.e., ρ = 2. It follows that the feedback

u = −L2f h(x) + v = − cos x1 cos x2 + v

achieves input-output linearization, with resulting linear input-output behavior

y2 (t) = v(t)

Corresponding state space coordinates are given as

z1 = x3 , z2 = x2 , z3 = x1

(where the choice of z3 is the simplest one). The resulting zero-dynamics is

ż3 = −x31 + u cos x2 = −z23 − cos z3 cos2 z2 + v cos z2

A possible reference trajectory is

yref (t) = sin t

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)]

= − sint − a1 [y(1) (t) + cost] − a0 [y(t) − sint],

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

ÿ = cos(x3 + x4 ) sin x4 + cos(x3 + x4 )u

corresponding to Lg L f h = cos(x3 + x4 ) and ρ = 2. Hence an input-output linearizing feedback is


given as

u = (cos(x3 + x4 ))−1 (− cos(x3 + x4 ) sin x4 + v)

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.

4.5 Disturbance Decoupling of Nonlinear Systems


A second application of the theory of input-output linearization concerns disturbance decoupling.
Consider a nonlinear system

ẋ = f (x) + g(x)u + k(x)d, y = h(x), (4.82)

where, as before, u is a scalar control input, and y a scalar output. Furthermore, d ∈ R is a


disturbance, with k(x) the disturbance vector field.
The disturbance decoupling problem is to find a nonlinear feedback u = α (x) + β (x)v as be-
fore, such that in the closed-loop system

ẋ = f (x) + g(x)α (x) + g(x)β (x)v + k(x)d, y = h(x) (4.83)

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)

for all x in a neighborhood of x0 .

84
§4.6. Notes for Chapter 4

Proof (Of the (if)-direction). Consider as in (4.85) the feedback


ρ −1 ρ
u = α (x) + β (x)v := (Lg L f h(x))−1 (−L f h(x) + v), (4.85)

together with the new z-coordinates as in (4.68), leading to the closed-loop dynamics

żi = zi+1 + ki (z)d, i = 1, · · · , ρ − 1

żρ = 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.,

k1 (z) = k2 (z) = · · · = kρ (z) = 0 (4.87)

(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.

4.6 Notes for Chapter 4


This chapter is largely based on Chapter 6 of the book [2], to which we also refer to a full treat-
ment of the multi-input case. Some examples are taken from [3], to which we refer for more
applications. Further ramifications can be found as well in [2], see also [1].

[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

You might also like