Vous êtes sur la page 1sur 194

Commande des Syst`emes par Platitude

F. Rotella
Ecole Nationale dIngenieurs de Tarbes
rotella@enit.fr
26 mars 2004
0-0
F. Rotella Commande des syst`emes par platitude
'
&
$
%
1 Introduction
1. Introduction 5. Crit`eres de platitude
2. Denitions et consequences 6. Cas des syst`emes lineaires
3. Exemples pratiques 7. SPD
4. Un peu de formalisme 8. Conclusion
Introduction 1
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Introduction
La notion de platitude a ete introduite en 1992 par M. Fliess,
J. Levine, P. Martin et P. Rouchon;
nouveau point de vue en Automatique qui remet au centre de
la conception dune commande :
la tache que doit eectuer un processus sous la forme dune
trajectoire executable;
la fonction essentielle du bouclage qui est de corriger les
erreurs et rejeter les perturbations;
developpee initialement dans le cadre des syst`emes non
lineaires de dimension nie, elle peut etre appliquee dans
pratiquement toutes les autres situations : syst`emes ` a retards,
dimension innie, syst`emes lineaires, . . .
Introduction 2
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple de sensibilisation
Considerons un robot manipulateur decrit par le mod`ele
dynamique en les variables articulaires q :
H(q(t)) q(t) + NL(q(t), q(t)) = (t),
o` u :
H(q) est la matrice dinertie (toujours denie positive);
NL(q(t), q(t)) est le vecteur des non linearites (Coriolis, gravite,
entranement, . . . );
(t) est le vecteur des couples articulaires.
Dans un premier temps, on consid`ere que les commandes sont les
couples articulaires.
Introduction 3
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Couple calcule
La methode intuitive du couple calcule donne le bouclage
statique :
(t) = H(q(t))v(t) + NL(q(t), q(t)), (1)
qui conduit au syst`eme lineaire decouple :
q(t) = v(t).
Ainsi lon voit que si lon desire faire executer une trajectoire au
robot sous la forme dun deplacement articulaire q
d
(t) sur un
intervalle de temps t = [t
I
, t
F
] on peut calculer les commandes
`a imposer sous la forme :

d
(t) = H(q
d
(t)) q
d
(t) + NL(q
d
(t), q
d
(t)).
Cela constituera le premier point important de la platitude.
Introduction 4
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Suivi de trajectoire
Deuxi`eme point important : si lon impose
d
(t) au niveau des
commandes daxes du robot, limprecision des valeurs des
param`etres du mod`eles, les perturbations et les conditions initiales
mal connues font que la trajectoire desiree q
d
(t) ne va pas etre
exactement executee.
Si dans (1) on fait :
v(t) = q
d
(t) +k
1
( q
d
(t) q(t)) +k
0
(q
d
(t) q(t)),
o` u k
1
et k
0
sont deux matrices diagonales positives alors la
commande :
(t) = H(q(t))( q
d
(t)+k
1
( q
d
(t) q(t))+k
0
(q
d
(t)q(t)))+NL(q(t), q(t)),
conduit `a une erreur q
d
(t) q(t) qui tendra asymptotiquement vers
0.
Introduction 5
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Prise en compte des actionneurs
En robotique, les actionneurs sont de la forme :

i
(t) =
k
p(p
2
+a
1
p +a
0
)
U
i
(t),
U
i
(t) : commandes envoyees aux cartes daxes. Comme :
U
i
(t) =
1
k
(
(3)
i
(t) +a
1

(2)
i
(t) +a
0

(1)
i
(t)),
on arrive nalement ` a :
U(t) = (q
(5)
(t), . . . , q(t), q(t)).
On peut appliquer les principes de commande precedents.
Introduction 6
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Trajectoire dans lespace operationnel
Soit X(t) les coordonnees operationnelles du robot : ensemble des
variables independantes qui denissent la position et lorientation
de lorgane terminal.
En robotique, on cherche `a se deplacer dans lenvironnement du
robot : les trajectoires sont denies dans lespace operationnel sous
la forme X
d
(t).
Mod`ele geometrique :
g(X) = f(q),
mod`ele geometrique direct (local) : X = F(q);
mod`ele geometrique inverse (local) : q = F
1
(X) = G(X).
Introduction 7
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Commande operationnelle
Comme : q = G
X

X, . . . , q
(k)
= (X, . . . , X
(k)
), . . .
U(t) = (X
(5)
(t), . . . ,

X(t), X(t)).
Ce qui permet de faire la commande directement dans lespace
operationnel :
par generation de trajectoire (boucle ouverte) :
U
d
(t) = (X
(5)
d
(t), . . . ,

X
d
(t), X
d
(t));
par poursuite de trajectoire (boucle fermee) :
U(t) = (X
(5)
d
(t) +
4
X
i=1
k
i
(X
(i)
d
(t) X
(i)
(t)), . . . ,

X(t), X(t)).
Introduction 8
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Points mis en evidence
on a parametre les solutions sans integrer de syst`eme
dierentiel;
ce parametrage na pas ete remis en cause par des mises en
serie (actionneurs, fonctions de sorties);
il permet de construire :
une commande boucle ouverte = generation de trajectoire;
une commande boucle fermee = poursuite de trajectoire.
Lensemble des variables permettant de parametrer les autres
constitue :
une sortie plate du syst`eme
Constatation : la sortie plate nest pas unique.
Introduction 9
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Quelques liens sur Internet
Documents ou simulations telechargeables :
http://cas.ensmp.fr/ petit/ensta/
P. Martin, N. Petit : Commande des syst`emes non
lineaires, le point de vue des syst`emes plats;
http://cas.ensmp.fr/levine/Enseignement/index.html
J. L

evine : Introduction `a la commande non lineaire;


http://cas.ensmp.fr/rouchon/
P. Rouchon : exemples, cours et transparents
http://math.polytechnique.fr/xups/vol99.html
P. Martin, P. Rouchon : Syst`emes plats, planication et
suivi de trajectoires.
J.M. Coron : Quelques resultats sur la commandabilite . . .
Introduction 10
F. Rotella Commande des syst`emes par platitude
'
&
$
%
2 Denitions et consequences
1. Introduction 5. Crit`eres de platitude
2. Denitions et consequences 6. Cas des syst`emes lineaires
3. Exemples pratiques 7. SPD
4. Un peu de formalisme 8. Conclusion
Denitions et consequences 11
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Denition dun syst`eme plat
Un syst`eme deni par lequation :
( x(t), x(t), u(t)) = 0,
o` u u(t) est la commande, est plat sil existe un vecteur z(t) et trois
entiers , , et tels que :
z(t) = h(x(t), u(t), u
(1)
(t), . . . , u
()
(t)), (2)
dont les composantes soient dierentiellement independantes;
et tel que :
x(t) = A(z(t), z
(1)
(t), . . . , z
()
(t)), (3)
u(t) = B(z(t), z
(1)
(t), . . . , z
()
(t)). (4)
Denitions et consequences 12
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Remarques (1)
1. Cette denition nest pas restreinte aux mod`eles detat, mais ` a
tout mod`ele de la forme :
(x
(n)
(t), . . . , x(t), x(t), u
(m)
(t), . . . , u(t)) = 0;
2. Pour une sortie y(t) = (x(t), u(t), . . . , u
(p)
(t)), on obtient :
y = C(z, . . . , z
()
). (5)
3. mutatis mutandis on peut denir la meme notion dans le cadre
discret :
on remplace alors derivation par avance.
Denitions et consequences 13
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Sortie plate
z(t) = h(x(t), u(t), u
(1)
(t), . . . , u
()
(t))
Une sortie plate est un ensemble de variables qui permet de
parametrer toutes les autres variables du syst`eme,
ou bien
Regroupe les variables libres du syst`eme,
Cest une variable endog`ene du syst`eme.
-platitude : lorsque z(t) depend de u(t), . . . , u
()
(t).
Denitions et consequences 14
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Remarques (2)
la relation (2) sappelle la relation dendogeneite : la sortie
plate nest construite qu` a partir des variables du syst`eme;
un bouclage qui nutilise quelle sera un bouclage endog`ene;
en dimension innie, nous verrons que la relation dendogeneite
est moins nette;
le nombre de sorties plates doit etre egal au nombre de
commandes : les commandes doivent etre libres;
une sortie plate nest pas unique : = (z), inversible;
la relation (3) est necessaire car elle permet de verier que z(t)
est eectivement la sortie plate dun syst`eme.
Denitions et consequences 15
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple 1
Soit le syst`eme :
x
1
= x
2
, x
2
= u,
si on denit les variables :
1. z(t) = x
2
(t), malgre u(t) = z(t), elle ne peut etre consideree
comme sortie plate car on a seulement :
x
1
(t) = x
1
(t
0
) +
Z
t
t
0
z()d.
2. z(t) = x
1
(t), alors :
x
2
(t) = z(t) et u(t) = z(t),
qui indique que x
1
est une sortie plate de ce syst`eme.
Denitions et consequences 16
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Vers une inversion des syst`emes
- -
-
-
-
-
-
(.)
h(.)
B(.)
A(.)
u(t)
x(t) z(t)
x(t)
u(t)
Premi`ere consequence : planication de trajectoire.
Si on desire obtenir la trajectoire :
z
d
(t) pour t de t
0
`a t
f
,
il sut dimposer la commande (boucle ouverte) :
u
d
(t) = B(z
d
(t), z
(1)
d
(t), . . . , z
()
d
(t)).
Enseignement 1 : la trajectoire desiree doit necessairement etre au
moins fois derivable.
Denitions et consequences 17
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Les relations utiles
la relation (4) est celle qui va permettre de construire
lalgorithme de commande :
u(t) = B(z(t), z
(1)
(t), . . . , v(t)),
o` u v(t) est une nouvelle commande qui conduit au syst`eme
decouple :
z
()
(t) = v(t);
condition de decouplage :
B(.)
z
()
localement inversible;
la relation (5) est celle qui va permettre de relier les
comportements sur la sortie plate et la sortie du syst`eme.
Denitions et consequences 18
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Remarque sur les derivees de lentree
Supposons que lon ait :
z = h(x(t), u(t), u(t)).
Integrateur sur la commande (v(t) = u(t)) et :
X(t) =
_
_
x(t)
u(t)
_
_
,
conduit `a (

X(t), X(t), v(t)) = 0 et z = h(X(t), v(t)).
Les autres relations secrivent :
X(t) =
_
_
A(.)
B(.)
_
_
=

A(z(t), z
(1)
(t), . . . , z
(max(,))
(t)),
v(t) =

B(z(t), z
(1)
(t), . . . , z
(+1)
(t)).
Denitions et consequences 19
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Remarque (suite)
On aurait pu faire le meme raisonnement en rempla cant
lintegrateur par un syst`eme du premier ordre :
(u(t)) +(u(t))v(t) = u(t).
Ainsi, modulo des ltres en entree la sortie plate ne depend pas
vraiment des derivees de lentree.
Enseignement 2 : la mise en serie est une operation interne pour
lensemble des syst`emes plats.
Enseignement 3 : la dimension de letat perd son importance.
Denitions et consequences 20
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple 2 : syst`emes chanes
Mod`ele :
x
1
= u
1
,
x
2
= u
2
,
x
3
= x
2
u
1
,
x
4
= x
3
u
1
,
.
.
.
x
n
= x
n1
u
1
;
Lelimination de u
1
donne pour i = 3 ` a n, x
i
= x
i1
x
1
. La derni`ere :
x
n
= x
n1
x
1
,
indique que la connaissance de (x
1
(t), x
n
(t)) permet dobtenir x
n1
.
Denitions et consequences 21
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple 2 (suite)
On remonte ainsi de proche en proche de x
n2
`a x
2
puis ` a :
u
1
= x
1
,
u
2
= f( x
1
, x
n
, . . . , x
(n1)
1
, x
(n1)
n
).
=z =
h
x
1
(t) x
n
(t)
i
est une sortie plate.
Enseignement 4 : lelimination des commandes est une piste pour
mettre en evidence des sorties plates.
Denitions et consequences 22
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple 3 : autres syst`emes chanes
Extension : Par le meme raisonnement, le syst`eme plus general :
x
1
=
1
(u
1
),
x
2
=
2
(u
1
, x
2
, . . . , x
n
)u
2
,
x
3
=
3
(u
1
, x
3
, . . . , x
n
) +
3
(u
1
, x
3
, . . . , x
n
)x
2
,
x
4
=
3
(u
1
, x
4
, . . . , x
n
) +
3
(u
1
, x
4
, . . . , x
n
)x
3
,
.
.
.
x
n1
=
n1
(u
1
, x
n1
, x
n
) +
n1
(u
1
, x
n1
, x
n
)x
n2
,
x
n
=
n
(u
1
, x
n
)x
n1
,
o` u
1
est une fonction inversible, admet egalement comme sortie
plate z
1
= x
1
, z
2
= x
n
.
Denitions et consequences 23
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Remarque (5)

