mmr03 Cds

Download as pdf or txt
Download as pdf or txt
You are on page 1of 79

CDS Technical Report, CDS 2003-xxx

http://www.cds.caltech.edu/~murray/papers/2003d_mmr03-cds.html

Flat systems, equivalence and trajectory


generation
Ph. Martin∗ R. M. Murray† P. Rouchon∗
Technical report, April 2003

Abstract
Flat systems, an important subclass of nonlinear control systems in-
troduced via differential-algebraic methods, are defined in a differential
geometric framework. We utilize the infinite dimensional geometry devel-
oped by Vinogradov and coworkers: a control system is a diffiety, or more
precisely, an ordinary diffiety, i.e. a smooth infinite-dimensional manifold
equipped with a privileged vector field. After recalling the definition of
a Lie-Bäcklund mapping, we say that two systems are equivalent if they
are related by a Lie-Bäcklund isomorphism. Flat systems are those sys-
tems which are equivalent to a controllable linear one. The interest of
such an abstract setting relies mainly on the fact that the above system
equivalence is interpreted in terms of endogenous dynamic feedback. The
presentation is as elementary as possible and illustrated by the VTOL
aircraft.

1 Introduction
Control systems are ubiquitous in modern technology. The use of feedback con-
trol can be found in systems ranging from simple thermostats that regulate the
temperature of a room, to digital engine controllers that govern the operation of
engines in cars, ships, and planes, to flight control systems for high performance
aircraft. The rapid advances in sensing, computation, and actuation technolo-
gies is continuing to drive this trend and the role of control theory in advanced
(and even not so advanced) systems is increasing.
A typical use of control theory in many modern systems is to invert the
system dynamics to compute the inputs required to perform a specific task.
This inversion may involve finding appropriate inputs to steer a control system
from one state to another or may involve finding inputs to follow a desired
∗ Centre Automatique et Systèmes, École des Mines de Paris, 35 rue Saint-Honoré, 77305

Fontainebleau, FRANCE. [martin,rouchon]@cas.ensmp.fr.


† Division of Engineering and Applied Science, California Institute of Technology, Pasadena,

CA 91125, USA. [email protected].

1
trajectory for some or all of the state variables of the system. In general, the
solution to a given control problem will not be unique, if it exists at all, and so
one must trade off the performance of the system for the stability and actuation
effort. Often this tradeoff is described as a cost function balancing the desired
performance objectives with stability and effort, resulting in an optimal control
problem.
This inverse dynamics problem assumes that the dynamics for the system
are known and fixed. In practice, uncertainty and noise are always present in
systems and must be accounted for in order to achieve acceptable performance
of this system. Feedback control formulations allow the system to respond
to errors and changing operating conditions in real-time and can substantially
affect the operability of the system by stabilizing the system and extending its
capabilities. Again, one may formulate the feedback regulation problems as
an optimization problem to allow tradeoffs between stability, performance, and
actuator effort.
The basic paradigm used in most, if not all, control techniques is to exploit
the mathematical structure of the system to obtain solutions to the inverse
dynamics and feedback regulation problems. The most common structure to
exploit is linear structure, where one approximates the given system by its lin-
earization and then uses properties of linear control systems combined with ap-
propriate cost function to give closed form (or at least numerically computable)
solutions. By using different linearizations around different operating points, it
is even possible to obtain good results when the system is nonlinear by “schedul-
ing” the gains depending on the operating point.
As the systems that we seek to control become more complex, the use of
linear structure alone is often not sufficient to solve the control problems that are
arising in applications. This is especially true of the inverse dynamics problems,
where the desired task may span multiple operating regions and hence the use
of a single linear system is inappropriate.
In order to solve these harder problems, control theorists look for different
types of structure to exploit in addition to simple linear structure. In this
paper we concentrate on a specific class of systems, called “(differentially) flat
systems”, for which the structure of the trajectories of the (nonlinear) dynamics
can be completely characterized. Flat systems are a generalization of linear
systems (in the sense that all linear, controllable systems are flat), but the
techniques used for controlling flat systems are much different than many of the
existing techniques for linear systems. As we shall see, flatness is particularly
well tuned for allowing one to solve the inverse dynamics problems and one
builds off of that fundamental solution in using the structure of flatness to solve
more general control problems.
Flatness was first defined by Fliess et al. [19, 22] using the formalism of
differential algebra, see also [53] for a somewhat different approach. In differ-
ential algebra, a system is viewed as a differential field generated by a set of
variables (states and inputs). The system is said to be flat if one can find a set
of variables, called the flat outputs, such that the system is (non-differentially)
algebraic over the differential field generated by the set of flat outputs. Roughly

2
speaking, a system is flat if we can find a set of outputs (equal in number to the
number of inputs) such that all states and inputs can be determined from these
outputs without integration. More precisely, if the system has states x ∈ Rn ,
and inputs u ∈ Rm then the system is flat if we can find outputs y ∈ Rm of the
form
y = h(x, u, u̇, . . . , u(r) )
such that
x = ϕ(y, ẏ, . . . , y (q) )
u = α(y, ẏ, . . . , y (q) ).
More recently, flatness has been defined in a more geometric context, where
tools for nonlinear control are more commonly available. One approach is to use
exterior differential systems and regard a nonlinear control system as a Pfaffian
system on an appropriate space [110]. In this context, flatness can be described
in terms of the notion of absolute equivalence defined by E. Cartan [8, 9, 104].
In this paper we adopt a somewhat different geometric point of view, relying
on a Lie-Bäcklund framework as the underlying mathematical structure. This
point of view was originally described in [20, 23, 24] and is related to the work
of Pomet et al. [87, 85] on “infinitesimal Brunovsky forms” (in the context of
feedback linearization). It offers a compact framework in which to describe
basic results and is also closely related to the basic techniques that are used
to compute the functions that are required to characterize the solutions of flat
systems (the so-called flat outputs).
Applications of flatness to problems of engineering interest have grown steadily
in recent years. It is important to point out that many classes of systems com-
monly used in nonlinear control theory are flat. As already noted, all con-
trollable linear systems can be shown to be flat. Indeed, any system that can
be transformed into a linear system by changes of coordinates, static feedback
transformations (change of coordinates plus nonlinear change of inputs), or dy-
namic feedback transformations is also flat. Nonlinear control systems in “pure
feedback form”, which have gained popularity due to the applicability of back-
stepping [41] to such systems, are also flat. Thus, many of the systems for
which strong nonlinear control techniques are available are in fact flat systems,
leading one to question how the structure of flatness plays a role in control of
such systems.
One common misconception is that flatness amounts to dynamic feedback
linearization. It is true that any flat system can be feedback linearized using
dynamic feedback (up to some regularity conditions that are generically satis-
fied). However, flatness is a property of a system and does not imply that one
intends to then transform the system, via a dynamic feedback and appropriate
changes of coordinates, to a single linear system. Indeed, the power of flatness
is precisely that it does not convert nonlinear systems into linear ones. When
a system is flat it is an indication that the nonlinear structure of the system is
well characterized and one can exploit that structure in designing control algo-
rithms for motion planning, trajectory generation, and stabilization. Dynamic

3
feedback linearization is one such technique, although it is often a poor choice
if the dynamics of the system are substantially different in different operating
regimes.
Another advantage of studying flatness over dynamic feedback linearization
is that flatness is a geometric property of a system, independent of coordinate
choice. Typically when one speaks of linear systems in a state space context,
this does not make sense geometrically since the system is linear only in certain
choices of coordinate representations. In particular, it is difficult to discuss the
notion of a linear state space system on a manifold since the very definition
of linearity requires an underlying linear space. In this way, flatness can be
considered the proper geometric notion of linearity, even though the system
may be quite nonlinear in almost any natural representation.
Finally, the notion of flatness can be extended to distributed parameters
systems with boundary control and is useful even for controlling linear systems,
whereas feedback linearization is yet to be defined in that context.

2 Equivalence and flatness


2.1 Control systems as infinite dimensional vector fields
A system of differential equations
ẋ = f (x), x ∈ X ⊂ Rn (1)
is by definition a pair (X, f ), where X is an open set of Rn and f is a smooth
vector field on X. A solution, or trajectory, of (1) is a mapping t →
 x(t) such
that
ẋ(t) = f (x(t)) ∀t ≥ 0.
Notice that if x → h(x) is a smooth function on X and t → x(t) is a trajectory
of (1), then
d ∂h ∂h
h(x(t)) = (x(t)) · ẋ(t) = (x(t)) · f (x(t)) ∀t ≥ 0.
dt ∂x ∂x
For that reason the total derivative, i.e., the mapping
∂h
x → (x) · f (x)
∂x
is somewhat abusively called the “time-derivative” of h and denoted by ḣ.
We would like to have a similar description, i.e., a “space” and a vector field
on this space, for a control system
ẋ = f (x, u), (2)
where f is smooth on an open subset X × U ⊂ Rn × Rm . Here f is no longer a
vector field on X, but rather an infinite collection of vector fields on X param-
eterized by u: for all u ∈ U , the mapping
x → fu (x) = f (x, u)

4
is a vector field on X. Such a description is not well-adapted when considering
dynamic feedback.
It is nevertheless possible to associate to (2) a vector field with the “same”
solutions using the following remarks: given a smooth solution of (2), i.e., a
mapping t → (x(t), u(t)) with values in X × U such that

ẋ(t) = f (x(t), u(t)) ∀t ≥ 0,

we can consider the infinite mapping

t → ξ(t) = (x(t), u(t), u̇(t), . . .)

taking values in X × U × R∞ ∞
m , where Rm = R × R × . . . denotes the product
m m

of an infinite (countable) number of copies of R . A typical point of R∞


m
m is thus
of the form (u1 , u2 , . . .) with ui ∈ Rm . This mapping satisfies
 
˙ = f (x(t), u(t)), u̇(t), ü(t), . . .
ξ(t) ∀t ≥ 0,

hence it can be thought of as a trajectory of the infinite vector field

(x, u, u1 , . . .) → F (x, u, u1 , . . .) = (f (x, u), u1 , u2 , . . .)

on X × U × R∞
m . Conversely, any mapping

t → ξ(t) = (x(t), u(t), u1 (t), . . .)

that is a trajectory of this infinite vector field necessarily takes the form (x(t), u(t), u̇(t), . . .)
with ẋ(t) = f (x(t), u(t)), hence corresponds to a solution of (2). Thus F is truly
a vector field and no longer a parameterized family of vector fields.
Using this construction, the control system (2) can be seen as the data of the
“space” X × U × R∞ m together with the “smooth” vector field F on this space.
Notice that, as in the uncontrolled case, we can define the “time-derivative”
of a smooth function (x, u, u1 , . . .) → h(x, u, u1 , . . . , uk ) depending on a finite
number of variables by

ḣ(x, u, u1 , . . . , uk+1 ) := Dh · F
∂h ∂h 1 ∂h
= · f (x, u) + ·u + · u2 + · · · .
∂x ∂u ∂u1
The above sum is finite because h depends on finitely many variables.
Remark 1. To be rigorous we must say something of the underlying topology
and differentiable structure of R∞ m to be able to speak of smooth objects [113].
This topology is the Fréchet topology, which makes things look as if we were
working on the product of k copies of Rm for a “large enough” k. For our
purpose it is enough to know that a basis of the open sets of this topology consists
of infinite products U0 ×U1 ×. . . of open sets of Rm , and that a function is smooth
if it depends on a finite but arbitrary number of variables and is smooth in the

5
usual sense. In the same way a mapping Φ : R∞ ∞
m → Rn is smooth if all of its
components are smooth functions.
R∞m equipped with the Fréchet topology has very weak properties: useful the-
orems such as the implicit function theorem, the Frobenius theorem, and the
straightening out theorem no longer hold true. This is only because R∞ m is a
very big space: indeed the Fréchet topology on the product of k copies of Rm for
any finite k coincides with the usual Euclidian topology.
We can also define manifolds modeled on R∞ m using the standard machinery.
The reader not interested in these technicalities can safely ignore the details and
won’t loose much by replacing “manifold modeled on R∞ ∞
m ” by “open set of Rm ”.

We are now in position to give a formal definition of a system:


Definition 1. A system is a pair (M, F ) where M is a smooth manifold, possibly
of infinite dimension, and F is a smooth vector field on M.
Locally, a control system looks like an open subset of Rα (α not necessarily
finite) with coordinates (ξ1 , . . . , ξα ) together with the vector field

ξ → F (ξ) = (F1 (ξ), . . . , Fα (ξ))

where all the components Fi depend only on a finite number of coordinates. A


trajectory of the system is a mapping t → ξ(t) such that ξ̇(t) = F (ξ(t)).
We saw in the beginning of this section how a “traditional” control system
fits into our definition. There is nevertheless an important difference: we lose
the notion of state dimension. Indeed

ẋ = f (x, u), (x, u) ∈ X × U ⊂ Rn × Rm (3)

and
ẋ = f (x, u), u̇ = v (4)
now have the same description (X × U × R∞
m , F ), with

F (x, u, u1 , . . .) = (f (x, u), u1 , u2 , . . .),

in our formalism: t → (x(t), u(t)) is a trajectory of (3) if and only if t →


(x(t), u(t), u̇(t)) is a trajectory of (4). This situation is not surprising since the
state dimension is of course not preserved by dynamic feedback. On the other
hand we will see there is still a notion of input dimension.
Example 1 (The trivial system). The trivial system (R∞
m , Fm ), with coor-
dinates (y, y 1 , y 2 , . . .) and vector field

Fm (y, y 1 , y 2 , . . .) = (y 1 , y 2 , y 3 , . . .)

describes any “traditional” system made of m chains of integrators of arbitrary


lengths, and in particular the direct transfer y = u.

6
In practice we often identify the “system” F (x, u) := (f (x, u), u1 , u2 , . . .)
with the “dynamics” ẋ = f (x, u) which defines it. Our main motivation for
introducing a new formalism is that it will turn out to be a natural framework
for the notions of equivalence and flatness we want to define.
Remark 2. It is easy to see that the manifold M is finite-dimensional only
when there is no input, i.e., to describe a determined system of differential
equations one needs as many equations as variables. In the presence of inputs,
the system becomes underdetermined, there are more variables than equations,
which accounts for the infinite dimension.

Remark 3. Our definition of a system is adapted from the notion of diffiety


introduced in [113] to deal with systems of (partial) differential equations. By
definition a diffiety is a pair (M, CT M) where M is smooth manifold, possibly
of infinite dimension, and CT M is an involutive finite-dimensional distribution
on M, i.e., the Lie bracket of any two vector fields of CT M is itself in CT M.
The dimension of CT M is equal to the number of independent variables.
As we are only working with systems with lumped parameters, hence governed
by ordinary differential equations, we consider diffieties with one dimensional
distributions. For our purpose we have also chosen to single out a particular
vector field rather than work with the distribution it spans.

2.2 Equivalence of systems


In this section we define an equivalence relation formalizing the idea that two
systems are “equivalent” if there is an invertible transformation exchanging
their trajectories. As we will see later, the relevance of this rather natural
equivalence notion lies in the fact that it admits an interpretation in terms of
dynamic feedback.
Consider two systems (M, F ) and (N, G) and a smooth mapping Ψ : M → N
(remember that by definition every component of a smooth mapping depends
only on finitely many coordinates). If t → ξ(t) is a trajectory of (M, F ), i.e.,

∀ξ, ξ̇(t) = F (ξ(t)),

the composed mapping t → ζ(t) = Ψ(ξ(t)) satisfies the chain rule

∂Ψ ˙ = ∂Ψ (ξ(t)) · F (ξ(t)).
ζ̇(t) = (ξ(t)) · ξ(t)
∂ξ ∂ξ
The above expressions involve only finite sums even if the matrices and vectors
have infinite sizes: indeed a row of ∂Ψ
∂ξ contains only a finite number of non zero
terms because a component of Ψ depends only on finitely many coordinates.
Now, if the vector fields F and G are Ψ-related, i.e.,
∂Ψ
∀ξ, G(Ψ(ξ)) = (ξ) · F (ξ)
∂ξ