1
est explicitement inversible, alors on peut ecrire
explicitement :
u
1
=
1
1
( x
1
),
et on a lexpression utilisable pour une commande par
platitude;

1
nest pas explicitement inversible (mais le theor`eme des
fonctions implicites est verie), alors on peut calculer
numeriquement :
pour chaque x
1
, u
1
tel que x
1
=
1
(u
1
),
et on na pas dexpression utilisable pour une commande par
platitude.
Comment faire dans ce cas?
Denitions et consequences 24
F. Rotella Commande des syst`emes par platitude
'
&
$
%
2 formes de platitude
Premi`ere forme Celle o` u les formules de platitude, surtout
u(t) = B(z(t), . . . , z
()
(t)), sont explicites :
Le syst`eme est explicitement plat.
Deuxi`eme forme Le syst`eme est plat mais on ne sait pas
extrairement les formules donnant letat et la commande :
Le syst`eme est numeriquement plat.
On ne peut calculer les commandes et les etats correspondant ` a
une trajectoire sur la sortie plate qu` a laide dun algorithme
numerique.
Enseignement 5 : bien que cela ne change pas la propriete de
platitude, on ne pourra pas appliquer les memes techniques de
commande
Denitions et consequences 25
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple 4 : syst`eme numeriquement plat
Soit le reseau hydrographique `a quatre cuves :
- -
-
? ? ?
?
?
?
6
6
6
6

r r
u
1
u
2
(
1
) (
2
)
q
1
q
A
q
2
q
B
q
2
q
1
h
1
h
2
h
A
h
B
d
1
d
2
(S
1
)
(S
2
)
(S
A
)
(S
B
)
Denitions et consequences 26
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Equations des cuves
q
1
(t) =
1
u
1
(t), q
1
(t) = (1
1
)u
1
(t),
q
2
(t) =
2
u
2
(t), q
2
(t) = (1
2
)u
2
(t),
S
A

h
A
(t) = q
2
(t) q
A
(t), S
B

h
B
(t) = q
1
(t) q
B
(t),
q
A
(t) = k
A
p
h
A
(t), q
B
(t) = k
B
p
h
B
(t),
S
1

h
1
(t) = q
1
(t) +q
A
(t) d
1
(t), S
2

h
2
(t) = q
2
(t) +q
B
(t) d
2
(t),
d
1
(t) = k
1
p
h
1
(t), d
2
(t) = k
2
p
h
2
(t).
k
i
: constantes relatives aux orices decoulements;
commandes : taux douvertures
1
et
2
, `a valeurs dans [0,1], des
derivations;
u
1
et u
2
: debits (non controles) alimentant le reseau
hydrographique.
Denitions et consequences 27
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Recherche de relations
Lelimination des commandes
1
and
2
donne :
S
A

h
A
+S
2

h
2
= k
A

h
A
k
2

h
2
+k
B

h
B
+u
2
,
S
B

h
B
+S
1

h
1
= k
B

h
B
k
1

h
1
+k
A

h
A
+u
1
.
Si on denit les volumes (quantites derivees) :
V
2A
= S
A
h
A
+S
2
h
2
,
V
1B
= S
B
h
B
+S
1
h
1
,
on obtient :

V
2A
u
2
= k
A

h
A
k
2

h
2
+k
B

h
B
,

V
1B
u
1
= k
B

h
B
k
1

h
1
+k
A

h
A
.
Denitions et consequences 28
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Syst`eme algebrique
En groupant ces deux ensembles on obtient un syst`eme dequations
non lineaires en les inconnues :
H =
h
h
A
h
B
h
1
h
2
i
T
.
Ce syst`eme est (localement) soluble si le theor`eme des fonctions
implicites est verie, soit si :
J(H(t)) =
_

_
S
A
0 0 S
2
0 S
B
S
1
0

k
A
2

h
A
k
B
2

h
B
0
k
2
2

h
2
k
A
2

h
A

k
B
2

h
B

k
1
2

h
1
0
_

_
,
est inversible.
Denitions et consequences 29
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Platitude du syst`eme des cuves
Ainsi, tant que :
S
1
S
B
k
B
k
1
r
h
1
h
B
+
S
2
S
A
k
A
k
2
r
h
2
h
A
6= 1,
z =
_
_
V
2A
V
1B
_
_
est une sortie plate du syst`eme.
On peut numeriquement obtenir H = H(z, z, u
1
, u
2
) et :

1
=
1
u
1

S
1

h
1
+k
1
p
h
1
k
A
p
h
A

2
=
1
u
2

S
2

h
2
+k
2
p
h
2
k
B
p
h
B

.
Syst`eme numeriquement plat
Mais ceci nest utile que pour la generation de trajectoire (BO).
Denitions et consequences 30
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple 5 : Derivees des commandes
Syst`eme ` a deux commandes et a < b :
x
(a)
1
= u
1
,
x
(b)
2
= u
2
,
x
3
= u
1
u
2.
Lelimination des commandes donne lintegrale premi`ere :
x
3
= x
(a)
1
x
(b)
2
.
Une integration par parties donne :

x
3
x
(a)
1
x
(b1)
2

(1)
= x
(a+1)
1
x
(b1)
2
.
Denitions et consequences 31
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple 5 : Recherche dune sortie plate
Apr`es b integrations par parties successives :
_
_
x
3
x
(a)
1
x
(b1)
2
+x
(a+1)
1
x
(b2)
2
+ + (1)
b
x
(a+b1)
1
x
2
| {z }

_
_
(1)
=
(1)
b
x
(a+b)
1
x
2
.
Conduit `a choisr comme sortie plate (x
1
, ).
Verication :
x
2
= (1)
b

(1)
x
(a+b)
1
, x
3
= +x
(a)
1
x
(b1)
2
x
(a+1)
1
x
(b2)
2
+ ,
u
1
= x
(a)
1
, u
2
= x
(b)
2
.
Denitions et consequences 32
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Remarques sur lexemple 5
1. Comme x
(a)
1
= u
1
, secrit en eliminant les derivees de x
1
, et
en conservant les variables detat x
3
, x
2
`a x
(b1)
2
:
= x
3
u
1
x
(b1)
2
+u
(1)
1
x
(b2)
2
+ + (1)
b
u
(b1)
1
x
2
.
2. Enseignement 6 : apr`es avoir elimine les commandes, les
variables candidates `a etre sorties plates sont celles qui sont
derivees dans les relations algebriques donnant les autres
variables.
Denitions et consequences 33
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Recherche des sorties plates
Pour un syst`eme :
( x(t), x(t), u(t)) = 0,
un moyen de mettre en evidence les sorties plates consiste :
1. ` a construire le mod`ele implicite obtenu en eliminant les
commandes :
(x
(n)
(t), . . . , x(t), x(t)) = 0;
2. ` a chercher ` a exprimer algebriquement certaines variables en
fonctions des autres variables et de leur derivees;
3. les variables derivees sont candidates ` a etre sorties plates.
Exemple : le convertisseur Continu-Continu
Denitions et consequences 34
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple 6 : Syst`eme implicite
Soit le syst`eme regi par les integrales premi`eres :
x
1
+ x
3
x
4
= 0, x
2
+ (x
1
+ x
3
x
4
)x
4
= 0.
Soit = x
1
+ x
3
x
4
, alors on a :
= x
(3)
3
x
4
,
x
2
+x
4
= 0.
Exercice : montrer que les couples (, x
3
) ou (, x
4
) ne peuvent etre
considerees comme sorties plates.
Denitions et consequences 35
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple 6 (suite)
Question : comment trouver une sortie plate?
Astuce : lelimination de x
4
donne :
= x
2
x
(3)
3
=

2
2

(1)
.
Une integration par parties (cf. exemple precedent) donne :

2
2
+x
2
x
(3)
3

(1)
= x
2
x
(4)
3
Sorties plates candidates : z
1
= x
2
x
(3)
3
+

2
2
et z
2
= x
3
.
Denitions et consequences 36
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple 6 (suite)
Verication :
x
2
=
z
1
x
(4)
3
, =
q
2(x
4
x
2
x
(3)
3
),
x
4
=

x
(3)
3
, x
1
= x
(2)
3
x
4
.
Remarque : 4 variables, 2 relations
=
_

_
2 composantes pour la sortie plate;
2 variables libres;
2 commandes.
Denitions et consequences 37
F. Rotella Commande des syst`emes par platitude
'
&
$
%
De limplicite `a lexplicite
Observation : les commandes font apparatre les derivees dordre le
plus elevees des sorties plates.
Pour lexemple 6, dans x
1
et x
4
, on trouve x
(5)
3
, donc :
u
1
= x
1
et u
2
= x
4
Cela ne sut pas car x
1
et x
4
sont presentes dans les equations.
Astuce : on ajoute des integrateurs :
u
1
= x
1
et u
2
= x
4
,
soit :
x
(2)
3
=
u
1
u
2
et x
2
= x
1
x
4
+
u
1
u
2
x
2
3
.
Denitions et consequences 38
F. Rotella Commande des syst`emes par platitude
'
&
$
%
De limplicite `a lexplicite (2)
En rajoutant lintegrateur :
x
3
= x
5
,
= Equation detat :
x
1
= u
1
,
x
2
= x
1
x
4
+
u
1
u
2
x
2
3
,
x
3
= x
5
,
x
4
= u
2
,
x
5
=
u
1
u
2
.
Enseignement 7 : la mise en evidence de la platitude est un moyen
de realiser un mod`ele implicite.
Denitions et consequences 39
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Consequence de la platitude
Comme la commande en boucle ouverte nest pas souhaitable, il y a
lieu de prevoir un bouclage assurant la poursuite de trajectoire.
Deux possibilites :
par commande non lineaire : par utilisation de la relation
explicite de la commande (4);
par linearisation et commande lineaire : par linearisation du
mod`ele autour de la trajectoire desiree.
Remarques :
la deuxi`eme technique est utilisable dans tous les cas;
on peut utiliser la platitude sur le mod`ele linearise.
Denitions et consequences 40
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Commande non lineaire par platitude
1. Generation de trajectoire en boucle ouverte = z
d
(t).
2. Linearisation et decouplage : si ` a partir de (4) on fait :
u = B(z, . . . , z
(1)
, v),
o` u v est la nouvelle commande, et si det B
z
() 6= 0, on obtient le
syst`eme lineaire decouple :
z
()
= v.
Remarques :
resultat `a comparer ` a la linearisation par bouclage des
syst`emes non lineaires;
decouplage sans dynamique des zeros;
un bouclage supplementaire de stabilisation est necessaire.
Denitions et consequences 41
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Bouclage stabilisant
La commande :
v = z
()
d
(t) +
1
X
i=0
k
i
(z
(i)
d
(t) z
(i)
(t)),
o` u K(p) = p

+
P
1
i=0
k
i
p
i
est un polynome de Hurwitz, conduit ` a :
u = B(z, . . . , z
(1)
, z
()
d
(t) +
1
X
i=0
k
i
(z
(i)
d
(t) z
(i)
(t))),
= (z, . . . , z
(1)
, K(p)z
d
(t)),
qui assure une poursuite de trajectoire asmptotique avec :
lim
t
(z
d
(t) z(t)) = 0.
u(t) sappelle un bouclage ENDOG
`
ENE
Denitions et consequences 42
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Structure I de commande
On met en uvre la structure de commande :
(.)

- -
-
?
u
y
z
d
z z
Processus
Il est evident quun observateur de z est necessaire
= probl`eme delicat en non lineaire.
Denitions et consequences 43
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Commande lineaire par platitude
1. Generation de trajectoire en boucle ouverte :
z
d
(t) 7(x
d
(t), u
d
(t), y
d
(t)).
2. Linearisation du mod`ele autour de cette trajectoire :
x(t) = A(t)x(t) +B(t)u(t),
y(t) = C(t)x(t) +D(t)u(t),
avec :
x(t) = x
d
(t) x(t), u(t) = u
d
(t) u(t), y(t) = y
d
(t) y(t).
3. Elaboration de la commande :
u(t) = B(z
d
(t), z
(1)
d
(t), . . . , z
()
d
(t)) u(t),
Denitions et consequences 44
F. Rotella Commande des syst`emes par platitude
'
&
$
%
4. Structure bouclee :
u(t) = K(p, t)y(t),
tel que le syst`eme :
K(p, t)

u
y
u
-
y
_
_
A(t) B(t)
C(t) D(t)
_
_
z
d
?
6
ait ses variables decart qui tendent vers 0.
Remarque : pour determiner K(p, t) on peut bien s ur utiliser la
platitude du syst`eme linearise!
Denitions et consequences 45
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Structure II de commande
On met en uvre la structure de commande :
K(p, t)

6
u
y
z
d
B(.) A(.)
Processus

+ +


u
y
u
d
y
d
-
? ?
- -

Dans cette structure, le cadre lineaire simplie la construction dun


observateur.
Denitions et consequences 46
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Generation de trajectoire sur z(t)
Contrainte : elle doit etre dierentiable ` a lordre ().
Premi`ere solution : trajectoires polynomiales par morceaux.
utilisation de polynomes dinterpolations;
la plupart du temps, conditions de continuite au depart et `a
larrivee;
on peut imposer des points de passage ou de rebroussement;
on peut prevoir des trajectoires de contournement.
Denitions et consequences 47
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Generation de trajectoire sur z(t) (2)
Deuxi`eme solution : optimisation en boucle ouverte.
Le crit`ere :
J =
Z
t
1
t
0
(y, u)dt,
secrit :
J =
Z
t
1
t
0
L(z, . . . , z
()
)dt.
La trajectoire optimale qui minimise ce crit`ere est solution de
lequation dEuler-Lagrange :
L
z

d
dt
L
z
(1)
+
d
2
dt
2
L
z
(2)
+ + (1)

dt

L
z
()
= 0.
On peut bien s ur combiner les deux solutions (e.g. splines cubiques,
courbes de Bezier, . . . ).
Denitions et consequences 48
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Generation de trajectoire sur y(t)
Souvent la sortie y(t) que lon veut asservir nest pas une sortie
plate : on ne peut, sans risques, generer une trajectoire directement
sur y(t).
Comment proceder?
1. On impose des points de passage, pour i = 0 ` a N, y(t
i
) = y
i
.
2. On impose des contraintes aux points darrets, pour i = 0 et N,
pour j = 1 ` a M, y
(j)
(t
i
) = y
i,j
.
3. On impose des contraintes (de continuites) aux points de
passage, pour i = 1 ` a N 1, pour j = 1 ` a M,
y
(j)
(t

i
) = y
(j)
(t
+
i
).
4. Compte tenu de y = C(z, . . . , z
()
), pour j = 0 ` a M,
y
(j)
= C
j
(z, . . . , z
(+j)
).
Denitions et consequences 49
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Generation de trajectoire sur y(t) (2)
1. Cela donne des contraintes, pour i = 0 et N, pour j = 1 ` a
+M, z
(j)
(t
i
) = z
i,j
.
2. On gen`ere la trajectoire z
d
(t) de t
0
`a t
N
qui verie ces
contraintes.
3. Cela donne la trajectoire sur y(t), y
d
(t) = C(z
d
(t), . . . , z
()
d
(t)).
4. Soit e(t) = y(t) y
d
(t) et E la tolerance maximale autorisee :
si max e(t) < E, on execute la commande
u
d
(t) = B(z
d
(t), . . . , z
()
d
(t));
si max e(t) > E, on ins`ere des points de passage
supplementaires et on reprend ` a letape 1.
Denitions et consequences 50
F. Rotella Commande des syst`emes par platitude
'
&
$
%
3 Exemples pratiques (et instructifs!)
1. Introduction 5. Crit`eres de platitude
2. Denitions et consequences 6. Cas des syst`emes lineaires
3. Exemples pratiques 7. SPD
4. Un peu de formalisme 8. Conclusion
Exemples pratiques (et instructifs!) 51
F. Rotella Commande des syst`emes par platitude
'
&
$
%
VTOL : Avion `a decollage vertical
-
6

~
A
A
B
B
B
J
J
Q
Qk
6
A
A
A
A
A
A

F
1
(t)
(t)
F
2
(t)

x(t)
h(t)
2l

Exemples pratiques (et instructifs!) 52


F. Rotella Commande des syst`emes par platitude
'
&
$
%
Mod`ele du VTOL
Coordonnees reduites :
x =
x
G
g
, h =
h
G
g
, =
J sin
mg(l cos + sin)
,
u
1
=
(F
1
+F
2
) cos
mg
, u
2
=
(F
1
F
2
) sin
mg
.
Mod`ele dynamique (tr`es) simplie :
x
(2)
= sinu
1
+ cos u
2
,
h
(2)
= cos u
1
+ sinu
2
1,

(2)
= u
2
.
Exemples pratiques (et instructifs!) 53
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Commande decouplante du VTOL
Sortie :
y(t) =
_
_
x(t)
h(t)
_
_
1. Calcul des degres relatifs : r
1
= 2 et r
2
= 2.
2. Matrice de decouplage :
_
_
x
(2)
(t)
h
(2)
(t)
_
_
=
_
_
0
1
_
_
+
_
_
sin cos
cos sin
_
_
| {z }
B() : matrice de decouplage
_
_
u
1
(t)
u
2
(t)
_
_
.
3. Commande linearisante decouplante.
Exemples pratiques (et instructifs!) 54
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Comme det B() = et :
B()
1
=
_
_
sin cos
cos

sin

_
_
,
la commande non lineaire decouplante est :
_
_
u
1
(t)
u
2
(t)
_
_
=
_
_
sin cos
cos

sin

_
_
_
_
v
1
(t)
v
2
(t) + 1
_
_
.
4. Syst`eme boucle :
_
_
x
(2)
(t)
h
(2)
(t)
_
_
=
_
_
v
1
(t)
v
2
(t)
_
_
.
Exemples pratiques (et instructifs!) 55
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Inconvenient de cette commande
Si on lapplique, lavion se deplace bien mais part en looping.
Pourquoi?
Raison :

(2)
(t) = cos (t)v
1
(t) + sin(t)(v
2
(t) + 1).
Quand le syst`eme boucle est stabilise v
1
(t) et v
2
(t) tendent vers 0
et il reste :

(2)
(t) = sin(t),
qui est un syst`eme instable!
Probl`eme des zeros instables
Exemples pratiques (et instructifs!) 56
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Platitude du VTOL
Dapr`es les calculs precedents :
_
_
u
1
(t)
u
2
(t)
_
_
=
_
_
sin cos
cos

sin

_
_
_
_
x
(2)
(t)
h
(2)
(t) + 1
_
_
,
conduit `a :

(2)
(t) = cos (t)x
(2)
(t) + sin(t)(h
(2)
(t) + 1).
Astuce : on ajoute cos
2
+ sin
2
= 1, soit :
cos

x
(2)
cos
(2)

= sin(h
(2)
+ 1 sin
(2)
).
Or :
x
(2)
cos
(2)
= (x sin)
(2)
sin

2
,
h
(2)
sin
(2)
= (h + cos )
(2)
+ cos

2
.
Exemples pratiques (et instructifs!) 57
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Relations de platitude du VTOL
Comme :
cos (x sin
| {z }
X
)
(2)
= sin((h + cos
| {z }
H
)
(2)
+ 1).
Sorties plates : X = x sin et H = h + cos .
cos = sin = = (2k + 1)/2 si = 0 et tan = /
sinon :
= arctan
X
(2)
H
(2)
+ 1
;
sin =
X
(2)

X
(2)2
+(H
(2)
+1)
2
et cos =
H
(2)

X
(2)2
+(H
(2)
+1)
2
:
x = x(X, X
(2)
, H
(2)
), h = h(H, X
(2)
, H
(2)
);
Exemples pratiques (et instructifs!) 58
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Relations de platitude du VTOL
u
2
= u
2
(X
(2)
, H
(2)
, X
(3)
, H
(3)
, X
(4)
, H
(4)
);
X
(2)
= sin(u
1

2
) et H
(2)
+ 1 = cos (u
1

2
), donc :
u
1
=
q
X
(2)2
+ (H
(2)
+ 1)
2
+

2
= u
1
(X
(2)
, H
(2)
, X
(3)
, H
(3)
).
Enseignement : la sortie plate a souvent une intrepretation
physique
Ici : centre instantane de rotation
Exemples pratiques (et instructifs!) 59
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Commande par platitude du VTOL
Les relations de platitude indique = 4, donc il existe un bouclage
linearisant tel que :
X
(4)
= v
1
et H
(4)
= v
2
,
soit une dimension 8 du syst`eme en boucle fermee.
Remarque : comparer avec les dimensions :
6 du syst`eme;
4 du syst`eme boucle par le retour non lineaire precedent.
= bouclage dynamique de dimension 2
Exemples pratiques (et instructifs!) 60
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Probl`eme
Comment construire le retour detat necessaire?
Dans :
u
1
= u
1
(X
(2)
, H
(2)
, X
(3)
, H
(3)
)
u
2
= u
2
(X
(2)
, H
(2)
, X
(3)
, H
(3)
, v
1
, v
2
),
u
1
ne contient pas les nouvelles commandes;
on doit avoir X
(3)
et H
(3)
.
Exemples pratiques (et instructifs!) 61
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Construction du bouclage
Comme on cherche un bouclage decouplant on deroule lalgorithme
de commande non lineaire mais relativement aux sorties plates.
1. Avec = u
1

2
, soit u
1
= +

2
:
X
(2)
= sin, H
(2)
+ 1 = cos .
2. Apr`es 2 derivations, on doit avoir :
X
(4)
= sin

2
2 cos

cos u
2
sin

= v
1
,
H
(4)
= cos

2
2 sin

sinu
2
+ cos

= v
2
.
soit :
_
_
cos sin
sin cos
_
_
_
_
u
2

_
_
=
_
_
v
1
sin

2
+ 2 cos

v
2
+ cos

2
+ 2 sin

_
_
.
Exemples pratiques (et instructifs!) 62
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Bouclage
La resolution de ce syst`eme donne u
2
et

et le nombre detats est
complet.
1. Tant que 6= 0 :

2
v
1
sin +v
2
cos ,
u
1
= +

2
,
u
2
=
1

(v
1
cos +v
2
sin + 2

).
2. Bouclage stabilisant :
v
1
= X
(4)
d
+
3
X
i=0
k
1,i
(X
(i)
d
X
(i)
), v
2
= H
(4)
d
+
3
X
i=0
k
1,i
(H
(i)
d
H
(i)
),
Exemples pratiques (et instructifs!) 63
F. Rotella Commande des syst`emes par platitude
'
&
$
%
qui utilise les relations :
X = x sin,
H = h + cos ,
X
(1)
= x cos

,
H
(1)
=

h sin

,
X
(2)
= sin,
H
(2)
= cos 1,
X
(3)
= cos

+ sin

,
H
(3)
= sin

+ cos

.
Exemples pratiques (et instructifs!) 64
F. Rotella Commande des syst`emes par platitude
'
&
$
%
La voiture
-

6
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@









.
.
.
.
.
.
.
.

x(t)
y(t)
F(t)
P
(t)
(t)
Exemples pratiques (et instructifs!) 65
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Mod`ele de la voiture
Commandes :
u : vitesse de P;
: angle de braquage des roues avant;
Mod`ele (roulement sans glissement) :
x = ucos ,
y = usin,

=
u
l
tan;
les coordonnees de P(x(t), y(t)) sont une sortie plate du
syst`eme
Exemples pratiques (et instructifs!) 66
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Preuve de la platitude
A partir dune trajectoire de P(x(t), y(t)) :
la direction de la tangente ` a la courbe donne ;
son module donne u;
le cercle osculateur (celui de la rotation instantanee de P)
donne
Exemples pratiques (et instructifs!) 67
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Relations de platitude
Sortie plate
h
x(t) y(t)
i
=
_