7
then
ζ̇(t) = G(Ψ(ξ(t)) = G(ζ(t)),
which means that t → ζ(t) = Ψ(ξ(t)) is a trajectory of (N, G). If moreover Ψ
has a smooth inverse Φ then obviously F, G are also Φ-related, and there is a
one-to-one correspondence between the trajectories of the two systems. We call
such an invertible Ψ relating F and G an endogenous transformation.
Definition 2. Two systems (M, F ) and (N, G) are equivalent at (p, q) ∈ M×N
if there exists an endogenous transformation from a neighborhood of p to a
neighborhood of q. (M, F ) and (N, G) are equivalent if they are equivalent at
every pair of points (p, q) of a dense open subset of M × N.
Notice that when M and N have the same finite dimension, the systems are
necessarily equivalent by the straightening out theorem. This is no longer true
in infinite dimensions.
Consider the two systems (X × U × R∞ ∞
m , F ) and (Y × V × Rs , G) describing
the dynamics

ẋ = f (x, u), (x, u) ∈ X × U ⊂ Rn × Rm (5)


ẏ = g(y, v), (y, v) ∈ Y × V ⊂ R × R . r s
(6)

The vector fields F, G are defined by

F (x, u, u1 , . . .) = (f (x, u), u1 , u2 , . . .)


G(y, v, v 1 , . . .) = (g(y, v), v 1 , v 2 , . . .).

If the systems are equivalent, the endogenous transformation Ψ takes the form

Ψ(x, u, u1 , . . .) = (ψ(x, u), β(x, u), β̇(x, u), . . .).

Here we have used the short-hand notation u = (u, u1 , . . . , uk ), where k is some


finite but otherwise arbitrary integer. Hence Ψ is completely specified by the
mappings ψ and β, i.e, by the expression of y, v in terms of x, u. Similarly, the
inverse Φ of Ψ takes the form

Φ(y, v, v 1 , . . .) = (ϕ(y, v), α(y, v), α̇(y, v), . . .).

As Ψ and Φ are inverse mappings we have


   
ψ ϕ(y, v), α(y, v) = y ϕ ψ(x, u), β(x, u) = x
  and  
β ϕ(y, v), α(y, v) = v α ψ(x, u), β(x, u) = u.
Moreover F and G Ψ-related implies
 
f ϕ(y, v), α(y, v) = Dϕ(y, v) · g(y, v)

where g stands for (g, v 1 , . . . , v k ), i.e., a truncation of G for some large enough k.
Conversely,  
g ψ(x, u), β(y, u) = Dψ(x, u) · f (y, u).

8
In other words, whenever t → (x(t), u(t)) is a trajectory of (5)
 
t → (y(t), v(t)) = ϕ(x(t), u(t)), α(x(t), u(t))

is a trajectory of (6), and vice versa.


Example 2 (The PVTOL). The system generated by

ẍ = −u1 sin θ + εu2 cos θ


z̈ = u1 cos θ + εu2 sin θ − 1
θ̈ = u2 .

is globally equivalent to the systems generated by

ÿ1 = −ξ sin θ, ÿ2 = ξ cos θ − 1,

where ξ and θ are the control inputs. Indeed, setting

X := (x, z, ẋ, ż, θ, θ̇) Y := (y1 , y2 , ẏ1 , ẏ2 )


and
U := (u1 , u2 ) V := (ξ, θ)

and using the notations in the discussion after definition 2, we define the map-
pings Y = ψ(X, U ) and V = β(X, U ) by
 
x − ε sin θ

 z + ε cos θ  u1 − εθ̇2
ψ(X, U) :=   and β(X, U ) :=
ẋ − εθ̇ cos θ θ
ż − εθ̇ sin θ

to generate the mapping Ψ. The inverse mapping Φ is generated by the mappings


X = ϕ(Y, V ) and U = α(Y, V ) defined by
 
y1 + ε sin θ
 y2 − ε cos θ 
 

ẏ1 + εθ̇ cos θ ξ + εθ̇2



ϕ(Y, V ) :=   and α(Y, V ) :=

 ẏ2 − εθ̇ sin θ  θ̈
 θ 
θ̇

An important property of endogenous transformations is that they preserve


the input dimension:
Theorem 1. If two systems (X×U ×R∞ ∞
m , F ) and (Y ×V ×Rs , G) are equivalent,
then they have the same number of inputs, i.e., m = s.
Proof. Consider the truncation Φµ of Φ on X × U × (Rm )µ ,

Φµ : X × U × (Rm+k )µ → Y × V × (Rs )µ
(x, u, u1 , . . . , uk+µ ) → (ϕ, α, α̇, . . . , α(µ) ),

9
i.e., the first µ + 2 blocks of components of Ψ; k is just a fixed “large enough”
integer. Because Ψ is invertible, Ψµ is a submersion for all µ. Hence the
dimension of the domain is greater than or equal to the dimension of the range,
n + m(k + µ + 1) ≥ s(µ + 1) ∀µ > 0,
which implies m ≥ s. Using the same idea with Ψ leads to s ≥ m.
Remark 4. Our definition of equivalence is adapted from the notion of equiva-
lence between diffieties. Given two diffieties (M, CT M) and (N, CT N), we say
that a smooth mapping Ψ from (an open subset of ) M to N is Lie-Bäcklund
if its tangent mapping T Ψ satisfies T Φ(CT M) ⊂ CT N. If moreover Ψ has a
smooth inverse Φ such that T Ψ(CT N) ⊂ CT M, we say it is a Lie-Bäcklund
isomorphism. When such an isomorphism exists, the diffieties are said to be
equivalent. An endogenous transformation is just a special Lie-Bäcklund iso-
morphism, which preserves the time parameterization of the integral curves. It
is possible to define the more general concept of orbital equivalence [20, 18] by
considering general Lie-Bäcklund isomorphisms, which preserve only the geo-
metric locus of the integral curves.

2.3 Differential Flatness


We single out a very important class of systems, namely systems equivalent to
a trivial system (R∞
s , Fs ) (see example 1):

Definition 3. The system (M, F ) is flat at p ∈ M (resp. flat) if it equivalent


at p (resp. equivalent) to a trivial system.
We specialize the discussion after definition 2 to a flat system (X×U ×R∞
m,F)
describing the dynamics
ẋ = f (x, u), (x, u) ∈ X × U ⊂ Rn × Rm .
By definition the system is equivalent to the trivial system (R∞
s , Fs ) where the
endogenous transformation Ψ takes the form
Ψ(x, u, u1 , . . . ) = (h(x, u), ḣ(x, u), ḧ(x, u), . . . ). (7)
In other words Ψ is the infinite prolongation of the mapping h. The inverse Φ
of Ψ takes the form
Ψ(y) = (ψ(y), β(y), β̇(y), . . .).
As Φ and Ψ are inverse mappings we have in particular
   
ϕ h(x, u) = x and α h(x, u) = u.
Moreover F and G Φ-related implies that whenever t → y(t) is a trajectory of
y = v –i.e., nothing but an arbitrary mapping–
   
t → x(t), u(t) = ψ(y(t)), β(y(t))
is a trajectory of ẋ = f (x, u), and vice versa.
We single out the importance of the mapping h of the previous example:

10
Definition 4. Let (M, F ) be a flat system and Ψ the endogenous transformation
putting it into a trivial system. The first block of components of Ψ, i.e., the
mapping h in (7), is called a flat (or linearizing) output.
With this definition, an obvious consequence of theorem 1 is:
Corollary 1. Consider a flat system. The dimension of a flat output is equal
to the input dimension, i.e., s = m.
Example 3 (The PVTOL). The system studied in example 2 is flat, with

y = h(X, U) := (x − ε sin θ, z + ε cos θ)

as a flat output. Indeed, the mappings X = ϕ(y) and U = α(y) which generate
the inverse mapping Φ can be obtained from the implicit equations

(y1 − x)2 + (y2 − z)2 = ε2


(y1 − x)(ÿ2 + 1) − (y2 − z)ÿ1 = 0
(ÿ2 + 1) sin θ + ÿ1 cos θ = 0.

We first solve for x, z, θ,


ÿ1
x = y1 + ε
2
ÿ1 + (ÿ2 + 1)2
(ÿ2 + 1)
z = y2 + ε 2
ÿ1 + (ÿ2 + 1)2
θ = arg(ÿ1 , ÿ2 + 1),

and then differentiate to get ẋ, ż, θ̇, u in function of the derivatives of y. Notice
the only singularity is ÿ12 + (ÿ2 + 1)2 = 0.

2.4 Application to motion planning


We now illustrate how flatness can be used for solving control problems. Con-
sider a nonlinear control system of the form

ẋ = f (x, u) x ∈ Rn , u ∈ Rm

with flat output


y = h(x, u, u̇, . . . , u(r) ).
By virtue of the system being flat, we can write all trajectories (x(t), u(t))
satisfying the differential equation in terms of the flat output and its derivatives:

x = ϕ(y, ẏ, . . . , y (q) )


u = α(y, ẏ, . . . , y (q) ).

11
We begin by considering the problem of steering from an initial state to a fi-
nal state. We parameterize the components of the flat output yi , i = 1, . . . , m by

yi (t) := Aij λj (t), (8)
j

where the λj (t), j = 1, . . . , N are basis functions. This reduces the problem
from finding a function in an infinite dimensional space to finding a finite set of
parameters.
Suppose we have available to us an initial state x0 at time τ0 and a final
state xf at time τf . Steering from an initial point in state space to a desired
point in state space is trivial for flat systems. We have to calculate the values
of the flat output and its derivatives from the desired points in state space and
then solve for the coefficients Aij in the following system of equations:

yi (τ0 ) = j Aij λj (τ0 ) yi (τf ) = j Aij λj (τf )
.. ..
. . (9)
(q) (q) (q) (q)
yi (τ0 ) = j Aij λj (τ0 ) yi (τf ) = j Aij λj (τf ).

To streamline notation we write the following expressions for the case of a


one-dimensional flat output only. The multi-dimensional case follows by repeat-
edly applying the one-dimensional case, since the algorithm is decoupled in the
(i)
component of the flat output. Let Λ(t) be the q + 1 by N matrix Λij (t) = λj (t)
and let
(q)
ȳ0 = (y1 (τ0 ), . . . , y1 (τ0 ))
(q) (10)
ȳf = (y1 (τf ), . . . , y1 (τf ))
ȳ = (ȳ0 , ȳf ).
Then the constraint in equation (9) can be written as

Λ(τ0 )
ȳ = A =: ΛA. (11)
Λ(τf )
That is, we require the coefficients A to be in an affine sub-space defined by
equation (11). The only condition on the basis functions is that Λ is full rank,
in order for equation (11) to have a solution.
The implications of flatness is that the trajectory generation problem can be
reduced to simple algebra, in theory, and computationally attractive algorithms
in practice. For example, in the case of the towed cable system [70], a reasonable
state space representation of the system consists of approximately 128 states.
Traditional approaches to trajectory generation, such as optimal control, cannot
be easily applied in this case. However, it follows from the fact that the system
is flat that the feasible trajectories of the system are completely characterized
by the motion of the point at the bottom of the cable. By converting the input
constraints on the system to constraints on the curvature and higher derivatives
of the motion of the bottom of the cable, it is possible to compute efficient
techniques for trajectory generation.

12
2.5 Motion planning with singularities
In the previous section we assumed the endogenous transformation
 
Ψ(x, u, u1 , . . . ) := h(x, u), ḣ(x, u), ḧ(x, u), . . .

generated by the flat output y = h(x, u) everywhere nonsingular, so that we


could invert it and express x and u in function of y and its derivatives,

(y, ẏ, . . . , y (q) ) → (x, u) = φ(y, ẏ, . . . , y (q) ).

But it may well be that a singularity is in fact an interesting point of operation.


As φ is not defined at such a point, the previous computations do not apply.
A way to overcome the problem is to “blow up” the singularity by considering
trajectories t → y(t) such that
 
t → φ y(t), ẏ(t), . . . , y (q) (t)

can be prolonged into a smooth mapping at points where φ is not defined. To


do so requires a detailed study of the singularity. A general statement is beyond
the scope of this paper and we simply illustrate the idea with an example.
Example 4. Consider the flat dynamics

ẋ1 = u1 , ẋ2 = u2 u1 , ẋ3 = x2 u1 ,

with flat output y := (x1 , x3 ). When u1 = 0, i.e., ẏ1 = 0 the endogenous


transformation generated by the flat output is singular and the inverse mapping

φ ẏ2 ÿ2 ẏ1 − ÿ1 ẏ2


(y, ẏ, ÿ) −→ (x1 , x2 , x3 , u1 , u2 ) = y1 , , y2 , ẏ1 , ,
ẏ1 ẏ13
 
is undefined. But if we consider trajectories t → y(t) := σ(t), p(σ(t)) , with σ
and p smooth functions, we find that
dp   d2 p  
ẏ2 (t) σ(t) · σ̇(t) ÿ2 ẏ1 − ÿ1 ẏ2 2
σ(t) · σ̇ 3 (t)
= dσ and = dσ ,
ẏ1 (t) σ̇(t) ẏ13 σ̇ 3 (t)
hence we can prolong t → φ(y(t), ẏ(t), ÿ(t)) everywhere by

dp   d2 p  
t → σ(t), σ(t) , p(σ(t)), σ̇(t), σ(t) .
dσ dσ 2
The motion planning can now be done as in the previous section: indeed, the
functions σ and p and their derivatives are constrained at the initial (resp. final)
time by the initial (resp. final) point but otherwise arbitrary.
For a more substantial application see [97, 98, 22], where the same idea
was applied to nonholonomic mechanical systems by taking advantage of the
“natural” geometry of the problem.

13
3 Feedback design with equivalence
3.1 From equivalence to feedback
The equivalence relation we have defined is very natural since it is essentially a
1 − 1 correspondence between trajectories of systems. We had mainly an open-
loop point of view. We now turn to a closed-loop point of view by interpreting
equivalence in terms of feedback. For that, consider the two dynamics

ẋ = f (x, u), (x, u) ∈ X × U ⊂ Rn × Rm


ẏ = g(y, v), (y, v) ∈ Y × V ⊂ Rr × Rs .

They are described in our formalism by the systems (X × U × R∞


m , F ) and
(Y × V × R∞
s , G), with F and G defined by

F (x, u, u1 , . . .) := (f (x, u), u1 , u2 , . . .)


G(y, v, v 1 , . . .) := (g(y, v), v 1 , v 2 , . . .).

Assume now the two systems are equivalent, i.e., they have the same trajectories.
Does it imply that it is possible to go from ẋ = f (x, u) to ẏ = g(y, v) by a
(possibly) dynamic feedback

ż = a(x, z, v), z ∈ Z ⊂ Rq
u = κ(x, z, v),

and vice versa? The question might look stupid at first glance since such a
feedback can only increase the state dimension. Yet, we can give it some sense
if we agree to work “up to pure integrators” (remember this does not change
the system in our formalism, see the remark after definition 1).
Theorem 2. Assume ẋ = f (x, u) and ẏ = g(y, v) are equivalent. Then ẋ =
f (x, u) can be transformed by (dynamic) feedback and coordinate change into

ẏ = g(y, v), v̇ = v 1 , v̇ 1 = v 2 , ... , v̇ µ = w

for some large enough integer µ. Conversely, ẏ = g(y, v) can be transformed by


(dynamic) feedback and coordinate change into

ẋ = f (x, u), u̇ = u1 , u̇1 = u2 , ... , u̇ν = w

for some large enough integer ν.


Proof [53]. Denote by F and G the infinite vector fields representing the two
dynamics. Equivalence means there is an invertible mapping

Φ(y, v) = (ϕ(y, v), α(y, v), α̇(y, v), . . .)

such that
F (Φ(y, v)) = DΦ(y, v).G(y, v). (12)

14
Let ỹ := (y, v, v 1 , . . . , v µ ) and w := v µ+1 . For µ large enough, ϕ (resp. α)
depends only on ỹ (resp. on ỹ and w). With these notations, Φ reads

Φ(ỹ, w) = (ϕ(ỹ), α(ỹ, w), α̇(y, w), . . .),

and equation (12) implies in particular

f (ϕ(ỹ), α(ỹ, w)) = Dϕ(ỹ).g̃(ỹ, w), (13)

where g̃ := (g, v 1 , . . . , v k ). Because Φ is invertible, ϕ is full rank hence can be


completed by some map π to a coordinate change

ỹ → φ(ỹ) = (ϕ(ỹ), π(ỹ)).

Consider now the dynamic feedback

u = α(φ−1 (x, z), w))


ż = Dπ(φ−1 (x, z)).g̃(φ−1 (x, z), w)),

which transforms ẋ = f (x, u) into



ẋ f (x, α(φ−1 (x, z), w))


= f˜(x, z, w) := .
ż Dπ(φ−1 (x, z)).g̃(φ−1 (x, z), w))

Using (13), we have


 

  f ϕ(ỹ), α(ỹ, w) Dϕ(ỹ)


˜
f φ(ỹ), w = = · g̃(ỹ, w) = Dφ(ỹ).g̃(ỹ, w).
Dπ(ỹ).g̃(ỹ, w) Dπ(ỹ)

Therefore f˜ and g̃ are φ-related, which ends the proof. Exchanging the roles of
f and g proves the converse statement.
As a flat system is equivalent to a trivial one, we get as an immediate con-
sequence of the theorem:
Corollary 2. A flat dynamics can be linearized by (dynamic) feedback and
coordinate change.
Remark 5. As can be seen in the proof of the theorem there are many feedbacks
realizing the equivalence, as many as suitable mappings π. Notice all these
feedback explode at points where ϕ is singular (i.e., where its rank collapses).
Further details about the construction of a linearizing feedback from an output
and the links with extension algorithms can be found in [55].
Example 5 (The PVTOL). We know from example 3 that the dynamics

ẍ = −u1 sin θ + εu2 cos θ


z̈ = u1 cos θ + εu2 sin θ − 1
θ̈ = u2

15
admits the flat output

y = (x − ε sin θ, z + ε cos θ).

It is transformed into the linear dynamics


(4) (4)
y1 = v1 , y2 = v2

by the feedback

ξ̈ = −v1 sin θ + v2 cos θ + ξ θ̇2


u1 = ξ + εθ̇2
−1
u2 = (v1 cos θ + v2 sin θ + 2ξ̇ θ̇)
ξ
and the coordinate change
˙ → (y, ẏ, ÿ, y (3) ).
(x, z, θ, ẋ, ż, θ̇, ξ, ξ)

The only singularity of this transformation is ξ = 0, i.e., ÿ12 + (ÿ2 + 1)2 = 0.


Notice the PVTOL is not linearizable by static feedback.

3.2 Endogenous feedback


Theorem 2 asserts the existence of a feedback such that
ẋ = f (x, κ(x, z, w))
(14)
ż = a(x, z, w).

reads, up to a coordinate change,

ẏ = g(y, v), v̇ = v 1 , ... , v̇ µ = w. (15)

But (15) is trivially equivalent to ẏ = g(y, v) (see the remark after definition 1),
which is itself equivalent to ẋ = f (x, u). Hence, (14) is equivalent to ẋ = f (x, u).
This leads to
Definition 5. Consider the dynamics ẋ = f (x, u). We say the feedback

u = κ(x, z, w)
ż = a(x, z, w)

is endogenous if the open-loop dynamics ẋ = f (x, u) is equivalent to the closed-


loop dynamics

ẋ = f (x, κ(x, z, w))


ż = a(x, z, w).

16
The word “endogenous” reflects the fact that the feedback variables z and
w are in loose sense “generated” by the original variables x, u (see [53, 56] for
further details and a characterization of such feedbacks)
Remark 6. It is also possible to consider at no extra cost “generalized” feed-
backs depending not only on w but also on derivatives of w.
We thus have a more precise characterization of equivalence and flatness:
Theorem 3. Two dynamics ẋ = f (x, u) and ẏ = g(y, v) are equivalent if and
only if ẋ = f (x, u) can be transformed by endogenous feedback and coordinate
change into
ẏ = g(y, v), v̇ = v 1 , . . . , v̇ µ = w. (16)
for some large enough integer ν, and vice versa.
Corollary 3. A dynamics is flat if and only if it is linearizable by endogenous
feedback and coordinate change.
Another trivial but important consequence of theorem 2 is that an endoge-
nous feedback can be “unraveled” by another endogenous feedback:
Corollary 4. Consider a dynamics

ẋ = f (x, κ(x, z, w))


ż = a(x, z, w)

where

u = κ(x, z, w)
ż = a(x, z, w)

is an endogenous feedback. Then it can be transformed by endogenous feedback


and coordinate change into

ẋ = f (x, u), u̇ = u1 , ... , u̇µ = w. (17)

for some large enough integer µ.


This clearly shows which properties are preserved by equivalence: proper-
ties that are preserved by adding pure integrators and coordinate changes, in
particular controllability.
An endogenous feedback is thus truly “reversible”, up to pure integrators. It
is worth pointing out that a feedback which is invertible in the sense of the stan-
dard –but maybe unfortunate– terminology [77] is not necessarily endogenous.
For instance the invertible feedback ż = v, u = v acting on the scalar dynamics
ẋ = u is not endogenous. Indeed, the closed-loop dynamics ẋ = v, ż = v is no
longer controllable, and there is no way to change that by another feedback!

17
3.3 Tracking: feedback linearization
One of the central problems of control theory is trajectory tracking: given a
dynamics ẋ = f(x, u), we want
 to design a controller able to track any reference
trajectory t → xr (t), ur (t) . If this dynamics admits a flat output y = h(x, u),
we can use corollary 2 to transform it by (endogenous) feedback and coordinate
change into the linear dynamics y (µ+1) = w. Assigning then

v := yr(µ+1) (t) − K∆ỹ

with a suitable gain matrix K, we get the stable closed-loop error dynamics

∆y (µ+1) = −K∆ỹ,

where yr (t) := (xr (t), ur (t) and ỹ := (y, ẏ, . . . , y µ ) and ∆ξ stands for ξ − ξr(t) .
This control law meets the design objective. Indeed, there is by the definition
of flatness an invertible mapping

Φ(y) = (ϕ(y), α(y), α̇(y), . . . )

relating the infinite dimension vector fields F (x, u) := (f (x, u), u, u1 , . . . ) and
G(y) := (y, y 1 , . . . ). From the proof of theorem 2, this means in particular

x = ϕ(ỹr (t) + ∆ỹ)


= ϕ(ỹr (t)) + Rϕ (yr (t), ∆ỹ).∆ỹ
= xr (t) + Rϕ (yr (t), ∆ỹ).∆ỹ

and

u = α(ỹr (t) + ∆ỹ, −K∆ỹ)


∆ỹ
= α(ỹr (t)) + Rα (yr(µ+1) (t), ∆ỹ).
−K∆ỹ

(µ+1) ∆ỹ
= ur (t) + Rα (ỹr (t), yr (t), ∆ỹ, ∆w). ,
−K∆ỹ

where we have used the fundamental theorem of calculus to define


 1
Rϕ (Y, ∆Y ) := Dϕ(Y + t∆Y )dt
0
 1
Rα (Y, w, ∆Y, ∆w) := Dα(Y + t∆Y, w + t∆w)dt.
0

Since ∆y → 0 as t → ∞, this means x → xr (t) and u → ur (t). Of course


the tracking gets poorer and poorer as the ball of center ỹr (t) and radius ∆y
approaches a singularity of ϕ. At the same time the control effort gets larger
and larger, since the feedback explodes at such a point (see the remark after
theorem 2). Notice the tracking quality and control effort depend only on the
mapping Φ, hence on the flat output, and not on the feedback itself.

18
We end this section with some comments on the use of feedback linearization.
A linearizing feedback should always be fed by a trajectory generator, even if
the original problem is not stated in terms of tracking. For instance, if it is
desired to stabilize an equilibrium point, applying directly feedback linearization
without first planning a reference trajectory yields very large control effort when
starting from a distant initial point. The role of the trajectory generator is to
define an open-loop “reasonable” trajectory –i.e., satisfying some state and/or
control constraints– that the linearizing feedback will then track.

3.4 Tracking: singularities and time scaling


Tracking by feedback linearization is possible only far from singularities of the
endogenous transformation generated by the flat output. If the reference tra-
jectory passes through or near a singularity, then feedback linearization cannot
be directly applied, as is the case for motion planning, see section 2.5. Never-
theless, it can be used after a time scaling, at least in the presence of “simple”
singularities. The interest is that it allows exponential tracking, though in a
new “singular” time.
Example 6. Take a reference trajectory t → yr (t) = (σ(t), p(σ(t)) for ex-
ample 4. Consider the dynamic time-varying compensator u1 = ξ σ̇(t) and
ξ˙ = v1 σ̇(t). The closed loop system reads

x1 = ξ, x2 = u2 ξ, x3 = x2 ξ ξ  = v1 .

where  stands for d/dσ, the extended state is (x1 , x2 , x3 , ξ), the new control is
(v1 , v2 ). An equivalent second order formulation is

x1 = v1 , x3 = u2 ξ 2 + x2 v1 .

When ξ is far from zero, the static feedback u2 = (v2 − x2 v1 )/ξ 2 linearizes the
dynamics,
x1 = v1 , x3 = v2
in σ scale. When the system remains close to the reference, ξ ≈ 1, even if for
some t, σ̇(t) = 0. Take

v1 = 0 − sign(σ)a1 (ξ −
 1) − a2 (x1 − σ)
d2 p (18)
v2 = dσ2 − sign(σ)a1 x2 ξ − dp
dσ ) − a2 (x3 − p)

with a1 > 0 and a2 > 0 , then the error dynamics becomes exponentially stable
in σ-scale (the term sign(σ) is for dealing with σ̇ < 0 ).
Similar computations for trailer systems can be found in [21, 18].
Notice that linearizing controller can be achieved via quasi-static feedback
as proposed in [15].

19
3.5 Tracking: flatness and backstepping
3.5.1 Some drawbacks of feedback linearization
We illustrate on two simple (and caricatural) examples that feedback lineariza-
tion may not lead to the best tracking controller in terms of control effort.
 
Example 7. Assume we want to track any trajectory t → xr (t), ur (t) of

ẋ = −x − x3 + u, x ∈ R.

The linearizing feedback

u = x + x3 − k∆x + ẋr (t)


 
= ur (t) + 3xr (t)∆x2 + 1 + 3x2r (t) − k ∆x + ∆x3

meets this objective by imposing the closed-loop dynamics ∆ẋ = −k∆x.


But a closer inspection shows the open-loop error dynamics
 
∆ẋ = − 1 + 3x2r (t) ∆x − ∆x3 + 3xr (t)∆x2 + ∆u
 
= −∆x 1 + 3x2r (t) − 3xr (t)∆x + ∆x2 + ∆u

is naturally stable when the open-loop control u := ur (t) is applied (indeed


1 + 3x2r (t) − 3xr (t)∆x + ∆x2 is always strictly positive). In other words, the
linearizing feedback does not take advantage of the natural damping effects.
Example 8. Consider the dynamics

ẋ1 = u1 , ẋ2 = u2 (1 − u1 ),
 
for which it is required to track an arbitrary trajectory t → xr (t), ur (t) (notice
ur (t) may not be so easy to define because of the singularity u1 = 1). The
linearizing feedback

u1 = −k∆x1 + ẋ1r (t)


−k∆x2 + ẋ2r (t)
u2 =
1 + k∆x1 − ẋ1r (t)

meets this objective by imposing the closed-loop dynamics ∆ẋ = −k∆x. Un-
fortunately u2 grows unbounded as u1 approaches one. This means we must in
practice restrict to reference trajectories such that |1 − u1r (t)| is always “large”
–in particular it is impossible to cross the singularity– and to a “small” gain k.
A smarter control law can do away with these limitations. Indeed, consider-
ing the error dynamics

∆ẋ1 = ∆u1
∆ẋ2 = (1 − u1r (t) − ∆u1 )∆u2 − u2r (t)∆u1 ,

20
and differentiating the positive function V (∆x) := 12 (∆x21 + ∆x22 ) we get

V̇ = ∆u1 (∆x1 − u2r (t)∆x2 ) + (1 − u1r (t) − ∆u1 )∆u1 ∆u2 .


The control law
∆u1 = −k(∆x1 − u2r (t)∆x2 )
∆u2 = −(1 − u1r (t) − ∆u1 )∆x2
does the job since
 2  2
V̇ = − ∆x1 − u2r (t)∆x2 − (1 − u1r (t) − ∆u1 )∆x2 ≤ 0.

Moreover, when u1r (t)


= 0, V̇ is zero if and only if ∆x is zero. It is thus
possible to cross the singularity –which has been made an unstable equilibrium
of the closed-loop error dynamics– and to choose the gain k as large as desired.
Notice the singularity is overcome by a “truly” multi-input design.
It should not be inferred from the previous examples that feedback lin-
earization necessarily leads to inefficient tracking controllers. Indeed, when the
trajectory generator is well-designed, the system is always close to the refer-
ence trajectory. Singularities are avoided by restricting to reference trajectories
which stay away from them. This makes sense in practice when singularities
do not correspond to interesting regions of operations. In this case, designing a
tracking controller “smarter” than a linearizing feedback often turns out to be
rather complicated, if possible at all.

3.5.2 Backstepping
The previous examples are rather trivial because the control input has the same
dimension as the state. More complicated systems can be handled by backstep-
ping. Backstepping is a versatile design tool which can be helpful in a variety of
situations: stabilization, adaptive or output feedback, etc ([41] for a complete
survey). It relies on the simple yet powerful following idea: consider the system
ẋ = f (x, ξ), f (x0 , ξ0 ) = 0
ξ˙ = u,
where (x, ξ) ∈ Rn × R is the state and u ∈ R the control input, and assume we
can asymptotically stabilize the equilibrium x0 of the subsystem ẋ = f (x, ξ),
i.e., we know a control law ξ = α(x), α(x0 ) = ξ0 and a positive function V (x)
such that
V̇ = DV (x).f (x, α(x)) ≤ 0.
A key observation is that the “virtual” control input ξ can then “back-
stepped” to stabilize the equilibrium (x0 , ξ0 ) of the complete system. Indeed,
introducing the positive function
1
W (x, ξ) := V (x) + (ξ − α(x))2
2

21
and the error variable z := ξ − α(x), we have
 
Ẇ = DV (x).f (x, α(x) + z) + z u − α̇(x, ξ)
   
= DV (x). f (x, α(x)) + R(x, z).z + z u − Dα(x).f (x, ξ)
 
= V̇ + z u − Dα(x).f (x, ξ) + DV (x).R(x, z) ,

where we have used the fundamental theorem of calculus to define


 1
∂f
R(x, h) := (x, x + th)dt
0 ∂ξ

(notice R(x, h) is trivially computed when f is linear in ξ). As V̇ is negative by


assumption, we can make Ẇ negative, hence stabilize the system, by choosing
for instance
u := −z + Dα(x).f (x, ξ) − DV (x).R(x, z).

3.5.3 Blending equivalence with backstepping


Consider a dynamics ẏ = g(y, v) for which we would like to solve the tracking
problem. Assume it is equivalent to another dynamics ẋ = f (x, u) for which
we can solve this problem, i.e., we know a tracking control law together with
a Lyapunov function. How can we use this property to control ẏ = g(y, v)?
Another formulation of the question is: assume we know a controller for ẋ =
f (x, u). How can we derive a controller for

ẋ = f (x, κ(x, z, v))


ż = a(x, z, v),

where u = κ(x, z, v), ż = a(x, z, v) is an endogenous feedback? Notice back-


stepping answers the question for the elementary case where the feedback in
question is a pure integrator.
By theorem 2, we can transform ẋ = f (x, u) by (dynamic) feedback and
coordinate change into

ẏ = g(y, v), v̇ = v 1 , ... , v̇ µ = w. (19)

for some large enough integer µ. We can then trivially backstep the control from
v to w and change coordinates. Using the same reasoning as in section 3.3, it
is easy to prove this leads to a control law solving the tracking problem for
ẋ = f (x, u). In fact, this is essentially the method we followed in section 3.3 on
the special case of a flat ẋ = f (x, u). We illustrated in section 3.5.1 potential
drawbacks of this approach.
However, it is often possible to design better –though in general more complicated–
tracking controllers by suitably using backstepping. This point of view is ex-
tensively developed in [41], though essentially in the single-input case, where
general equivalence boils down to equivalence by coordinate change. In the
multi-input case new phenomena occur as illustrated by the following examples.

22
Example 9 (The PVTOL). We know from example 2 that

ẍ = −u1 sin θ + εu2 cos θ


z̈ = u1 cos θ + εu2 sin θ − 1 (20)
θ̈ = u2

is globally equivalent to

ÿ1 = −ξ sin θ, ÿ2 = ξ cos θ − 1,

where ξ = u1 + εθ̇2 . This latter form is rather appealing for designing a tracking
controller and leads to the error dynamics

∆ÿ1 = −ξ sin θ + ξr (t) sin θr (t)


∆ÿ2 = ξ cos θ − ξr (t) cos θr (t)

Clearly, if θ were a control input, we could track trajectories by assigning

−ξ sin θ = α1 (∆y1 , ∆ẏ1 ) + ÿ1r (t)


ξ cos θ = α2 (∆y2 , ∆ẏ2 ) + ÿ2r (t)

for suitable functions α1 , α2 and find a Lyapunov function V (∆y, ∆ẏ) for the
system. In other words, we would assign
 
ξ = Ξ ∆y, ∆ẏ, ÿr (t) := (α1 + ÿ1r )2 + (α2 + ÿ2r )2
  (21)
θ = Θ ∆y, ∆ẏ, ÿr (t) := arg(α1 + ÿ1r , α2 + ÿ2r ).

The angle θ is a priori not defined when ξ = 0, i.e., at the singularity of the
flat output y. We will not discuss the possibility of overcoming this singularity
and simply assume we stay away from it. Aside from that, there remains a big
problem: how should the “virtual” control law (21) be understood? Indeed, it
seems to be a differential equation: because y depends on θ, hence Ξ and Θ are
in fact functions of the variables

x, ẋ, z, ż, θ, θ̇, yr (t), ẏr (t), ÿr (t).

Notice ξ is related to the actual control u1 by a relation that also depends on θ̇.
Let us forget this apparent difficulty for the time being  and backstep
 (21) the
usual way. Introducing the error variable κ1 := θ − Θ ∆y, ∆ẏ, ÿr (t) and using
the fundamental theorem of calculus, the error dynamics becomes
   
∆ÿ1 = α1 (∆y1 , ∆ẏ1 ) − κ1 Rsin Θ(∆y, ∆ẏ, ÿr (t)), κ1 Ξ ∆y, ∆ẏ, ÿr (t)
   
∆ÿ2 = α2 (∆y1 , ∆ẏ1 ) + κ1 Rcos Θ(∆y, ∆ẏ, ÿr (t)), κ1 Ξ ∆y, ∆ẏ, ÿr (t)
 
κ̇1 = θ̇ − Θ̇ κ1 , ∆y, ∆ẏ, ÿr (t), yr(3) (t)

23
Notice the functions
cos h − 1 sin h
Rsin (x, h) = sin x + cos x
h h
cos h − 1 sin h
Rcos (x, h) = cos x − sin x
h h
are bounded and analytic. Differentiate now the positive function
1
V1 (∆y, ∆ẏ, κ1 ) := V (∆y, ∆ẏ) + κ21
2
to get
∂V ∂V
V̇1 = ∆ẏ1 + (α1 − κ1 Rsin Ξ)+
∂∆y1 ∂∆ẏ1
∂V ∂V
∆ẏ2 + (α2 + κ1 Rcos Ξ) + κ1 (θ̇ − Θ̇)
∂∆y2 ∂∆ẏ2
  ∂V ∂V  
= V̇ + κ1 θ̇ − Θ̇ + κ1 Rcos − Rsin Ξ ,
∂∆y1 ∂∆y2
where we have omitted arguments of all the functions for the sake of clarity. If
θ̇ were a control input, we could for instance assign
 ∂V ∂V 
θ̇ := −κ1 + Θ̇ − κ1 Rcos − Rsin Ξ
∂∆y1 ∂∆y2
 
:= Θ1 κ1 , ∆y, ∆ẏ, ÿr (t), yr(3) (t) ,

to get V̇1 = V̇ −κ21 ≤ 0. We thus backstep this “virtual” control law: we introduce
the error variable
 
κ2 := θ̇ − Θ1 κ1 , ∆y, ∆ẏ, ÿr (t), yr(3) (t)

together with the positive function


1
V2 (∆y, ∆ẏ, κ1 , κ2 ) := V1 (∆y, ∆ẏ, κ1 ) + κ22 .
2
Differentiating

V2 = V̇ + κ1 (−κ1 + κ2 ) + κ2 (v2 − Θ̇1 )


= V̇1 + κ2 (u2 − Θ̇1 + κ2 ),

and we can easily make V̇1 negative by assigning


 
u2 := Θ2 κ1 , κ2 , ∆y, ∆ẏ, ÿr (t), yr(3) (t), yr(4) (t) (22)

for some suitable function Θ2 .


A key observation is that Θ2 and V2 are in fact functions of the variables

x, ẋ, z, ż, θ, θ̇, yr (t), . . . , yr(4) (t),

24
which means (22) makes sense. We have thus built a static control law
 
u1 = Ξ x, ẋ, z, ż, θ, θ̇, yr (t), ẏr (t), ÿr (t) + εθ̇2
 
u2 = Θ2 x, ẋ, z, ż, θ, θ̇, yr (t), . . . , yr(4) (t)

that does the tracking for (20). Notice it depends on yr (t) up to the fourth
derivative.
Example 10. The dynamics

ẋ1 = u1 , ẋ2 = x3 (1 − u1 ), ẋ3 = u2 ,

admits (x1 , x2 ) as a flat output. The corresponding endogenous transformation


is singular, hence any linearizing feedback blows up, when u1 = 1. However, it
is easy to backstep the controller of example 8 to build a globally tracking static
controller
Remark 7. Notice that none the of two previous examples can be linearized
by static feedback. Dynamic feedback is necessary for that. Nevertheless we
were able to derive static tracking control laws for them. An explanation of why
this is possible is that a flat system can in theory be linearized by a quasistatic
feedback [14] –provided the flat output does not depend on derivatives of the
input–.

3.5.4 Backstepping and time-scaling


Backstepping can be combined with linearization and time-scaling, as illustrated
in the following example.
Example 11. Consider example 4 and its tracking control defined in example 6.
Assume, for example, that σ̇ ≥ 0. With the dynamic controller

ξ̇ = v1 σ̇, u1 = ξ σ̇, u2 = (v2 − x2 v1 )/ξ 2

where v1 and v2 are given by equation (18), we have, for the error e = y − yr ,
a Lyapunov function V (e, de/dσ) satisfying

dV /dσ ≤ −aV (23)

with some constant a > 0. Remember that de/dσ corresponds to (ξ − 1, x2 ξ −


dp/dσ). Assume now that the real control is not (u1 , u2 ) but (u̇1 := w1 , u2 ).
With the extended Lyapunov function
1
W = V (e, de/dσ) + (u1 − ξ σ̇)2
2
we have
Ẇ = V̇ + (w1 − ξ˙σ̇ − ξσ̈)((u1 − ξ σ̇).

25
Some manipulations show that

∂V ∂V ∂V dV
V̇ = (u1 − σ̇ξ) + x2 +  u2 ξ + σ̇
∂e1 ∂e2 ∂e2 dσ

(remember ξ˙ = v1 σ̇ and (v1 , v2 ) are given by (18)). The feedback (b > 0)


∂V ∂V ∂V
w1 = − + x2 +  u2 ξ + ξ˙σ̇ + ξσ̈ − b(u1 − ξ σ̇)
∂e1 ∂e2 ∂e2

achieves asymptotic tracking since Ẇ ≤ −aσ̇V − b(u1 − ξ σ̇)2 .

3.5.5 Conclusion
It is possible to generalize the previous examples to prove that a control law
can be backstepped “through” any endogenous feedback. In particular a flat
dynamics can be seen as a (generalized) endogenous feedback acting on the
flat output; hence we can backstep a control law for the flat output through
the whole dynamics. In other words the flat output serves as a first “virtual”
control in the backstepping process. It is another illustration of the fact that a
flat output “summarizes” the dynamical behavior.
Notice also that in a tracking problem the knowledge of a flat output is
extremely useful not only for the tracking itself (i.e., the closed-loop problem)
but also for the trajectory generation (i.e., the open-loop problem)

4 Checking flatness: an overview


4.1 The general problem
Devising a general computable test for checking whether ẋ = f (x, u), x ∈
Rn , u ∈ Rm is flat remains up to now an open problem. This means there are no
systematic methods for constructing flat outputs. This does not make flatness
a useless concept: for instance Lyapunov functions and uniform first integrals
of dynamical systems are extremely helpful notions both from a theoretical and
practical point of view though they cannot be systematically computed.
The main difficulty in checking flatness is that a candidate flat output y =
h(x, u, . . . , u(r) ) may a priori depend on derivatives of u of arbitrary order r.
Whether this order r admits an upper bound (in terms of n and m) is at the
moment completely unknown. Hence we do not know whether a finite bound
exists at all. In the sequel, we say a system is r-flat if it admits a flat output
depending on derivatives of u of order at most r.
To illustrate this upper bound might be at least linear in the state dimension,
consider the system
(α1 ) (α2 )
x1 = u1 , x2 = u2 , ẋ3 = u1 u2

26
with α1 > 0 and α2 > 0. It admits the flat output


α1
(α1 −i) (i−1)
y1 = x3 + (−1)i x1 u2 , y2 = x2 ,
i=1

hence is r-flat with r := min(α1 , α2 ) − 1. We suspect (without proof) there is


no flat output depending on derivatives of u of order less than r − 1.
If such a bound κ(n, m) were known, the problem would amount to checking
p-flatness for a given p ≤ κ(n, m) and could be solved in theory. Indeed, it
consists [53] in finding m functions h1 , . . . , hm depending on (x, u, . . . , u(p) ) such
that
 
(µ)
dim span dx1 , . . . , dxn , du1 , . . . , dum , dh1 , . . . , dh(µ)
m = m(ν + 1),
0≤µ≤ν

where ν := n + pm. This means checking the integrability of the partial differ-
ential system with a transversality condition

dxi ∧ dh ∧ . . . ∧ dh(ν) = 0, i = 1, . . . , n
(ν)
duj ∧ dh ∧ . . . ∧ dh = 0, j = 1, . . . , m
(ν)
dh ∧ . . . ∧ dh
= 0,
(µ) (µ)
where dh(µ) stands for dh1 ∧ . . . ∧ dhm . It is in theory possible to conclude
by using a computable criterion [5, 88], though this seems to lead to practically
intractable calculations. Nevertheless it can be hoped that, due to the special
structure of the above equations, major simplifications might appear.

4.2 Known results


4.2.1 Systems linearizable by static feedback.
A system which is linearizable by static feedback and coordinate change is clearly
flat. Hence the geometric necessary and sufficient conditions in [38, 37] provide
sufficient conditions for flatness. Notice a flat system is in general not lineariz-
able by static feedback, with the major exception of the single-input case.

4.2.2 Single-input systems.


When there is only one control input flatness reduces to static feedback lineariz-
ability [10] and is thus completely characterized by the test in [38, 37].

4.2.3 Affine systems of codimension 1.


A system of the form


n−1
ẋ = f0 (x) + uj gj (x), x ∈ Rn ,
j=1

27
i.e., with one input less than states and linear w.r.t. the inputs is 0-flat as soon
as it is controllable [10] (more precisely strongly accessible for almost every x).
The picture is much more complicated when the system is not linear w.r.t.
the control, see [54] for a geometric sufficient condition.

4.2.4 Affine systems with 2 inputs and 4 states.


Necessary and sufficient conditions for 1-flatness of the system can be found
in [86]. They give a good idea of the complexity of checking r-flatness even
for r small. Very recently J-B. Pomet and D. Avanessoff have shown that the
above conditions are also necessary and sufficient conditions for r-flatness, r
arbitrary. This means that, for control-affine systems with 4 states or general
control systems with 3 state, flatness characterization is solved.

4.2.5 Driftless systems.


m
For driftless systems of the form ẋ = i=1 fi (x)ui additional results are avail-
able.
Theorem 4 (Driftless systems with two inputs [60]). The system
ẋ = f1 (x)u1 + f2 (x)u2
is flat if and only if the generic rank of Ek is equal to k + 2 for k = 0, . . . , n − 2n
where E0 := span{f1 , f2 }, Ek+1 := span{Ek , [Ek , Ek ]}, k ≥ 0.
A flat two-input driftless system is always 0-flat. As a consequence of a result
in [72], a flat two-input driftless system satisfying some additional regularity
conditions can be put by static feedback and coordinate change into the chained
system [73]
ẋ1 = u1 , ẋ2 = u2 , ẋ3 = x2 u1 , ..., ẋn = xn−1 u1 .
Theorem 5 (Driftless systems, n states, and n − 2 inputs [61, 62]).

n−2
ẋ = ui fi (x), x ∈ Rn
i=1

is flat as soon as it is controllable (i.e., strongly accessible for almost every x).
More precisely it is 0-flat when n is odd, and 1-flat when n is even.
All the results mentioned above rely on the use of exterior differential sys-
tems. Additional results on driftless systems, with applications to nonholonomic
systems, can be found in [108, 107, 104].

4.2.6 Mechanical systems.


For mechanical systems with one control input less than configuration variables,
[92] provides a geometric characterization, in terms of the metric derived form
the kinetic energy and the control codistribution, of flat outputs depending only
on the configuration variables.

28
4.2.7 A necessary condition.
Because it is not known whether flatness can be checked with a finite test, see
section 4.1, it is very difficult to prove that a system is not flat. The following
result provides a simple necessary condition.
Theorem 6 (The ruled-manifold criterion [96, 22]). Assume ẋ = f (x, u)
is flat. The projection on the p-space of the submanifold p = f (x, u), where x is
considered as a parameter, is a ruled submanifold for all x.
The criterion just means that eliminating u from ẋ = f (x, u) yields a set
of equations F (x, ẋ) = 0 with the following property: for all (x, p) such that
F (x, p) = 0, there exists a ∈ Rn , a
= 0 such that

∀λ ∈ R, F (x, p + λa) = 0.

F (x, p) = 0 is thus a ruled manifold containing straight lines of direction a.


The proof directly derives from the method used by Hilbert [35] to prove the
 2
d2 z dy
second order Monge equation dx 2 = dx is not solvable without integrals.
A restricted version of this result was proposed in [105] for systems lineariz-
able by a special class of dynamic feedbacks.
As crude as it may look, this criterion is up to now the only way –except for
two-input driftless systems– to prove a multi-input system is not flat.
Example 12. The system

ẋ1 = u1 , ẋ2 = u2 , ẋ3 = (u1 )2 + (u2 )3

is not flat, since the submanifold p3 = p21 + p32 is not ruled: there is no a ∈ R3 ,
a
= 0, such that

∀λ ∈ R, p3 + λa3 = (p1 + λa1 )2 + (p2 + λa2 )3 .

Indeed, the cubic term in λ implies a2 = 0, the quadratic term a1 = 0 hence


a3 = 0.
Example 13. The system ẋ3 = ẋ21 + ẋ22 does not define a ruled submanifold of
R3 : it is not flat in R. But it defines a ruled submanifold in C3 : in fact it is
flat in C, with the flat output
 √ √ √ 
y = x3 − (ẋ1 − ẋ2 −1)(x1 + x2 −1), x1 + x2 −1 .

Example 14 (The ball and beam [33]). We now prove by the ruled manifold
criterion that

r̈ = −Bg sin θ + Brθ̇2


(mr2 + J + Jb )θ̈ = τ − 2mrṙ θ̇ − mgr cos θ,

29
where (r, ṙ, θ, θ̇) is the state and τ the input, is not flat (as it is a single-input sys-
tem, we could also prove it is not static feedback linearizable, see section 4.2.2).
Eliminating the input τ yields
ṙ = vr , v̇r = −Bg sin θ + Brθ̇2 , θ̇ = vθ
which defines a ruled manifold in the (ṙ, v̇r , θ̇, v̇θ )-space for any r, vr , θ, vθ , and
we cannot conclude directly. Yet, the system is obviously equivalent to
ṙ = vr , v̇r = −Bg sin θ + Brθ̇2 ,
which clearly does not define a ruled submanifold for any (r, vr , θ). Hence the
system is not flat.

5 State constraints and optimal control


5.1 Optimal control
Consider the standard optimal control problem
 T
min J(u) = L(x(t), u(t))dt
u 0
together with ẋ = f (x, u), x(0) = a and x(T ) = b, for known a, b and T .
Assume that ẋ = f (x, u) is flat with y = h(x, u, . . . , u(r) ) as flat output,
x = ϕ(y, . . . , y (q) ), u = α(y, . . . , y (q) ).
A numerical resolution of minu J(u) a priori requires a discretization of the state
space, i.e., a finite dimensional approximation. A better way is to discretize the
N
flat output space. Set yi (t) = 1 Aij λj (t). The initial and final conditions on
x provide then initial and final constraints on y and its derivatives up to order
q. These constraints define an affine sub-space V of the vector space spanned
by the the Aij ’s. We are thus left with the nonlinear programming problem
 T
min J(A) = L(ϕ(y, . . . , y (q) ), α(y, . . . , y (q) ))dt,
A∈V 0
N
where the yi ’s must be replaced by 1 Aij λj (t).
This methodology is used in [76] for trajectory generation and optimal con-
trol. It should also be very useful for predictive control. The main expected
benefit is a dramatic improvement in computing time and numerical stability.
Indeed the exact quadrature of the dynamics –corresponding here to exact dis-
cretization via well chosen input signals through the mapping α– avoids the
usual numerical sensitivity troubles during integration of ẋ = f (x, u) and the
problem of satisfying x(T ) = b. A systematic method exploiting flatness for
predictive control is proposed in [25]. See also [81] for an industrial application
of such methodology on a chemical reactor.
Recent numerical experiments [82, 65] (the Nonlinear Trajectory Genera-
tion (NTG) project at Caltech) indicate that substantial computing gains are
obtained when flatness based parameterizations are employed.

30
5.2 State constraints and predictive control
In the previous section, we did not consider state constraints. We now turn
to the problem of planning a trajectory steering the state from a to b while
satisfying the constraint k(x, u, . . . , u(p) ) ≤ 0. In the flat output “coordinates”
this yields the following problem: find T > 0 and a smooth function [0, T ]  t →
y(t) such that (y, . . . , y (q) ) has prescribed value at t = 0 and T and such that
∀t ∈ [0, T ], K(y, . . . , y (ν) )(t) ≤ 0 for some ν. When q = ν = 0 this problem,
known as the piano mover problem, is already very difficult.
Assume for simplicity sake that the initial and final states are equilibrium
points. Assume also there is a quasistatic motion strictly satisfying the con-
straints: there exists a path (not a trajectory) [0, 1]  σ → Y (σ) such that
Y (0) and Y (1) correspond to the initial and final point and for any σ ∈ [0, 1],
K(Y (σ), 0, . . . , 0) < 0. Then, there exists T > 0 and [0, T ]  t → y(t) solution
of the original problem. It suffices to take Y (η(t/T )) where T is large enough,
and where η is a smooth increasing function [0, 1]  s → η(s) ∈ [0, 1], with
i
η(0) = 0, η(1) = 1 and ddsηi (0, 1) = 0 for i = 1, . . . , max(q, ν).
In [95] this method is applied to a two-input chemical reactor. In [90] the
minimum-time problem under state constraints is investigated for several me-
chanical systems. [102] considers, in the context of non holonomic systems, the
path planning problem with obstacles. Due to the nonholonomic constraints,
the above quasistatic method fails: one cannot set the y-derivative to zero since
they do not correspond to time derivatives but to arc-length derivatives. How-
ever, several numerical experiments clearly show that sorting the constraints
with respect to the order of y-derivatives plays a crucial role in the computing
performance.

6 Symmetries
6.1 Symmetry preserving flat output
Consider the dynamics ẋ = f (x, u), (x, u) ∈ X × U ⊂ Rn × Rm . It gen-
erates a system (F, M), where M := X × U × R∞ 1
m and F (x, u, u , . . . ) :=
1 2
(f (x, u), u , u , . . . ). At the heart of our notion of equivalence are endogenous
transformations, which map solutions of a system to solutions of another system.
We single out here the important class of transformations mapping solutions of
a system onto solutions of the same system:
Definition 6. An endogenous transformation Φg : M −→ M is a symmetry of
the system (F, M) if

∀ξ := (x, u, u1 , . . . ) ∈ M, F (Φg (ξ)) = DΦg (ξ) · F (ξ).


 
More generally, we can consider a symmetry group, i.e., a collection Φg g∈G
of symmetries such that ∀g1 , g2 ∈ G, Φg1 ◦ Φg2 = Φg1 ∗g2 , where (G, ∗) is a group.

31
Assume now the system is flat. The choice of a flat output is by no means
unique, since any endogenous transformation on a flat output gives rise to an-
other flat output.
Example 15 (The kinematic car). The system generated by

ẋ = u1 cos θ, ẏ = u1 sin θ, θ̇ = u2 ,

admits the 3-parameter symmetry group of planar (orientation-preserving) isome-


tries: for all translation (a, b) and rotation α , the endogenous mapping gener-
ated by

X = x cos α − y sin α + a
Y = x sin α + y cos α + b
Θ=θ+α
U 1 = u1
U 2 = u2

is a symmetry, since the state equations remain unchanged,

Ẋ = U1 cos Θ, Ẏ = U1 sin Θ, Θ̇ = U2 .

This system is flat z := (x, y) as a flat output. Of course, there are infinitely
many other flat outputs, for instance z̃ := (x, y + ẋ). Yet, z is obviously a
more “natural” choice than z̃, because it “respects” the symmetries of the sys-
tem. Indeed, each symmetry of the system induces a transformation on the flat
output z


z1 Z1 X z1 cos α − z2 sin α + a
−→ = =
z2 Z2 Y z1 sin α + z2 cos α + b
which does not involve derivatives of z, i.e., a point transformation. This point
transformation generates an endogenous transformation (z, ż, . . . ) → (Z, Ż, . . . ).
Following [31], we say such an endogenous transformation which is the total pro-
longation of a point transformation is holonomic.
On the contrary, the induced transformation on z̃



z̃1 Z̃1 X z̃1 cos α + (z˜˙1 − z˜2 ) sin α + a


−→ = =
z̃2 Z̃2 Y + Ẋ z̃1 sin α + z̃2 cos α + (z˜¨1 − z˜˙2 ) sin α + b

is not a point transformation (it involves derivatives of z̃) and does not give to
a holonomic transformation.

 Consider
 the system (F, M) admitting a symmetry Φg (or a symmetry group
Φg g∈G ). Assume moreover the system is flat with h as a flat output and
denotes by Ψ := (h, ḣ, ḧ, . . . ) the endogenous transformation generated by h.
We then have:

32
Definition 7 (Symmetry-preserving flat output). The flat output h pre-
serves the symmetry Φg if the composite transformation Ψ ◦ Φg ◦ Ψ−1 is holo-
nomic.
This leads naturally
 to a fundamental question: assume a flat system  admits

the symmetry group Φg g∈G . Is there a flat output which preserves Φg g∈G ?
This question can in turn be seen as a special case of the following problem:
view a dynamics ẋ − f (x, u) = 0 as an underdetermined differential system and
assume it admits a symmetry group; can it then be reduced to a “smaller”
differential system? Whereas this problem has been studied for a long time and
received a positive answer in the determined case, the underdetermined case
seems to have been barely untouched [78]. Some connected question relative to
invariant tracking are sketched in [99].

6.2 Flat outputs as potentials and gauge degree of free-


dom
Symmetries and the quest for potentials are at the heart of physics. To end the
paper, we would like to show that flatness fits into this broader scheme.
Maxwell’s equations in an empty medium imply that the magnetic field H
is divergent free, ∇ · H = 0. In Euclidian coordinates (x1 , x2 , x3 ), it gives the
underdetermined partial differential equation
∂H1 ∂H2 ∂H3
+ + =0
∂x1 ∂x2 ∂x3
A key observation is that the solutions to this equation derive from a vector
potential H = ∇ × A : the constraint ∇ · H = 0 is automatically satisfied
whatever the potential A. This potential parameterizes all the solutions of the
underdetermined system ∇ · H = 0, see [89] for a general theory. A is a priori
not uniquely defined, but up to an arbitrary gradient field, the gauge degree
of freedom. The symmetries of the problem indicate how to use this degree of
freedom to fix a “natural” potential.
The picture is similar for flat systems. A flat output is a “potential” for the
underdetermined differential equation ẋ − f (x, u) = 0. Endogenous transforma-
tions on the flat output correspond to gauge degrees of freedom. The “natural”
flat output is determined by symmetries of the system. Hence controllers de-
signed from this flat output can also preserve the physics.
A slightly less esoteric way to convince the reader that flatness is an inter-
esting notion is to take a look at the following small catalog of flat systems.

7 Catalogue of finite dimensional flat systems.


We give here a (partial) list of finite dimensional flat systems encountered in
applications.

33
7.1 Holonomic mechanical systems
7.1.1 Fully actuated holonomic systems
The dynamics of a holonomic system with as many independent inputs as con-
figuration variables is

d ∂L ∂L
− = M (q)u + D(q, q̇),
dt ∂ q̇ ∂q
2
with M (q) invertible. It admits q as a flat output –even when ∂∂ q̇L2 is singular–:
indeed, u can be expressed in function of q, q̇ by the computed torque formula

−1 d ∂L ∂L
u = M (q) − − D(q, q̇) .
dt ∂ q̇ ∂q
If q is constrained by c(q) = 0 the system remains flat, and the flat output
corresponds to the configuration point in c(q) = 0.

7.1.2 Linearized cart inverted pendulum

Figure 1: Inverted pendulum.

With small angle approximation, the dynamics reads:


d2 d2
(D + lθ) = gθ, M D = −mgθ + F
dt2 dt2
where F , the force applied to the trolley, is the control and l is the distance
between the oscillation center and the rotation axis. The flat output is y =
D + lθ, the abscise of oscillation center. In fact,
θ = ÿ/g, D = y − lÿ/g.

34
The high gain feedback (u as position set-point)

F = −M k1 Ḋ − M k2 (D − u)

with k1 ≈ 10/τ , k2 ≈ 10/τ 2 (τ = l/g), yields the following slow dynamics:

d2 y−u
(y) = g(y − u)/l = .
dt2 τ2
The simple feedback

u = −y − τ 2 ÿr (t) + τ (ẏ − ẏr (t)) + (y − yr (t))

ensure the tracking of t → yr (t).


This system is not feedback linearizable for large angle thus itis not flat
(single input case).

7.1.3 The double inverted pendulum

Figure 2: The double inverted pendulum.

Take two identical homogeneous beam over a trolley whose position D is

35
directly controlled. Under small angle approximations, the dynamics reads
y (2) ly (4)
θ1 = −
g 3g 2
y (2) ly (4)
θ2 = +
g 9g 2
35 7
D = y − lθ1 − lθ2
36 12
14ly (2) 7l2 y (4)
=y− + .
9g 27g 2
where y is the flat output.

7.1.4 Planar rigid body with forces

Figure 3: Planar rigid solid controlled by two body fixed forces.

Consider a planar rigid body moving in a vertical plane under the influence
of gravity and controlled by two forces having lines of action that are fixed with
respect to the body and intersect at a single point (see figure 3) (see [111]).
The force are denoted by F1 and F2 . Their directions, e1 and e2 , are fixed
with respect to the solid. These forces are applied at S1 and S2 points that are
fixed with respect to the solid. We assume that these forces are independent, i.e.,
when S1 = S2 their direction are not the same. We exclude the case S1 = S2 = G
since the system is not controllable (kinetic momentum is invariant).
Set G the mass center and θ the orientation of the solid. Denote by k the
unitary vector orthogonal to the plane. m is the mass and J the inertia with
respect to the axis passing through G and of direction k. g is the gravity.
Dynamics read
mG̈ = F1 + F2 + mg
−−→ −−→
J θ̈k = GS1 ∧ F1 + GS2 ∧ F2 .

36
As shown on figure 3, flat output P is Huyghens oscillation center when the
center of rotation is the intersection Q of the straight lines (S1 , e1 ) and (S2 , e2 ):

J −−→
P =Q+ 1+ QG.
ma2
with a = QG. Notice that when e1 and e2 are co-linear Q is sent to ∞ and P
coincides with G. Point P is the only point such that P̈ − g is colinear to the
direction P G, i.e, gives θ.
This example has some practical importance. The PVTOL system, the
gantry crane and the robot 2kπ (see below) are of this form, as is the simplified
planar ducted fan [75]. Variations of this example can be formed by changing
the number and type of the inputs [71].

7.1.5 The rocket

Figure 4: a rocket and it flat output P .

Other examples are possible in the 3-dimensional space with rigid body
admitting symmetries. Take, e.g., the rocket of figure 4. Its equations are (no
aero-dynamic forces)
mG̈ = F + mg
d ˙ −→
J (b ∧ b) = −SG ∧ F
dt
−→
where b = SG/SG and

P =S+ SG2 + J/m b.
It is easy to see that P̈ − g is co-linear to the direction b.

37
7.1.6 PVTOL aircraft
A simplified Vertical Take Off and Landing aircraft moving in a vertical Plane [34]
can be described by

ẍ = −u1 sin θ + εu2 cos θ


z̈ = u1 cos θ + εu2 sin θ − 1
θ̈ = u2 .

A flat output is y = (x − ε sin θ, z + ε cos θ), see [58] more more details and a
discussion in relation with unstable zero dynamics.

7.1.7 2kπ the juggling robot [47]

θ1
Pendulum motor
θ2

g S

O motor
laboratory
frame
θ3

motor

Figure 5: the robot 2kπ.

The robot 2kπ is developed at École des Mines de Paris and consists of
a manipulator carrying a pendulum, see figure 5. There are five degrees of
freedom (dof’s): 3 angles for the manipulator and 2 angles for the pendulum.
The 3 dof’s of the manipulator are actuated by electric drives, while the 2 dof’s
of the pendulum are not actuated.
This system is typical of underactuated, nonlinear and unstable mechanical
systems such as the PVTOL [57], Caltech’s ducted fan [64, 59], the gantry
crane [22], Champagne flyer [46]. As shown in [53, 22, 59] the robot 2kπ is flat,
with the center of oscillation of the pendulum as a flat output. Let us recall
some elementary facts

38
The cartesian coordinates of the suspension point S of the pendulum can be
considered here as the control variables : they are related to the 3 angles of the
manipulator θ1 , θ2 , θ3 via static relations. Let us concentrated on the pendulum
dynamics. This dynamics is similar to the ones of a punctual pendulum with
the same mass m located at point H, the oscillation center (Huygens theorem).
Denoting by l = SH the length of the isochronous punctual pendulum, New-
ton equation and geometric constraints yield the following differential-algebraic
system (T is the tension, see figure 6):

mḦ = T + mg ,  ∧ T = 0,
SH SH = l.

If, instead of setting t → S(t), we set t → H(t), then T = m(Ḧ − g). S is


located at the intersection of the sphere of center H and radius l with the line
passing through H of direction Ḧ − g :
1
S=H± (Ḧ − g).
Ḧ − g

These formulas are crucial for designing a control law steering the pendulum
from the lower equilibrium to the upper equilibrium, and also for stabilizing the
pendulum while the manipulator is moving around [47].

Figure 6: the isochronous pendulum.

7.1.8 Towed cable systems [70, 59]


This system consists of an aircraft flying in a circular pattern while towing
a cable with a tow body (drogue) attached at the bottom. Under suitable
conditions, the cable reaches a relative equilibrium in which the cable maintains
its shape as it rotates. By choosing the parameters of the system appropriately,
it is possible to make the radius at the bottom of the cable much smaller than
the radius at the top of the cable. This is illustrated in Figure 7.
The motion of the towed cable system can be approximately represented
using a finite element model in which segments of the cable are replaced by
rigid links connected by spherical joints. The forces acting on the segment
(tension, aerodynamic drag and gravity) are lumped and applied at the end of

39
Figure 7: towed cable system and finite link approximate model.

each rigid link. In addition to the forces on the cable, we must also consider
the forces on the drogue and the towplane. The drogue is modeled as a sphere
and essentially acts as a mass attached to the last link of the cable, so that
the forces acting on it are included in the cable dynamics. The external forces
on the drogue again consist of gravity and aerodynamic drag. The towplane is
attached to the top of the cable and is subject to drag, gravity, and the force
of the attached cable. For simplicity, we simply model the towplane as a pure
force applied at the top of the cable. Our goal is to generate trajectories for this
system that allow operation away from relative equilibria as well as transition
between one equilibrium point and another. Due to the high dimension of the
model for the system (128 states is typical), traditional approaches to solving
this problem, such as optimal control theory, cannot be easily applied. However,
it can be shown that this system is differentially flat using the position of the
bottom of the cable Hn as the differentially flat output. See [70] for a more
complete description and additional references.
Assume no friction and only gravity. Then, as for the pendulum of 2kπ, we
have
1
Hn−1 = Hn + (mn Ḧn − mng)
mn Ḧn − mng
where mn is the mass of link n. Newton equation for link n − 1 yields (with

40
obvious notations)

(mn Ḧn + mn−1 Ḧn−1 − (mn + mn−1 )g )


Hn−2 = Hn−1 + .
mn Ḧn + mn−1 Ḧn−1 − (mn + mn−1 )g 

More generally, we have at link i


 
1
n
Hi−1 = Hi + n mk (Ḧk − g ) .
 i mk (Ḧk − g ) i

These relations imply that S is function of Hn and its time derivatives up to order 2n.
Thus Hn is the flat output.

7.1.9 Gantry crane [22, 51, 49]


A direct application of Newton’s laws provides the implicit equations of motion

mẍ = −T sin θ x = R sin θ + D


mz̈ = −T cos θ + mg z = R cos θ,

where x, z, θ are the configuration variables and T is the tension in the cable. The
control inputs are the trolley position D and the cable length R. This system is flat,
with the position (x, z) of the load as a flat output.

7.1.10 Conventional aircraft


A conventional aircraft is flat, provided some small aerodynamic effects are neglected,
with the coordinates of the center of mass and side-slip angle as a flat output. See [53]
for a detailed study.

7.1.11 Satellite with two controls


We end this section with a system which is not known to be flat for generic parameter
value but still enjoys the weaker property of being orbitally flat [20]. Consider with [6]
a satellite with two control inputs u1 , u2 described by

ω̇1 = u1
ω̇2 = u2
ω̇3 = aω1 ω2
ϕ̇ = ω1 cos θ + ω3 sin θ (24)
θ̇ = (ω1 sin θ − ω3 cos θ) tan ϕ + ω2
(ω3 cos θ − ω1 sin θ)
ψ̇ = ,
cos ϕ
where a = (J1 − J2 )/J3 (Ji are the principal moments of inertia); physical sense
imposes |a| ≤ 1. Eliminating u1 , u2 and ω1 , ω2 by
ϕ̇ − ω3 sin θ
ω1 = and ω2 = θ̇ + ψ̇ sin ϕ
cos θ

41
yields the equivalent system
ϕ̇ − ω3 sin θ
ω̇3 = a(θ̇ + ψ̇ sin ϕ) (25)
cos θ
ω3 − ϕ̇ sin θ
ψ̇ = . (26)
cos ϕ cos θ
But this system is in turn equivalent to
   
cos θ ψ̈ cos ϕ − (1 + a)ψ̇ϕ̇ sin ϕ + sin θ ϕ̈ + aψ̇ 2 sin ϕ cos ϕ
+ θ̇(1 − a)(ϕ̇ cos θ − ψ̇ sin θ cos ϕ) = 0
by substituting ω3 = ψ̇ cos ϕ cos θ + ϕ̇ sin θ in (25).
When a = 1, θ can clearly be expressed in function of ϕ, ψ and their derivatives.
We have proved that (24) is flat with (ϕ, ψ) as a flat output. A similar calculation can
be performed when a = −1.
When |a| < 1, whether (24) is flat is unknown. Yet, it is orbitally flat [93]. To see
that, rescale time by σ̇ = ω3 ; by the chain rule ẋ = σ̇x whatever the variable x, where

denotes the derivation with respect to σ. Setting then
ω̄1 := ω1 /ω3 , ω̄2 := ω2 /ω3 , ω̄3 := −1/aω3 ,
and eliminating the controls transforms (24) into
ω3 = ω̄1 ω̄2
ϕ = ω̄1 cos θ + sin θ
θ = (ω̄1 sin θ − cos θ) tan ϕ + ω̄2
(cos θ − ω̄1 sin θ)
ψ = .
cos ϕ
The equations are now independent of a. This implies the satellite with a = 1 is
orbitally equivalent to the satellite with a = 1. Since it is flat when a = 1 it is
orbitally flat when a = 1, with (ϕ, ψ) as an orbitally flat output.

7.2 Nonholonomic mechanical systems


Many mobile robots such as considered in [7, 73, 108] admit the same structure. They
are flat and the flat output corresponds to the Cartesian coordinates of a special
point. Starting from the classical n-trailer systems [98, 22, 97, 18] we show that, when
n, the number of trailers, tends to infinity the system tends to a trivial delay system,
the non-holonomic snake. Invariance with respect to rotations and translations make
very natural the use of Frénet formulae and curve parameterization with respect to
arc length instead of time (see [59, 99] for relations between flatness and physical
symmetries) . The study of such systems gives us the opportunity to recall links
with an old problem stated by Hilbert [35] and investigated by Cartan [8], on Pfaffian
systems, Goursat normal forms and (absolute) equivalence.

7.2.1 The car


The rolling without slipping conditions yield (see figure 8 for the notations)


 ẋ = v cos θ
ẏ = v sin θ (27)

 θ̇ = v tan ϕ
l

42
Figure 8: kinematic of a car.

where v, the velocity, and ϕ, the steering angle are the two controls. These equations
mean geometrically that the angle θ gives the direction of the tangent to the curve
followed by P , the point of coordinates (x, y), and that tan ϕ/l corresponds to the
curvature of this curve:


cos θ
v = ±Ṗ , = Ṗ /v, tan ϕ = l det(P̈ Ṗ )/v |v|.
sin θ
There is thus a one to one correspondence between arbitrary smooth curves and the
solutions of (27). It provides, as shown in [22], a very simple algorithm to steer the
car from on a configuration to another one.

7.2.2 Car with n-trailers [22]

Figure 9: car with n trailers.

Take the single car here above and hitch, as display on figure 9, n trailers. The
resulting system still admits two control: the velocity of the car v and the steering
angle φ. As for the single car, modelling is based on the rolling without slipping
conditions.
There is a one to one correspondence between smooth curves of arbitrary shapes
and the system trajectories. It suffices to consider the curve followed by Pn , the

43
cartesian position of the last trailer. It is not necessary to write down explicitly the
system equations in the state-space form as (27). Just remember that the kinematic
constraints say that the velocity of each trailer (more precisely of the middle of its
wheel axle) is parallel to the direction of its hitch.

Figure 10: case n = 1.

Take n = 1 and have a look at figure 10. Assume that the curve C followed by
P1 is smooth. Take s → P (s) an arc length parameterization. Then P1 = P (s), θ1 is
the angle of  τ , the unitary tangent vector to C. Since P0 = P + d1 τ derivation with
respect to s provides
d
P0 = τ + d1 κ
ν
ds
d
with (τ , ν ) the Frénet frame of C and κ its curvature. Thus P0 = 0 is tangent to
ds
C0 , the curve followed by P0 . This curve is necessary smooth and
1
tan(θ0 − θ1 ) = d1 κ, τ0 = (τ + d1 κ
ν ).
1 + (d1 κ)2

Derivation with respect to s0 , (ds0 = 1 + (d1 κ)2 ds) yields the steering angle φ :

1 d1 dκ
tan φ = d0 κ0 = d0 κ+ .
1 + (d1 κ)2 1 + (d1 κ)2 ds

The car velocity v is then given by



v(t) = 1 + d21 κ2 (s(t)) ṡ(t)

for any C 1 time function, t → s(t). Notice that φ and θ0 − θ1 always remain in
] − π/2, π/2[. These computations prove the one to one correspondence between the

44
system trajectories respecting φ and θ0 − θ1 in ] − π/2, π/2[, and regular planar curves
of arbitrary shape with an arbitrary C 1 time parameterization.
The case n > 1 is just a direct generalization. The correspondence between arbi-
trary smooth curves s → P (s) (tangent τ , curvature κ) with a C 1 time parameteriza-
tion t → s(t) is then defined by a smooth invertible map
2 1
 ×S ×R
R n+2
 → R2 × S1 ×] − π/2, π/2[n+1 ×R
dn κ
P, τ , κ, dκ
ds
,..., dsn
, ṡ → (Pn , θn , θn − θn−1 , . . . , θ1 − θ0 , φ, v)

where v is the car velocity. More details are given in [22].


With such a correspondence, motion planning reduces to a trivial problem: to find
a smooth curve with prescribed initial and final positions, tangents, curvatures κ and
curvature derivatives, di κ/dsi , i = 1, . . . , n.

7.2.3 The general one-trailer system [98]

Figure 11: car with one trailer.

This nonholonomic system is displayed on figure 11: here the trailer is not directly
hitched to the car at the center of the rear axle, but more realistically at a distance a
of this point. The equations are



ẋ = cos α v
 ẏ = sin α v


1 (28)
 α̇ = tan ϕ v

 l  

 β̇ = 1 a tan ϕ cos(α − β) − sin(α − β) v.
b l
Controls are the car velocity v and the steering angle ϕ.
There still exists a one to one correspondence between the trajectories of (28) and
arbitrary smooth curves with a C 1 time parameterization. Such curves are followed
by the point P (see figure 11) of coordinates
b sin β − a sin α
X = x + b cos β + L(α − β)
a2 + b2 − 2ab cos(α − β)
(29)
a cos α − b cos β
Y = y + b sin β + L(α − β)
a2 + b2 − 2ab cos(α − β)

45
where L is defined by an elliptic integral :
 2π+α−β
cos σ
L(α − β) = ab √ dσ. (30)
π a2 + b2 − 2ab cos σ

D
P A
B
C
Figure 12: geometric construction with the Frénet frame.

We have also a geometrical construction (see figure 12): the tangent vector 
τ is
parallel to AB. Its curvature κ depends on δ = α − β:
sin δ
κ = K(δ) = √ (31)
cos δ a2 + b2 − 2ab cos δ − L(δ) sin δ
Function K is an increasing bijection between ]γ, 2π − γ[ and R. The constant γ ∈
[0, π/2] is defined by the implicit equation
 γ
cos σ
cos γ a2 + b2 − 2ab cos γ = ab sin γ √ dσ.
π a + b2 − 2ab cos σ
2

For a = 0, γ = π/2 and P coincides with B. Then D is given by D = P − L(δ) ν with


ν the unitary normal vector. Thus (x, y, α, β) depends on (P, τ , κ). The steering angle
ϕ depends on κ and dκ/ds where s is the arc length. Car velocity v is then computed
from κ, dκ/ds and ṡ, the velocity of P .

7.2.4 The rolling penny


The dynamics of this Lagrangian system submitted to a nonholonomic constraint is
described by
ẍ = λ sin ϕ + u1 cos ϕ
ÿ = −λ cos ϕ + u1 sin ϕ
ϕ̈ = u2
ẋ sin ϕ = ẏ cos ϕ
where x, y, ϕ are the configuration variables, λ is the Lagrange multiplier of the con-
straint and u1 , u2 are the control inputs. A flat output is (x, y): indeed, parameterizing
time by the arclength s of the curve t → (x(t), y(t)) we find
dx dy dκ 2
cos ϕ = , sin ϕ = , u1 = ṡ, u2 = κ(s) s̈ + ṡ ,
ds ds ds
where κ is the curvature. These formulas remain valid even if u1 = u2 = 0.
This example can be generalized to any mechanical system subject to m flat non-
holonomic constraints, provided there are n − m control forces independent of the
constraint forces (n the number of configuration variables), i.e., a “fully-actuated”
nonholonomic system as in [7].

46
7.2.5 Kinematics generated by two nonholonomic constraints
Such systems are flat by theorem 5 since they correspond to driftless systems with
n states and n − 2 inputs. For instance the rolling disc (p. 4), the rolling sphere
(p. 96) and the bicycle (p. 330) considered in the classical treatise on nonholonomic
mechanics [74] are flat.
All these flat nonholonomic systems have a controllability singularity at rest. Yet,
it is possible to “blow up” the singularity by reparameterizing time with the arclength
of the curve described by the flat output, hence to plan and track trajectories starting
from and stopping at rest as explained in [22, 98, 18].

7.3 Electromechanical systems


7.3.1 DC-to-DC converter
A Pulse Width Modulation DC-to-DC converter can be modeled by
x2 E x1 x2
ẋ1 = (u − 1) + , ẋ2 = (1 − u) − ,
L L LC RC
where the duty ratio u ∈ [0, 1] is the control input. The electrical stored energy
x2 x2
y := 1 + 2 is a flat output [103, 39].
2C 2L

7.3.2 Magnetic bearings


A simple flatness-based solution to motion planning and tracking is proposed in [50].
The control law ensures that only one electromagnet in each actuator works at a
time and permits to reduce the number of electromagnets by a better placement of
actuators.

7.3.3 Induction motor


The standard two-phase model of the induction motor reads in complex notation
(see [48] for a complete derivation)

Rs is + ψ̇s = us ψs = Ls is + M ejnθ ir
Rr ir + ψ̇r = 0 ψr = M e−jnθ is + Lr ir ,

where ψs and is (resp. ψr and ir )√are the complex stator (resp. rotor) flux and current,
θ is the rotor position and j = −1. The control input is the voltage us applied to
the stator. Setting ψr = ρejα , the rotor motion is described by

d2 θ n 2
J = ρ α̇ − τL (θ, θ̇),
dt2 Rr
where τL is the load torque.
This system is flat with the two angles (θ, α) as a flat output [63] (see [11] also for
a related result).

47
7.4 Chemical systems
7.4.1 CSTRs
Many simple models of Continuous Stirred Tank Reactors (CSTRs) admit flats outputs
with a direct physical interpretation in terms of temperatures or product concentra-
tions [36, 1], as do closely related biochemical processes [4, 17]. In [95] flatness is used
to steer a reactor model from a steady state to another one while respecting some
physical constraints. In[67], flatness based control of nonlinear delay chemical reactors
is proposed.
A basic model of a CSTR with two chemical species and any number of exothermic
or endothermic reactions is

ẋ1 = f1 (x1 , x2 ) + g1 (x1 , x2 )u


ẋ2 = f2 (x1 , x2 ) + g2 (x1 , x2 )u,

where x1 is a concentration, x2 a temperature and u the control input (feedflow or


heat exchange). It is obviously linearizable by static feedback, hence flat.
When more chemical species are involved, a single-input CSTR is in general not
flat, see [40]. Yet, the addition of another manipulated variable often renders it flat,
see [1] for an example on a free-radical polymerization CSTR. For instance basic model
of a CSTR with three chemical species, any number of exothermic or and two control
inputs is

ẋ1 = f1 (x) + g11 (x)u1 + g12 (x)u2


ẋ2 = f2 (x) + g21 (x)u1 + g22 (x)u2
ẋ3 = f3 (x) + g31 (x)u1 + g32 (x)u2 ,

where x1 , x2 are concentrations and x3 is a temperature temperature and u1 , u2 are


the control inputs (feed-flow, heat exchange, feed-composition,. . . ). Such a system is
always flat, see section 4.2.3.

7.4.2 heating system

Figure 13: a finite volume model of a heating system.

Consider the 3-compartment model described on figure 13. Its dynamics is based
on the following energy balance equations ((m, ρ, Cp , λ) are physical constants)


 mρCp θ̇1 = λ(θ2 − θ1 )

mρCp θ̇2 = λ(θ1 − θ2 ) + λ(θ3 − θ2 ) (32)



mρCp θ̇3 = λ(θ2 − θ3 ) + λ(u − θ3 ).

48
Its is obvious that this linear system is controllable with y = θ1 as Brunovsky output:
it can be transformed via linear change of coordinates and linear static feedback into
y (3) = v.
Taking an arbitrary number n of compartments yields


 mρCp θ̇1 = λ(θ2 − θ1 )





 mρCp θ̇2 = λ(θ1 − θ2 ) + λ(θ3 − θ2 )



 ..



 .

mρCp θ̇i = λ(θi−1 − θi ) + λ(θi+1 − θi ) (33)






.
..







 mρCp θ̇n−1 = λ(θn−2 − θn−1 ) + λ(θn − θn−1 )



mρCp θ̇n = λ(θn−1 − θn ) + λ(u − θn ).

y = θ1 remains the Brunovsky output: via linear change of coordinates and linear
static feedback we have y (n) = v.
When n tends to infinity, m and λ tend to zeros as 1/n and (33) tends to the
classical heat equation where the temperature on the opposite side to u, i.e., y = θ(0, t),
still plays a special role.

7.4.3 Polymerization reactor


Consider with [106] the reactor

Cmms µ1 Cm
Ċm = − 1+ε + Rm (Cm , Ci , Cs , T )
τ µ1 + Mm Cm τ

Ciis µ1 Ci
Ċi = −ki (T )Ci + u2 − 1+ε
V µ1 + Mm Cm τ

Csis Csms µ1 Cs
Ċs = u2 + − 1+ε
V τ µ1 + Mm Cm τ

µ1 µ1
µ̇1 = −Mm Rm (Cm , Ci , Cs , T ) − 1 + ε
µ1 + Mm Cm τ
Ṫ = φ(Cm , Ci , Cs , µ1 , T ) + α1 Tj
Ṫj = f6 (T, Tj ) + α4 u1 ,

where u1 , u2 are the control inputs and Cmms , Mm , ε, τ, Ciis , Csms , Csis , V , α1 ,
α4 are constant parameters. The functions Rm , ki , φ and f6 are not well-known and
derive from experimental data and semi-empirical considerations, involving kinetic
laws, heat transfer coefficients and reaction enthalpies.
The polymerization reactor is flat whatever the functions Rm , ki , φ, f6 and admits
(Csis Ci − Ciis Cs , Mm Cm + µ1 ) as a flat output [96].

8 Infinite dimension “flat” systems


The idea underlying equivalence and flatness –a one-to-one correspondence between
trajectories of systems– is not restricted to control systems described by ordinary

49
differential equations. It can be adapted to delay differential systems and to par-
tial differential equations with boundary control. Of course, there are many more
technicalities and the picture is far from clear. Nevertheless, this new point of view
seems promising for the design of control laws. In this section, we sketch some recent
developments in this direction.

8.1 Delay systems


Consider for instance the simple differential delay system

ẋ1 (t) = x2 (t), ẋ2 (t) = x1 (t) − x2 (t) + u(t − 1).

Setting y(t) := x1 (t), we can clearly explicitly parameterize its trajectories by

x1 (t) = y(t), x2 (t) = ẏ(t), u(t) = ÿ(t + 1) + ẏ(t + 1) − y(t + 1).

In other words, y(t) := x1 (t) plays the role of a“flat” output. This idea is investigated
in detail in [66], where the class of δ-free systems is defined (δ is the delay operator).
More precisely, [66, 68] considers linear differential delay systems

M (d/dt, δ)w = 0

where M is a (n − m) × n matrix with entries polynomials in d/dt and δ and w =


(w1 , . . . , wn ) are the system variables. Such a system is said to be δ-free if it can be
related to the “free” system y = (y1 , . . . , ym ) consisting of arbitrary functions of time
by

w = P (d/dt, δ, δ −1 )y
y = Q(d/dt, δ, δ −1 )w,

where P (resp. Q) is a n × m (resp. m × n ) matrix the entries of which are polynomial


in d/dt, δ and δ −1 .
Many linear delay systems are δ-free. For example, ẋ(t) = Ax(t) + Bu(t − 1),
(A, B) controllable, is δ-free, with the Brunovski output of ẋ = Ax + Bv as a “δ-free”
output.
The following systems, commonly used in process control,
m  
Kij exp(−sδij )
zi (s) = uj (s), i = 1, . . . p
j=1
1 + τij s

(s Laplace variable, gains Kij , delays δij and time constants τij between uj and zi ) are
δ-free [79]. Other interesting examples of δ-free systems arise from partial differential
equations:

Example 16 (Torsion beam system). The torsion motion of a beam (figure 14)
can be modeled in the linear elastic domain by

∂t2 θ(x, t) = ∂x2 θ(x, t), x ∈ [0, 1]


∂x θ(0, t) = u(t)
∂x θ(1, t) = ∂t2 θ(1, t),

50
where θ(x, t) is the torsion of the beam and u(t) the control input. From d’Alembert’s
formula, θ(x, t) = φ(x + t) + ψ(x − t), we easily deduce

2θ(t, x) = ẏ(t + x − 1) − ẏ(t − x + 1) + y(t + x − 1) + y(t − x + 1)


2u(t) = ÿ(t + 1) + ÿ(t − 1) − ẏ(t + 1) + ẏ(t − 1),

where we have set y(t) := θ(1, t). This proves the system is δ-free with θ(1, t) as a
“δ-flat” output. See [69, 27, 30] for details and an application to motion planning.

y (t) = θ(1, t)
θ(x, t)
u(t)

1
x
0

Figure 14: torsion of a flexible beam

Many examples of delay systems derived from the 1D-wave equation can be treated
via such techniques (see [16] for tank filled with liquid, [26] for the telegraph equation
and [80] for two physical examples with delay depending on control).

Figure 15: the homogeneous chain without any load.

51
The following example shows that explicit parameterization via distributed delay
operators can also be useful. Small angle approximation of an homogenous heavy
chain yields the following dynamics around the stable vertical steady-state:
 2
 ∂ (gs ∂X ) − ∂ X = 0
∂s ∂s ∂t2 (34)

X(L, t) = u(t).

where X(s, t) is the horizontal position of the chain element indexed by s ∈ [0, L]. The
control u is the trolley horizontal position.
We prove in [84] that the general solution of (34) is given by the following formulas
where y is the free end position X(0, t) :
 π
1
X(s, t) = y(t + 2 s/g sin θ) dθ. (35)
2π −π

Simple computations show that (35) corresponds to the series solution of the (singular)
Cauchy-Kovalesky problem:

 ∂ ∂X ∂2X
(gs )=
∂s ∂s ∂t2

X(0, t) = y(t).

Relation (35) means that there is a one to one correspondence between the (smooth)
solutions of (34) and the (smooth) functions t → y(t). For each solution of (34),
set y(t) = X(0, t). For each function t → y(t), set X via (35) and u via
 π
1
u(t) = y(t + 2 L/g sin θ) dθ (36)
2π −π

to obtain a solution of (34).


Finding t → u(t) steering the system from a steady-state X ≡ 0 to another one
X ≡ D becomes obvious. It just consists in finding t → y(t) that is equal to 0 for t ≤ 0
and to D for t large enough (at least for t > 4 L/g) and in computing u via (36).
For example take


0 ift < 0
t 2
   
y(t) = 3L 3 − 2 Tt if 0 ≤ t ≤ T
 2
 3L
T

2
if t > T

where the chosen transfer time T equals 2∆ with ∆ = 2 L/g, the travelling time of
a wave between x = L and x = 0. For t ≤ 0 the chain is vertical at position 0. For
t ≥ T the chain is vertical at position D = 3L/2.

8.2 Distributed parameters systems


For partial differential equations with boundary control and mixed systems of par-
tial and ordinary differential equations, it seems possible to describe the one-to-one
correspondence via series expansion, though a sound theoretical framework is yet to
be found. We illustrate this original approach to control design on the following two
“flat” systems.

52
Example 17 (Heat equation). Consider as in [45] the linear heat equation

∂t θ(x, t) = ∂x2 θ(x, t), x ∈ [0, 1] (37)


∂x θ(0, t) = 0 (38)
θ(1, t) = u(t), (39)

where θ(x, t) is the temperature and u(t) is the control input.

We claim that
y(t) := θ(0, t)
is a “flat” output. Indeed, the equation in the Laplace variable s reads

sθ̂(x, s) = θ̂ (x, s) with θ̂ (0, s) = 0, θ̂(1, s) = û(s)

(  stands
√ for ∂x and ˆ√for the Laplace transform), and
√ the solution is clearly θ̂(x, s) =
cosh(x s)û(s)/ cosh( s). As θ̂(0, s) = û(s)/ cosh( s), this implies
√ √
û(s) = cosh( s) ŷ(s) and θ̂(x, s) = cosh(x s) ŷ(s).

Since cosh s = +∞ i
i=0 s /(2i)!, we eventually get


+∞
y (i) (t)
θ(x, t) = x2i (40)
i=1
(2i)!

+∞ (i)
y (t)
u(t) = . (41)
i=1
(2i)!

In other words, whenever t → y(t) is an arbitrary function (i.e., a trajectory of the
trivial system y = v), t → θ(x, t), u(t) defined by (40)-(41) is a (formal) trajectory
of (37)–(39), and vice versa. This is exactly the idea underlying the definition of
flatness. Notice these calculations have been known for a long time, see [109, pp. 588
and 594].
To make the statement precise, we now turn to convergence issues. On the one
hand, t → y(t) must be a smooth function such that

∃ K, M > 0, ∀i ≥ 0, ∀t ∈ [t0 , t1 ], |y (i) (t)| ≤ M (Ki)2i

to ensure the convergence of the series (40)-(41).


On the other hand t → y(t) cannot in general be analytic. Indeed, if the system is
to be steered from an initial temperature profile θ(x, t0 ) = α0 (x) at time t0 to a final
profile θ(x, t1 ) = α1 (x) at time t1 , equation (37) implies

∀t ∈ [0, 1], ∀i ≥ 0, y (i) (t) = ∂ti θ(0, t) = ∂x2i θ(0, t),

and in particular

∀i ≥ 0, y (i) (t0 ) = ∂x2i α0 (0) and y (i) (t1 ) = ∂x2i α1 (1).

If for instance α0 (x) = c for all x ∈ [0, 1] (i.e., uniform temperature profile), then
y(t0 ) = c and y (i) (t0 ) = 0 for all i ≥ 1, which implies y(t) = c for all t when the
function is analytic. It is thus impossible to reach any final profile but α1 (x) = c for
all x ∈ [0, 1].

53
Smooth functions t ∈ [t0 , t1 ] → y(t) that satisfy

∃ K, M > 0, ∀i ≥ 0, |y (i) (t)| ≤ M (Ki)σi

are known as Gevrey-Roumieu functions of order σ [91] (they are also closely related to
class S functions [32]). The Taylor expansion of such functions is convergent for σ ≤ 1
and divergent for σ > 1 (the larger σ is, the “more divergent” the Taylor expansion is
). Analytic functions are thus Gevrey-Roumieu of order ≤ 1.
In other words we need a Gevrey-Roumieu function on [t0 , t1 ] of order > 1 but ≤ 2,
with initial and final Taylor expansions imposed by the initial and final temperature
profiles. With such a function, we can then compute open-loop control steering the
system from one profile to the other by the formula (40).
For instance, we steered the system from uniform temperature 0 at t = 0 to uniform
temperature 1 at t = 1 by using the function


 0 if t < 0

1 if t > 1
R t → y(t) :=  t  

 exp −1/(τ (1 − τ )) γ

 0
   if t ∈ [0, 1],
1
0
exp −1/(τ (1 − τ ))γ dτ

with γ = 1 (this function is Gevrey-Roumieu functions of order 1+1/γ). The evolution


of the temperature profile θ(x, t) is displayed on figure 16 (the Matlab simulation is
available upon request at [email protected]).

1.5
theta

0.5

0
1
0.8 1
0.6 0.8
0.4 0.6
0.4
0.2 0.2
t 0 0
x

Figure 16: evolution of the temperature profile for t ∈ [0, 1].

54
Similar but more involved calculations with convergent series corresponding to
Mikunsiński operators are used in [28, 29] to control a chemical reactor and a flexible
rod modeled by an Euler-Bernoulli equation. For nonlinear systems, convergence issues
are more involved and are currently under investigation. Yet, it is possible to work
–at least formally– along the same line.
Example 18 (Flexion beam system). Consider with [43] the mixed system

ρ∂t2 u(x, t) = ρω 2 (t)u(x, t) − EI∂x4 u(x, t), x ∈ [0, 1]


Γ3 (t) − 2ω(t) <u, ∂t u>(t)
ω̇(t) =
Id + <u, u>(t)
with boundary conditions

u(0, t) = ∂x u(0, t) = 0, ∂x2 u(1, t) = Γ1 (t), ∂x3 u(1, t) = Γ2 (t),

where ρ, EI, Id are constant parameters, u(x, t) is the deformation of the beam, ω(t)
1
is the angular velocity of the body and <f, g >(t) := 0 ρf (x, t)g(x, t)dx. The three
control inputs are Γ1 (t), Γ2 (t), Γ3 (t).
We claim that  
y(t) := ∂x2 u(0, t), ∂x3 u(0, t), ω(t)
is a “flat” output. Indeed, ω(t), Γ1 (t), Γ2 (t) and Γ3 (t) can clearly be expressed in
terms of y(t) and u(x, t), which transforms the system into the equivalent Cauchy-
Kovalevskaya form


 u(0, t) = 0


 ∂x u(0, t) = 0
EI∂x4 u(x, t) = ρy32 (t)u(x, t) − ρ∂t2 u(x, t) and


 ∂x2 u(0, t) = y1 (t)

 3
∂x u(0, t) = y2 (t).
xi
Set then formally u(x, t) = +∞i=0 ai (t) i! , plug this series into the above system and
identify term by term. This yields

a0 = 0, a1 = 0, a 2 = y1 , a 3 = y2 ,

and the iterative relation ∀i ≥ 0, EIai+4 = ρy32 ai − ρäi . Hence for all i ≥ 1,
ρ 2
a4i = 0 a4i+2 = (y a4i−2 − ä4i−2 )
EI 3
ρ 2
a4i+1 = 0 a4i+3 = (y3 a4i−1 − ä4i−1 ).
EI
There is thus a 1–1 correspondence between (formal) solutions of the system and
arbitrary mappings t → y(t): the system is formally flat.
For recent results on nonlinear flexion systems see [101].

9 A catalog of infinite dimensional “flat systems”


9.1 Chemical réactor with a recycle loop
This example is borrowed to [100] where a catalogue of flat chemical systems is avail-
able. Take the exothermic chemical reactor studied in [3] (one reaction A −→ B

55
Figure 17: A chemical reactor with a recycle loop.

involving two species, A and B) and add, as shown on figure 17, a recycle loop and
a delay τQ in the cooling system. Under classical assumption the mass and energy
balances read

ẋ(t) = D(xF − x(t)) + DR (x(t − τR ) − x(t)) − r(x(t), T (t))
(42)
Ṫ (t) = D(TF − T (t)) + DR (T (t − τR ) − T (t)) + α r(x(t), T (t)) + Q(t − τQ ).
The concentration of A is denoted by x and the temperature by T . The control Q is
proportional to the cooling duty. The constant parameter are : α (reaction enthalpy)
; D (dilution rate); xF and TF (feed composition and temperature).
The recycle dynamics is described here by a delay τR (plug flow without reaction
nor diffusion). Denote by VR the volume of the recycle loop and FR the recycle
volumetric flow. Then τR = VR /FR . We will show that y = x(t) is the flat-output.
Assume that x(t) = y(t) is given. The mass balance (the first equation in (42))
defines implicitly the temperature T as a function of y(t), ẏ(t) and y(t − τR ) :
T (t) = Θ(y(t), ẏ(t), y(t − τR )).
The energy balance reads
Q(t − τQ ) = Ṫ (t) − D(TF − T (t)) − DR (T (t − τR ) − T (t)) − α r(y(t), T (t));
thus
Q(t) = Ṫ (t + τQ ) − D(TF − T (t + τQ )) − DR (T (t − τR + τQ ) − T (t + τQ ))
−α r(y(t + τQ ), T (t + τQ )).
This means that Q(t) depends on y(t + τQ ), ẏ(t + τQ ), ÿ(t + τQ ), y(t − τR + τQ ),
y(t − 2τR + τQ ) et ẏ(t − τR + τQ ). Formally we have
Q(t) = Λ[y(t + τQ ), ẏ(t + τQ ), ÿ(t + τQ ), y(t − τR + τQ ), y(t − 2τR + τQ ),
ẏ(t − τR + τQ )].
The value of Q(t) for t ∈ [0, t∗ ] depends on y(t) for t ∈ [−2τR + τQ , t∗ + τQ ]. To
find a control steering the system from one steady state to another one, take t → y(t)
constant outside of [0, t∗ ]. Then the transition starts at t = −τQ for Q, at t = 0 for
T and x. The new steady-state is reached at t = t∗ for x, at t = t∗ + τR for T and
t = t∗ + 2τR − τQ for Q.

56
9.2 The nonholonomic snake

Figure 18: the non-holonomic snake, a car with an infinite number of small
trailers.

When the number of trailers is large, it is natural, as displayed on figure 18, to


introduce the continuous approximation of the “non-holonomic snake”. The trailers
are now indexed by a continuous variable l ∈ [0, L] and their positions are given by a
map [0, L] l → M (l, t) ∈ R2 satisfying the following partial differential equations:
 
 ∂M  ∂M ∂M
  ∧
 ∂l  = 1, ∂l ∂t
= 0.

The first equation says that l → M (l, t) is an arc length parameterization. The second
one is just the rolling without slipping conditions : velocity of trailer l is parallel to
the direction of the plan of its wheels, i.e., the tangent to the curve l → M (l, t). It is
then obvious that the general solution of this system is
M (l, t) = P (s(t) − l), l ∈ [0, L]
where P is the snake head and s → P (s) an arc length parameterization of the curve
followed by P . Similarly,
M (l, t) = Q(s(t) + l), l ∈ [0, L]
where Q is the snake tail. It corresponds to the flat output of the finite dimensional
approximation, the n-trailers system of figure 9, with n large and di = L/n. Deriva-
tives up to order n are in the infinite case replaced by advances in the arc length scale.
This results from the formal relation
(i)
Q(s + l) = Q (s)li /i!
i≥0

and the series truncation up to the first n terms. Nevertheless, M (l, t) = Q(s(t) + l)
is much more simple to use in practice. When n is large, the series admit convergence
troubles for s → Q(s) smooth but not analytic.
When the number of trailers is large and the curvature radius 1/κ of s → Q(s) is
much larger than the length of each small trailer, such infinite dimensional approxi-
mation is valid. It reduces the dynamics to trivial delays. It is noteworthy that, in
this case, an infinite dimensional description yields to a much better reduced model
than a finite dimensional description that gives complex nonlinear control models and
algorithms 1 .
1 The finite dimensional system does not require to be flat (trailer i can be hitched to trailer

i − 1 not directly at the center of its wheel axle, but more realistically at a positive distance
of this point [60]).

57
9.3 Nonlinear heavy chain systems
The nonlinear conservative model of an homogenous heavy chain with an end mass is
the following.


 ∂2M ∂ ∂M

 ρ = T + ρg

 ∂t2 ∂s ∂s

  

  ∂M 
  
 ∂s  = 1 (43)



 M (L, t) = u(t)






2
 T (0, t) ∂M (0, t) = m ∂ M (0, t) − mg .
∂s ∂t2
3
where [0, L] s → M (s, t) ∈ R is an arc length parameterization of the chain and
T (s, t) > 0 is the tension. The control u is the position of the suspension point. If we
use  s
N (s, t) = M (σ, t) dσ
0
instead of M (s, t) (Bäcklund transformation) we have

∂2N ∂2N ∂2N


ρ 2
= T (s, t) 2 (s, t) − T (0, t) 2 (0, t) + ρsg
∂t
 2  ∂s ∂s
∂ N 
 
 ∂s2  = 1
∂N
(L, t) = u(t)
∂s
2
∂ N ∂3N
T (0, t) 2 (0, t) = m 2 (0, t) − mg
∂s ∂t ∂s
N (0, t) = 0.

Assume that the load trajectory is given


∂N
t → y(t) = (0, t).
∂s
Then (we take the positive branch)
 2 
 ∂ N 
T (s, t) = ρ 2 (s, t) − (ρs + m)g + mÿ(t)


∂t

and we have the Cauchy-Kovalevsky problem


2

∂2N 1 ∂ N
(s, t) = ρ (s, t) − (ρs + m)
g + mÿ(t)
∂s2 T (s, t) ∂t2
N (0, t) = 0
∂N
(0, t) = y(t).
∂s
Formally, its series solution expresses in terms of y and its derivatives of infinite order.
This could be problematic since y must be analytic and the series converge for s ≥ 0
small enough.

58
We will see here below that the solution of the tangent linearization of this Cauchy-
Kovalevsky system around the stable vertical steady-state can be expressed via ad-
vances and delays of y. Such a formulation avoids series with y derivatives of arbitrary
orders. For the nonlinear system here above, we conjecture a solution involving non-
linear delays and advances of y.

9.4 Burger equation without diffusion [80]

3.5

2.5

1.5

1
1
0.8 1.5
0.6
1
0.4
0.2 0.5
0 0

Figure 19: A velocity described by Burger equation; transition from low velocity
v ≡ 1 to a high velocity v ≡ 4 without shock.

The Burger equation represent the velocity flied in a one dimensional gas where
particles have no interaction and have an inertial motion in a tube of length l:
∂v ∂v
+v = 0 x ∈ [0, 1]
∂t ∂x . (44)
v(0, t) = u(t)
The field x → v(x, t) represents the velocity of the particles for x ∈ [0, l]. The control
is the input velocity u(t) > 0.
The output velocity is y(t) = v(l, t). Since the acceleration of each particle is zero,
its velocity remains constant. Thus the particle coming out of the tube at time t has
velocity equation to y(t). At time t − l/y(t) this particle enters the as tube in x = 0
with velocity u(t − 1/y(t)). Thus
y(t) = u(t − 1/y(t)).

59
Similarly;
u(t) = y(t + 1/u(t)).
More generally :
y(t) = v(t − (1 − x)/y(t), x) x ∈ [0, 1]
and
u(t) = v(t + x/u(t), x) x ∈ [0, 1].
Formally, we have a one to one correspondence between t → v( , t), solution of (44),
and t → y(t). This correspondence is effective as soon as y > 0 is differentiable,
t → t − (1 − x)/y(t) increasing for all x ∈ [0, l], i.e., for all t, ẏ(t) > −y 2 (t).
This condition corresponds to smooth solution and avoid shocks and discontinuous
solution. It is then easy to find t → u(t) steering smoothly from a low velocity
v( , 0) ≡ v1 > 0 to a high one v( , T ) ≡ v2 > v1 in a time T . Notice that the same
computation remains valid for

vt + λ(v)vx = 0 x ∈ [0, l]
v(0, t) = u(t).

The relations between y(t) = v(l, t), u and v becomes (see, e.g., [13][page 41]):

y(t) = u[t − 1/λ(y(t))], y(t) = v[t − (1 − x)/λ(y(t)), x].

9.5 Mixing processes


Example of figure 20 comes from [80], a system where delays depend on control. Using
three tanks with base colors, the goal is to produce in the output tank a specified
quantity and color.
Since the pipe volume are comparable to the output tank volume, delays appear.
We assume plug flow in pipes α and β. Knowing the output tank quantities, t → Y =
(Y1 , Y2 , Y3 ), it is possible to derived explicitly the three control u = (u1 , u2 , u3 ) and
the color profile in pipes α and β via Y and its time derivative Ẏ . Notations are as
follows (see figure 20).
• a color (or composition) is a triplet (c1 , c2 , c3 ) with ∀i = 1, 2, 3 0 ≤ ci ≤ 1 and
c1 + c2 + c3 = 1.
• bi = (δij )j=1,2,3 corresponds to base color in the input tank no i, i = 1, 2, 3.
• u = (u1 , u2 , u3 )T : the output flow from the input tanks (the control).
• α = (α1 , α2 , 0)T : color at mixing node α.
• β = (β1 , β2 , β3 )T : color at mixing node β.
• V : volume in the output tank.
• X = (X1 , X2 , X3 ): color in the output tank.
• Y = (Y1 , Y2 , Y3 )T = (V.X1 , V.X2 , V.X3 )T the three holdups in output tank.
Y1 , Y2 , Y3 are increasing time functions.
• Vα : volume of pipe α.
• Vβ : volume of pipe β.

60
node α
α

node β β

Figure 20: colors mixing; variable delays are due to non negligible pipe volumes
Vα and Vβ .

61
Notice that

α1 + α2 = 1, β1 + β2 + β3 = 1, X1 + X2 + X3 = 1.

Balance equations provide u, α and β versus Y . Assume that t → σ(t) → Y (σ(t))


is given: t → σ(t) is a smooth increasing time function and σ → Yi (σ) is positive,
smooth and strictly increasing, i = 1, 2, 3. Computations start from the output and
finish at the input. The main steps are (  stands for d/dσ):
1. solve (via , e.g., a Newton-like method) the scalar equation


3
3
Yi (σβ ) = Yi (σ(t)) + Vβ
i=1 i=1

with σβ as unknown.
2. solve, similarly

Y1 (σα ) + Y2 (σα ) = Y1 (σβ ) + Y2 (σβ ) + Vα

with σα as unknown.
3. set
Y1 (σα )
α1 (t) = , α2 (t) = 1 − α1 (t).
Y1 (σα ) + Y2 (σα )


and !
Y
β(t) = (sβ )
V
with V = Y1 + Y2 + Y3 .
4. set
ui (t) = αi (t) (Y1 (σβ ) + Y2 (σβ )) V  (σ(t)) σ̇(t) i = 1, 2
and
u3 (t) = V  (σ(t)) σ̇(t) − u1 (t) − u2 (t)
Assume now that we have to produce a series of batches of prescribed volumes
and colors defined by Qa = (Qa1 , Qa2 , Qa3 ), Qb = (Qb1 , Qb2 , Qb3 ), Qc , . . . . We cannot
flush pipes α and β between two batches. Define an increasing Y , t → σ → Yi as on
figure 21. The clock law t → σ(t) admits horizontal tangent at ta , tb , tc , . . . to ensure
smooth transitions between batches.

9.6 Flexible beam (Euler-Bernoulli) [2, 28]



Symbolic computations “ à la Heaviside” with s instead of ∂t are here important. We
will not develop the formal aspect with Mikusiǹski operational calculus as in [28]. We
just concentrate on the computations. We have the following 1D modelling:

∂tt X = −∂xxxx X

X(0, t) = 0, ∂x X(0, t) = θ(t)


θ̈(t) = u(t) + k∂xx X(0, t)

∂xx X(1, t) = −λ∂ttx X(1, t)


∂xxx X(1, t) = µ∂tt X(1, t)

62
Y

Figure 21: Batch scheduling via smooth flat output t → σ(t) → Y (σ(t)).

Figure 22: a flexible beam rotating around a control axle

63
where the control is the motor torque u, X(r, t) is the deformation profile, k, λ and µ
are physical parameters (t and r are in reduced scales).
We will show that the general solution expresses in term of an arbitrary C ∞
function y (Gevrey order ≤ 2 for convergence):
(−1)n y (2n) (t) (−1)n y (2n+2) (t)
X(x, t) = Pn (x) + Qn (x) (45)
(4n)! (4n + 4)!
n≥0 n≥0


with ı = −1,

x4n+1 ( − )(1 − x + ı)4n+1


Pn (x) = + + µ(1 − x + ı)4n
2(4n + 1) 2(4n + 1)
and
λµ  
Qn (x) = (4n + 4)(4n + 3)(4n + 2) ( − )(1 − x + ı)4n+1 − x4n+1
2
− λ(4n + 4)(4n + 3)(1 − x + ı)4n+2

( and  stand for real part and imaginary part). Notice that θ and u result from (45):
it suffices to derive term by term.
We just show here how to get these formulas with λ = µ = 0 ( no inertia at the
free end r = 1, M = J = 0). The method remains unchanged in the general case. The
question is: how to get
y (2n) (t)(−1)n
X(x, t) = πn (x) (46)
(4n)!
n≥0

with
x4n+1 ( − )(1 − x + ı)4n+1
πn (x) = + .
2(4n + 1) 2(4n + 1)
With the Laplace variable s, we have the ordinary differential system

X (4) = −s2 X

where
X(0) = 0, X (2) (1) = 0, X (3) (1) = 0.
Derivatives are with respect to the space variable r and s is here a parameter. The
general solution depends on an arbitrary constant, i.e., an arbitrary function of s, since
we have 3 boundary conditions. With the 4 elementary solutions of X (4) = −s2 X
√ √
C+ (x) = (cosh((1 − x) sξ) + cosh((1 − x) s/ξ))/2
√ √
C− (x) = (cosh((1 − x) sξ) − cosh((1 − x) s/ξ))/(2ı)
√ √ √
S+ (x) = (ı sinh((1 − x) sξ) + sinh((1 − x) s/ξ))/(2ξ s)
√ √ √
S− (x) = ξ(ı sinh((1 − x) sξ) − sinh((1 − x) s/ξ))/(2 s)

where ξ = exp(ıπ/4), X reads

X(x) = aC+ (x) + bC− (x) + cS+ (x) + dS− (x).

64
The 3 boundary conditions provide 3 equations relating the constant a, b, c and d :
aC+ (0) + bC− (0) + cS+ (0) + dS− (0) = 0
sb = 0
sc = 0.
Thus b = c = 0 and we have just one relation between a and d
aC+ (0) + dS− (0) = 0.
Since √ √ √
C+ (0) = (cosh(ξ s), S− (0) = (ξ sinh(ξ s/ s)
√ √ √
are entire functions of s very similar to cosh( s) and sinh s/ s appearing for the
heat equation (37), we can associate to them two operators, algebraically independent
and commuting,
δ+ = C+ (0), δ− = S− (0).
They are in fact ultra-distributions belonging to the dual of Gevrey function of order
less than ≤ 2 and with a punctual support [32]. We have thus a module generated by
two elements (a, d) satisfying δ+ a + δ− d = 0. This is a R[δ+ , δ− ]-module. This module
is not free but δ+ -free [66]:
a = δ− y, d = −δ+ y
−1
with y = −δ+ d.
The basis y plays the role of flat output since
X(x) = (S− (0)C+ (x) − S− (x)C+ (0))y.
Simple but tedious computations using hyperbolic trigonometry formulas yield then
to
1
X(x) = − [S− (x) + (S− (1 − x + ı))]y.
2
The series of the entire function S− provides (46). We conjecture that the quantity
y admits a physical sense as an explicit expression with integrals of X over r ∈ [0, 1]
(center of flexion).

9.7 Horizontal translation of the circular tank: the tum-


bler [83]
Take the 2D wave equation corresponding, in the linear approximation, to the sur-
face wave generated by the horizontal motions of a cylindric tank containing a fluid
(linearized Saint-Venant equations (shallow water approximation)):

 ∂2ξ
= g h̄ ∆ξ on Ω
∂t2 (47)

g∇ξ · n = −D̈ · n on ∂Ω

where Ω is the interior of a circle of radius R and of center D(t) ∈ R2 , the control
(n is the normal to the boundary ∂Ω), h̄ + ξ is the height of liquid, g is the gravity.
A family of solutions of (47) is given by the following formulas ((r, θ) are the polar
coordinates)
" 

1 h̄ 2π #  r cos α   r cos α  $
ξ(r, θ, t) = cos α ȧ t − cos θ + ḃ t − sin θ dα
π g 0 c c

65
and ((u, v) are the Cartesian coordinates of D)



1 2π R cos α 1 2π R cos α
u= a t− cos2 α dα, v = b t− cos2 α dα
π 0 c π 0 c

where t → (a(t), b(t)) ∈ R2 is an arbitrary smooth function.

9.8 Tubular reactor (convection/diffusion)


We recalled here [29, 100]. The controls are the input flux at z = 0 of mass and energy.

Figure 23: Adiabatic tubular reator.

It is then possible to parameterize trajectories versus the outflow concentrations x(l, t)


and temperature T (l, t).
To simplify consider the tangent linearization around a steady-state. This gives
the following convection-diffusion system:
! ! ! ! !
∂ x(z, t) ∂ 2 x(z, t) ∂ x(z, t) −rx −rT x(z, t)
=Γ 2 −v + , (48)
∂t T (z, t) ∂z T (z, t) ∂z T (z, t) αrx αrT T (z, t)

for z ∈ [0, l], with boundary conditions


! !% !
x(0, t) ∂ x %% ux (t)
v −Γ =
T (0, t) ∂zT %0,t uT (t)
!%
∂ x %%
= 0.
∂z T %l,t

The controls are ux and uT at z = 0. The flow velocity v is uniform and constant.
The diffusion matrix is Γ; α is related to enthalpy reactions. Partial derivatives of
the kinetics r(x, T ) are denoted by rx and rT . For simplicity, we assume here below
that v, Γ, α, rx and rT are constants. But the computations remain valid but more
involved when these quantities are analytic function of x.
Set y(t) ≡ [x(l, t), T (l, t)] and take the series in (z − l) :
! ∞
x (z − l)i
(z, t) = ai (t).
T i!
i=0

where ai are vectors. We have


a0 (t) = y(t),
and
a1 (t) = 0.
The dynamics (48) implies the recurrence
!
dai
ai+2 = Γ−1 + vai+1 + Rai , i > 0, (49)
dt

66
with !
rx rT
R= .
−αrx −αrT
Thus ai is a function of y and its derivatives of order less than E(i/2).
The control is then by setting z = 0 in the series providing x, T , ∂x
∂z
and ∂T
∂z
:
!

x (−l)i
(0, t) = ai (t)
T i!
i=0

et !
∂ x ∞
(−l)i
(0, t) = ai+1 (t).
∂z T i=0
i!
thus ! ∞
ux (t) (−l)i
= (vai − Γai+1 ). (50)
uT (t) i!
i=0

The profiles x and T and the control u(t) depends on y and all its time derivatives.
The convergence of the obtained series are still valid but less easy to prove than for
the heat equation (see also [44, 52] for detailed convergence analysis of such series for
linear and nonlinear cases).

9.9 The indian rope


Take the homogenous chain 15 and set g negative. This corresponds to an infinite
series of inverted small pendulums. The dynamics reads

∂2X ∂ ∂X
= − gz pour z ∈ [0, L], X(L, t) = D(t) (51)
∂t2 ∂z ∂z
with boundary control D(t), the position of the trolley that is now under the chain.
The flat output y = X(0, t) remains unchanged, and (35) becomes with a complex
time:  π 
1
X(z, t) = y(t + 2ı z/g sin ξ) + y(t − 2ı z/g sin ξ) dξ
2π 0

where ı = −1.
This relationship just means that, for any holomorphic function C ζ → y(ζ)
whose restriction to the real axis is real, the quantity X(z, t) computed via the above
integral is real and automatically satisfies

∂2X ∂ ∂X
=− gz .
∂t2 ∂z ∂z
We are in face of a correspondence between system trajectories and the set of
holomorphic functions ] − ∞, +∞[×[−2 L/g, 2 L/g] ζ → y(ζ) that are real on
the real axis. With y defined by (σ > 0 is given)
 +∞
y(µ + ıν) = exp(−(µ − τ + ıν)2 /σ 2 ) f (τ ) dτ
−∞

where R τ → f (τ ) ∈ R is measurable and bounded, we generate a large set of


smooth trajectories. This can be used to solve approximatively some motion planning
problems for such elliptic systems (ill-posed in the sense of Hadamard).

67
9.10 Drilling system

Figure 24: torsion dynamics of a drilling system.

The torsion dynamics of a drilling beam can be represented by a wave equations


with non linear boundary conditions (normalized equations):

∂t2 θ = ∂x2 θ, x ∈ [0, 1]


∂x θ(0, t) = −u(t) (52)
∂x θ(1, t) = −F (∂t θ(1, t)) − ∂t2 θ(1, t)

where [0, 1] x → θ(x, t) is the torsion profile à time t, u is the control, the torque
applied at the top of the beam. The behavior of the machinery cutting the rock is
represented here by the non-linear function F .
More complex law can be used, the system remaining flat as soon as the dependence
involve only y = θ(1, t) the bottom position, the flat output of the system. Simple
computations with d’Alembert formulae show that
 t+(1−x)
2θ(x, t) = y(t+1−x)+y(t−(1−x))+ ẏ(t+1−x)− ẏ(t−(1−x))+ F (ẏ(τ )) dτ.
t−(1−x)

9.11 Water tank


This example is borrowed to [16, 83]. The following problem is derived from an in-
dustrial process control problem where tanks filled with liquid are to be moved to

68
Figure 25: moving tank containing a perfect fluid.

different workbenches as fast as possible. To move such a tank horizontally, one has
to take the motion of the liquid into account in order to prevent any overflowing. We
assume that the motion of the fluid is described by the tangent linearization around
the steady-state depth h̄ of Saint-Venant’s equations [42]


 ∂2H ∂2H

 = h̄g

 ∂t 2 ∂x2
∂H ∂H u
 (a, t) = (−a, t) = −

 ∂x ∂x g



D̈ = u

with (H, ∂H
∂t
, D, Ḋ) as state and u as control. The liquid depth h = h̄ + H and the
tank position is D. It is proved in [83] that the general solution passing through a
steady state is given by
 c  x x 

 H(x, t) = ẏ(t − ) − ẏ(t + )

 2g c c

 1 l l
D(t) = y(t + ) + y(t − ) (53)

 2 c c


 1 l l
 u(t) = ÿ(t + ) + ÿ(t − )
2 c c

where y is an arbitrary time function. Moreover


 l  0

1
y(t) = D(t) + H(x, t) dx − H(x, t) dx .
2h̄ 0 −l

9.12 The electric line


We are interested in the propagation of an electric signal through an electric line of
length . Per unit of length, the resistance is R, the inductance is L, the capacity is

69
C and the perditance is G. Kirschoff’s laws read (see for instance [94]):
∂i ∂v
L = −Ri −
∂t ∂x
∂v ∂i
C =− − Gv.
∂t ∂x
where 0 ≤ x ≤ , t ≥ 0. Eliminating the current, we get the telegraph equation

∂ 2 v(x, t) ∂ ∂
= (R + L )(G + C )v(x, t). (54)
∂x2 ∂t ∂t
The boundary conditions are

v(0, t) = u(t)
v(, t) = Zi(, t).

The input and the output of the system are respectively u(t) = v(0, t) and y(t) =
v(, t). Let us prove that y is the flat output.
We turn (54) into the following ODE thanks to operational calculus

v̂  (x, s) = (s)v̂(x, s), (55)

where (s) = (R + Ls)(G + Cs) and s stands for the time derivative. The boundary
conditions now read

v̂(0, s) = û(s), (R + Ls)v̂(, s) = Z v̂  (, s). (56)

û et v̂ are the operational images of u and v. Clearly the general solution of (55) is

v̂(x, s) = A(s)ch(( − x) (s)) + B(s)sh(( − x) (s)),

where A(s) and B(s) are independent of x and are determined by the boundary condi-
tions (56). Now, instead of writing the relation between v̂ and û, we write the relation
between v̂ and ŷ(s) = v̂(, s):

v̂(x, s) = ch(( − x) (s))

R + Ls sh(( − x) (s)) 
+ ŷ(s). (57)
Z (s)

Notice the remarkable fact that the transfer function from ŷ to v̂ has only zeroes and
no poles, i.e., is an analytic function (it is even an entire analytic function).
In particular, for x = 0 (57) reads
  
  R + Ls sh  (s)
û(s) =  ch  (s) +  ŷ(s). (58)
Z (s)

We now express formula (58) back into the time domain. For√the sake of simplicity
R
but without loss of generality, we assume G = 0. Let λ =  LC, α = 2L . Then

70
(s) = RCs + LCs2 and (58) gives

1 −αλ 1 L
u(t) = e (1 − )y(t − λ)
2 Z C

1 1 L
+ eαλ (1 + )y(t + λ)
2 Z C
 +λ
 R
+ √ e−ατ J0 (iα τ 2 − λ2 )
−λ 4Z LC
−ατ
e iα
+ √
2 τ 2 − λ2

1 L 
(λ − τ )J1 (iα τ 2 − λ2 ) y(t − τ )dτ (59)
Z C
where J0 et J1 are Bessel functions of the first kind.
Notice that the last formula is indeed the equation of a noncausal prefilter F with
compact support (u(t) is expressed in terms of the values of y over the finite interval
[t − λ, t + λ]). This can be used to compensate by a prefilter the distortion of an input
signal along the electric line.

9.13 Isentropic gas dynamics in one dimension


Take a pipe described by x ∈ [0, L] and containing an isentropic ideal gas of constant
specific heats, with positive velocity v(x, t) and sound-speed a(x, t) (see [112], chapter
6). Assume that the pressure at z = L is given , i.e. that a(L, t) is given and that
the control is the input velocity u(t) = v(0, t). The dynamics read (γ is a positive
constant, equal to 5/3 or 7/5 for mono-atomic or bi-atomic gas):
γ−1
at + vax + avx = 0
2
2
vt + vvx + aax = 0
γ−1
a(L, t) = ā, v(0, t) = u(t)

where at stands for ∂a/∂t , ....


Consider the hodograph transformation exchanging the role of dependent variables
(a, u) and independent variables (t, x). Then t and x are functions of a and v with
−at ax vt −vx
xv = , tv = , xa = , ta = .
vt ax − at vx vt ax − at vx vt ax − at vx vt ax − at vx
This transformation is defined locally when vt ax − at vx = 0.
Now t and x satisfy a linear partial system:
γ −1
xv − vtv + ata = 0
2
2
xa − vta + atv = 0.
γ−1
Elimination of x yields
2n
tbb + tb = tvv
b

71
where b = 2a/(γ − 1). When n is an integer its general solution is

n−1

∂2 ∂2 F (v + b) + G(v − b)
t= −
∂v 2 ∂b2 b

where F and G are arbitrary functions.


We continue the computations in the interesting case γ = 5/3, i.e., n = 2. Then
the general solution of linear partial differential system here above reads:

F  (v + b) − G (v − b) F (v + b) + G(v − b)
t= 2
−2
b

b
3
v 1 1 2v
x= − F  (v + b) + − 3 F (v + b)
b2 3b 3b2 b

1 v  1 2v
− + 2 G (v − b) − + 3 G(v − b).
3b b 3b2 b

The boundary constraint at x = L, a = ā or b = b̄ = 2ā/γ becomes then a linear


v-varying delay equation between F and G:



v 1  1 2v 1 v  1 2v
L= − F (v+ b̄)+ − F (v+ b̄)− + G (v− b̄)− + G(v−b̄).
b̄2 3b̄ 3b̄2 b̄3 3b̄ b̄2 3b̄2 b̄3
Its general solution expresses in terms of

v(F (v + b̄) − G(v − b̄)) F (v + b̄) + G(v − b̄))


Y (v) = 2
− ,
b̄ 3b̄
its first derivative, its advance and delay. It suffices to solve the following linear system
in H(v) = F (v + b̄) − G(v − b̄) and I(v) = F (v + b̄) + G(v − b̄)


vH − I = b̄2 Y (v)
3
b̄ b̄3
H + vI = (Y  (v) − L).
3 2
This computation means that formally as for the mixing process (see subsection 9.5),
the trajectories can be explicitly parameterized. This is achieved by enlarging the set
of allowed manipulations (classical algebraic computations, time derivations, advances,
delays) by using compositions and inversions of functions. Such approach could be of
some use for the design of open-loop control steering from low-velocity to high-velocity,
without shocks during the transient (as for the Burger equation of subsection 9.4).
Since for γ = 2 we recover the Saint-Venant equations of shallow water dynam-
ics, such hodograph transformations could be used to design open-loop trajectories
avoiding flooding for irrigation canals [12].

References
[1] J. Alvarez, R. Suarez, and A. Sanchez. Nonlinear decoupling control of free-
radical polymerization continuous stirred tank reactors. Chem. Engng. Sci,
45:3341–3357, 1990.

72
[2] Y. Aoustin, M. Fliess, H. Mounier, P. Rouchon, and J. Rudolph. Theory
and practice in the motion planning and control of a flexible robot arm using
mikusiński operators. In Proc. of the Fifth IFAC Symposium on Robot Control,
pages 287–293, Nantes, France, 1997.
[3] R. Aris and N.R. Amundson. An analysis of chemical reactor stability and
control- i,ii,iii. Chem. Engng. Sci., 7:121–155, 1958.
[4] G. Bastin and Dochain. On-Line Estimation and Adaptive Control of Bioreac-
tors. Elsevier Science Publishing Co, 1990.
[5] R.L. Bryant, S.S. Chern, R.B. Gardner, H.L. Goldschmidt, and P.A. Griffiths.
Exterior Differential Systems. Springer, 1991.
[6] C.I. Byrnes and A. Isidori. On the attitude stabilization of rigid spacecraft.
Automatica, 27:87–95, 1991.
[7] G. Campion, B. d’Andrea Novel, and G. Bastin. Structural properties and
classification of kinematic and dynamic models of wheeled mobile robots. IEEE
Trans. Robotics Automation, 12(1):47–62, 1996.
[8] E. Cartan. Sur l’équivalence absolue de certains systèmes d’équations
différentielles et sur certaines familles de courves. Bull. Soc. Math. France, 42:12–
48, 1914. Also in Œuvres Complètes, part II, vol. 2, pp.1133–1168, CNRS, Paris,
1984.
[9] E. Cartan. Sur l’intégration de certains systèmes indéterminés d’équations
différentielles. J. für reine und angew. Math., 145:86–91, 1915. Also in Œuvres
Complètes, part II, vol. 2, pp.1164–1174, CNRS, Paris, 1984.
[10] B. Charlet, J. Lévine, and R. Marino. On dynamic feedback linearization. Sys-
tems Control Letters, 13:143–151, 1989.
[11] J. Chiasson. Dynamic feedback linearization of the induction motor. IEEE
Trans. Automat. Control, 38:1588–1594, 1993.
[12] J.M. Coron and G. Bastin B. D’Andréa-Novel. A lyapunov approach to control
irrigation canals modeled by saint-venant equations. In Proc. European Control
Conference, Karlsruhe, 1999.
[13] R. Courant and D. Hilbert. Methods of Mathematical Physics, volume 2. Inter-
science, 1962.
[14] E. Delaleau and J. Rudolph. Decoupling and linearization by quasi-static feed-
back of generalized states. In Proc. of the 3rd European Control Conf., pages
1069–1074, Rome, 1995.
[15] E. Delaleau and J. Rudolph. Control of flat systems by quasi-static feedback of
generalized states. Int. Journal of Control, 71:745–765, 1998.
[16] F. Dubois, N. Petit, and P. Rouchon. Motion planing and nonlinear simulations
for a tank containing a fluid. In European Control Conference, Karlsruhe, 1999.
[17] J. El Moubaraki, G. Bastin, and J. Lévine. Nonlinear control of biological pro-
cesses with growth/production decoupling. Mathematical Biosciences, 116:21–
44, 1993.
[18] M. Fliess, J. levine, P. Martin, F. Ollivier, and P. Rouchon. Controlling nonlinear
systems by flatness. In C.I. Byrnes, B.N. Datta, D.S. Gilliam, and C.F. Martin,
editors, Systems and control in the Twenty-First Century, Progress in Systems
and Control Theory. Birkhauser, 1997.

73
[19] M. Fliess, J. Lévine, Ph. Martin, and P. Rouchon. Sur les systèmes non linéaires
différentiellement plats. C.R. Acad. Sci. Paris, I–315:619–624, 1992.
[20] M. Fliess, J. Lévine, Ph. Martin, and P. Rouchon. Linéarisation par bouclage dy-
namique et transformations de Lie-Bäcklund. C.R. Acad. Sci. Paris, I-317:981–
986, 1993.
[21] M. Fliess, J. Lévine, Ph. Martin, and P. Rouchon. Design of trajectory stabilizing
feedback for driftless flat systems. In Proc. of the 3rd European Control Conf.,
pages 1882–1887, Rome, 1995.
[22] M. Fliess, J. Lévine, Ph. Martin, and P. Rouchon. Flatness and defect of non-
linear systems: introductory theory and examples. Int. J. Control, 61(6):1327–
1361, 1995.
[23] M. Fliess, J. Lévine, Ph. Martin, and P. Rouchon. Nonlinear control and diffi-
eties, with an application to physics. Contemporary Mathematics, 219:81–92,
1998.
[24] M. Fliess, J. Lévine, Ph. Martin, and P. Rouchon. A Lie-Bäcklund approach to
equivalence and flatness of nonlinear systems. IEEE AC, 44:922–937, 1999.
[25] M. Fliess and R. Marquez. Continuous time linear predictive control and flatness:
a module theoretic setting with examples. Int. Journal of Control, 73:606–623,
2000.
[26] M. Fliess, Ph. Martin, N. Petit, and P. Rouchon. Active signal restoration for
the telegraph equation. In CDC 99, Phenix, december 1999.
[27] M. Fliess, H. Mounier, P. Rouchon, and J. Rudolph. Controllability and motion
planning for linear delay systems with an application to a flexible rod. In Proc.
of the 34th IEEE Conf. on Decision and Control, pages 2046–2051, New Orleans,
1995.
[28] M. Fliess, H. Mounier, P. Rouchon, and J. Rudolph. Systèmes linéaires sur
les opérateurs de Mikusiński et commande d’une poutre flexible. In ESAIM
Proc. “Élasticité, viscolélasticité et contrôle optimal”, 8ème entretiens du centre
Jacques Cartier, Lyon, pages 157–168, 1996.
[29] M. Fliess, H. Mounier, P. Rouchon, and J. Rudolph. A distributed parameter
approach to the control of a tubular reactor: A multi- variable case. In Control
and Decision Conference, Tampa, pages 439– 442, 1998.
[30] M. Fliess, H. Mounier, P. Rouchon, and J. Rudolph. Tracking control of a
vibrating string with an interior mass viewed as delay system. ESAIM: COCV(
www.eamth.fr/cocv, 3:315–321, 1998.
[31] M. Gromov. Partial Differential Relations. Springer-Verlag, 1986.
[32] I.M. Guelfand and G.E. Chilov. Les Distributions, tome 3. Dunod, Paris, 1964.
[33] J. Hauser, S. Sastry, and P. Kokotović. Nonlinear control via approximated
input-output linearization: the ball and beam example. IEEE Trans. Automat.
Contr., 37:392–398, 1992.
[34] J. Hauser, S. Sastry, and G. Meyer. Nonlinear control design for slightly nonmin-
imum phase systems: Application to V/STOL aircraft. Automatica, 28(4):665–
679, 1992.
[35] D. Hilbert. Über den Begriff der Klasse von Differentialgleichungen. Math. Ann.,
73:95–108, 1912. also in Gesammelte Abhandlungen, vol. III, pp. 81–93, Chelsea,
New York, 1965.

74
[36] K.A. Hoo and J.C. Kantor. An exothermic continuous stirred tank reactor is
feedback equivalent to a linear system. Chem. Eng. Commun., 37:1–10, 1985.
[37] L.R. Hunt, R. Su, and G. Meyer. Global transformations of nonlinear systems.
IEEE Trans. Automat. Control, 28:24–31, 1983.
[38] B. Jakubczyk and W. Respondek. On linearization of control systems. Bull.
Acad. Pol. Sci. Ser. Sci. Math., 28:517–522, 1980.
[39] L. Karsenti and P. Rouchon. A tracking controller-observer scheme for DC-to-
DC converters. In ECC’97, 1997.
[40] C. Kravaris and C.B. Chung. Nonlinear state feedback synthesis by global in-
put/output linearization. AIChE J., 33:592–603, 1987.
[41] M. Krstić, I. Kanellakopoulos, and P. Kokotović. Nonlinear and Adaptive Control
Design. John Wiley & Sons, Inc., 1995.
[42] L. Landau and E. Lifchitz. Mécanique des fluides. Mir Moscou, second edition,
1986.
[43] H. Laousy, C.Z. Xu, and G. Sallet. Boundary feedback stabilization of rotation
body-beam system. IEEE Autom. Control, 41:1–5, 1996.
[44] B. Laroche, Ph. Martin, and P. Rouchon. Motion planning for a class of partial
differential equations with boundary control. In IEEE-CDC, Tampa, pages 3494–
3497, 1998.
[45] B. Laroche, Ph. Martin, and P. Rouchon. Motion planing for the heat equation.
Int. Journal of Robust and Nonlinear Control, 10:629–643, 2000.
[46] C. Lemon and J.E. Hause. Design and initial flight test of the Champagne Flyer.
In Proc. 33nd IEEE Conf. Decision and Control, pages 3852–3853, Lake Buena
Vista, 1994.
[47] Y. Lenoir, , Ph. Martin, and P. Rouchon. 2kπ , the juggling robot. In Control
and Decision Conference, Tampa, pages 1995–2000, 1998.
[48] W. Leonhard. Control of Electrical Drives. Elsevier, 1985.
[49] J. Lévine. Are there new industrial perspectives in the control of mechanical
systems? In P. Frank, editor, In Issues in Control, ECC99. Springer, 1999.
[50] J. Lévine, J. Lottin, and J.-C. Ponsart. A nonlinear approach to the control of
magnetic bearings. IEEE Trans. Control Systems Technology, 4:524–544, 1996.
[51] J. Lévine, P. Rouchon, G. Yuan, C. Grebogi, B.R. Hunt, E. Kostelich, E. Ott,
and J.A. Yorke. On the control of US Navy cranes. In ECC97, 1997.
[52] A. F. Lynch and J. Rudolph. Flatness-based boundary control of a nonlinear
parabolic equation modelling a tubular reactor. In Nonlinear control in the year
2000 (Paris, 2000), A. Isidori, F. Lamnabhi-Lagarrigue, and W. Respondek,
Eds., pages 45–54. vol. 259, Lecture notes in control and information sciences,
Springer, 2000.
[53] Ph. Martin. Contribution à l’étude des systèmes diffèrentiellement plats. PhD
thesis, École des Mines de Paris, 1992.
[54] Ph. Martin. A geometric sufficient conditions for flatness of systems with m
inputs and m + 1 states. In Proc. of the 32nd IEEE Conf. on Decision and
Control, pages 3431–3436, San Antonio, 1993.

75
[55] Ph. Martin. An intrinsic condition for regular decoupling. Systems & Control
Letters, 20:383–391, 1993.
[56] Ph. Martin. Endogenous feedbacks and equivalence. In Systems and Networks:
Marthematical Theory and Applications (MTNS’93), volume II, pages 343–346.
Akademie Verlag, Berlin, 1994.
[57] Ph. Martin, S. Devasia, and B. Paden. A different look at output tracking:
control of a VTOL aircraft. Automatica, 32:101–108, 1995.
[58] Ph. Martin, S. Devasia, and B Paden. A different look at output feedback:
control of a VTOL aircraft. Automatica, 32(1):101–108, 1996.
[59] Ph Martin, R. Murray, and P. Rouchon. Flat systems. In Proc. of the 4th
European Control Conf., pages 211–264, Brussels, 1997. Plenary lectures and
Mini-courses.
[60] Ph. Martin and P. Rouchon. Feedback linearization and driftless systems. Math.
Control Signal Syst., 7:235–254, 1994.
[61] Ph. Martin and P. Rouchon. Any (controllable) driftless system with 3 inputs
and 5 states is flat. Systems Control Letters, 25:167–173, 1995.
[62] Ph. Martin and P. Rouchon. Any (controllable) driftless system with m inputs
and m+2 states is flat. In Proc. of the 34th IEEE Conf. on Decision and Control,
pages 2886–2891, New Orleans, 1995.
[63] Ph. Martin and P. Rouchon. Flatness and sampling control of induction motors.
In Proc. IFAC World Congress, pages 389–394, San Francisco, 1996.
[64] M. B. Milam and R. M. Murray. A testbed for nonlinear flight control techniques:
The Caltech ducted fan. In Proc. IEEE International Conference on Control and
Applications, 1999.
[65] M. B. Milam, K. Mushambi, and R. M. Murray. A new computational approach
to real-time trajectory generation for constrained mechanical systems. In IEEE
Conference on Decision and Control, 2000.
[66] H. Mounier. Propriétés structurelles des systèmes linéaires à retards: aspects
théoriques et pratiques. PhD thesis, Université Paris Sud, Orsay, 1995.
[67] H. Mounier and J. Rudolph. Flatness based control of nonlinear delay systems:
A chemical reactor example. Int. Journal of Control, 71:871–890, 1998.
[68] H. Mounier, J. Rudolph, M. Fliess, and P. Rouchon. Tracking control of a
vibrating string with an interior mass viewed as delay system. ESAIM: COCV(
www.eamth.fr/cocv, 3:315–321, 1998.
[69] H. Mounier, J. Rudolph, M. Petitot, and M. Fliess. A flexible rod as a linear
delay system. In Proc. of the 3rd European Control Conf., pages 3676–3681,
Rome, 1995.
[70] R. M. Murray. Trajectory generation for a towed cable flight control system. In
Proc. IFAC World Congress, pages 395–400, San Francisco, 1996.
[71] R. M. Murray, M. Rathinam, and W. Sluis. Differential flatness of mechani-
cal control systems: A catalog of prototype systems. In ASME International
Mechanical Engineering Congress and Exposition, 1995.
[72] R.M. Murray. Nilpotent bases for a class on nonintegrable distributions with
applications to trajectory generation for nonholonomic systems. Math. Control
Signal Syst., 7:58–75, 1994.

76
[73] R.M. Murray and S.S. Sastry. Nonholonomic motion planning: Steering using
sinusoids. IEEE Trans. Automat. Control, 38:700–716, 1993.
[74] Iu I. Neimark and N.A. Fufaev. Dynamics of Nonholonomic Systems, volume 33
of Translations of Mathematical Monographs. American Mathematical Society,
Providence, Rhode Island, 1972.
[75] M. van Nieuwstadt and R. M. Murray. Approximate trajectory generation for
differentially flat systems with zero dynamics. In Proc. of the 34th IEEE Conf.
on Decision and Control, pages 4224–4230, New Orleans, 1995.
[76] M. van Nieuwstadt and R.M. Murray. Real time trajectory generation for differ-
entially flat systems. Int. Journal of Robust and Nonlinear Control, 8(11):995–
1020, 1998.
[77] H. Nijmeijer and A.J. van der Schaft. Nonlinear Dynamical Control Systems.
Springer-Verlag, 1990.
[78] P.J. Olver. Applications of Lie groups to differential equations, volume 107 of
Graduate Texts in Mathematics. Springer-Verlag, 2nd edition, 1993.
[79] N. Petit, Y. Creff, and P. Rouchon. δ-freeness of a class of linear delayed systems.
In European Control Conference, Brussels, 1997.
[80] N. Petit, Y. Creff, and P. Rouchon. Motion planning for two classes of non-
linear systems with delays depending on the control. In Control and Decision
Conference, Tampa, pages 1007– 1011, 1998.
[81] N Petit, Y. Creff, and P. Rouchon. Minimum time constrained control of acid
strength on a sulfuric acid alkylation unit. Chemical Engineering Science, 56(8),
2001.
[82] N. Petit, M. B. Milam, and R. M. Murray. Inversion based constrained trajectory
optimization. In NOLCOS, 5th IFAC symposium on nonlinear control systems,
2001.
[83] N. Petit and P. Rouchon. Dynamics and solutions to some control problems for
water-tank systems. IEEE AC, 2001. accepted for publication.
[84] N. Petit and P. Rouchon. Motion planning for heavy chain systems. SIAM J.
Control and Optim., 41(2):475–495, 2001.
[85] J.B. Pomet. A differential geometric setting for dynamic equivalence and dy-
namic linearization. In Workshop on Geometry in Nonlinear Control, Banach
Center Publications, Warsaw, 1993.
[86] J.B. Pomet. On dynamic feedback linearization of four-dimensional
affine control systems with two inputs. ESAIM-COCV, 1997.
http://www.emath.fr/Maths/Cocv/Articles/articleEng.html.
[87] J.B. Pomet, C. Moog, and E. Aranda. A non-exact Brunovsky form and dynamic
feedback linearization. In Proc. of the 31st IEEE Conf. on Decision and Control,
pages 2012–2017, 1992.
[88] J.F. Pommaret. Systems of Partial Differential Equations and Lie Pseudogroups.
Gordon & Breach, N.Y., 1978.
[89] J.F. Pommaret. Dualité différentielle et applications. C.R. Acad. Sci. Paris,
Série I, 320:1225–1230, 1995.
[90] C. Raczy. Commandes optimales en temps pour les systèmes différentiellement
plats. PhD thesis, Université des Sciences et Technologies de Lille, 1997.

77
[91] J.P. Ramis. Dévissage Gevrey. Astérisque, 59-60:173–204, 1979.
[92] M. Rathinam and R. Murray. Configuration flatness of Lagrangian systems
underactuated by one control. SIAM J. Control Optimization, 36(1):164–179,
1998.
[93] A. Reghai. Satellite à deux commandes. Technical report, Ecole Polytechnique,
Palaiseau, France, 1995. Mémoire de fin d’études.
[94] Y. Rocard. Dynamique générale des vibrations. Masson, Paris, 1971.
[95] R. Rothfuß, J. Rudolph, and M. Zeitz. Flatness based control of a nonlinear
chemical reactor model. Automatica, 32:1433–1439, 1996.
[96] P. Rouchon. Necessary condition and genericity of dynamic feedback lineariza-
tion. J. Math. Systems Estim. Control, 5(3):345–358, 1995.
[97] P. Rouchon, M. Fliess, J. Lévine, and Ph. Martin. Flatness and motion planning:
the car with n-trailers. In Proc. ECC’93, Groningen, pages 1518–1522, 1993.
[98] P. Rouchon, M. Fliess, J. Lévine, and Ph. Martin. Flatness, motion planning
and trailer systems. In Proc. of the 32nd IEEE Conf. on Decision and Control,
pages 2700–2705, San Antonio, 1993.
[99] P. Rouchon and J. Rudolph. Invariant tracking and stabilization: problem formu-
lation and examples, pages 261–273. Lecture Notes in Control and Information
Sciences 246. Springer, 1999.
[100] P. Rouchon and J. Rudolph. Commande de procédés chimiques: réacteurs et
colonnes de distillation, chapter Réacteurs chimiques différentiellement plats:
planification et suivi de trajectoires, pages 163–200. Traité IC2. J.P. Corriou,
Paris, hermès edition, 2001.
[101] A. Sedoglavic. Méthodes seminumériques en algèbre différentielle ; applications
à l’étude des propriétés structurelles de systèmes différentiels algébriques en au-
tomatique. PhD thesis, Ecole Polytechnique, 2001.
[102] S. Sekhavat. Planification de Mouvements sans Collision pour Systèmes non
Holonomes. PhD thesis, LAAS-CNRS, Toulouse, 1996.
[103] H. Sira-Ramirez and M. Ilic-Spong. Exact linearzation in switched-mode DC-
to-DC power converters. Int. J. Control, 50:511–524, 1989.
[104] W.M. Sluis. Absolute Equivalence and its Application to Control Theory. PhD
thesis, University of Waterloo, Ontario, 1992.
[105] W.M. Sluis. A necessary condition for dynamic feedback linearization. Systems
Control Letters, 21:277–283, 1993.
[106] M. Soroush and C. Kravaris. Multivariable nonlinear control of a continous
polymerization reactor. In American Control Conference, pages 607–614, 1992.
[107] D. Tilbury, O. Sørdalen, L. Bushnell, and S. Sastry. A multisteering trailer
system: conversion into chained form using dynamic feedback. IEEE Trans.
Robotics Automation, 11(6):807, 1995.
[108] D.M. Tilbury. Exterior differential systems and nonholonomic motion plan-
ning. PhD thesis, University of California, Berkeley, 1994. Memorandum No.
UCB/ERL M94/90.
[109] G. Valiron. Equations Fonctionnelles. Masson et Cie, Editeurs, Paris, 2nd
edition, 1950.

78
[110] M. van Nieuwstadt, M. Rathinam, and R. M. Murray. Differential flatness and
absolute equivalence. SIAM Journal of Control and Optimization, 36(4):1225–
1239, 1998.
[111] M. J. van Nieuwstadt and R. M. Murray. Rapid hover to forward flight transi-
tions for a thrust vectored aircraft. 21(1):93–100, 1998.
[112] G. B. Whitham. Linear and Nonlinear Waves. John Wiley and Sons, Inc., 1974.
[113] V.V. Zharinov. Geometrical Aspects of Partial Differential Equations. World
Scientific, Singapore, 1992.

79

You might also like