_
u(t) =
p
x
2
(t) + y
2
(t),
(t) = arctan

y(t)
x(t)

,
(t) = arctan

l( x(t) y(t) x(t) y(t))


p
x
2
(t) + y
2
(t)
3
!
,
Interpretation de la singularite ` a vitesse nulle :
on ne sarrete ni ne demarre brutalement;
si on tourne les roues `a u = 0, il ne se passe rien.
Exemples pratiques (et instructifs!) 68
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Traitement de la singularite
Lidee consiste ` a decoupler :
laspect geometrique de la trajectoire;
levolution sur cette trajectoire.
Solution :
parametrisation de labscisse curviligne (t) telle que, si T est la
duree du mouvement :
(0) = 0, (T) = 1, (0) = (T) = 0.
soit :
(t) =

t
T

3 2
t
T

.
Exemples pratiques (et instructifs!) 69
F. Rotella Commande des syst`emes par platitude
'
&
$
%
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
t/T


(
t
)
Exemples pratiques (et instructifs!) 70
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Traitement de la singularite
geometrie de la trajectoire :
h
x
d
() y
d
()
i
.
Comme x
02
() +y
02
() = 1 :
=
_

_
u(t) = (t),
(t) = arctan

y
0
x
0

,
(t) = arctan(l(x
0
(t)y
00
(t) x
00
(t)y
0
(t))) ,
Exemples pratiques (et instructifs!) 71
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Mise en uvre de la commande par platitude
La construction suit la meme demarche que pour lavion :
u et dependent de x
(2)
et y
(2)
donc il existe un bouclage tel
que :
x
(2)
= v
1
et y
(2)
= v
2
;
pour le construire, on derive 2 fois les sorties plates :
x
(2)
= ucos usin

= ucos
u
2
l
sin tan = v
1
,
y
(2)
= usin +ucos

= usin +
u
2
l
cos tan = v
2
,
soit :
_
_
cos
u
2
l
sin
sin
u
2
l
cos
_
_
_
_
u
tan
_
_
=
_
_
v
1
v
2
_
_
.
Exemples pratiques (et instructifs!) 72
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Bouclage dynamique
u = cos v
1
+ sinv
2
,
= arctan

l
u
2
(cos v
2
sinv
1

;
auquel on ajoute le retour stabilisant de poursuite de trajectoire :
v
1
= x
(2)
d
+k
1,1
(x
(1)
d
x
(1)
) +k
1,0
(x
d
x),
v
2
= y
(2)
d
+k
1,1
(y
(1)
d
y
(1)
) +k
1,0
(y
d
y),
soit :
v
1
= x
(2)
d
+k
1,1
(x
(1)
d
cos u) +k
1,0
(x
d
x),
v
2
= y
(2)
d
+k
1,1
(y
(1)
d
sinu) +k
1,0
(y
d
y);
Mais u nest plus la commande.
Exemples pratiques (et instructifs!) 73
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Traitement de la singularite
On realise :
u(t) = v(t) (t),
o` u v(t) est la nouvelle commande qui est egale ` a 1 sur la trajectoire
desiree. Comme :
d
dt
= (t)
d
d
,
Avec, suivant le choix de (t) :
(t) =
6t
T
3
(T t),
on obtient nalement comme commande par platitude qui assure la
poursuite asymptotique de la trajectoire (x
d
(t), y
d
(t)) :
Exemples pratiques (et instructifs!) 74
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Commande avec singularite
u(t) = v(t) (t),
v(t) = (t)(cos v
1
+ sinv
2
),
(t) = arctan

l
v(t)
2
(cos v
2
sinv
1

,
v
1
= x
(2)
d
+k
1,1
(x
(1)
d
cos u) +k
1,0
(x
d
x),
v
2
= y
(2)
d
+k
1,1
(y
(1)
d
sinu) +k
1,0
(y
d
y).
Enseignement : les singularites qui apparaissent dans B(.) sont
resolues par un decouplage :
de laspect geometrique avec la generation de trajectoire z
d
();
de levolution sur cette trajectoire par parametrisation de
labscisse curviligne (t).
Exemples pratiques (et instructifs!) 75
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple simple
Soit le syst`eme :
x(t) +u(t)x(t) = u
5
(t).
o` u u(t) est la commande.
Theor`eme des fonctions implicites :
tant que 5u
4
(t) 6= x(t) : x(t) est une sortie plate.
Syst`eme numeriquement plat
Remarque : la commande u(t) ne doit pas verier
15 u
2
+ 5 uu +u
3
= 0
Exemples pratiques (et instructifs!) 76
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Consequence
Commande lineaire non stationnaire autour de la trajectoire desiree
(structure II de commande).
Avec x = x
d
x, u = u
d
u, (t) = 5u
4
d
(t) x
d
(t) et
X =
h
x x
i
:

X =
_
_
0 1
u
d
(t) 0
_
_
X +
_
_
0
(t)
_
_
u.
Matrice de commandabilite :
C
(A(t),B(t))
=
_
_
0 (t)
(t) (t)
_
_
.
Le syst`eme est commandable tant que 0 < (t) < .
Exemples pratiques (et instructifs!) 77
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Platitude du linearise
En lineaire platitude et commandabilite concident.
Lorsque cette condition est veriee :
u(t) =
1
(t)
[ x(t) +u
d
(t)x(t)] ,
qui montre le caract`ere plat de la sortie x(t).
A comparer avec la condition de platitude numerique.
Si la condition de commandabilite nest pas veriee on reparam`etre
labscisse curviligne.
Exemples pratiques (et instructifs!) 78
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Platitude du linearise
Commande par platitude du linearise :
u(t) =
1
(t)
[v(t) +u
d
(t)x(t)] ,
avec :
v(t) = x
d
(t) +k
1
( x
d
(t) x(t)) +k
0
(x
d
(t) x(t)).
Mais, comme on veut pour la structure compl`ete x
d
(t) 0, on
obtient directement :
u(t) =
1
(t)
[k
1
x(t) + (u
d
(t) k
0
)x(t)] = u
d
(t) u(t).
Exemples pratiques (et instructifs!) 79
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Commande compl`ete
u(t) = u
d
(t)
1
(t)
[k
1
x(t) + (k
0
u
d
(t))x(t)] ,
= u
d
(t)
[k
1
( x
d
(t) x(t)) + (k
0
u
d
(t))(x
d
(t) x(t))]
(t)
,
ce qui donne la commande nale :
u(t) = u
d
(t)
1
(t)
[k
1
x
d
(t) + (k
0
u
d
(t))x
d
(t)]
| {z }

d
(t)
_

_
consigne

1
(t)
[(u
d
(t) k
0
)x(t) k
1
x(t)]
| {z }
bouclage detat
.
Exemples pratiques (et instructifs!) 80
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Simulation
Trajectoire `a suivre : x
d
(t) = t
2
(3 2t) pour t de 0 `a 1;
Dynamique de poursuite : k
1
= 20, k
0
= 100 :
0 0.5 1 1.5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Step Response
Time (sec)
A
m
p
litu
d
e
Temps de reponse ` a 2% : 0.6 seconde.
Exemples pratiques (et instructifs!) 81
F. Rotella Commande des syst`emes par platitude
'
&
$
%
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
d
(t)
x(t)
temps t, k1=20, k0=100, x(0)=1
Commande par platitude avec estimation grossi`ere de letat initial.
Exemples pratiques (et instructifs!) 82
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemples pratiques (et instructifs!) 83
F. Rotella Commande des syst`emes par platitude
'
&
$
%
4 Formalisme
(a little touch . . . )
1. Introduction 5. Crit`eres de platitude
2. Denitions et consequences 6. Cas des syst`emes lineaires
3. Exemples pratiques 7. SPD
4. Un peu de formalisme 8. Conclusion
Formalisme 84
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Formalismes
Plusieurs formalismes permettent de construire la notion de
platitude :
geometrie dierentielle de dimension nie et bouclage
linearisant : Charlet, Levine, 1989; Shadwick, 1990; Sluis, 1993;
Franch, 1999;
alg`ebre dierentielle : Jacubczyk, 1993, Fliess, Levine, Martin,
Rouchon, 1995; Aranda-Bricaire, Moog, Pomet, 1995;
geometrie dierentielle de dimension innie des jets : Pomet,
1993; van Nieusdadt, Rathinam, Murray, 1998; Fliess, Levine,
Martin, Rouchon, 1999; Pereira da Silva, Correa Filho, 2001,
Peut etre reliee ` a des travaux plus anciens : Hilbert, 1901, 1912,
Poincare, 1907, Cartan, 1914.
Formalisme 85
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Syst`emes
1. Syst`eme dierentiel (libre) :
= (X, f)
x = f(x), t R, x X R
n
;
= une trajectoire t 7x(t)
2. Syst`eme commande (force) :

u
= (X, f
u
)
x = f(x, u), t R, (x, u) X U R
n
R
m
;
= une innite de trajectoires t 7x
u
(t)
Formalisme 86
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Unication
Notion de trajectoire :
t 7 = (x(t)
T
, u(t)
T
, u(t)
T
, . . . , u
(k)
(t)
T
, . . . )
T
,
t R, M R
n
R
m
R
m
| {z }
-te de copies de R
m
= R
n
(R
m
)

cela permet davoir :

= (f(x, u)
T
, u
T
, . . . , u
(k)
T
, . . . )
T
= F().
Syst`eme commande :
= (M, F).
Formalisme 87
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Remarques
ce formalisme est celui des jets-innis;
meme formalisme pour les syst`emes implicites (,

) = 0;
on perd la notion de dimension de letat : soit

deni par :
x = f(x, u),
u = v,
que lon peut noter

X = (X, v) mais qui correspond `a la
representation :
(

X
T
, v
T
, . . . , v
(k1)
T
, . . . ) = (f(x, u)
T
, u
T
, u
T
, . . . , u
(k)
T
, . . . ).
Les deux syst`emes ont une dimension dierente mais la meme
representation;
commandes : variables independantes (ou libres) du syst`eme.
Formalisme 88
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Syst`eme trivial
Denition (evidente) du syst`eme trivial : y(t) = u(t).
Dans le formalisme des jets : T = ((R
m
)

, F) o` u :
F(y
T
0
, y
T
1
, y
T
2
, . . . ) = (y
T
1
, y
T
2
, . . . ).
Consequence : toute suite dintegrateurs est un syst`eme trivial.
y
(n)
= u,
Preuve : soit = (y
T
, . . . , y
(n1)T
, u
T
, u
T
, . . . , u
(k)T
, . . . )
T
, alors :

= ( y
T
, . . . , y
(n1)T
, y
(n)T
| {z }
u
T
, u
T
, . . . , u
(k)T
, . . . )
T
,
soit y
0
= y.
Formalisme 89
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Equivalence de syst`emes
Deux syst`emes (M, F) et (N, G) sont equivalents
si il existe une transformation inversible qui echange leurs
trajectoires.
Notons et une telle transformation et son inverse :
si est une trajectoire de F() alors = () est une
trajectoire de G() =
h

i
=()
F(());
si est une trajectoire de G() alors = () est une
trajectoire de F() =
h

i
=()
G(()).
Une telle transformation sappelle une transformation de
Lie-Backl und.
Formalisme 90
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Implication de lequivalence
Soit deux syst`emes LB-equivalents :
x = f(x, u) et y = g(y, v).
En notant u = (u, u, u, . . . ) et v = (v, v, v, . . . ), on les relations :
(x, u, u, u, . . .
| {z }

) = ((x, u)
| {z }
y
, (x, u)
| {z }
v
,

(x, u)
| {z }
v
, . . . ),
(y, v, v, v, . . .
| {z }

) = ((y, v)
| {z }
x
, (y, v)
| {z }
u
,

(y, v)
| {z }
u
, . . . ),
ce qui donne necessairement les relations entre variables :
_
_
_
y = (x, u),
v = (x, u),
et
_
_
_
x = (y, v),
u = (y, v).
Formalisme 91
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Remarques
Une transformation de Lie-Backl und :
ne conserve pas le nombre detats;
peut etre etendue aux syst`emes ` a temps variable et aux
changements de temps;
peut ne pas conserver le temps : lequivalence est alors orbitale :
y = (t, x, u) x = (, y, v)
v = (t, x, u) u = (, y, v)
= (t, x, u) t = (, y, v)
comme on est en dimension nie, k assez grand :
y = (t, x, u
k
), . . . , t = (, y, v
k
),
o` u u
k
= (u
T
, u
T
, . . . , u
(k)T
)
T
.
Formalisme 92
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Implication de lequivalence
Theor`eme 1 :
Si deux syst`emes sont L-B equivalents alors ils ont le meme nombre
de commandes.
Theor`eme 2 :
Si deux syst`emes sont L-B equivalents alors il existe un bouclage
dynamique endog`ene
et un changement de coordonnees qui transforme lun en lautre.
Formalisme 93
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Syst`eme plat
Rappel : un syst`eme est plat si on a les relations :
z = h(x, u), x = A( z), u = B( z),
Donc sil est equivalent ` a un syst`eme tel que y soit dans les
premi`ere composantes de z, soit le syst`eme trivial.
En resume :
Un syst`eme (M, F) est plat sil est equivalent au syst`eme trivial.
Consequence : le nombre de sorties plates est egal au nombre de
commandes.
Formalisme 94
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple de syst`eme orbitalement plat
x
1
= u,
x
2
= u
2
.
Ce syst`eme nest pas plat, par contre si on fait la transformation :
= x
1,
y = x
2
,
on obtient le syst`eme plat :
dy
d
= u().
Formalisme 95
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Sortie plate = sortie linearisante
A partir de :
x = A(z, z
(1)
, . . . , z
()
) = A( z

).
Moyennant une permutation entre les variables, z

peut etre
partitionne en [, ] o` u R
n
, et :
rang (A/) = n.
Par le theoreme des fonctions implicites :
z(.), = z(x, ).
Ainsi :

= H(, , z
(+1)
) = a(x, , z
(+1)
),
u = B(, , z
(+1)
) = b(x, , z
(+1)
).
Formalisme 96
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Sortie plate = sortie linearisante (2)
Comme le bouclage par platitude consiste `a poser :
z
(+1)
= v,
le bouclage :

= a(x, , v),
u = b(x, , v),
conduit necessairement ` a la forme de Brunovski :
- syst`eme lineaire;
- sous forme canonique commandable;
- dont tout les coecients signicatifs sont nuls.
Formalisme 97
F. Rotella Commande des syst`emes par platitude
'
&
$
%
5 Crit`eres de platitude
1. Introduction 5. Crit`eres de platitude
2. Denitions et consequences 6. Cas des syst`emes lineaires
3. Exemples pratiques 7. SPD
4. Un peu de formalisme 8. Conclusion
Crit`eres de platitude 98
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Caracterisation de la platitude
il existe des conditions necessaires et susantes de platitude :
mais, caracterisation systematique (encore) dicile;
certains resultats partiels :
conditions necessaires;
conditions susantes;
cas particuliers,
permettent de repondre (assez souvent) ` a cette question;
ne pas oublier que la sortie plate a souvent une interpretation
physique.
Crit`eres de platitude 99
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Par decomposition en serie
Soit le syst`eme forme de :
u(t) z(t)
v(t)
y(t)

1
- - -
si
1
, plat de sortie plate y(t),
2
, plat de sortie plate z(t),
alors , plat de sortie plate z(t);
si
1
, plat de sortie plate y(t), , plat de sortie plate z(t), alors

2
, plat de sortie plate z(t);
si , plat de sortie plate z(t), alors
2
, plat de sortie plate z(t)
et
1
, plat de sortie plate y(t).
Exemple : Prise en compte des actionneurs.
Crit`eres de platitude 100
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Syst`emes sans dynamique des zeros
ou syst`emes linearisables entree-etat par bouclage statique
Preuve : ils sont caracterises par une forme normale :
pour i = 1 ` a m, y
(
i
)
i
= a
i
(x) +b
i
(x)u(t),
telle que
X

i
= n et :
rang
_

_
b
1
(x)
.
.
.
b
m
(x)
_

_
| {z }
B(x)
= m.
Le bouclage u = B(x)
1
(v A(x)) le transforme en :
pour i = 1 ` a m, y
(
i
)
i
= v
i
(t),
Crit`eres de platitude 101
F. Rotella Commande des syst`emes par platitude
'
&
$
%
dont la sortie plate est constituee par tous les y
i
appelees sorties de
Brunovski du syst`eme.
Comme il existe un dieomorphisme :
_

_
y
.
.
.
y
(1)
_

_
= (x),
on a x = (y, . . . , y
(1)
) donc u = (y, . . . , y
()
), ce qui clos la
demonstration.
Crit`eres de platitude 102
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Cas particuliers
1. Pour les syst`emes mono-entree, platitude et linearisation
concident.
2. Pour les syst`emes lineaires, comme la commandabilite est une
CNS dobtention de la forme de Brunovski :
platitude et commandabilite concident
Crit`eres de platitude 103
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Syst`emes anes en la commande de dimension n
Lorsque le nombre de commandes est n 1 :
platitude et commandabilite concident.
Soit le syst`eme :
x(t) = f
0
(x) +
n1
X
i=1
f
i
(x)u
i
(t),
pour construire sa sortie plate :
1. on elimine les commandes =
P
n
i=1
a
i
(x) x
i
= g(x);
2. puis :
si un des a
i
(x) est nul (e.g. a
r
) alors une sortie plate est
(x
1
, . . . , x
r1
, x
r+1
, . . . , x
n
);
si tous les a
i
(x) sont non nuls, on proc`ede ` a un changement
Crit`eres de platitude 104
F. Rotella Commande des syst`emes par platitude
'
&
$
%
de variable :
z = (x
1
, x
2
, . . . , x
n
) x
1
= (z, x
2
, . . . , x
n
),
et on ecrit g(x) :
g(x) = a
1
(x)
"

z
z +
n
X
i=2

x
i
x
i
#
+
n
X
i=2
a
i
(x) x
i
,
= a
1
(x)

z
z +
n
X
i=2
"
a
i
(x) +a
1
(x)
n
X
i=2

x
i
#
x
i
.
Il sut de choisir tel que :

x
2
=
a
2
a
1
,
pour se ramener au cas precedent. Une sortie plate est alors
donnee par (z
1
, x
3
, . . . , x
n
).
Crit`eres de platitude 105
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Syst`emes sans derive `a 2 commandes
n etats, n 2 commandes : platitude = commandabilite :
si n est impair, il est 0-plat;
si n est pair, il est 1-plat;
n etats, 2 commandes :
x(t) = f
1
(x)u
1
(t) +f
2
(x)u
2
(t),
si on construit la suite de distributions :

0
= span{f
1
, f
2
}, pour k 1,
k+1
= span{
k
, [
k
,
k
]},
alors la platitude est equivalente ` a :
pour k = 0 ` a n 2, rang
k
= k + 2.
Exemple : le chariot `a remorque.
Crit`eres de platitude 106
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Critt`ere des varietes reglees
Crit`ere permettant de mettre en evidence la non platitude dun
syst`eme.
Soit le syst`eme de dimension n `a m commandes :
x(t) = f(x, u)
dont lelimination des commandes conduit ` a un syst`eme de n m
relations F(x, x) = 0.
Crit`ere : si le syst`eme est plat, alors :
v 6= 0, (, ), F(, ) = 0, a R, F(, +av) = 0.
Crit`eres de platitude 107
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Demonstration (esquisse)
soit une trajectoire particuli`ere x veriant F( x, x
(1)
) = 0;
si le syst`eme est plat alors x = A(z, . . . , z
()
) et :
F(A(z, . . . , z
()
),

X
i=0
A
z
(i)
z
(i+1)
) = 0;
soit z veriant x = A( z, . . . , z
()
) et z(t) telle que :
pour i = 0 ` a , z
(i)
= z
(i)
, et z
(+1)
= z
(+1)
+v;
alors :
F( x, x
(1)
+

A
z
()

z
v) = 0.
Crit`eres de platitude 108
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple du pendule inverse
Soit le syst`eme constitue par un pendule inverse sur un chariot
dont la position horizontale est commandee :
(M +m) x +ml cos

ml sin

2
= f(t),
7
3
l

+ cos x g sin = 0.
La deuxi`eme relation fournit :
7
3
l(
2
+a
2
) + cos (
1
+a
1
) g sin = 0,
7
3
l
2
+ cos
1
g sin
| {z }
0
+a(
7
3
l
2
+ cos
1
) = 0,
Necessairement, on doit avoir :
1
= 0 donc
2
= 0.
Crit`eres de platitude 109
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Pendule inverse linearise
Linearisation du pendule inverse autour de (t) = 0 :
(M +m) x +ml

= f(t),
7
3
l

+ x g = 0.
La deuxi`eme relation fournit :
7
3
l
2
+
1
g
| {z }
0
+a(
7
3
l
2
+
1
) = 0,
et la relation
1
=
7
3
l
2
, permet de montrer que le linearise du
pendule est potentiellement plat (il reste `a le montrer!)
Crit`eres de platitude 110
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Platitude du pendule linearise
evident : soit =
7
3
l +x, alors
(t) = (t) =(t) =x(t) =f(t);
equation detat avec X =
h
x x

i
T
et k =
3
(7M+4m)l
:
X =
_

_
0 1 0 0
0 0 mkgl 0
0 0 0 1
0 0 k(M +m) 0
_

_
X +
_

_
0
7kl
3
0
k
_

_
f(t),
commandable donc plat.
Crit`eres de platitude 111
F. Rotella Commande des syst`emes par platitude
'
&
$
%
CNS de platitude
Aranda-Bricaire, Moog, Pom et, 1995 : calcul de la base dun
module cotangent (forme innitesimale de Brunovski) et
conditions dintegrabilites;
Pereira da Silva, 2000 : expression des conditions sur une
fonction candidate et elimination de variables;
Chetverikov, 2001 : amelioration du premier par methode de
perturbation;
Levine, 2004 : simplication des conditions par utilisation des
jets innis et de la forme implicite.
Mais les conditions sont ralativement lourdes ` a mettre en uvre
(utilisation du calcul formel)
Crit`eres de platitude 112
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Platitude et linearisation
Il est legitime de se poser la question de la relation entre la
platitude dun mod`ele non lineaire et la platitude du mod`ele
linearise.
Il y a lieu de distinguer :
linearisation autour dun point de fonctionnement;
linearisation autour dune trajectoire.
Crit`eres de platitude 113
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Linearisation autour dun point
La platitude ne se conserve pas.
Exemples
1. le pendule inverse sur le chariot : non lineaire non plat et
linearise autour de 0 plat.
2. le robot unicycle :
x = cos u,
y = sinu, (6)

= v,
est plat (syst`eme chane), mais le linearise autour de = 0, non.
Crit`eres de platitude 114
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Linearisation autour dune trajectoire
La situation est compl`etement dierente et la sortie plate du
linearise peut donner une idee de la sortie plate du syst`eme non
lineaire.
Exemple : le robot unicycle.
trajectoire : T
d
= (x
d
(t), y
d
(t),
d
(t), u
d
(t), v
d
(t)) veriant (6);
linearise autour de T
d
:
x = u
d
sin
d
+ cos
d
u,
y = u
d
cos
d
+ sin
d
u,

= v.
trivial : (x, y) est une sortie plate de ce syst`eme;
comparer ` a la linearisation de la sortie plate (x, y) du mod`ele
non lineaire!
Crit`eres de platitude 115
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Conjecture
La sortie plate du syst`eme linearise
est obtenue
par linearisation de la sortie plate du syst`eme non lineaire.
la preuve de ce resultat est un probl`eme ouvert;
permet par integration de retrouver (parfois) la sortie plate du
syst`eme non lineaire.
Crit`eres de platitude 116
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Resultats de Levine (2004)
utilisation la forme implicite F(x, x) = 0;
syst`eme plat si et seulement si linearise tangent non
stationnaire est plat;
construction eective des sorties plates par :
decompositions de Smith en non stationnaire;
integrations de formes dierentielles exterieures;
algorithme en calcul formel.
Crit`eres de platitude 117
F. Rotella Commande des syst`emes par platitude
'
&
$
%
6 Application aux syst`emes lineaires
1. Introduction 5. Crit`eres de platitude
2. Denitions et consequences 6. Cas des syst`emes lineaires
3. Exemples pratiques 7. SPD
4. Un peu de formalisme 8. Conclusion
Application aux syst`emes lineaires 118
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Cas des syst`emes mono-entree
Soit le syst`eme lineaire :
A(p)y(t) = B(p)u(t),
o` u A(p) et B(p) sont premiers entre eux :
A(p) = p
n
+
n1
X
i=0
a
i
p
i
= p
n
+A

(p),
B(p) =
n1
X
i=0
b
i
p
i
.
Etat partiel (Kailath, 1980) : z(t) tel que :
A(p)z(t) = u(t),
B(p)z(t) = y(t).
Application aux syst`emes lineaires 119
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Letat partiel est une sortie plate
Existe-t-il N(p) et D(p) tels que :
z(t) = N(p)y(t) +D(p)u(t)?
Il faut quils soient solutions de lequation de Bezout :
N(p)B(p) +D(p)A(p) = 1. (7)
Ainsi : platitude et (commandabilite-observabilite) concident et
z(t) est une sortie plate du syst`eme.
Remarque : y(t) est une sortie plate si et seulement si B(p) = cte.
Application aux syst`emes lineaires 120
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Commande par platitude
Suivant la methode precedente, la commande :
u(t) = v(t) +A

(p)z(t),
o` u :
v(t) = z
(n)
d
(t) +
n1
X
i=0
k
i
(z
(i)
d
(t) z
(i)
(t)),
assure la poursuite asymptotique de la trajectoire z
d
(t).
Que se passe-t-il si on utilise la denition de la sortie plate?
Application aux syst`emes lineaires 121
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Commande par platitude = commande RST
Posons : K(p) = p
n
+
P
n1
i=0
k
i
p
i
= p
n
+K

(p), alors :
u(t) = K(p)z
d
(t) + [A

(p) K

(p)] z(t).
mais z(t) = N(p)y(t) +D(p)u(t), soit :
u(t) = K(p)z
d
(t) + [A

(p) K

(p)] [N(p)y(t) +D(p)u(t)] ,


ce qui donne une commande RST :
R(p)u(t) = K(p)z
d
(t) S(p)y(t).
Application aux syst`emes lineaires 122
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Remarques
R(p) = 1 [A

(p) K

(p)] D(p),
S(p) = [A

(p) K

(p)] N(p).
1. Dynamique de regulation P(p) = A(p)R(p) +B(p)S(p) :
A(p)R(p) +B(p)S(p)
= A(p) [1 [A

(p) K

(p)] D(p)] B(p) [A

(p) K

(p)] N(p),
= A(p) + [K

(p) A

(p)] [N(p)B(p) +D(p)A(p)] ,


= K(p).
2. Il nest pas concu `a partir dun mod`ele de comportement
(B
m
(p)/A
m
(p)) mais `a partir dune trajectoire `a suivre
K(p)z
d
(t).
Application aux syst`emes lineaires 123
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Mais...
Une commande RST ne peut etre mise en uvre que si :
degre S > degre R.
Or :
deg (1 [A

] D) = deg ([A

] N) 1,
soit ici :
degre S < degre R.
Conclusion : cette commande nest pas realisable!
Que faire?
Application aux syst`emes lineaires 124
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Realisation de la commande par platitude
Comme u(t) = A(p)z(t), y(t) = B(p)z(t) : observation de
Z =
h
z(t) z(t) . . . z
(n1)
(t)
i
T
, regi par :

Z = AZ +bu,
y = cZ,
o` u :
A =
_

_
1
.
.
.
1
a
0
a
1
a
n1
_

_
, b =
_

_
0
.
.
.
0
1
_

_
,
c =
h
b
0
b
1
b
n1
i
.
Application aux syst`emes lineaires 125
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Premi`ere possibilite
Utilisation dun observateur de Luenberger :
.

Z = (Ac)

Z +bu +y,
o` u F = Ac est de Hurwitz.
Avec a =
h
a
0
a
1
a
n1
i
et k =
h
k
0
k
1
k
n1
i
,
la commande secrit :
u(t) = K(p)z
d
(t) + (a k)(pI F)
1
(bu +y).
Inconvenient : choix des p oles de lobservateur.
Application aux syst`emes lineaires 126
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Deuxi`eme possibilite
Par derivations successives :
_

_
y
y
.
.
.
y
(n1)
_

_
= O
(A,c)
Z +M
(A,b,c)
_

_
u
u
.
.
.
u
(n2)
_

_
,
Application aux syst`emes lineaires 127
F. Rotella Commande des syst`emes par platitude
'
&
$
%
o` u :
O
(A,c)
=
_

_
c
cA
.
.
.
cA
n1
_

_
, M
(A,b,c)
=
_

_
0 0
cb
.
.
.
.
.
.
cAb cb
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0
cA
n2
b cAb cb
_

_
.
Comme le syst`eme est observable :
Z = O
1
(A,c)
_

_
_

_
y
y
.
.
.
y
(n1)
_

_
M
(A,b,c)
_

_
u
u
.
.
.
u
(n2)
_

_
_

_
. (8)
Application aux syst`emes lineaires 128
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Soit x() = 0 et p
1
loperateur dintegration :
p
1
x(t) =
Z
t

x()d,

Z = AZ +bu est operationnellement equivalent ` a :


Z = Ap
1
Z +bp
1
u,
et en reiterant :
N, Z = A

Z +

X
i=1
A
i1
bp
i
u,
En particulier pour = n 1 :
Z = A
n1
p
(n1)
Z +
n1
X
i=1
A
i1
bp
i
u.
Application aux syst`emes lineaires 129
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Observateur exact
Finalement :
Z = A
n1
O
1
(A,c)
p
(n1)
_

_
y
y
.
.
.
y
(n1)
_

_
A
n1
O
1
(A,c)
M
(A,b,c)
p
(n1)
_

_
u
u
.
.
.
u
(n2)
_

_
+
n1
X
i=1
A
i1
bp
i
u.
Application aux syst`emes lineaires 130
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Remarques
(8) permet (en passant) dobtenir la solution de lequation de
Bezout (7) :
N(p) =
h
1 0 0
i
O
1
(A,c)
diag

1, p, . . . , p
n1

,
D(p) =
h
1 0 0
i
O
1
(A,c)
M
(A,b,c)
diag

1, p, . . . , p
n2

,
la version discr`ete est lobservateur ` a reponse pile :
cf. Astrom, Wittenmark, Computer controlled systems,
Prentice Hall, 1990.
Application aux syst`emes lineaires 131
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Commande par platitude et observateur exact
Forme compl`ete de la commande :
u(t) = K(p)z
d
(t) + [a k] Z,
= K(p)z
d
(t) S

(p
1
)y(t) Q

(p
1
)u(t),
Application aux syst`emes lineaires 132
F. Rotella Commande des syst`emes par platitude
'
&
$
%
S

(p
1
) = [k a] A
n1
O
1
(A,c)
_

_
p
(n1)
p
(n2)
.
.
.
p
1
1
_

_
,
Q

(p
1
) = [a k]
_
_
_
A
n1
O
1
(A,c)
M
(A,b,c)

h
A
n2
b b
i
_
_
_
_

_
p
(n1)
p
(n2)
.
.
.
p
1
_

_
.
Avec R

(p
1
) = 1 +Q

(p
1
), on obtient la forme RST realisable :
R

(p
1
)u(t) = K(p)z
d
(t) S

(p
1
)y(t).
Application aux syst`emes lineaires 133
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple
Soit le deuxi`eme ordre avec A(p) = p
2
+a
1
p +a
0
et
B(p) = b
1
p +b
0
, qui correspond `a :
N(p) =
b
1

p +
b
0
a
1
b
1

, D(p) =
b
2
1

,
avec = b
2
0
a
1
b
0
b
1
+a
0
b
2
1
6= 0.
Sortie plate : z(t) = u(t) py(t);
Commande :
u(t) = K(p)z
d
(t) + [(a
1
k
1
)p + (a
0
k
0
)] z(t),
o` u K(p) = p
2
+k
1
p +k
0
denit la dynamique de lerreur de
poursuite.
Application aux syst`emes lineaires 134
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Realisation de u(t) =

p
2
+a
1
p +a
0

z(t) et y(t) = [b
1
p +b
0
] z(t) :

Z(t) =
_
_
0 1
a
0
a
1
_
_
Z(t) +
_
_
0
1
_
_
u(t),
y(t) =
h
b
0
b
1
i
Z(t),
soit :
O
(A,c)
=
_
_
b
0
b
1
a
0
b
1
b
0
a
1
b
1
_
_
, M
(A,b,c)
=
_
_
0
b
1
_
_
.
Donc :
Z(t) =
1

_
_
(b
0
a
1
b
1
) y(t) b
1
y(t) +b
2
1
u(t)
a
0
b
1
y(t) +b
0
y(t) b
0
b
1
u(t)
_
_
,
Dautre part :
Application aux syst`emes lineaires 135
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Z(t) =
_
_
0 1
a
0
a
1
_
_
p
1
Z(t) +
_
_
0
1
_
_
p
1
u(t),
=
1

_
_
a
0
b
1
p
1
y(t) +b
0
y(t) b
0
b
1
p
1
u(t)
(a
0
b
1
a
1
b
0
) y(t) a
0
b
0
p
1
y(t) +b
2
0
p
1
u(t)
_
_
.
Ce qui donne la forme RST realisable avec :
R

(p
1
) = 1 +
1

(k
1
a
1
)b
2
0
b
0
b
1
(k
0
a
0
)

p
1
,
S

(p
1
) =
1

([(k
1
a
1
) (a
0
b
1
a
1
b
0
) +b
0
(k
0
a
0
)]
+[a
0
b
1
(k
0
a
0
) (k
1
a
1
)b
0
a
0
] p
1
).
Remarque : Avec A

(p
1
) = p
2
A(p) et B

(p
1
) = p
2
B(p) :
A

(p
1
)R

(p
1
)+B

(p
1
)S

(p
1
) = 1+k
1
p
1
+k
0
p
2
= p
2
K(p).
Application aux syst`emes lineaires 136
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Extension par formalisme detat
Probl`eme : extension aux syst`emes multi-entrees ou aux syst`emes
non stationnaires.
Solution :

Equations detat.
platitude commandabilite;
utilisation de la forme canonique commandable;
determination systematique dune sortie plate
extension triviale aux syst`emes non stationnaires;
le RST ` a mettre en place sera deni sans ambigute.
Application aux syst`emes lineaires 137
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple de loscillateur

-
-
L
L
L
L
LLs
x
u
Equation : x(t) =
2
(u(t) x(t)), avec ici
2
= 1;
Sortie plate : x(t)
u(t) = x(t) +
x(t)

2
.
Application aux syst`emes lineaires 138
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Commande de loscillateur
Generation de trajectoire, de t = 0 ` a 1 telle que x
d
(0) = 0,
x
d
(1) = 1, x
d
(0) = x
d
(1) = x
d
(0) = x
d
(1) = 0 :
x
d
(t) = 6t
5
15t
4
+ 10t
3
;
Commande `a poles de poursuite en (-10,-10) soit un t
r,5%
' 0.5 s. :
u(t) = x(t) + x
d
(t) + 20( x
d
(t) x(t)) + 100(x
d
(t) x(t)),
= x
d
(t) + 20 x
d
(t) + 100x
d
(t)
| {z }

d
(t)=600t
5
900t
4
80t
3
+420t
2
+60t
[20 x(t) + 99x(t)]
| {z }
bouclage detat
.
Application aux syst`emes lineaires 139
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple de loscillateur double

-
-
L
L
L
L
LLs
u
-
x
2
x
1
u

Equations, avec
2
1
6=
2
2
(sinon non commandable) :
x
1
(t) =
2
1
(u(t) x
1
(t)),
x
2
(t) =
2
2
(u(t) x
2
(t)),
Application aux syst`emes lineaires 140
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Sortie plate de loscillateur double
Lelimination de la commande :
x
1
(t) +
x
1
(t)

2
1
= x
2
(t) +
x
2
(t)

2
2
,
m
x
1
(t)

2
1

x
2
(t)

2
2
= x
2
(t) x
1
(t).
Sortie plate :
z(t) =
x
1
(t)

2
1

x
2
(t)

2
2
.
Application aux syst`emes lineaires 141
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Parametrisation de loscillateur double

Etats :
_
_
x
1
(t)
x
2
(t)
_
_
=
1

2
2

2
1
_
_

2
1
1

2
2
1
_
_
_
_
z(t)

2
1

2
2
z(t)
_
_
,
=
1

2
2

2
1
_
_

2
1
( z(t) +
2
2
z(t))

2
2
( z(t) +
2
1
z(t))
_
_
.
Commande :
u(t) =
1

2
2

2
1
(
2
1

2
2
z(t) + (
2
1
+
2
2
) z(t) +z
(4)
(t)).
Application aux syst`emes lineaires 142
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Commande de loscillateur double
Generation de trajectoire : z
d
(t)
Bouclage :
u(t) =
1

2
2

2
1
(
2
1

2
2
z + (
2
1
+
2
2
) z +z
(4)
d
+
3
X
i=0
k
i
(z
(i)
d
z
(i)
),
=
d
(t)

k
3
z
(3)
+ (k
2

2
1

2
2
)z
(2)
+k
1
z
(1)
+ (k
0

2
1

2
2
)z

.
Rappel : le polynome p
4
+
3
X
i=0
k
i
p
i
xe les dynamiques de la
poursuite de trajectoire.
Application aux syst`emes lineaires 143
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple de loscillateur multiple

-
-
L
L
L
L
LLs
t
-
x
n
x
1
u

D
D
D
D D
u
Equations, avec
2
i
6=
2
j
pour i 6= j (sinon non commandable) :
pour i = 1 ` a n, x
i
(t) =
2
i
(u(t) x
i
(t)).
Lelimination des commandes conduit aux relations :
x
1
(t) +
x
1
(t)

2
1
= = x
n
(t) +
x
n
(t)

2
2
,
Application aux syst`emes lineaires 144
F. Rotella Commande des syst`emes par platitude
'
&
$
%
`a partir desquelles il nest pas evident de detecter une sortie plate!
Application aux syst`emes lineaires 145
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Equation detat de loscillateur multiple

X(t) =
_

_
.
.
.

2
i
.
.
.
_

_
X(t) +
_

_
.
.
.

2
i
.
.
.
_

_
u(t).
Matrice de commandabilite :
C =
_

_
.
.
.
.
.
.
.
.
.

2
i

4
i
(1)
n

2n
i
.
.
.
.
.
.
.
.
.
_

_
,
Transfert entree-etat :
(pI A)
1
B =
h


2
i
p+
2
i

i
T
.
Application aux syst`emes lineaires 146
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Recherche dune sortie plate
Rappel : la sortie plate dun syst`eme mono-entree correspond `a un
transfert entree-sortie plate o` u le numerateur est une constante.
Il sut de chercher C =
h
c
1
c
n
i
tel que :
n
X
i=1
c
i

2
i
p +
2
i
=
n
Y
i=1
c
i

2
i
n
Y
i=1
p +
2
i
,
alors une sortie plate sera donnee par :
z(t) = CX(t).
Application aux syst`emes lineaires 147
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Cela revient `a une decomposition en elements simples :
1
n
Y
i=1
p +
2
i
=
n
X
i=1
r
i
p +
2
i
, avec r
i
=
1
n
Y
j=1,j6=i
(
2
j

2
i
)
.
Donc :
c
i
=
1

2
i
n
Y
j=1,j6=i
(
2
j

2
i
)
Sortie plate :
z(t) =
n
X
i=1
x
i
(t)

2
i
n
Y
j=1,j6=i
(
2
j

2
i
)
.
Mais : demarche dicilement generalisable au cas multi-entrees.
Application aux syst`emes lineaires 148
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Formalisme detat
Soit le syst`eme lineaire :

X(t) = AX(t) +Bu(t),


suppose commandable.
Il existe un changement de variables :
x
C
(t) = T
C
X(t),
(algorithme de Luenberger, cf. cours de syst`emes multi-entrees) tel
que :
x
C
= A
C
x
C
+B
C
H
C
u
|{z}
u
c
,
Application aux syst`emes lineaires 149
F. Rotella Commande des syst`emes par platitude
'
&
$
%
avec (pour m = 3 ici) A
C
= T
C
AT
1
C
=
_

_
1
.
.
.
1



1
.
.
.
1



1
.
.
.
1

_

_
,
Application aux syst`emes lineaires 150
F. Rotella Commande des syst`emes par platitude
'
&
$
%
B
C
= T
C
B =
_

_
1 0 0
0 1 0
0 0 1
_

_
, H
C
=
_

_
1
0 1
0 1
_

_
.
Application aux syst`emes lineaires 151
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Sortie plate
x
C
(t) =
h
x
1T
C
(t) x
2T
C
(t) . . . x
mT
C
(t)
i
T
o` u chaque x
i
C
(t) est un
vecteur de dimension
i
, i-i`eme indice de commandabilite.
Soit z
i
la premi`ere composante de x
i
C
(t) alors :
z(t) =
_

_
z
1
(t)
z
2
(t)
.
.
.
z
m
(t)
_

_
est une sortie plate.
Les z
2
(t) sappellent les sorties de Brunovski du syst`eme.
Application aux syst`emes lineaires 152
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Preuve de la platitude
Dapr`es la forme canonique commandable :
u
C,i
= z
(
i
)
i
(t) +
m
X
j=1

j
1
X
k=0
a
i,j,k
z
(k)
j
(t)
!
, et u(t) = H
1
C
u
C
(t).
Remarque :
X(t) = T
1
C
x
C
(t) =
1
X
k=0
M
k
z
(k)
(t),
u(t) =

X
k=0
N
k
z
(k)
(t),
o` u = max
i

i
est lindex de commandabilite.
Remarque : N

nest egal `a H
1
C
que si tous les
i
sont egaux.
Application aux syst`emes lineaires 153
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Resolution du decouplage
Il sut de poser le bouclage :
u
C,i
(t) = v
i
(t)
m
X
j=1
A
i,j
x
j
C
(t),
pour obtenir le syst`eme decouple :
pour i = 1 ` a m, z
(
i
)
i
(t) = v
i
(t)
Le retour decouplant secrit nalement :
u(t) = H
1
C
v(t) H
1
C
h
A
1
A
2
A
m
i
T
C
x(t).
Application aux syst`emes lineaires 154
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Retour stabilisant
pour i = 1 ` a m,
v
i
(t) = z
(
i
)
d,i
(t) +

j
1
X
k=0

i,k

z
(k)
d,i
(t) z
(k)
j
(t)

,
= K
i
(p)z
d,i
(t) K
i
x
i
C
(t).
Soit globalement :
u(t) =
d
(t) H
1
C
n
diag {K
i
} +
h
A
1
A
2
A
m
io
T
C
| {z }
gain de retour detat : K
x(t).
Application aux syst`emes lineaires 155
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Syst`emes non stationnaires
Soit le syst`eme lineaire :

X(t) = A(t)X(t) +B(t)u(t),


Crit`ere de commandabilite (Silverman, Meadows) :
operateur dierentiel : C
0
(M(t)) = M(t), et pour tout i > 1 :
C
i+1
(M(t)) = A(t)C
i
(M(t))

C
i
(M(t));
test de commandabilite sur un intervalle de temps T = [t
1
, t
2
] :
si il existe un entier tel que la matrice :
C
{}
(t) =
h
C
0
(B(t)) C
1
(B(t)) C
1
(B(t))
i
,
soit de rang n, sur T alors le syst`eme est commandable sur T.
Application aux syst`emes lineaires 156
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Forme commandable non stationnaires
Syst`eme commandable = il existe un changement de variables :
x
C
(t) = T
C
(t)X(t),
(algorithme de Seal-Stubberud) tel que :
x
C
= A
C
(t)x
C
+B
C
(t)H
C
(t)u
| {z }
u
c
,
o` u :
A
C
(t) = T
C
(t)A(t)T
1
C
(t) +

T
C
(t)T
1
C
(t)
et A
C
(t), B
C
(t), H
C
(t) ont la meme structure quen stationnaire
mais o` u les dependent de t.
Application aux syst`emes lineaires 157
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Commande par platitude en non stationnaires
soit z
i
la premi`ere composante de x
i
C
(t) alors :
z(t) =
_

_
z
1
(t)
z
2
(t)
.
.
.
z
m
(t)
_

_
est une sortie plate;
commande decouplante avec poursuite asymptotique :
u(t) =
d
(t)
H
1
C
n
diag {K
i
} +
h
A
1
A
m
io
T
C
| {z }
gain de retour detat : K(t)
x(t).
Application aux syst`emes lineaires 158
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Exemple du moteur
Moteur `a courant continu `a excitation separee dont le ux
statorique (t) varie au cours du temps :
L
dI(t)
dt
+RI(t) = V (t) K
e
(t)(t),
J
d(t)
dt
+f(t) = K
m
(t)I(t),
o` u :
(t) : le ux induit par le stator;
I(t) : courant rotorique;
V (t) : tension rotorique (commande);
(t) : vitesse de rotation du rotor (sortie).
Application aux syst`emes lineaires 159
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Forme canonique commandable
Matrice de commandabilite :
C
{2}
(t) =
_

_
1
L

R
L
0
K
m
(t)
JL
_

_
,
t, commandable (t) est toujours non nul et borne;
Forme commandable :

Z(t) =
_
_
0 1

0
(t)
1
(t)
_
_
Z(t) +
_
_
0
1
_
_
V (t),
J(t) =
h
K
m
L(t) 0
i
Z(t),

0
(t) =

2
+
K
m
K
e
JL

2
+
Rf
JL
+
R

J
,
1
(t) =

+
f
J
+
R
L
.
Application aux syst`emes lineaires 160
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Platitude
Sortie plate : z(t), premi`ere composante du vecteur Z(t).
Commande par platitude : trajectoire desiree z
d
(t) et :
V (t) = z
d
+k
1

z
d

.
z

+k
0

z
d
z

+
1
.
z +
0
z,
o` u
.
z(t) et z(t) sont les valeurs observees de la sortie plate et sa
derivee.
Utilisation de la forme observable
Application aux syst`emes lineaires 161
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Formes dierentielles entree-sortie
Par elimination du courant :

f
J
+
R
L

!

+

K
m
K
e

2
JL

f

J
+
Rf
LJ
!
=
K
m

JL
V.
transformable en :

+
_

f
J
+
R
L

!
| {z }

1
(t)

_
(1)
+

K
m
K
e
JL

f

J
+
Rf
LJ
+

2
!
| {z }

0
(t)
=
K
m

JL
V.
Application aux syst`emes lineaires 162
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Forme canonique observable
Pour les syst`emes mono-entree mono-sortie, realisation de la 2
`eme
forme dierentielle entree-sortie conduit `a la forme observable :

X(t) =
_
_
0
0
(t)
1
1
(t)
_
_
X(t) +
_
_
(t)
0
_
_
V
r
(t)
(t) =

0 1

X(t)
Application aux syst`emes lineaires 163
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Observateur reduit
On a :
x
1
(t) =
0
(t)(t) +(t)V, et x
1
(t) =

(t) +
1
(t)(t)
Observateur naf :
.
x
1
(t) =
0
(t)(t) +(t)V +L(t)

(t) +
1
(t)(t) x
1
(t)

Pour eliminer la derivee de la sortie, posons (t) = x


1
(t) L(t)y(t) :

(t) = L(t)(t)+(t)V +

0
(t) +
1
(t)L(t) L
2
(t)

L(t)

(t)
Remarque : L(t) peut etre pris egal `a une constante positive .
Application aux syst`emes lineaires 164
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Observateur reduit (2)
Avec L(t) = :

(t) = (t) +(t)V


r
(t) +

0
(t) +
1
(t)
2

(t).
Estimation de x
1
:
x
1
(t) = (t) +L(t)y(t)
et de

Z(t) par :

Z(t) =
1
K
m
(t)
_
_
0 JL
JL (fL +RJ)
_
_
X(t).
Application aux syst`emes lineaires 165
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Generation de trajectoire
Trajectoire plate desiree : z
d
(t) =
_

_
0.1 si t t
0
z
d
(t
0
) +

21
5
35
6
+ 15
7

z
d
(t
f
) z
d
(t
0
)

si t
0
t t
f
0.2 si t t
f
avec :
=
t t
0
t
f
t
0
.
Choix des p oles :
poursuite : 4.20 + 4.28i et 4.20 4.28i;
observateur : 5.
Application aux syst`emes lineaires 166
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Simulation
Ici, t
0
= 2 sec et t
f
= 3 sec .
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
0.05
0.1
0.15
0.2
0.25
time in s
f
l
a
t

o
u
t
p
u
t
z
d
(t) et z(t)
Application aux syst`emes lineaires 167
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Simulation
Mais . . .
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
0.5
1
1.5
2
2.5
time in s
o
u
t
p
u
t

i
n

r
d
/
s

d
(t) et (t)
Application aux syst`emes lineaires 168
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Poursuite de vitesse
Il sut dinverser la relation sans dynamique liant (t) et z(t) :
z
d
(t) =
J
K
m
L(t)

d
(t).
o` u
d
(t) est le prol de vitesse desire. Par exemple pour une
vitesse angulaire constante desiree
d
(t) =
d
:
z
d
(t) =
J
d

(t)
K
m
L
2
(t)
, z
d
(t) =
J
d
(2

2
(t) (t)

(t))
K
m
L
3
(t)
.
Comme

X(t) =
h
(t) +(t) (t)
i
T
, et

Z(t) = P(t)

X(t), on
obtient le regulateur-observateur generant la commande sous la
forme :
V (t) = (p
2
+k
1
p +k
0
)
J
K
m
L
r

h
k
0

0
k
1

1
i
P

X.
Application aux syst`emes lineaires 169
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Resultats experimentaux
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0.85
0.9
0.95
1
1.05
1.1
1.15
1.2
temps en s
f
lu
x

m
e
s
u
r


e
n

W
b
Mesure du ux induit.
Application aux syst`emes lineaires 170
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Resultats experimentaux
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0.2
0
0.2
0.4
0.6
0.8
1
1.2
temps en s
v
i
t
e
s
s
e

e
n

r
d
/
s
Vitesse de rotation du rotor.
Application aux syst`emes lineaires 171
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Test de robustesse
Meme commande sur un moteur presentant des ecarts de -20%
pour le param`etre J et -50% pour le param`etre L
r
.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0.2
0
0.2
0.4
0.6
0.8
1
1.2
temps en s
v
it
e
s
s
e

e
n

r
d
/
s
Eet dune erreur sur les param`etres.
Application aux syst`emes lineaires 172
F. Rotella Commande des syst`emes par platitude
'
&
$
%
7 Syst`emes `a param`etres distribues
1. Introduction 5. Crit`eres de platitude
2. Denitions et consequences 6. Cas des syst`emes lineaires
3. Exemples pratiques 7. SPD
4. Un peu de formalisme 8. Conclusion
Syst`emes ` a param`etres distribues 173
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Reacteur tubulaire
-


y(t) = c(0, t)
c
z
(0, t) = 0 c(z, t)

u(t) = c(L, t)

L 0
z
variables :
c(z, t) : concentration du reactant,
u(t) : commande fronti`ere amont,
y(t) : sortie fronti`ere aval,
Syst`emes ` a param`etres distribues 174
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Reacteur tubulaire : modelisation
Modelisation :
c(z, t)
t
=

2
c(z, t)
z
2

c(z, t)
z
rc(z, t),
Conditions limites : c(L, t) = u(t),
c(0, t)
z
= 0,
Conditions initiales : c(z, 0) = 0,
Sortie : y(t) = c(0, t).
coecients signicatifs :
> 0 : dispersion axiale,
0 : vitesse interstitielle du reactant,
r : taux de reaction (cinetique de la reaction).
Syst`emes ` a param`etres distribues 175
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Reacteur tubulaire : simplication
x(z, t) = exp

r +

2
4

t

2
z

c(z, t),
=equation de diusion :
x(z, t)
t
=

2
x(z, t)
z
2
Conditions limites : x(L, t) = exp

L
2

r +

2
4

u(t),
x(0, t)
z
=

2
x(0, t),
Conditions initiales : x(z, 0) = 0,
Sortie :
y(t) = exp

r +

2
4

x(0, t).
Syst`emes ` a param`etres distribues 176
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Reacteur tubulaire : platitude
Par resolution analytique :
x(z, t) =
X
i0
a
i
(t)
z
i
i!
.
Soit x(0, t) = (t), alors, pour k 0 :
_

_
a
2k
(t) =
1

(k)
(t),
a
2k+1
(t) =

2
k+1

(k)
(t),
soit :
x(z, t) =
X
k0

1

2(2k + 1)
z

z
2k
(2k)!
k

(k)
(t).
Syst`emes ` a param`etres distribues 177
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Dautre part :
u(t) = exp

r +

2
4

t
L
2

x(L, t),
= exp

r +

2
4

t
L
2

X
k0

1
L
2(2k + 1)

L
2k
(2k)!
k

(k)
(t),
indique que (t) permet dexprimer toutes les variables x(z, t),
z [0, L] et u(t).
Syst`emes ` a param`etres distribues 178
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Remarques
1. Si on cherche (t) en fonction des autres variables :
la relation dendogemete nest pas satisfaite MAIS on
consid`ere quand meme (t) comme sortie plate du syst`eme.
2. Comme :
(t) = exp

r +

2
4

y(t),
y(t) est sortie plate de ce syst`eme.
3. La trajectoire desiree y
d
(t) doit etre inniment derivable :
polyn omes;
fonctions Gevrey : fonctions dont une serie des derivees
iterees converge.
4. Commande boucle ouverte :
y
d
(t) =
d
(t) =x
d
(L, t) =u
d
(t).
Syst`emes ` a param`etres distribues 179
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Fonctions Gevrey
Necessaires ` a utiliser pour eviter les probl`emes aux extremites.
Denition : f(t) de [0, T] dans R est de Gevrey dordre si :
(m, ), t [0, T], k 0,

f
(k)
(t)

m
(k!)

k
.
Exemple : fonction de Gevrey dordre d > 1,
f(t) =
_

_
0 pour t 0,
R
t/T
0
exp

d
(1 )
d

d
R
1
0
exp

d
(1 )
d

d
pour 0 t T,
1 pour t T.
Syst`emes ` a param`etres distribues 180
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Commande du reacteur
generation de trajectoire : on prend pour y
d
(t) une fonction de
Gevrey dordre < 2;
en pratique, on tronque la serie `a un ordre arbitraire N;
on gen`ere une commande en boucle fermee comme en
dimension nie ` a partir de cette troncature.
Syst`emes ` a param`etres distribues 181
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Equation de la chaleur
Barre chauee ` a une extremite :
-
0
x
1
paroi isolante
mesure
source de
chaleur
(x, t)
Equation de la chaleur :
(x, t)
t
=

2
(x, t)
x
2
;
Conditions limites :
(0, t)
x
= 0, (x, 0) = 0;
Commande : u(t) = (1, t).
Syst`emes ` a param`etres distribues 182
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Resolution operationnelle
Avec p ,
d
dt
:
x
00
(z, t) = px(z, t),
soit :
(x, t) = cosh(

px)A(t) + sinh(

px)B(t).
Conditions limites =
(x, t) =
cosh(

px)
cosh(

p)
u(t).
Syst`emes ` a param`etres distribues 183
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Platitude
Soit la sortie y(t) = (0, t), alors :
(x, t) = cosh(

px)y(t),
et :
u(t) = cosh(

p)y(t).
Consequence : y(t) est une sortie plate de ce syst`eme.
Syst`emes ` a param`etres distribues 184
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Remarques
le caract`ere endog`ene de y(t) nest pas etabli;
on a retrouve la meme interpretation de la sortie plate ` a partir
du transfert en tant quetat partiel que dans le cas des
syst`emes lineaires de dimension nie;
comme :
cosh(

px) =
X
i0
x
2i
p
i
(2i)!
,
on a :
(x, t) =
X
i0
x
2i
y
(i)
(t)
(2i)!
et u(t) =
X
i0
y
(i)
(t)
(2i)!
,
et on obtient le meme resultat quavec lecriture en serie;
utilisation de fonctions de Gevrey.
Syst`emes ` a param`etres distribues 185
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Commande par troncature
Soit y
d
(t) sur [0, T] et la troncature :
U
N
(t) =
N1
X
i=0
y
(i)
(t)
(2i)!
+
y
(N)
(t)
(2N)!
.
Commande mise en uvre :
U
N
(t) =
N1
X
i=0
y
(i)
(t)
(2i)!
+
y
(N)
d
(t) +
X
N1
i=0
k
i
(y
(i)
d
(t) y
(i)
(t))
(2N)!
,
=
y
(N)
d
(t) +
X
N1
i=0
k
i
y
(i)
d
(t)
(2N)!

N1
X
i=0

k
i
(2i)!
(2N)!
1

y
(i)
(t)
(2i)!
.
o` u les k
i
assurent une poursuite asymptotique de la trajectoire.
Syst`emes ` a param`etres distribues 186
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Choix de la troncature
Pour choisir N on remarque que :
(y
(N)
d
(t) y
(N)
(t)) +
X
N1
i=0
k
i
(y
(i)
d
(t) y
(i)
(t))
(2N)!
=
X
iN+1
y
(i)
(t)
(2i)!

X
iN+1
y
(i)
d
(t)
(2i)!
.
Soit N tel que, sur [0, T] :

X
iN+1
y
(i)
d
(t)
(2i)!

xe,
alors, sur [0, T] :
|y
d
(t) y(t)|
(2N)!
k
0
.
Le choix de la precision desiree permet de xer N.
Syst`emes ` a param`etres distribues 187
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Restauration dun signal
-
6 6 6

-
0
x
x +dx l
Emission
Reception
i(x, t)
u(t) v(0, t) v(x, t) v(l, t)
i(l, t)
Rdx, Ldx
Cdx,
1
Gdx
Z
Syst`emes ` a param`etres distribues 188
F. Rotella Commande des syst`emes par platitude
'
&
$
%
8 Conclusion
(provisoire . . . )
1. Introduction 5. Crit`eres de platitude
2. Denitions et consequences 6. Cas des syst`emes lineaires
3. Exemples pratiques 7. SPD
4. Un peu de formalisme 8. Conclusion
Conclusion 189
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Syst`emes non plats
De nombreux exemples (bille sur rail, pendule de Kapista, double
pendule inverse, tracteur ` a deux remorques deportees, etc...)
indiquent quil existe des syst`emes non plats : une ou plusieurs des
variables fait defaut.
Exemple de syst`eme non plat :
x
1
= x
2
3
x
2
,
x
2
= x
3
,
x
3
= u.
En eet on peut obtenir u et x
3
`a partir de x
2
, mais on nobtient
que x
1
: x
1
fait defaut!
Lorsque le syst`eme considere nest pas plat, on dispose de
techniques pour appliquer les principes de la platitude.
Conclusion 190
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Commandes de syst`emes non plats
1. Commande ` a deux dynamiques ou commande haute frequence :
u(t) = u
0
(t) +u
1
(t) sin
t

,
on est conduit ` a un syst`eme moyen qui peut etre plat.
2. Approximation par un syst`eme plat en eliminant les termes qui
nuisent `a la platitude.
3. Immersion dans un syst`eme plat plus grand.
4. Approximation par un syst`eme bilineaire plat.
5. Utilisation du caract`ere liouvillien du syst`eme (cest ` a dire que
les variables en defaut peuvent etre denies par des
integrations ` a partir dune sortie plate).
Conclusion 191
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Principes generaux
Dans les quatres derniers cas le principe de la commande par
platitude consiste :
1. ` a generer une trajectoire desiree;
2. ` a lineariser le syst`eme non lineaire autour de cette trajectoire:
on obtient alors un syst`eme lineaire non stationnaire;
3. sil est commandable, il est plat;
4. construire un bouclage lineaire non stationnaire de poursuite
de trajectoire.
Deuxi`eme structure de commande!
Conclusion 192
F. Rotella Commande des syst`emes par platitude
'
&
$
%
Que reste-t-il `a faire?
simplier les algorithmes et diminuer la complexite;
integrer des contraintes de structure (robustesse ou rejet de
perturbations);
etendre aux autres syst`emes : SPD non lineaires, ` a retards,
fractionnaires;
etudier la commande numerique;
generer les trajectoires sous contraintes;
appliquer le concept de platitude ` a dautres probl`emes de
lAutomatique : identication, observation, diagnostic, . . .
Conclusion 193