Vous êtes sur la page 1sur 122

SYSTÈMES PLATS :

PLANIFICATION ET SUIVI DE TRAJECTOIRES

par

Philippe Martin & Pierre Rouchon

CHAPITRE 1
INTRODUCTION

1.1. Un exemple
Cet exemple est une illustration très élémentaire de certains pro-
blèmes fondamentaux. Il permet de se familiariser avec le langage
et les notions de base en dynamique et commande des systèmes.
Les calculs y sont simples et les justifications mathématiques aisées.
L’exemple de la figure 1.1 est emprunté à la robotique. Il s’agit d’un

Figure 1.1. Un bras de robot tournant dans un plan verti-


cal autour d’un axe horizontal motorisé.
2 PH. MARTIN & P. ROUCHON

bras rigide tournant dans un plan vertical autour d’un axe horizontal.
Cet axe horizontal est équipé d’un moteur délivrant un couple va-
riable u, que l’on peut choisir arbitrairement : u est la commande du
système (on dit aussi contrôle ou entrée). La position géométrique du
système est complètement décrite par un angle θ ∈ S1 . La conserva-
tion du moment cinétique autour de l’axe horizontal permet de relier
l’angle θ à la commande en couple u par l’équation différentielle du
second ordre suivante :

(1.1) J θ̈(t) + mlg sin θ(t) = u(t)

où m est la masse du bras, J son moment d’inertie par rapport à


l’axe, l la distance du centre de gravité à l’axe et g l’accélération due
à la pesanteur.
Fixons, pour un intervalle de temps [0, T ] la commande [0, T ] "
t #→ u(t). La loi horaire [0, T ] " t #→ θ(t) est alors obtenue en inté-
grant cette équation du second ordre à partir de conditions initiales en
position θ(0) = θ0 et en vitesse θ̇(0) = θ̇0 . L’ensemble des conditions
initiales forme l’état du système (l’espace des phases en mécanique).
Il suffit de réécrire cette équation scalaire du second ordre en deux
équations scalaires du premier ordre :

θ̇ = ω
(1.2)
ω̇ = u/J − (mgl/J) sin θ.

Les variables (θ, ω) forment alors l’état du système ; le triplet t #→


(θ(t), ω(t), u(t)) sera dit trajectoire du système s’il vérifie, pour tout t,
les deux équations différentielles (1.2).
La planification de trajectoires consiste à trouver une trajectoire
du système t #→ (θ(t), ω(t), u(t)) partant d’un état (θi , ωi ) en t = 0 et
arrivant en t = T à l’état final (θf , ωf ), ces deux états étant fixés par
avance. Il s’agit du problème de base de la commandabilité : comment
amener le système d’un endroit (d’un état) à un autre. Lorsque le
système est commandable, on dispose, en général, d’une infinité de
trajectoires et donc de commandes pour réaliser cette transition. Se
pose alors le problème du choix entre ces diverses trajectoires : c’est
en autre l’objet de la commande optimale qui sélectionne la trajec-
toire en minimisant un certain critère. Citons par exemple le temps
minimum pour aller d’une position de repos (θi , ωi = 0) à une autre
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 3

position de repos (θf , ωf = 0) sachant que la commande u reste bor-


née (∀ t, |u(t)| ! umax où umax est le couple maximum développé par
le moteur. On en déduit ainsi une trajectoire de référence du système :
[0, T ] " t #→ (θr (t), ωr (t), ur (t)).
Une autre question, directement liée à la première : étant donné
que tout modèle est approximatif (les paramètres J et m et l sont
connus avec une certaine précision, les frottements sont ici négligés,
le bras est légèrement flexible et donc des degrés de libertés et leur
dynamiques ne sont pas prises en compte, ...), il convient d’ajuster la
commande u en temps réel de façon à compenser les écarts à la tra-
jectoire de référence, θ − θr et ω − ωr , qui peuvent apparaître. Il s’agit
de la stabilisation autour d’une trajectoire (« tracking » en anglais).
Lorsque cette trajectoire est un point d’équilibre du système (comme,
par exemple (θ, ω, u) = 0 ou (θ, ω, u) = (π, 0, 0)) on parle alors de
stabilisation. Une démarche très naturelle consiste à corriger la com-
mande de référence ur (t) par des termes du type θ −θr (t) et ω −ωr (t).
L’utilisation de ce type de terme correspond à un bouclage, i.e., une
boucle de rétro-action (« feedback » en anglais) que l’on schématise
souvent par le diagramme bloc de la figure 1.2.

Figure 1.2. Schéma-bloc d’une loi de rétro-action, dit aussi


retour d’état ou « feedback ».

La mise en œuvre de ce schéma revient, avec un calculateur temps-


réel, à mettre à jour très rapidement (avec une période d’échantillon-
nage Te bien plus rapide que les échelles de temps naturelles du sys-
tème) la commande u en fonction de la trajectoire de référence et des
mesures de θ et de ω.
4 PH. MARTIN & P. ROUCHON

Considérons, par exemple la stabilisation autour de l’équilibre in-


stable (θ, ω, u) = (π, 0, 0). Pour cela, linéarisons les équations (1.2)
autour de ce point : nous faisons un développement limité des seconds
membres en ne retenant que les termes d’ordre 1 (ceux d’ordre 0 sont
nuls, car nous sommes autour d’un point d’équilibre). En notant θ, !
! et u
ω ! les écarts, nous obtenons les équations du système linéarisé
tangent :
˙
θ! = ω
!
(1.3)
˙ω
!=u !/J + (mgl/J)θ.!
En remplaçant la dérivée en temps avec la multiplication par s (trans-
formation de Laplace) on obtient la relation entre les transformées de
Laplace θ" et u
" de θ! et u
! (conditions initiales nulles) :
(Js2 − mgl)θ" = u
".
Nous retrouvons bien la fonction de transfert H(s) = 1/(Js2 − mgl),
fraction rationnelle en s la variable de Laplace, fréquemment utilisée
par les ingénieurs pour représenter la relation entre la commande u " et
la sortie y", y" = H(s)"
u. La stabilité du système (en boucle ouverte) est
fonction de la position par rapport à l’axe imaginaire des pôles de H :
s’ils sont tous à partie réelle strictement négative alors le système est
stable ; si l’un d’entre eux est à partie réelle strictement
# positive, alors
le système est instable. Ici les pôles étant ± mgl/J, le système est
instable en boucle ouverte (le point d’équilibre (π, 0) de l’espace des
phases est un col). Noter qu’une telle représentation est impossible
pour J θ̈ = −mgl sin θ + u dès que θ − π n’est plus petit. Les fonctions
de transfert ne peuvent pas être étendues aux systèmes non linéaires.
Si on pose, comme loi de commande
(1.4) ! = −(Jk1 + mgl)θ! − Jk2 ω
u !,
où k1 = (1/τ1 +1/τ2 ) et k2 = 1/τ1 τ2 (0 < τ1 < τ2 sont deux constantes
positives homogènes à des temps), alors les équations du système li-
néaire tangent bouclé (c’est à dire avec sa boucle de rétro-action)
sont
˙
θ! = ω
!
˙ω
! = −k1 θ! − k2 ω
!.
Ce système est asymptotiquement stable : pour toutes conditions ini-
tiales, ses solutions tendent vers zéro lorsque t tend vers l’infini. La
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 5

convergence est même exponentielle : toute solution est une combi-


naison linéaire de exp(−t/τ1 ) et exp(−t/τ2 ) : −1/τ1 et −1/τ2 sont
appelés les pôles ou modes du système bouclé. Noter que le bouclage
(1.4) n’est qu’un retour proportionnel en position (ressort en θ de
raideur (Jk1 + mgl)) et en vitesse (frottement visqueux en θ̇ = ω de
coefficient Jk2 ). C’est un simple régulateur « proportionnel-dérivé »
sur l’angle θ. Par la commande, nous pouvons rajouter à volonté des
forces élastiques et visqueuses pour stabiliser le système.
Ce bouclage a été réalisé sur une approximation au premier ordre
du système. Se pose alors la question du comportement du système
non linéaire (1.2) avec le bouclage linéaire
u=u
! = −(Jk1 + mgl)(θ − π) − Jk2 ω.
Il est immédiat de voir que le linéarisé tangent autour de l’équilibre
(π, 0) du système non linéaire bouclé est identique au linéaire tan-
gent bouclé. Un résultat classique sur la stabilité structurelle des
points d’équilibres hyperboliques (les valeurs propres de la matrice
jacobienne sont toutes à partie réelle non nulle) d’un système dyna-
mique garantit alors la stabilité asymptotique locale du système non
linéaire bouclé : cela veut dire simplement que toute trajectoire du
système (1.2) avec la commande (1.4) qui démarre assez près de (π, 0)
tends vers (π, 0) lorsque t tends vers l’infini, la convergence étant ex-
ponentielle, comme pour le linéaire tangent.
Étant donné que τ1 et τ2 sont deux constantes de temps arbitraires
directement liées au taux de convergence, on aura tendance à les choi-
sir aussi proches de zéro que possible. Cependant, il convient de ne
pas les choisir trop proches de zéro. D’une part des gains trop grands
vont faire saturer les actionneurs. D’autre part, le modèle sur lequel la
commande est synthétisée, n’est valable que pour une certaine gamme
d’échelles de temps (on parle en fréquentiel de modèle valable sur une
certaine plage de fréquences). Ici la dynamique du moteur est négli-
gée. Si le moteur est à courant continu, la commande physique est en
fait la tension Um appliquée au moteur. Elle est reliée au couple u par
une équation différentielle du type :
(1.5) LI˙m + RIm = Um , u = Kc Im
(L est l’inductance, R la résistance, Kc la constante de couple du mo-
teur). En pratique la dynamique du moteur est souvent négligeable
6 PH. MARTIN & P. ROUCHON

par rapport à la dynamique inertielle de la barre. Ainsi la constante de


temps du moteur τ# m = L/R est bien inférieure au temps caractéris-
tique du bras τb = J/(mlg). Aussi, a-t-on l’approximation suivante
dite quasi-statique :

RIm = Um , u = Kc Im = (Kc /R)Um

qui relie directement le couple u à la tension Um . Il convient de choisir


τ1 et τ2 du même ordre de grandeur que τb , et donc très supérieur à τm ,
la constante de temps de la dynamique négligée.
D’autres phénomènes peuvent apparaître vers les hautes fré-
quences, comme la flexibilité du bras. Des résultats classique (théorie
de perturbations, systèmes lents/ rapides) assurant qu’avec des gains
k1 et k2 pas trop grands (τ1 , τ2 ' τm ), le système non linéaire avec
la dynamique du moteur (1.5) et la commande en tension

Um = −(Kc /R) ((Jk1 − mgl)(θ + π) + Jk2 ω)

est localement asymptotiquement stable autour de (π, 0), pour toute


valeur de L assez faible.
La loi de feedback précédente suppose que l’on mesure à chaque
instant l’état complet du système θ et ω. Si nous connaissons unique-
ment la loi t #→ θ(t), nous obtenons ω(t) par simple dérivation : on
dit que l’état du système est observable à partir de la sortie θ. D’une
façon plus générale, l’état x d’un système sera dit observable à partir
de la sortie y, si l’on peut reconstruire x à partir d’un nombre fini de
dérivées de y.
Pour le bras, nous pouvons dériver numériquement le signal de
mesure pour en déduire ω. Cette solution fonctionne correctement si
la mesure de θ n’est pas trop bruitée. Sinon, l’opération de dérivation
est à éviter. Pour cela, nous pouvons utiliser la dynamique du système
pour construire un observateur asymptotique, c’est à dire, reconstruire
la vitesse ω du système en intégrant (on peut dire aussi en filtrant)
la position θ via une équation différentielle bien choisie.
Plaçons nous autour du point (π, 0) et considérons le linéaire tan-
gent (1.3) avec comme quantités connues la commande u !
! et l’angle θ.
L’objectif est de reconstruire à terme ω ! sans utiliser l’opération de
dérivation très sensible au bruit. En revanche nous pouvons utiliser
l’intégration et les changements de variables.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 7

Nous allons montrer comment construire un observateur asympto-


tique (d’ordre réduit). Soit λ un paramètre que nous ajusterons plus
tard. Considérons la variable composite ξ = ω ! Si l’on sait re-
! + λθ.
construire ξ, on obtient ω! avec ω !
! = ξ − λθ(t). Or, grâce à (1.3), ξ
vérifie

ξ˙ = u/J − (mgl/J)θ! + λ!
ω = u/J − (mgl/J + λ2 )θ! + λξ.

Ainsi recopiant cette équation et en remplaçant la variable ξ non


" on obtient une équation différentielle du premier ordre
mesurée par ξ,
dépendant des quantités connues u et θ! (un filtre passe bas d’ordre 1
d’une combinaison linéaire de la mesure θ! et de la commande u !) :

˙
(1.6) ξ" = u(t)/J − (mgl/J + λ2 )θ(t)
! + λξ"

Par soustraction avec l’équation différentielle satisfaite par le vrai ξ,


les termes sources en u et θ! disparaissent. On obtient alors une dyna-
mique de l’erreur ξ" − ξ autonome

d "
(ξ − ξ) = λ(ξ" − ξ)
dt
" dès
qui converge vers zéro, quelle que soit la condition initiale sur ξ,
que le paramètre λ = −1/τf est choisi négatif (τf est la constante de
temps de l’observateur (1.6)). Là encore, le gain λ de l’observateur
(1.6) doit être choisi en fonction des niveaux de bruit sur θ et surtout
des échelles de temps naturelles du système
# (prendre, par exemple, τf
du même ordre de grandeur que τb = J/(mlg)).
Ainsi, en combinant l’observateur (1.6) et la commande (1.4) où ω !
est remplacé par ξ" − λθ, ! nous obtenons un bouclage qui stabilise
localement la position inverse du pendule. Ce bouclage est un bouclage
dynamique sur la sortie y = θ! : le terme dynamique vient du fait que
la commande u est une fonction de θ! et de ξ" qui est en fait une sorte
! et θ! :
« d’intégrale » de u

˙
ξ" = u
!/J − (mgl/J + λ2 )θ! + λξ"
(1.7)
! = −(Jk1 + mgl)θ! − Jk2 (ξ" − λθ).
u !

Il s’agit d’un observateur-contrôleur.


8 PH. MARTIN & P. ROUCHON

1.2. Plan
Cet exemple permet de se faire une idée des problèmes traités par la
commande des systèmes et de faire le lien avec les méthodes classiques
de synthèse de régulateurs avec les fonctions de transfert (systèmes
linéaires à une entrée et une sortie). Dès que le système est multi-
variable ou non linéaire , l’approche transfert devient alors nettement
plus difficile à mettre en œuvre ou impossible. L’objectif est ici de
présenter des résultats récents et en cours d’élaboration sur une classe
de systèmes très souvent rencontrés en pratique, les système plats.
Leur commandabilité est particulièrement simple. Elle se ramène, via
une paramétrisation explicite des trajectoires, à celle des systèmes
linéaires de dimension finie. On en déduit alors des algorithmes fondés
sur des calculs explicites de planification de trajectoires, et, pour les
systèmes de dimension finie, de suivi de trajectoires (cf. le problème
de la section 1.3).
Dans le chapitre 2, nous abordons la commandabilité des systèmes
ẋ = f (x, u). Après de courtes définitions, nous étudions les systèmes
linéaires stationnaires. Nous mettons l’accent sur la forme canonique
de Brunovsky, la planification de trajectoires, et la stabilisation par
placement de pôles. Ce chapitre se termine avec la linéarisation par
bouclage statique : il s’agit de reconnaître si un système est linéaire
après changements de coordonnées (a priori non linéaires) sur l’état
et sur la commande.
Dans le chapitre 3, nous abordons les systèmes plats, systèmes
gouvernés par des équations différentielles ordinaires et équivalents
aux systèmes linéaires commandables. La relation d’équivalence uti-
lisée est une correspondance entre les trajectoires, correspondance
déjà suggérée en 1912 par David Hilbert et reprise peu après par
Élie Cartan (équivalence absolue) pour les systèmes différentiels sous-
déterminés. Avec de tels systèmes la planification et le suivi de trajec-
toires sont faciles à résoudre. Pour des définitions mathématiques pré-
cises et simples, nous utilisons le langage des diffiétés, une géométrie
sur des variétés C ∞ de dimension infinie développée par l’école russe
autour de Vinogradov. La caractérisation des systèmes plats étant un
problème ouvert, nous listons les quelques résultats disponibles.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 9

Une façon d’étendre la platitude aux systèmes gouvernés par des


équations aux dérivées partielles est la paramétrisation explicite des
trajectoires. Bien que l’on soit loin d’une définition claire de la pla-
titude en dimension infinie (une voie intéressante semble être, dans
le cas linéaire, la théorie des modules et la notion de π-liberté), nous
traitons quelques exemples significatifs. Tel est l’objet du chapitre 4.
Le chapitre 5 est un catalogue non exhaustif de systèmes plats.
Cette présentation reprend pour partie [66]. Le livre récent sur les
systèmes plats [117] fait aussi le lien, comme c’est le cas ici, avec les
systèmes linéaires de dimension finie, et propose aussi de nombreux
exemples d’intérêt pratique.

1.3. Problème
1.3.a. Énoncé. On reprend ici, sous la forme d’un problème et
pour l’étendre au non linéaire, l’observateur-contrôleur que nous avons
construit avec le linéaire tangent du système (1.2). L’objectif de com-
mande est d’aller du point d’équilibre θ = 0 au point d’équilibre θ = π
pendant le temps T > 0 en ne mesurant que θ. Cette extension non
linéaire ne nécessite que très peu de calculs et reste à un niveau de
complexité très élémentaire.
(1) Donner une trajectoire du système [0, t] #→ (θr (t), ωr (t), ur (t))
qui assure cette transition.
(2) Calculer le bouclage d’état qui stabilise la dynamique de l’er-
reur à la trajectoire e = θ − θr (t) de la façon suivante :
ë + σ1 ė + σ2 e = 0
avec σ1 , σ2 > 0.
(3) On suppose que l’on ne mesure que θ. Montrer que l’observateur
non linéaire
˙
ξ" = λξ" − λ2 θ(t) + u(t)/J − (mgl/J) sin θ(t)
permet de reconstruire asymptotiquement ω par ω " = ξ − λθ, dès que
λ < 0.
(4) Montrer la convergence de l’observateur-contrôleur où l’on a
remplacé la mesure de vitesse ω dans la question 2 par l’estimée ω
" de
la question 3.
10 PH. MARTIN & P. ROUCHON

(5) Faire des simulations de cette manœuvre en T = 5 s en pre-


nant comme paramètres m = 1, 0 kg, l = 0, 2 m, J = 0, 1 kg m2 et
g = 9, 81 m/s2 . Tester la robustesse de cette commande dynamique
de sortie par rapport à des dynamiques négligées (rajouter une dyna-
mique pour le moteur) et par rapport à des erreurs dans le modèle
(1.2) (rajouter un petit frottement au niveau de l’axe du bras).

1.3.b. Solution.
(1) Il suffit d’utiliser l’équation de Newton à l’envers : au lieu de
donner le couple t #→ u et d’intégrer pour avoir l’angle θ, on se donne
l’angle t #→ θr (t) pour en déduire le couple ur par dérivation
ur (t) = J θ̈r (t) + mlg sin θr (t)
$ %
avec, par exemple, θr (t) = π 3 (t/T )2 − 2 (t/T )3 pour t ∈ [0, T ]. En
effet la solution du problème de Cauchy
θ̇ = ω, J ω̇ = −mlg sin θ + ur (t)
de condition initiale nulle est donnée par
θ(t) = θr (t), ω(t) = ωr (t), t ∈ [0, T ]
avec
6π $ %
ωr (t) = (t/T ) − (t/T )2 .
T
On a ainsi comme contrôle de référence (boucle ouverte)
6πJ $ $ %%
ur (t) = 2 (1 − 2 (t/T )) + mlg sin π 3 (t/T )2 − 2 (t/T )3 .
T
(2) Il suffit de considérer le bouclage non-linéaire :
& 2 '
d
u=J θr (t) − σ1 (ω − ωr (t)) − σ2 (θ − θr (t) + mgl sin θ.
dt2
(3) En effet la variable composite ξ = ω + λθ vérifie
ξ˙ = λξ − λ2 θ(t) + u(t)/J − (mgl/J) sin θ(t).
Ainsi dt
d " = λ(ξ − ξ)
(ξ − ξ) " et donc avec λ < 0, ξ" converge vers ξ
quand t tend vers +∞.
(4) Le feedback devient alors (remplacer ω par ξ" − λθ)
& 2 '
d "
u=J θr (t) − σ1 (ξ − λθ − ωr (t)) − σ2 (θ − θr (t) + mgl sin θ.
dt2
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 11

" Le
En boucle fermée, on est face à un système avec 3 états (θ, ω, ξ).
changement de variables
" #−→ (θ − θr (t), ω − ωr (t), ξ" − ω − λθ)
(θ, ω, ξ)
( )* + ( )* + ( )* +
e ė ξe
˙
conduit à une structure triangulaire avec ξ! = λξ! qui tend vers 0.
Asymptotiquement ξ! = 0 et donc, pour les deux autres états e et ė,
on a un oscillateur harmonique amorti : ë = −σ1 ė−σ2 e. On en déduit
la stabilité asymptotique du système bouclé.
(5) Utiliser le logiciel libre Scilab : http ://www.scilab.org/.
Comme couple de frottement on pourra prendre −γ θ̇ avec γ > 0 et
pouvant dépendre de θ et/ou θ̇. L’ordre de grandeur de γ sera J/T .
On pourra aussi modéliser la dynamique du moteur soit comme un
retard pur, soit comme un premier ordre. Le retard ou la constante
de temps seront de l’ordre de T /10.

1.3.c. Aspect global. À cause du terme en θ − θr dans le bouclage,


ce dernier n’est pas défini globalement sur S1 . En fait, il faut remplacer
θ − θr par sin(θ − θr ) et imposer la dynamique suivante pour l’erreur
de suivi e = θ − θr : ë = −σ1 ė − σ2 sin e. En effet le bouclage qui
conduit à cette dynamique de suivi,
& 2 '
d
u=J θr (t) − σ1 (ω − ωr (t)) − σ2 sin(θ − θr (t) + mgl sin θ,
dt2
est alors globalement défini pour θ, θr ∈ S1 . La dynamique de l’er-
reur e obéit ainsi à celle d’un pendule amortie : ë = −σ1 ė − σ2 sin e.
La convergence vers 0 est quasi-globale mathématiquement et tou-
jours effective en pratique.
De même, l’observateur réduit avec la variable composite ξ fai-
sant intervenir directement θ n’est pas défini globalement sur S1 . Il
convient alors d’utiliser l’observateur asymptotique (gains constants
λ1 , λ2 > 0)
˙ u(t) − mgl sin θ(t)
θ" = ω
" − λ1 sin(θ" − θ(t)), "˙ =
ω − λ2 sin(θ" − θ(t))
J
globalement défini et dont la convergence est quasi-globale. En effet,
les erreurs d’estimation θ! = θ" − θ et ω
!=ω " − ω vérifient le système
autonome
˙
θ! = ω ! ω
! − λ1 sin θ, !˙ = −λ2 sin θ!
12 PH. MARTIN & P. ROUCHON

qui admet comme fonction de Lyapounov V = (! ω )2 − λ2 cos θ! car


2!
V̇ = −λ1 λ2 sin θ ! 0. Ce système autonome admet deux équilibres :
(0, 0) est un nœud exponentiellement stable et (π, 0) est un col. Le
bassin d’attraction de (0, 0) est le cylindre S1 × R à l’exception de
l’espace rentrant dans le col (π, 0). En pratique, la convergence de
l’observateur est alors globale.
L’observateur/contrôleur globalement défini sur S1 est alors obtenu
en remplaçant θ et ω par leur estimées
& 2 '
d " "
u=J θr (t) − σ1 ("
ω − ωr (t)) − σ2 sin(θ − θr (t) + mgl sin θ.
dt2

CHAPITRE 2
SYSTÈMES LINÉAIRES DE DIMENSION FINIE

Après de courtes définitions, nous étudions en détail les systèmes


linéaires explicites ẋ = Ax + Bu. Leur commandabilité est caractéri-
sée par le critère de Kalman et la forme normale dite de Brunovsky.
Cette dernière permet un paramétrage explicite de toutes les trajec-
toires en fonctions de m fonctions scalaires arbitraires t #→ y(t) et
d’un nombre fini de leurs dérivées. Ces quantités y, dites sorties de
Brunovsky, sont des combinaisons linéaires de x. Elles jouent d’une
certaine façon le rôle d’un potentiel. Elles permettent surtout de cal-
culer très simplement les commandes u pour aller d’un état vers un
autre (planification de trajectoire). Elles donnent également le bou-
clage (« feedback ») qui assure le suivi asymptotique d’une trajectoire
de référence arbitraire (stabilisation par placement de pôles).

2.1. Commandabilité
On considère le système explicite (f fonction régulière)
d
(2.1) x = f (x, u), x ∈ Rn , u ∈ Rm
dt
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 13

2.1.a. Définitions
Définition 2.1 (trajectoire). On appelle trajectoire du système (2.1)
toute fonction régulière I " t → # (x(t), u(t)) ∈ Rn × Rm qui satis-
fait identiquement sur un intervalle d’intérieur non vide I de R les
équations (2.1).
Définition 2.2 (commandabilité). Le système (2.1) est dit comman-
dable en temps T > 0, si et seulement si, pour p, q ∈ Rn , il existe
une loi horaire [0, T ] " t #→ u(t) ∈ Rm , dite commande en boucle
ouverte, qui amène le système de l’état x(0) = p à l’état x(T ) = q,
c’est à dire, telle que la solution du problème de Cauchy
ẋ = f (x, u(t)) pour t ∈ [0, T ]
x(0) = p
vérifie x(T ) = q. Le système est dit commandable lorsqu’il est com-
mandable pour au moins un temps T > 0.
D’autres définitions sont possibles : elles correspondent toutes à des
variantes plus ou moins subtiles de la définition 2.2. Nous renvoyons
à [20] pour de plus amples développements.
Comme l’illustre la figure 2.1, la commandabilité est une propriété

Figure 2.1. La planification de trajectoire

topologique très naturelle. En général, la commande en boucle ouverte


[0, T ] " t #→ u(t) n’est pas unique, il en existe une infinité. Cette étape
s’appelle planification de trajectoire : calculer t #→ u(t) à partir de la
connaissance de f , p et q constitue l’une des questions majeures de
l’automatique. Cette question est loin d’être résolue actuellement.
Très souvent, l’absence de commandabilité est due à l’existence
d’intégrales premières non triviales. Ce sont des observables qui res-
tent constantes le long de toute trajectoire et qui ne sont pas influen-
cées par la commande u.
14 PH. MARTIN & P. ROUCHON

2.1.b. Intégrale première. Considérons le réacteur exothermique


de la figure 2.2. Les équations de bilan matière et énergie donnent

Figure 2.2. Un réacteur chimique exothermique où u cor-


respond aux échanges thermiques avec l’extérieur

alors les équations différentielles suivantes :


ẋ1 = D(xin
1 − x1 ) − k0 exp(−E/RT )x1
(2.2) ẋ2 = −Dx2 + k0 exp(−E/RT )x1
Ṫ = D(T in − T ) + α∆H exp(−E/RT )x1 + u.
La cinétique est linéaire du premier ordre, les constantes physiques
usuelles (D, xin1 , k0 , E, T , α et ∆H) sont toutes positives, la
in

commande u est proportionnelle à la puissance thermique échan-


gée avec l’extérieur. xi est la concentration de l’espèce chimique Xi ,
i = 1, 2. On reconnaît l’effet non linéaire essentiel de la loi d’Ar-
rhenius k = k0 exp(−E/RT ) qui relie la constante de vitesse k à la
température T . Il est assez facile de voir que ce système n’est pas
commandable. En effet, le bilan global sur X1 + X2 , élimine le terme
non linéaire pour donner
d
(x1 + x2 ) = D(xin1 − x1 − x2 ).
dt
Ainsi donc la quantité ξ = x1 + x2 vérifie une équation différentielle
autonome ξ˙ = D(xin 1 − ξ). Donc ξ = x1 + ξ0 exp(−Dt) où ξ0 est la
in

valeur initiale de ξ. Si, dans la définition 2.2, on prend l’état initial p


tel que ξ = x1 + x2 = xin 1 et q tel que ξ = x1 + x2 = 0, il n’existe
pas de commande qui amène le système de p vers q. En effet, pour
toute trajectoire démarrant en un tel p, la quantité x1 + x2 reste
constante et égale à xin 1 . Cette partie non commandable du système
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 15

représentée par la variable ξ admet ici un sens physique précis. Elle


est bien connue des chimistes. C’est un invariant chimique.
L’exemple ci-dessus nous indique que l’absence de commandabi-
lité peut-être liée à l’existence d’invariants, i.e., à des combinaisons
des variables du système (on pourrait les appeler des observables) et
éventuellement du temps, qui sont conservées le long de toute trajec-
toire. Pour (2.2), il s’agit de (x1 + x2 − xin
1 ) exp(Dt) correspondant
à ξ0 . Nous sommes donc conduits à prolonger la notion d’intégrale
première pour les systèmes commandés.

Définition 2.3 (intégrale première). Une fonction régulière R × Rn "


(t, x) #→ h(t, x) ∈ R est appelée intégrale première du système (2.1), si
elle est constante le long de toute trajectoire du système. Une intégrale
première est dite triviale si c’est une fonction constante sur R × Rn .

Si h est une intégrale première, sa dérivée le long d’une trajectoire


arbitraire est nulle :
d ∂h ∂h
h= + ẋ ≡ 0
dt ∂t ∂x
pour toute trajectoire (t #→ (x(t), u(t)) du système.
Si (2.1) admet une intégrale première non triviale t #→ h(t, x) alors,
(2.1) n’est pas commandable. Sinon, il existe T > 0, tel que pour
tout p, q ∈ Rn et tout instant initial t, h(t, p) = h(t + T, q) (il existe
une trajectoire reliant p à q sur [t, t + T ]). Donc h est une fonction
périodique du temps et indépendante de x. Mais alors la dérivée de h
le long des trajectoires du système correspond à ∂t ∂
h. Comme elle est
nulle, h est une constante, ce qui contredit l’hypothèse. Nous avons
montré la proposition suivante

Proposition 2.4. Si le système (2.1) est commandable, alors ses inté-


grales premières sont triviales.

Il est possible de caractériser à partir de f et de ses dérivées par-


tielles l’existence d’intégrale première non triviale (voir par exemple
[47, 26]). L’existence de telles intégrales premières est liée à celle de
sous-systèmes différentiels autonomes. D’une façon plus précise si, à u
fixé, l’algèbre de Lie
, ∂ (α) f -
L = Lie f, (α)
∂u α∈Nm
16 PH. MARTIN & P. ROUCHON

est de rang n alors il n’existe pas d’intégrale première non triviale ne


dépendant que de x. L’algèbre de Lie L est engendrée par tous les
crochets de Lie (en x) de n’importe quelle longueur qu’il est possible
de faire à partir de f et de ses dérivées partielles en u. Si cette dernière
est de dimension n, la dimension x, alors le système est dit faiblement
accessible.
Si, dans l’algèbre de Lie L, l’idéal de Lie engendré par les
∂ f /∂u(α) avec α ∈ Nm , au moins l’un des αi non nuls, est de
(α)

rang n alors il n’existe pas d’intégrale première non triviale dépen-


dant de x et/ou de t. Le système est alors dit fortement accessible
(voir [122]). Nous renvoyons au livre de Jean-Michel Coron [20] pour
des énoncés plus détaillés et en rapport direct avec la commandabilité.

2.2. Commandabilité linéaire


Nous considérons ici les systèmes linéaires stationnaires du type

(2.3) ẋ = Ax + Bu

où l’état x ∈ Rn , la commande u ∈ Rm et les matrices A et B sont


constantes et de tailles n × n et n × m, respectivement.

2.2.a. Matrice de commandabilité. Supposons que (2.3) admette


une intégrale première h : R × Rn " (t, x) #→ h(t, x) ∈ R. Soit
le changement de variables sur x défini par x = exp(tA)z. Avec les
variables (z, u), (2.3) devient ż = exp(−tA)Bu et l’intégrale première
h(t, exp(tA)z) = l(t, z). Comme la valeur de l est constante le long
de toute trajectoire nous avons, en dérivant le long d’une trajectoire
arbitraire t #→ (z(t), u(t))
∂l ∂l
l˙ = + ż = 0.
∂t ∂z
Comme ż = exp(−tA)Bu, pour toute valeur de z et u on a l’identité
suivante :
∂l ∂l
(t, z) + (t, z) exp(−tA)Bu ≡ 0.
∂t ∂z
En prenant, u = 0, z et t arbitraires, on en déduit (prendre, par
exemple, la trajectoire du système qui passe par z à l’instant t et
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 17

dont la commande u est nulle) :


∂l
(t, z) ≡ 0.
∂t
Donc nécessairement l est uniquement fonction de z. Ainsi
∂l
(z) exp(−tA)B ≡ 0.
∂z
En dérivant cette relation par rapport à t, on a,
∂l
(z) exp(−tA)AB ≡ 0
∂z
car dt
d
(exp(−tA)) = − exp(−tA)A. Plus généralement, une dérivation
à n’importe quel ordre k " 0 donne
∂l
(z) exp(−tA)Ak B ≡ 0.
∂z
En prenant t = 0 on obtient
∂l
(z)Ak B = 0, ∀ k " 0.
∂z
Ainsi le vecteur ∂l/∂z(z) appartient à l’intersection des noyaux à
gauche de la famille infinie de matrice (Ak B)k!0 . Le noyau à gauche
de Ak B n’est autre que Im(Ak B)⊥ , l’orthogonal de l’image de Ak B.
Donc
∂l .
(z) ∈ Im(Ak B)⊥ .
∂z
k!0
Mais
. $ %⊥
Im(Ak B)⊥ = Im(B) + · · · + Im(Ak B) + · · · .
k!0

La suite d’espace vectoriel Ek = Im(B) + · · · + Im(Ak B) est une suite


croissante pour l’inclusion, Ek ⊂ Ek+1 . Si pour un certain k, Ek =
Ek+1 , cela signifie que Im(Ak+1 B) ⊂ Ek , donc A(E k ) ⊂ Ek . Mais
Im(Ak+2 B) = Im(AAk+1 B) ⊂ A(E k+1 ). Ainsi Im(Ak+2 B) ⊂ Ek . On
voit donc que pour tout r > 0, Im(Ak+r B) ⊂ Ek , d’où Ek+r = Ek .
Ainsi la suite des Ek est une suite de sous-espaces vectoriels de Rn
emboîtés les uns dans les autres. Cette suite stationne dès qu’elle
n’est plus, pour un certain k, strictement croissante. Il suffit donc
de ne considérer que ses n premiers termes soit E0 , . . ., En−1 , car
automatiquement En−1 = En+r pour tout r > 0.
18 PH. MARTIN & P. ROUCHON

En revenant à la suite des noyaux à gauche de Ak B, nous voyons


que ∂l/∂z(z) dans le noyau à gauche de la suite infinie de matrices
(Ak B)k!0 , est équivalent à ∂l/∂z(z) dans le noyau à gauche de la
suite finie de matrices (Ak B)0"k"n−1 (1) .
Ainsi, pour tout z, ∂l/∂z(z) appartient au noyau à gauche de la
matrice n × (nm),
(2.4) C = (B, AB, A2 B, . . . , An−1 B)
dite matrice de commandabilité de Kalman. Si C est de rang n, son
noyau à gauche est nul, donc l ne dépend pas de z : l est alors une
fonction constante et h également.
Réciproquement, si la matrice de commandabilité C n’est pas de
rang maximal, alors il existe un vecteur w ∈ Rn /{0}, dans le noyau
à gauche de (2.4). En remontant les calculs avec l(z, t) = w% z on voit
que λ̇ = 0 le long des trajectoires. En passant aux variables (x, u), on
obtient une intégrale première non triviale = h(t, x) = w% ·exp(−tA)x.
Toute trajectoire du système se situe dans un hyperplan orthogonal
à w.
En résumé, nous avons démontré la
Proposition 2.5. La matrice de commandabilité
C = (B, AB, A2 B, . . . , An−1 B)
est de rang n, si, et seulement si, les seules intégrales premières du
système (2.3) sont triviales.
Des propositions 2.4 et 2.5, il vient : si le système (2.3) est comman-
dable, sa matrice de commandabilité est de rang n. Nous allons voir
que la réciproque est vraie. Pour cela, nous avons besoin de certaines
propriétés d’invariance.

On pourrait aussi utiliser le théorème de Cayley-Hamilton qui donne un résultat


(1)

plus précis : toute matrice carrée est racine de son polynôme caractéristique.
Cela veut dire, A étant de taille n, que An est une combinaison linéaire des
(Ak )0!k!n−1 :
n−1
X
An = pk Ak
k=0
P
où les pk sont définis par dét(λIn − A) = λn − n−1k=0 pk λ . Nous avons préféré un
k

argument plus simple avec la suite des Ek mais qui a l’avantage de passer au non
linéaire et qui correspond au calcul de l’algèbre de Lie de commandabilité.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 19

2.2.b. Invariance
Définition 2.6 (changement d’état, bouclage statique régulier)
Un changement linéaire de coordonnées x #→ x ! est défini par une
matrice M inversible d’ordre n : x = M x !. Un bouclage statique ré-
gulier u #→ u
! est défini par une matrice N inversible d’ordre m et une
autre matrice K, m × n : u = K x ! + Nu!. C’est un changement de
variables sur les commandes paramétré par l’état.

L’ensemble des transformations


& ' & ' & '& '
x! x M 0 !
x
(2.5) #−→ =
u! u K N !
u
forment un groupe lorsque les matrices M , N et K varient (M et N
restant inversibles).
Si ẋ = Ax + Bu est commandable (resp. n’admet pas d’intégrale
première) alors il est évident que x!˙ = A!
!x + B!
! u obtenu avec (2.5) est
commandable (resp. n’admet pas d’intégrale première).
Les notions de commandabilité et d’intégrale première sont intrin-
sèques, c’est-à-dire, indépendantes des coordonnées avec lesquelles les
équations du système sont établies. Si la matrice de commandabilité
dans les coordonnées (x, u) est de rang n, la matrice de commanda-
bilité dans les coordonnées (! !) sera aussi de rang n. Cette simple
x, u
remarque conduit au résultat non évident suivant :
! A
rang(B, AB, . . . , An−1 B) = n ⇐⇒ rang(B, !B,
! ...,A
!n−1 B)
! =n

où A! et B
! s’obtiennent en écrivant ẋ = Ax + Bu dans les coordonnées
(! !) :
x, u
!˙ = M −1 (AM + BK)!
x x + M −1 BN u
!.
Soit A! = M −1 (AM + BK) et B ! = M −1 BN . En fait, il est possible
d’aller beaucoup plus loin et de montrer que les indices de comman-
dabilité définis ci-dessous sont aussi invariants.

Définition 2.7 (indices de commandabilité). Pour tout entier k, on


note σk le rang de la matrice (B, AB, A2 B, . . . , Ak B). Les (σk ) sont
appelés indices de commandabilité du système linéaire (2.3),

La suite σk est croissance, majorée par n. Ainsi, l’absence d’inté-


grale première est équivalente à σn−1 = n.
20 PH. MARTIN & P. ROUCHON

Proposition 2.8 (invariance). Les indices de commandabilité de ẋ =


Ax+Bu sont invariants par changement de variable sur x et bouclage
statique régulier sur u.

Nous laissons la preuve de ce résultat par récurrence sur k en exer-


cice.
Il est important de comprendre la géométrie derrière cette inva-
riance. Les transformations (x, u) #→ (! !) du type (2.5) forment un
x, u
groupe. Ce groupe définit une relation d’équivalence entre deux sys-
tèmes ayant même nombre d’états et même nombre de commandes.
La proposition précédente signifie simplement que les indices de com-
mandabilité sont les même pour deux systèmes appartenant à la même
classe d’équivalence, i.e, le même objet géométrique vu dans deux re-
pères différents. En fait, on peut montrer que les indices de comman-
dabilité sont les seuls invariants : il y a autant de classes d’équivalence
que d’indices de commandabilité possibles. Nous ne montrerons pas
directement ce résultat. Tous les éléments nécessaires à cette preuve
se trouvent dans la construction de la forme de Brunovsky ci-dessous
(voir aussi [49, 121]).

2.2.c. Un exemple. Soit le système mécanique à deux degrés de


liberté et une seule commande de la figure 2.3. Il s’agit d’un système

Figure 2.3. Deux masses couplées par un ressort, le tout


piloté par une seule force u

mécanique sous actionné contrairement au bras motorisé étudié dans


l’introduction (un degré de liberté (l’angle θ) et un moteur). En négli-
geant les frottements et en supposant le ressort linéaire de raideur k,
on est conduit au modèle suivant :
/
m1 ẍ1 = k(x2 − x1 ) + u
(2.6)
m2 ẍ2 = k(x1 − x2 ).
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 21

Montrons que ce système est commandable. Il suffit pour cela de re-


marquer que la quantité x2 , l’abscisse de la masse qui n’est pas di-
rectement soumise à la force u, joue un rôle très particulier (sortie de
Brunovsky). Si au lieu de donner t #→ u(t) et d’intégrer (2.6) à partir
de positions et vitesses initiales, on fixe t #→ x2 (t) = y(t). Alors x1 =
(m2 /k)ÿ +y et donc u = m1 ẍ1 +m2 ẍ2 = (m1 m2 /k)y (4) +(m1 +m2 )ÿ.
Ainsi on peut écrire le système en faisant jouer à x2 un rôle privilégié :

 x = (m2 /k) ÿ + y
 1
x2 = y


u = (m1 m2 /k) y (4) + m1 + m2 )ÿ.
On obtient ainsi un paramétrisation explicite de toutes les trajectoires
du système. Les relations précédentes établissent une correspondance
bi-univoque et régulière entre les trajectoires de (2.6) et les fonctions
régulières t #→ y(t).
Cela permet de calculer de la façon la plus élémentaire possible une
commande [0, T ] " t #→ u(t) qui fait passer de l’état p = (xp1 , v1p , xp2 , v2p )
à l’état q = (xq1 , v1q , xq2 , v2q ) (vi correspond à ẋi ). Comme

 x1 = (m2 /k) ÿ + y



 v = (m /k) y (3) + ẏ
1 2


 x2 = y


v2 = ẏ
imposer p en t = 0 revient à imposer y et ses dérivées jusqu’à l’ordre 3
en 0. Il en est de même en t = T . Il suffit donc de trouver une fonction
régulière [0, T ] " t #→ y(t) dont les dérivées jusqu’à l’ordre 3 sont
données a priori en 0 et en T : un polynôme de degré 7 en temps
répond à la question mais il existe bien d’autres possibilités.
Nous allons voir, avec la forme normale de Brunovsky, qu’une telle
correspondance entre y et les trajectoires du système est générale.
Il suffit que (2.3) soit commandable. Tout revient donc à trouver la
sortie de Brunovsky y de même dimension que la commande u.

2.2.d. Critère de Kalman et forme de Brunovsky


Théorème 2.9 (critère de Kalman). Le système ẋ = Ax + Bu est
commandable si, et seulement si, la matrice de commandabilité
C = (B, AB, . . . , An−1 B) est de rang n = dim(x).
22 PH. MARTIN & P. ROUCHON

La paire (A, B) est dite commandable si le rang de la matrice de


commandabilité C est maximum.
La preuve que nous allons donner de ce résultat n’est pas la plus
courte possible. Cependant, elle permet de décrire explicitement, pour
toute durée T > 0 et pour p, q ∈ Rn , les trajectoires du système qui
partent de p et arrivent en q. Cette preuve utilise la forme dite de
Brunovsky. Cette dernière se construit grâce à une méthode d’élimi-
nation, proche de celle très classique du pivot de Gauss.
Théorème 2.10 (forme de Brunovsky). Si la matrice de commandabi-
lité (B, AB, . . . , An−1 B) du système ẋ = Ax + Bu est de rang n =
dim(x) et si B est de rang m = dim(u), alors il existe un changement
d’état z = M x (M matrice inversible n × n) et un bouclage statique
régulier u = Kz +N v (N matrice inversible m×m), tels que les équa-
tions du système dans les variables (z, v) admettent la forme suivante
(écriture sous la forme de m équations différentielles d’ordre " 1) :
(α1 )
(2.7) y1 = v1 , . . . , (αm )
ym = vm
(1) (α1 −1) (1) (α −1)
avec comme état z = (y1 , y1 , . . . , y1 , . . . , ym , y m , . . . , ym m ),
les αi étant des entiers positifs.
Les m quantités yj , qui sont des combinaisons linéaires de l’état x,
sont appelées sorties de Brunovsky.
Pour une paire (A, B) commandable, les indices de commandabi-
lité σk sont directement reliés aux m entiers αi de la forme de Bru-
novsky. Il est facile de voir que, dans le cas commandable, se donner
les σk revient à ce donner les αi . Ainsi, deux systèmes commandables
ayant les mêmes indices de commandabilité admet la même forme de
Brunovsky, ils sont donc équivalents. Ce n’est plus vrai si ces deux
systèmes ne sont plus commandables avec les mêmes indices de com-
mandabilité. Il n’y aura équivalence que de la partie commandable.
L’équivalence sera complète, si les parties non commandables sont
équivalents, i.e., si les matrices définissant les dynamiques autonomes
des parties non commandables sont semblables et donc admettent la
même forme normale de Jordan.
Démonstration du théorème 2.10. Elle repose sur
(1) une mise sous forme triangulaire des équations d’état et l’éli-
mination de u ;
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 23

(2) l’invariance du rang de (B, AB, . . . , An−1 B) par rapport aux


transformations (2.5) ;
(3) une récurrence sur la dimension de l’état.
Mise sous forme triangulaire. On suppose que B est de rang m =
dim(u) (sinon, faire un regroupement des commandes en un nombre
plus petit que m de façon à se ramener à ce cas). Alors, il existe une
partition de l’état x = (xr , xu ) avec dim(xr ) = n − m et dim(xu ) = m
telle que les équations (2.3) admettent la structure bloc suivante
ẋr = Arr xr + Aru xu + Br u
ẋu = Aur xr + Auu xu + Bu u
où Bu est une matrice carrée inversible. Cette partition n’est pas
unique, bien sûr. En tirant u de la seconde équation et en reportant
dans la première, on obtient
ẋr = Arr xr + Aru xu + Br Bu−1 (ẋu − Aur xr − Auu xu )
ẋu = Aur xr + Auu xu + Bu u.
En regroupant les dérivées dans la première équation, on a
ẋr − Br Bu−1 ẋu = (Arr − Br Bu−1 Aur )xr + (Aru − Br Bu−1 Auu )xu
ẋu = Aur xr + Auu xu + Bu u.
Avec une transformation (2.5) définie par
!r = xr − Br Bu−1 xu ,
x !u = xu ,
x ! = Aur xr + Auu xu + Bu u,
u
les équations ẋ = Ax + Bu deviennent
!˙r = A
x !r x !u x
!r + A !u

!u = u!

où A!r = (Arr − Br B −1 Aur ) et A !u = (Arr − Br B −1 Aur )Br B −1 +


u u u
(Aru −Br Bu Auu ). Dans cette structure triangulaire où la commande
−1

! n’intervient pas dans la première équation, nous voyons apparaître


u
un système plus petit d’état x
!r et de commande x!u . Cela nous permet
de réduire la dimension de x et de raisonner par récurrence.
Invariance. Un simple calcul par blocs nous montre que si
(B, AB, . . . , An−1 B) est de rang n alors (Au , Ar Au , . . . , An−m−1
r Au )
est de rang n−m. Du système de taille n on passe ainsi au système de
taille réduite n − m, x !˙r = A
!r x !u x
!r + A !u (!
xr l’état, x
!u la commande).
24 PH. MARTIN & P. ROUCHON

Récurrence sur le nombre d’états. Supposons donc, le résultat vrai


pour toutes les dimensions d’état inférieures ou égales à n − 1. Consi-
dérons un système ẋ = Ax + Bu avec n = dim(x), sa matrice de
commandabilité de rang n, et B de rang m = dim(u) > 0. L’élimina-
tion de u donne, après une transformation de type (2.5),
x˙r = Ar xr + Au xu
x˙u = u
avec (Au , Ar Au , . . . , An−m−1
r Au ) de rang n − m < n, où dim(u) =
dim(xu ) = m et dim(xr ) = n−m (les ! ont été enlevés pour alléger les
notations). Notons m le rang de Au . Comme m ! m, un changement
de variable sur xu , (xu , x !u ) = P xu avec P inversible, permet d’écrire
le système sous la forme
x˙r = Ar xr + Au xu
(2.8) x˙u = u
!˙u = u
x !
avec (u, u
!) = P u, dim(xu ) = m et Au de rang m. Comme le rang
de la matrice de commandabilité de x˙r = Ar xr + Au xu (xr est l’état
et xu la commande) est égal à n − m = dim(xr ), l’hypothèse de
récurrence assure l’existence d’un changement de variable xr = M z
et d’un bouclage statique régulier xu = Kz + N v (v est la nouvelle
commande ici) mettant ce sous système sous forme de Brunovsky.
Alors le changement d’état (xr , xu , x
!u ) défini par
    
xr M 0 0 z
 xu  =  K N 0   v 
!u
x 0 0 1 !u
x
et le bouclage statique régulier sur (u, u
!)
u = KM −1 (Ar xr + Au xu ) + N v, ! = v!
u
transforme alors le système (2.8) sous forme de Brunovsky avec v =
(v, v!) comme nouvelle commande.
Démonstration du théorème 2.9. La commandabilité est indépendante
du choix des variables sur x et d’un bouclage statique régulier sur u.
On peut donc supposer le système sous sa forme de Brunovsky. Dans
ces coordonnées, aller d’un état à un autre est élémentaire. On se
ramène à étudier la commandabilité du système scalaire y (α) = v.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 25

(α−1) (α−1)
L’état initial (ya , . . . , ya ) et l’état final (yb , . . . , yb ) ainsi que
la durée T étant donnés, les lois horaires t #→ v(t) assurant le passage
entre ces deux états pendant la durée T correspondent alors à la
dérivée α-ième de fonctions [0, T ] " t #→ ϕ(t) ∈ R, dont les dérivées
jusqu’à l’ordre α − 1 en 0 et T sont imposées par
(r)
ϕ(r) (0) = ya(r) , ϕ(r) (T ) = yb , r = 0, . . . , α − 1.

Il existe bien sûr une infinité de telles fonctions ϕ (on peut prendre
pour ϕ un polynôme de degré 2α − 1, par exemple).

2.2.e. Planification et suivi de trajectoires. De la preuve des


deux théorèmes précédents, il est important de retenir deux choses :
– Dire que le système ẋ = Ax+Bu est commandable, est équivalent
à l’existence d’un bouclage statique régulier u = Kz + N v et d’un
changement d’état x = M z se ramenant à la forme de Brunovsky
y (α) = v et z = (y, . . . , y (α−1) ) (par abus de notation y = (y1 , . . . , ym )
(α ) (α )
et y (α) = (y1 1 , . . . , ym m )). Ainsi

x = M (y, . . . , y (α−1) ), u = L(y, . . . , y (α) )

où la matrice L est construite avec K, N et M . Lorsque l’on considère


une fonction régulière arbitraire du temps t #→ ϕ(t) ∈ Rm et que l’on
calcule x(t) et u(t) par les relations

x(t) = M (ϕ(t), . . . , ϕ(α−1) (t)), u(t) = L(ϕ(t), . . . , ϕ(α) (t))

alors t #→ (x(t), u(t)) est une trajectoire du système : on a identique-


ment ẋ(t)−Ax(t)−Bu(t) = 0. Réciproquement, toutes les trajectoires
régulières du système se paramétrisent de cette façon, grâce à m fonc-
tions scalaires arbitraires ϕ1 (t), . . . , ϕm (t) et un nombre fini de leurs
dérivées par les formules ci-dessus.
– La commandabilité de ẋ = Ax + Bu implique la stabilisation par
retour d’état. En effet, il suffit de considérer la forme de Brunovsky
et dans la forme de Brunovsky, chacun des m sous-systèmes indépen-
(α )
dants yi i = vi . Soient αi valeurs propres, λ1 , . . . , λαi , correspondant
au spectre d’une matrice réelle de dimension αi . Notons sk les fonc-
tions symétriques des λi (des quantités réelles donc) homogènes de
26 PH. MARTIN & P. ROUCHON

degré k,
8αi
(X − λk ) = X αi − s1 X αi −1 + s2 X αi −2 + · · · + (−1)αi sαi
k=1
Alors, dès que les λk sont à partie réelle strictement négative, le bou-
clage
(α −1) (α −2)
vi = s1 yi i − s2 yi i + · · · + (−1)αi −1 sαi yi
(α )
assure la stabilité de yi i = vi : en effet, les exposants caractéristiques
(on dit aussi les pôles) du système bouclé sont les λk .
Aussi de la forme de Brunovsky l’on déduit directement le résultat
suivant :
Théorème 2.11 (placement de pôles). Si la paire (A, B) est comman-
dable alors, pour toute matrice réelle F n × n, il existe une matrice
m×n, K (non nécessairement unique), telle que le spectre de A+BK
coïncide avec celui de F .
De retour dans les coordonnées de modélisation, ẋ = Ax + Bu,
la planification de trajectoire nous donne une trajectoire du système
(par exemple la trajectoire que doit suivre une fusée au décollage,
la manœuvre d’atterrissage d’un avion, . . . ). Nous la notons t #→
(xr (t), ur (t)) avec l’indice r pour référence. En pratique, et à cause
des aléas de l’existence, il convient, comme l’illustre la figure 2.4,
de corriger en fonction de l’écart ∆x, la commande de référence ur
(il est rare de piloter un système en aveugle, uniquement en sachant
d’où l’on part et où l’on veut aller). Le problème est donc de calculer
la correction ∆u à partir de ∆x de façon à revenir sur la trajectoire
de référence. On peut alors utiliser un bouclage stabilisant en plaçant
les pôles sur la forme de Brunovsky.

Figure 2.4. Le suivi de trajectoire


SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 27

D’une façon plus précise : comme ẋr = Axr + Bur , on obtient, par
différence avec ẋ = Ax + Bu l’équation d’erreur suivante
d
(∆x) = A ∆x + B ∆u
dt
où ∆x = x − xr et ∆u = u − ur ; le système étant commandable, il
existe K, matrice m×n, telle que les valeurs propres de A+BK soient
à parties réelles strictement négatives (placement de pôles). Ainsi la
correction
∆u = K ∆x
assure le suivi asymptotique de la trajectoire de référence t #→ xr (t).
La stabilité structurelle des points d’équilibres hyperboliques garantie
que toute erreur assez faible (petite incertitude sur A et B, effets non
linéaires faibles, erreurs de mesure, erreurs de troncature dues à la
discrétisation de la loi de contrôle obtenue, . . . ) ne sera pas amplifiée
au cours du temps : x restera ainsi proche de xr .
Nous terminerons par une constatation d’ordre expérimental :
lorsque le modèle dynamique ẋ = Ax + Bu est d’origine physique,
il n’est pas rare que sa partie non commandable, i.e., ses intégrales
premières, ait une signification physique immédiate, tout comme
les grandeurs y, fonction de x et intervenant dans la forme de
Brunovsky (cf. théorème 2.10) de sa partie commandable. Cet état
de fait n’est vraisemblablement pas dû entièrement au hasard : en
physique, les grandeurs qui admettent une signification intrinsèque,
i.e., les grandeurs physiques, sont celles qui ne dépendent pas du
repère de l’observateur. En automatique, le passage d’un repère à un
autre correspond, entre autre, à une transformation de type (2.5).
Il est alors clair que le « sous-espace » engendré par les sorties de
Brunovsky est un invariant. Il a donc toutes les chances d’avoir un
sens physique immédiat. De plus les sorties de Brunovsky admettent
un équivalent non linéaire pour de nombreux systèmes physiques. On
les appelle alors sorties plates (voir le chapitre 3).

Exercice 2.12. Pour le système (2.6) calculer explicitement un bou-


clage d’état qui place les pôles. Connaissant les paramètres m1 , m2 ,
et k que choisir comme pôles pour assurer la stabilité asymptotique du
système bouclé ainsi que la robustesse par rapport à des dynamiques
négligées ?
28 PH. MARTIN & P. ROUCHON

Exercice 2.13. Soit le système de la figure 2.3. On rajoute un amor-


tisseur linéaire entre les deux masses. Ainsi (2.6) devient (a > 0 est
le coefficient de frottement)
/
m1 ẍ1 = k(x2 − x1 ) + a(ẋ2 − ẋ1 ) + u
m2 ẍ2 = k(x1 − x2 ) + a(ẋ1 − ẋ2 ).

Montrer que le système reste commandable et calculer sa sortie de


Brunovsky.

2.3. Linéarisation par bouclage statique


2.3.a. Équivalence statique. La relation d’équivalence qui permet
de mettre un système linéaire ẋ = Ax + Bu commandable sous forme
de Brunovsky peut être prolongée de la manière suivante. Au lieu de
considérer des transformations du type
9 : 9 :
x Mx
#−→
u Kx + N u

avec M et N matrices inversibles, considérons des transformations


inversibles plus générales et non linéaires suivantes
9 : 9 :
x z = φ(x)
#−→
u v = k(x, u)

où φ est un difféomorphisme et à x bloqué, u #→ k(x, u) également. Il


est donc logique de considérer maintenant les systèmes non linéaires
de la forme ẋ = f (x, u) et leur classification modulo le groupe de
transformations ci-dessus. La relation d’équivalence qui en résulte est
appelée équivalence par bouclage statique régulier et changement de
coordonnées (d’une façon plus abrégée équivalence statique). Déci-
der si deux systèmes avec les mêmes nombres d’états et des com-
mandes, ẋ = f (x, u) et ż = g(z, v), (f , g régulières) sont équivalents,
est un problème de géométrie très compliquée et largement ouvert.
En revanche, il existe une caractérisation explicite des systèmes non
linéaires équivalents aux systèmes linéaires commandables : ces sys-
tèmes sont dits linéarisables par bouclage statique régulier.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 29

2.3.b. CNS de linéarisation statique. L’intérêt pratique est le


suivant. Les équations issues de la physique ẋ = f (x, u) sont en gé-
néral non linéaires dans les coordonnées de modélisation x et u. La
question « Existe-t-il des coordonnées, z = φ(x) et v = k(x, u), qui
rendent les équations linéaires, ż = Az + Bv avec (A, B) comman-
dable ? » est alors d’importance. En effet, une réponse positive signifie
que le système est faussement non linéaire. Il suffit de changer de « re-
père » pour que tout devienne linéaire.
À partir de maintenant, nous considérons le système
ẋ = f (x, u), x ∈ Rn , u ∈ Rm
avec f régulière et f (0, 0) = 0. Notre point de vue sera local autour
de l’équilibre (x, u) = (0, 0). Il peut être élargi à l’espace tout entier
sans difficulté importante.

Lemme 2.14. Les deux propositions suivantes sont équivalentes


(1) Le système étendu
/
ẋ = f (x, u)
(2.9)
u̇ = u

est linéarisable par bouclage statique (u est ici la commande)


(2) Le système
(2.10) ẋ = f (x, u)
est linéarisable par bouclage statique.

Démonstration. Si x = φ(z) et u = k(z, v) transforment (2.10) en un


système linéaire commandable ż = Az + Bv, alors
∂k ∂k
(x, u) = (φ(z), k(z, v)) et u = (Az + Bv) + v
∂z ∂v
transforme (2.9) en
(2.11) ż = Az + Bv, v̇ = v
système linéaire commandable. Ainsi la seconde proposition implique
la première.
Supposons maintenant la première proposition vraie. Comme tout
système linéaire commandable peut s’écrire sous la forme (2.11) avec
30 PH. MARTIN & P. ROUCHON

(A, B) commandable, (cf. forme de Brunovsky) il existe une transfor-


mation (x, u) = (φ(z, v), ψ(z, v)) et u = k(z, v, v) qui transforme (2.9)
en (2.11) avec dim(z) = dim(x). Cela veut dire que pour tout (z, v, v)
∂φ ∂φ
(z, v)(Az + Bv) + v = f (φ(z, v), ψ(z, v)).
∂z ∂v
Donc φ ne dépend pas de v et la transformation inversible x = φ(z),
u = ψ(z, v) transforme (2.10) en ż = Az + Bv.

Ainsi, quitte à étendre l’état en posant u̇ = u et en prenant comme


entrée u, on peut toujours supposer que f est affine en u, i.e., que le
système admet les équations
(2.12) ẋ = f (x) + g1 (x)u1 + · · · + gm (x)um
où f et les gi sont des champs de vecteurs. Il est alors facile de voir
que les transformations x = φ(z) et u = k(z, v) qui rendent le système
linéaire sont nécessairement affines en v, i.e., k(x, v) = α(x) + β(x)v
avec β inversible pour tout x.
À partir des champs de vecteurs définissant (2.12), on définit une
suite de distributions croissantes par la récurrence suivante
E0 = {g1 , . . . , gm }, Ei = {Ei−1 , [f, Ei−1 ]} i " 1
où [f, g] est le crochet de Lie de deux champs de vecteurs. Ces distri-
butions et le crochet sont invariants par changement de coordonnées.
Le résultat suivant est issu de [48].

Théorème 2.15 (CNS de linéarisation statique). Autour de l’équilibre


(x, u) = (0, 0), le système (2.12) est linéarisable par bouclage statique
régulier si, et seulement si, les distributions Ei , i = 1, . . . , n − 1
définies ci-dessus sont involutives (stable par le crochet de Lie), de
rang constant autour de x = 0 et le rang de En−1 vaut n, la dimension
de x.

Démonstration. Il est évident que les distributions Ei , qui sont des


objets intrinsèques par rapport au coordonnées x, restent également
inchangées par bouclage statique u = α(x) + β(x)v avec β(x) inver-
sible. Comme pour un système linéaire commandable ẋ = Ax+Bu, Ei
correspondent à l’image de (B, AB, . . . , Ai B), les conditions sur les Ei
sont donc nécessaires. Leur coté suffisant repose essentiellement sur le
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 31

théorème de Frobenius [39]. Si les Ei vérifient les conditions du théo-


rème, alors il existe un système de coordonnées locales (x1 , . . . , xn )
autour de 0 tel que
; <
∂ ∂
Ei = ,...,
∂x1 ∂xσi
où σi est le rang de Ei . Dans ces coordonnées locales, ẋi pour i >
σ0 ne dépend pas de la commande u. Ainsi, en remplaçant u par
α(x) + β(x)u avec une matrice inversible β bien choisie, la dynamique
(2.12) s’écrit nécessairement ainsi
ẋi = ui , i = 1, . . . , σ0
ẋi = fi (x), i = σ0 + 1, . . . , n.
Un raisonnement simple montre que, pour i > σ1 , fi ne dépend pas de
(x1 , . . . , xσ0 ) car E1 involutive. Ainsi nous avons la structure suivante
ẋi = ui , i = 1, . . . , σ0
ẋi = fi (x1 , . . . , xn ), i = σ0 + 1, . . . , σ1
ẋi = fi (xσ0 +1 , . . . , xn ), i = σ1 + 1, . . . , n.
De plus le rang de (fσ0 +1 , . . . , fσ1 ) par rapport à (x1 , . . . , xσ0 ) vaut
σ1 − σ0 . Donc σ0 ! σ1 − σ0 . Quitte à faire des permutations sur les σ0
premières composantes de x, on peut supposer que (x1 , . . . , xσ1 −σ0 ) #→
(fσ0 +1 , . . . , fσ1 ) est inversible. Cela permet de définir un nouveau sys-
tème de coordonnées en remplaçant les σ1 −σ0 premières composantes
de x par (fσ0 +1 , . . . , fσ1 ). Dans ces nouvelles coordonnées et après
bouclage statique régulier u #→ β(x)u avec β(x) inversible bien choisi,
nous avons la structure suivante (les notations avec u, x et f sont
conservées) :
ẋi = ui , i = 1, . . . , σ0
ẋi = xi−σ0 , i = σ0 + 1, . . . , σ1
ẋi = fi (xσ0 +1 , . . . , xn ), i = σ1 + 1, . . . , n.
On sait que ce système est linéarisable si, et seulement si, le système
réduit
ẋi = xi−σ0 , i = σ0 + 1, . . . , σ1
ẋi = fi (xσ0 +1 , . . . , xn ), i = σ1 + 1, . . . , n
32 PH. MARTIN & P. ROUCHON

avec (x1 , . . . , xσ1 −σ0 ) comme commande. Comme les distributions Ei


associées à ce système réduit se déduisent simplement de celles du sys-
tème étendu en éliminant les champs de vecteurs ∂/∂x1 , . . ., ∂/∂xσ0 ,
on voit qu’elles vérifient, elles aussi, les conditions du théorème. Ainsi
il est possible de réduire encore le système. À chaque étape, la linéa-
risation du système étendu est équivalente à celle du système réduit.
Au bout de cette élimination (en au plus de n − 1 étapes), la linéari-
sation du système de départ est alors équivalent à celle d’un système
réduit de la forme
ẋ = f (x, u)
où le rang de f par rapport à u est égale à la dimension de x, linéa-
risation qui est alors triviale.

Exercice 2.16. Soit le système de la figure 2.3. On suppose que le


ressort est non linéaire. Dans (2.6) la raideur k est fonction de x1 −x2 :
k = k0 + a(x1 − x2 )2 avec k0 et a > 0. Montrer que ce système est
linéarisable. Quelle est la sortie de Brunovsky du système linéaire
équivalent ? Que se passe-t-il si on rajoute du frottement ?

Exercice 2.17. Prenons l’exemple (2.2) en ne considérant que les deux


équations différentielles relatives à x1 et T (nous ne considérons que
la partie commandable). Montrer que ce sous-système à deux états
et une commande est linéarisable. Calculer le bouclage statique qui
linéarise le système.

2.3.c. Bouclage dynamique. Le lemme 2.14 est trompeur. Il


semble suggérer que le fait d’étendre un système en rajoutant des
dérivées de la commande dans l’état ne rajoute rien pour la linéa-
risation. Ceci est vrai si on rajoute le même nombre d’intégrateurs
sur toutes les commandes (« prolongation totale »). Par contre, des
nombres différents peuvent permettre de gagner quelque chose. Par
exemple le système

ẍ = −u1 sin θ, z̈ = u1 cos θ − 1, θ̈ = u2

n’est pas linéarisable par bouclage statique bien que le système étendu

ẍ = −u1 sin θ, z̈ = u1 cos θ − 1, ü1 = u1 , θ̈ = u2


SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 33

de commande (u1 , u2 ) le soit. Ce fait n’est nullement contraire au


lemme 2.14 puisque seule l’entrée u1 a été prolongée deux fois. Pour
un système à une seule commande, on ne gagne évidement rien [15].
Cette remarque est à l’origine de la linéarisation par bouclage dy-
namique tel qu’elle a été posée dans [15]. Un système ẋ = f (x, u) est
dit linéarisable par bouclage dynamique régulier, si, et seulement si,
il existe un compensateur dynamique régulier

ξ˙ = a(x, ξ, v), u = k(x, ξ, v),

tel que le système bouclé

ẋ = f (x, k(x, ξ, v)), ξ˙ = a(x, ξ, v)

soit linéarisable par bouclage statique régulier. Noter que la dimen-


sion de ξ est libre. La dimension de l’espace dans lequel on doit tra-
vailler peut a priori être arbitrairement grande. Noter également que
les compensateurs dynamiques qui consistent à ne prolonger que les
entrées, sont des compensateurs particuliers. Ils ne permettent pas de
linéariser certains systèmes comme celui ci (voir l’exemple 3.17) :

ẍ = −u1 sin θ + εu2 cos θ


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

En effet, on peut montrer que, quelque soit le compensateur dyna-


(α ) (α )
mique de la forme u1 1 = u1 , u2 2 = u2 (α1 et α2 entiers arbi-
traires), le système étendu n’est pas linéarisable par bouclage statique.
En revanche il est linéarisable par le bouclage dynamique endogène
construit en 3.17.
Cette question est à l’origine des systèmes plats, les systèmes li-
néarisables par des bouclages dynamiques dits endogènes et auxquels
est associée une relation d’équivalence (i.e., une géométrie). Nous ne
savons pas s’il existe des systèmes non linéarisables par bouclage dy-
namique endogène et cependant linéarisable par des bouclages dyna-
miques réguliers encore plus généraux dit exogènes. Tous les exemples
que nous connaissons et qui sont linéarisables par bouclage dyna-
mique, le sont par bouclage dynamique endogène.
34 PH. MARTIN & P. ROUCHON

CHAPITRE 3
SYSTÈMES PLATS

Un système ẋ = f (x, u) est ici vu comme un système sous-


déterminé d’équations différentielles. Les variables (x, u) sont sou-
mises aux contraintes ẋ − f (x, u) = 0. Les systèmes plats forment
une classe pour lesquels nous disposons d’une paramétrisation expli-
cite de toutes leurs solutions. Par explicite, nous signifions ici sans
intégration, uniquement à partir d’opérations de nature statique
(combinaison algébrique, . . .) et d’un nombre fini de dérivation en
temps.
Les solutions t #→ (θ(t), u(t)) du bras de robot (1.1) sont soumises
aux lois de la mécanique, la contrainte qui est ici
J θ̈ + mgl sin θ − u = 0.
Il est évident que l’on peut paramétrer explicitement toutes les so-
lutions à l’aide d’une fonction scalaire arbitraire du temps t #→ y(t)
supposée assez régulière (C 2 par morceaux suffit) grâce aux formules
explicites suivantes
θ = y, u = J ÿ + mgl sin y.
Ces formules sont celles du « couple calculé ». Elles consistent à utiliser
les équations de la mécanique à l’envers. Au lieu de fixer les loi horaires
des forces et les configurations/vitesses initiales, pour en déduire le
mouvement en intégrant des équations différentielles du second ordre
(opération en général délicate explicitement), il suffit d’imposer la loi
horaire sur les configurations et d’en déduire les forces simplement en
dérivant deux fois. Pour le bras de robot, la force est notre commande
en couple, et la configuration est donnée par l’angle θ. Nous dirons
que ce système mécanique est plat avec comme sortie plate θ.
À l’origine, la platitude a été définie [27, 30] dans le cadre de
l’algèbre différentielle. Un système est alors vu comme une exten-
sion différentielle de degré fini de transcendance différentielle. Le de-
gré de transcendance différentielle correspond alors au degré de sous-
détermination, i.e., au nombre de commandes indépendantes. Un sys-
tème est alors plat s’il est une extension différentielle transcendante
pure. Les générateurs d’une telle extension forment alors la sortie
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 35

plate. L’avantage d’une telle approche est sa capacité à traiter les


systèmes mixtes, d’équations différentielles et d’équations algébriques,
ainsi que les systèmes différentiels implicites.
En langage plus ordinaire, nous avons la définition suivante. Un sys-
tème d’état x ∈ Rn , de commande u ∈ Rm , ẋ = f (x, u) (f régulière)
est plat s’il existe y ∈ Rm de la forme
y = h(x, u, u̇, . . . , u(r) )
tel que
x = ϕ(y, ẏ, . . . , y (q) )
u = α(y, ẏ, . . . , y (q) )
(les fonctions h, ϕ et α sont régulières). D’un point de vue formel, le
passage de ẋ = f (x, u) à
x = ϕ(y, ẏ, . . . , y (q) )
u = α(y, ẏ, . . . , y (q) )
revient à rajouter m variables supplémentaires formant la sortie plate
y = h(x, u, u̇, . . . , u(r) )
et à tout exprimer en fonction de cette dernière. Le passage inverse
s’obtient en éliminant y. Au cours de cette élimination, nous obtenons
au passage la fonction h donnant y en fonction de x et u. Ainsi, il est
équivalent de se donner (f, h) ou (ϕ, α). Le problème fondamental est
alors le suivant : étant donnée la fonction f , i.e. les équations issues
de la physique du système, existe-t-il h tel que le système déterminé
implicite
ẋ = f (x, u), y = h(x, u, . . . , u(r) )
avec y fonction régulière du temps supposée donnée et (x, u) fonc-
tions régulières du temps supposées inconnues, puisse être résolu sans
intégration par des formules générales du type :
x = ϕ(y, ẏ, . . . , y (q) ), u = α(y, ẏ, . . . , y (q) ).
Ce problème est un problème ouvert. Il a été posé par David Hilbert
en 1912 [45], pour l’équation de Monge du second ordre
& '
d2 y dy dz
= F x, y, z, , ,
d2 x dx dx
36 PH. MARTIN & P. ROUCHON

un système différentiel sous-déterminé (une équation différentielle or-


dinaire en x reliant deux fonctions de x, y(x) et z(x)). Hilbert parle
alors de « solution sans intégrale » (« integrallos Auflösung »). Hilbert
montre aussi que cette question est liée à la classification des systèmes
différentiels sous-déterminés via un groupe de transformations, dites
« inversibles sans intégrale » (« umkehrbar integrallos »). Hilbert note
une analogie suggestive avec les transformations birationnelles et la
classification des variétés algébriques.
Peu après, Élie Cartan [13] reprend la question posée par Hilbert
et montre comment des calculs sur les systèmes de Pfaff (le drapeau)
permettent de caractériser les équations de Monge du second ordre
qui admettent une solution générale sans intégrale. Il en déduit une
description explicite de toutes les courbes de l’espace Euclidien R3
dont le rapport de la courbure et la torsion est constant. Les résul-
tats d’Élie Cartan sont complets pour les systèmes de Pfaff de codi-
mension 2, c’est à dire les systèmes différentiels sous-déterminés de
codimension 1, i.e., ne faisant intervenir qu’une seule fonction arbi-
traire (pour nous ne faisant intervenir essentiellement qu’une seule
commande). Élie Cartan [12] suggère aussi la notion d’équivalence
absolue mais ne la définit pas avec précision. Il note que pour les sys-
tèmes de Pfaff de codimension supérieure à 2 (faisant intervenir au
moins 2 commandes) la question se complique notablement. À notre
connaissance, elle reste aujourd’hui très largement ouverte.
Nous allons maintenant donner un cadre formel pour définir l’ana-
logue en théorie de la commande, des systèmes différentiels ordinaires
sous-déterminés résolubles sans intégration. Ce cadre a été pour la
première fois proposé en 1993 dans [28]. Il est relié à [3, 96]. D’autres
approches reprenant plus directement les systèmes de Pfaff et l’équi-
valence absolue sont également possibles [86, 119].
Il est intéressant de noter qu’à l’origine, dans le mémoire de
Monge [75], ce dernier parle de systèmes intégrables, bien qu’étu-
diant les systèmes différentiels sous-déterminés et non déterminés.
Aussi, il est suggestif de considérer la sous-classe des systèmes plats
parmi les systèmes différentiels sous-déterminés comme l’analogue à
celle des systèmes intégrables parmi des systèmes dynamiques déter-
minés. Si une telle analogie est valide (comme le pense Jean-Pierre
Ramis), alors la caractérisation en termes finis de la platitude a toutes
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 37

les chances d’être impossible. Tout au plus peut-on espérer avoir des
critères qui permettent de montrer que certains systèmes ne sont
pas plats (voir le critère des variétés réglées ci-dessous). Ces critères
auront alors un rôle analogue à celui du théorème de Morales-
Ramis [76] qui donne la non-intégrabilité des certains systèmes
hamiltoniens ainsi que des trois célèbres équations différentielles de
Lorenz.

3.1. Équivalence et platitude


3.1.a. Champ de vecteurs en dimension infinie. Un système
dynamique
(3.1) ẋ = f (x), x ∈ X ⊂ Rn
est par définition une paire (X, f ), où X est un ouvert de Rn et f
un champ de vecteurs sur X. Une solution, ou trajectoire, de (3.1) est
une application C 1 , t #→ x(t), telle que
ẋ(t) = f (x(t)) ∀ t " 0.
Notons que si x #→ h(x) est une application régulière sur X et t #→ x(t)
une trajectoire de (3.1), alors
d ∂h ∂h
h(x(t)) = (x(t)) · ẋ(t) = (x(t)) · f (x(t)) ∀ t " 0.
dt ∂x ∂x
Pour cette raison, la dérivée totale, i.e., l’application
∂h
x #−→ (x) · f (x)
∂x
est souvent appelée « dérivée en temps » de h et notée ḣ.
Nous voudrions avoir une description similaire, i.e., un « espace »
et un champ de vecteurs sur cet espace, pour un système commandé
(3.2) ẋ = f (x, u),
oùf est régulière sur un ouvert X × U ⊂ Rn × Rm . Ici f n’est plus
un champ de vecteurs sur X, mais plutôt une collection infinie de
champs de vecteurs sur X paramétrés par u : pour chaque u ∈ U ,
l’application
x #−→ fu (x) = f (x, u)
est un champ de vecteurs sur X. Une telle description n’est pas adap-
tée au bouclage dynamique, i.e., au rajout d’intégrateurs. Si l’on prend
38 PH. MARTIN & P. ROUCHON

comme commande v = u̇ au lieu de u, on obtient alors un système


étendu
ẋ = f (x, u), u̇ = v
qui correspond en un certain sens au même système mais pour lequel
la notion d’état classique n’a plus cours : l’espace X doit être prolongé
à l’espace X × U .
Il est cependant possible d’associer à (3.2) un champ de vecteurs
avec les « mêmes » solutions et pour lequel le fait de considérer u ou
v = u̇ comme entrée ne change rien. Pour cela nous allons maintenant
supposer que toutes les fonctions manipulées sont régulières, i.e., C ∞ .
Soit une solution régulière de (3.2), i.e., une application t #→
(x(t), u(t)) à valeur dans X × U telle que

ẋ(t) = f (x(t), u(t)) ∀ t " 0.

On peut considérer l’application infinie

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

prenant ses valeurs dans X × U × R∞ m , où Rm = R × R × . . .


∞ m m

représente le produit infini dénombrable de R . Un point de R∞


m
m est
de la forme (u , u , . . . ) avec u ∈ R . Cette application satisfait
1 2 i m

= >
˙ = f (x(t), u(t)), u̇(t), ü(t), . . . ∀ t " 0,
ξ(t)

et donc peut être interprétée comme la trajectoire d’un champ de


vecteurs infini

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

sur X × U × R∞
m . Inversement, chaque application

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

qui est une trajectoire de ce champ de vecteurs infini nécessairement


prend la forme (x(t), u(t), u̇(t), . . . ) avec ẋ(t) = f (x(t), u(t)), et donc
correspond à une solution de (3.2). Ainsi F est réellement un champ
de vecteurs et non une famille paramétrée de champs de vecteurs.
Avec une telle construction, le système (3.2) est défini par la donnée
d’un espace X × U × R∞ m est d’un champ de vecteurs F sur cet es-
pace. Comme pour un système dynamique classique sans commande,
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 39

la « dérivation en temps » d’une fonction régulière (x, u, u1 , . . . ) #→


h(x, u, u1 , . . . , uk ) dépendant d’un nombre fini de variables s’écrit

ḣ(x, u, u1 , . . . , uk+1 ) : = Dh · F
∂h ∂h 1 ∂h
= · f (x, u) + · u + 1 · u2 + · · · .
∂x ∂u ∂u
La somme est ici finie car h dépend d’un nombre fini de variables.
Pour être rigoureux, il faut définir la topologie et la structure dif-
férentiable de R∞ m pour pouvoir parler d’objet régulier [125]. Cette
topologie est celle de Fréchet. Elle fait en sorte que tout se passe
comme si on manipule des fonctions régulières sur k copies de Rm
pour un k « assez grand ». Pour la suite, il est suffisant de savoir
qu’une base d’ouverts est composée de produits infinis U0 × U1 × . . .
d’ouverts de Rm , qu’une fonction de R∞ m à valeur dans R est régulière
si elle dépend d’un nombre fini de variable et est régulière au sens
usuel. Ainsi une application Φ : R∞ m → Rn est régulière si chacune

de ces composantes est une fonction régulière.


R∞m avec sa topologie de Fréchet admet peu de propriétés. Des théo-
rèmes utiles comme celui des fonctions implicites, celui de Frobenius
et le théorème de redressement d’un champ de vecteurs ne sont plus
valables.
Cependant, les notions de sous-variétés de R∞ m et aussi de varié-
tés de dimension infinie existent dans ce cadre. Il suffit de recopier
les définitions de la dimension finie, en utilisant coordonnées locales,
cartes et atlas. Un lecteur non intéressé par ces développements tech-
niques ne perdra pas grand chose pour la suite s’il remplace variété
par « ouvert de R∞ m ».
Nous sommes en mesure de donner une définition précise de sys-
tème :

Définition 3.1. Un système est une paire (M, F ) où M est une variété
de dimension infinie modelée sur R∞ m et F un champ de vecteurs
régulier sur M.

Localement, un système est défini par Rα (α non nécessairement


fini) avec comme coordonnées (ξ1 , . . . , ξα ) et un champ de vecteur

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


40 PH. MARTIN & P. ROUCHON

où toutes ses composantes Fi sont des fonctions d’un nombre fini de


coordonnées. Une trajectoire est alors un application régulière t #→ ξ(t)
˙ = F (ξ(t)).
telle que ξ(t)
Nous avons vu qu’une telle définition permet de prendre en compte
les systèmes « traditionnels » ẋ = f (x, u). Elle comporte une diffé-
rence essentielle : la notion d’état n’existe plus ici. En effet
(3.3) ẋ = f (x, u), (x, u) ∈ X × U ⊂ Rn × Rm
et
(3.4) ẋ = f (x, u), u̇ = v
admettent la même description (X × U × R∞
m , F ), avec

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


Dans notre formalisme : t #→ (x(t), u(t)) est une trajectoire de (3.3) si,
et seulement si, t #→ (x(t), u(t), u̇(t)) est une trajectoire de (3.4). Cette
situation n’est pas surprenante car le bouclage dynamique ne préserve
pas la dimension de l’état. Cependant le nombre de commande est
préservé.

Exemple 3.2 (le système trivial). Le système trivial (R∞ m , Fm ), avec les
coordonnées (y, y 1 , y 2 , . . . ) et le champs de vecteur
Fm (y, y 1 , y 2 , . . . ) = (y 1 , y 2 , y 3 , . . . )
décrit n’importe quel système « traditionnel » composé de m chaînes
d’intégrateurs de longueurs arbitraires (cf. la forme normale de Bru-
novski des systèmes linéaires commandables), et en particulier le
transfert direct y = u.

En pratique nous identifions le champ de vecteurs infini


(f (x, u), u1 , u2 , . . . )
avec l’équation ẋ = f (x, u) qui le définit. La principale motivation de
ce formalisme tient à ce que les notions d’équivalence et de platitude
y sont particulièrement naturelles et simples à définir.

Remarque 3.3. Si la variété M est de dimension finie alors il s’agit


d’une équation différentielle classique, i.e., d’un système différentiel
ordinaire déterminé avec autant de variables que d’équations. Dans
le cas d’un système ẋ = f (x, u), le système devient sous-déterminé,
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 41

il comporte plus de variables (x, u) que d’équations. La variété M


associée est alors de dimension infinie.

Remarque 3.4. Notre définition est adaptée de la notion de diffiété in-


troduite dans [51] (voir aussi [125] pour une introduction plus abor-
dable) pour traiter les systèmes aux dérivées partielles. Par définition,
une diffiété est une paire (M, CT M) où M est une variété régulière,
de dimension finie ou infinie, est CT M une distribution (dite de Car-
tan) involutive sur M, i.e., le crochet de Lie de deux champs de vec-
teurs appartenant à CT M reste dans CT M. La dimension de CT M
est égale au nombre de variables indépendantes, i.e., au nombre de
dérivation. Comme nous considérons les systèmes gouvernés par des
équations différentielles ordinaires, nous utilisons des diffiétés avec des
distributions de Cartan de dimension 1.

3.1.b. Équivalence de systèmes. Nous définissons ici une relation


d’équivalence en formalisant l’idée que deux systèmes sont équivalents
s’il existe une transformation inversible qui échange leur trajectoires.
Comme nous le verrons plus loin la pertinence d’une telle d’équi-
valence vient du fait qu’elle admet une interprétation en termes de
bouclage dynamique.
Soient deux systèmes, (M, F ) et (N, G), et une application régulière
Ψ : M → N Rappelons que, par définition, chaque composante de Ψ
dépend d’un nombre fini de variables. Si t #→ ξ(t) est une trajectoire
de (M, F ), i.e.,
˙ = F (ξ(t)),
∀ ξ, ξ(t)
Alors la composée t #→ ζ(t) = Ψ(ξ(t)) satisfait
∂Ψ ˙ = ∂Ψ (ξ(t)) · F (ξ(t)).
ζ̇(t) = (ξ(t)) · ξ(t)
∂ξ ∂ξ
La somme ci-dessus ne comporte qu’un nombre fini de termes même
si les matrices et les vecteurs admettent un nombre infini de com-
∂Ψ
posantes : en fait une ligne de ne contient qu’un nombre fini de
∂ξ
termes non nuls.
Maintenant, supposons que les champs de vecteurs F et G soient
Ψ-conjugués, i.e.,
∂Ψ
∀ ξ, G(Ψ(ξ)) = (ξ) · F (ξ).
∂ξ
42 PH. MARTIN & P. ROUCHON

Alors
ζ̇(t) = G(Ψ(ξ(t)) = G(ζ(t)),
signifie que t #→ ζ(t) = Ψ(ξ(t)) est une trajectoire de (N, G). Si
de plus Ψ admet une application inverse régulière Φ alors F, G sont
également Φ-conjugués. Il existe alors une correspondance entre les
trajectoires des deux systèmes. Une telle application Ψ qui échange
F et G est appelé transformation endogène.

Définition 3.5. Deux systèmes (M, F ) et (N, G) sont équivalents en


(p, q) ∈ M × N si, et seulement si, il existe une transformation en-
dogène d’un voisinage de p vers un voisinage de q. (M, F ) et (N, G)
sont équivalents s’ils sont équivalents pour toute paire de points (p, q)
dans un ouvert dense de M × N.

Si M et N ont la même dimension finie, les systèmes sont équi-


valents à cause du théorème de redressement (avec des conditions
restrictives évidentes sur les point critiques des deux champs de vec-
teurs). Ce n’est plus le cas en dimension infinie.
Avec des coordonnées, les notions précédentes s’expriment comme
suit. Considérons les deux systèmes

(X × U × R∞ ∞
m , F ) et (Y × V × Rs , G)

décrivant les dynamiques

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


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

Les champs de vecteurs F, G sont définis par

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


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

Si ces deux systèmes sont équivalents, la transformation endogène Ψ


prend la forme suivante

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

Ici nous utilisons la notation abrégée u = (u, u1 , . . . , uk ), où k est un


entier fini mais arbitraire. Ainsi Ψ est complètement déterminé par
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 43

les applications ψ et β, i.e, par l’expression de y, v en fonction de x, u.


De même, l’inverse Φ de Ψ prend la forme
Φ(y, v, v 1 , . . . ) = (ϕ(y, v), α(y, v), α̇(y, v), . . . ).
Comme Ψ et Φ sont inverses l’une de l’autre, nous avons
= > = >
ψ ϕ(y, v), α(y, v) = y ϕ ψ(x, u), β(x, u) = x
= > et = >
β ϕ(y, v), α(y, v) = v α ψ(x, u), β(x, u) = u.
De plus F et G Ψ-conjugués impliquent
= >
f ϕ(y, v), α(y, v) = Dϕ(y, v) · g(y, v)
où g correspond à (g, v 1 , . . . , v k ), i.e., une troncature de G pour un
entier k assez grand. Inversement,
= >
g ψ(x, u), β(x, u) = Dψ(x, u) · f (x, u).
En résumé, dès que t #→ (x(t), u(t)) est une trajectoire de (3.5)
= >
t #−→ (y(t), v(t)) = ψ(x(t), u(t)), β(x(t), u(t))
est une trajectoire de (3.6), et réciproquement.
Exemple 3.6 (l’avion à décollage vertical). Le système associé à
ẍ = −u1 sin θ + εu2 cos θ
z̈ = u1 cos θ + εu2 sin θ − 1
θ̈ = u2 .
est globalement équivalent au système
ÿ1 = −ξ sin θ, ÿ2 = ξ cos θ − 1,
où ξ et θ sont les commandes. En effet, avec
X := (x, z, ẋ, ż, θ, θ̇) Y := (y1 , y2 , ẏ1 , ẏ2 )
et
U := (u1 , u2 ) V := (ξ, θ)
et avec les notations abrégées ci-dessus (discussion après la définition
3.5), nous définissons les applications Y = ψ(X, U ) et V = β(X, U )
par
 
x − ε sin θ
 z + ε cos θ  & '
  u1 − εθ̇2
ψ(X, U ) :=   et β(X, U ) :=
ẋ − εθ̇ cos θ θ
ż − εθ̇ sin θ
44 PH. MARTIN & P. ROUCHON

pour obtenir la transformation endogène Ψ. La transformation inverse


Φ est alors engendrée par X = ϕ(Y, V ) et U = α(Y, V ) comme suit :
 
y1 + ε sin θ
 y − ε cos θ 
 2  & '
ẏ + εθ̇ cos θ
 1  ξ + εθ̇2
ϕ(Y, V ) :=   et α(Y, V ) :=
 ẏ2 − εθ̇ sin θ  θ̈
 
 θ 
θ̇
Une importante propriété des transformations endogènes est
qu’elles préservent le nombre de commandes.
Théorème 3.7. Si les deux systèmes
(X × U × R∞
m,F) et (Y × V × R∞
s , G)

sont équivalents alors ils admettent le même nombre de commandes,


i.e., m = s.
Démonstration. Considérons la troncature Φµ de Φ sur X×U ×(Rm )µ ,
Φµ : X × U × (Rm+k )µ −→ Y × V × (Rs )µ
(x, u, u1 , . . . , uk+µ ) #−→ (ϕ, α, α̇, . . . , α(µ) ),
i.e., les premiers µ + 2 blocs des composantes de Ψ ; µ est juste un
entier « assez grand ». Comme Ψ est inversible, Ψµ est une submersion
pour tout µ. Donc la dimension de son espace de départ est supérieure
ou égale à celle de son espace d’arrivée,
n + m(k + µ + 1) " s(µ + 1) ∀ µ > 0.
Ce qui implique m " s. De même avec Ψ on obtient s " m.
Remarque 3.8. Cette définition de l’équivalence est adaptée de l’équi-
valence entre deux diffiétés. Étant données deux diffiétés (M, CT M)
et (N, CT N), on dit qu’une application régulière Ψ d’un ouvert de M
vers N est Lie-Bäcklund ou un un C-morphisme si son application tan-
gente T Ψ satisfait T Φ(CT M) ⊂ CT N. Si de plus Ψ admet une inverse
régulière Φ telle que T Ψ(CT N) ⊂ CT M, alors Ψ est un isomorphisme
de Lie-Bäcklund ou un C isomorphisme. Lorsqu’un tel isomorphisme
existe, les diffiétés sont dites équivalentes. Une transformation endo-
gène n’est donc qu’un isomorphisme spécial de Lie-Bäcklund qui pré-
serve le paramétrage en temps des courbes intégrales. Il est possible de
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 45

définir un concept plus général, l’équivalence orbitale [28, 25] avec les
isomorphismes de Lie-Bäcklund ne préservant que le lieu géométrique
des courbes intégrales.

3.1.c. Platitude différentielle. Nous mettons en évidence une


classe de systèmes, les systèmes équivalents aux systèmes triviaux
(R∞s , Fs ) (voir exemple 3.2) :

Définition 3.9. Le système (M, F ) est plat en p ∈ M (resp. plat) si,


et seulement si, il est équivalent en p (resp. équivalent) à un système
trivial.

Considérons un système plat (X ×U ×R∞


m , F ), d’après la définition
3.5, associé à
ẋ = f (x, u), (x, u) ∈ X × U ⊂ Rn × Rm .
Par définition le système est équivalent au système trivial (R∞
s , Fs )
où la transformation endogène Ψ prend la forme
(3.7) Ψ(x, u, u1 , . . . ) = (h(x, u), ḣ(x, u), ḧ(x, u), . . . ).
En d’autres termes, Ψ est le prolongement infini de l’application h.
L’inverse Φ de Ψ prend la forme
Ψ(y) = (ψ(y), β(y), β̇(y), . . . ).
Comme Φ et Ψ sont des applications inverses, on a
= > = >
ϕ h(x, u) = x and α h(x, u) = u.
De plus F et G Φ-conjugués implique que si t #→ y(t) est une trajec-
toire de y = v — i.e., rien d’autre qu’une fonction régulière arbitraire
du temps — alors
= > = >
t #−→ x(t), u(t) = ψ(y(t)), β(y(t))
est une trajectoire de ẋ = f (x, u), et vice versa.
L’application h de l’exemple ci-dessus est importante :

Définition 3.10. Soit (M, F ) un système plat et Ψ la transformation


endogène le mettant sous forme triviale. Le premier bloc des compo-
santes de Ψ, i.e., l’application h dans (3.7), est appelée sortie plate
(ou linéarisante).
46 PH. MARTIN & P. ROUCHON

Avec cette définition, une conséquence évidente du théorème 3.7


est :

Corollaire 3.11. Considérons un système plat. La dimension d’une


sortie plate est égale au nombre de commandes, i.e., s = m.

La sortie plate n’est pas unique. Si y est une sortie plate, γ(y)
est aussi une sortie plate dès que γ est un difféomorphisme régulier.
Pour les systèmes à une seule commande, i.e., une sortie plate scalaire
(s = m = 1), il est facile de démontrer de l’on passe d’une sortie plate
à une autre par un simple changement de variable purement statique.
Le cas multi-variable est nettement plus complexe. Par exemple pour
s = m = 2, il est facile de voir que si (y1 , y2 ) est une sortie plate
(r)
alors (!
y1 , y!2 ) = (y1 , y2 + γ(y1 )) est aussi une sortie plate quelque
soit γ régulière et r " 0. Le choix étant loin d’être unique, il faut
prendre une sortie plate qui conduit aux calculs de planification et
de bouclage (cf. ce qui suit) les plus simples. À ce niveau le sens
physique et surtout les symétries naturelles du système peuvent être
d’une grande utilité dans un tel choix (cf. section 3.5).

Exemple 3.12 (l’avion à décollage vertical (suite)). Le système étudié


en 3.6 est plat, avec
y = h(X, U ) := (x − ε sin θ, z + ε cos θ)
comme sortie plate. En effet, les applications X = ϕ(y) et U = α(y)
qui engendrent l’inverse de Φ peut être obtenues par les fonctions
implicites :
(y1 − x)2 + (y2 − z)2 = ε2
(y1 − x)(ÿ2 + 1) − (y2 − z)ÿ1 = 0
(ÿ2 + 1) sin θ + ÿ1 cos θ = 0.
Nous résolvons directement x, z, θ,
ÿ1
x = y1 ± ε #
ÿ12+ (ÿ2 + 1)2
(ÿ2 + 1)
z = y2 ± ε #
ÿ12 + (ÿ2 + 1)2
θ = arctan(ÿ2 + 1/ÿ1 ) mod π.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 47

Il suffit de différentier pour avoir ẋ, ż, θ̇, u en fonctions des dérivées
de y. Noter que la seule singularité est ÿ12 + (ÿ2 + 1)2 = 0 ; elle est liée
au deux branches de solutions.

3.1.d. Application à la planification de trajectoires. Nous


illustrons maintenant comment la platitude peut être utilisée pour
résoudre des problèmes de commande. Soit un système non linéaire
ẋ = f (x, u) x ∈ Rn , u ∈ Rm
avec comme sortie plate
y = h(x, u, u̇, . . . , u(r) ).
Ainsi, les trajectoires (x(t), u(t)) s’écrivent en fonction de y et ses
dérivées :
x = ϕ(y, ẏ, . . . , y (q) )
u = α(y, ẏ, . . . , y (q) ).
Nous commençons par le problème de la planification de trajectoire
entre un état de départ et un état d’arrivée. Nous supposons la sortie
plate (référence) donnée yi , i = 1, . . . , m par
A
(3.8) yi (t) := Aij λj (t),
j

où les λj (t), j = 1, . . . , N sont des fonctions de base. Nous réduisons


le problème à trouver une fonction dans un espace de dimension fini,
l’espace vectoriel sur R engendré par les λj (t).
Supposons donnés l’état initial x0 au temps τ0 et l’état final xf au
temps τf > τ0 . Pour un système plat ce problème est très simple. Il
suffit de calculer, au départ et à l’arrivée, la sortie plate et ses dérivées
à partir des états de départ et d’arrivée. Ensuite les coefficients Aij
vérifient les contraintes suivantes :
B B
yi (τ0 ) = j Aij λj (τ0 ) yi (τf ) = j Aij λj (τf )
.. ..
(3.9) . .
(q) B (q) (q) B (q)
yi (τ0 ) = j Aij λj (τ0 ) yi (τf ) = j Aij λj (τf ).
Nous détaillons le cas mono-dimensionnel (sortie plate de dimen-
sion un, une seule commande). Le cas multi-dimensionnel est simi-
laire : il suffit de dupliquer pour chaque composante de la sortie plate
48 PH. MARTIN & P. ROUCHON

le cas mono-dimensionnel. Notons Λ(t) la matrice q + 1 par N d’élé-


(i)
ment Λij (t) = λj (t) et posons
(q)
y 0 = (y1 (τ0 ), . . . , y1 (τ0 ))
(3.10) (q)
y f = (y1 (τf ), . . . , y1 (τf ))
y = (y 0 , y f ).

Alors la contrainte dans l’équation (3.9) s’écrit


& '
Λ(τ0 )
(3.11) y= A =: ΠA.
Λ(τf )
Les coefficients de A appartiennent à la sous-variété affine d’équation
(3.11). La seule condition est que la matrice Π soit de rang plein pour
que (3.11) ait toujours une solution. Cela signifie que l’espace des
fonctions λj doit être suffisamment riche.
Formellement, la planification de trajectoires se ramène, pour un
système plat, à de l’algèbre linéaire élémentaire.

3.1.e. Planification sous contraintes. Nous cherchons mainte-


nant une trajectoire allant de a vers b qui satisfait des contraintes
k(x, u, . . . , u(p) ) ! 0 à chaque instant. Dans les « coordonnées » plates
cela consiste à trouver T > 0 et une fonction [0, T ] " t #→ y(t) avec
(y, . . . , y (q) ) donné en t = 0 et T et surtout vérifiant ∀ t ∈ [0, T ],
K(y, . . . , y (ν) )(t) ! 0 pour un certain ν et une fonction K obtenue à
partir de k, ϕ et α. Lorsque q = ν = 0 ce problème, celui du déména-
geur de piano, est déjà très difficile.
Supposons ici simplement que les états initial et final soient deux
états d’équilibre. Supposons aussi qu’un mouvement quasi-statique
satisfaisant les contraintes soient possible : il existe un chemin (pas
une trajectoire) [0, 1] " σ #→ Y (σ) tel que Y (0) et Y (1) corres-
pondent aux équilibres de départ et d’arrivée et, pour tout σ ∈ [0, 1],
K(Y (σ), 0, . . . , 0) < 0. Alors il existe T > 0 et [0, T ] " t #→ y(t) solu-
tion du problème. Il suffit de prendre Y (η(t/T )) où T est assez grand,
et avec η fonction régulière croissante [0, 1] " s #→ η(s) ∈ [0, 1] avec
i
η(0) = 0, η(1) = 1 et ddsηi (0, 1) = 0 pour i = 1, . . . , max(q, ν).
Dans [107] cette méthode est utilisée sur un réacteur chimique
à deux commandes. Dans [102] le temps minimum sous contrainte
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 49

d’état est étudié pour divers systèmes mécaniques comme ceux inter-
venant pour la commande numérique des machines-outils et le pro-
blème de l’usinage à grande vitesse.
Enfin [116] aborde, pour les systèmes non holonomes, la planifi-
cation avec obstacles. À cause des contraintes non holonomes la mé-
thode précédente ne marche plus : il n’est plus possible de mettre les
dérivées de y à zéro car elles ne correspondent plus à des dérivées
en temps mais des dérivées en longueur d’arc. Cependant, plusieurs
expériences numériques montrent clairement l’importance de classer
les contraintes en fonction de l’ordre des dérivées de y.

3.1.f. Planification de trajectoires avec singularités. Dans la


section précédente, nous avons toujours supposé que la transformation
endogène
= >
Ψ(x, u, u1 , . . . ) := h(x, u), ḣ(x, u), ḧ(x, u), . . .
engendrée par la sortie plate y = h(x, u) est partout définie, régulière
et inversible de sorte qu’il est toujours possible d’exprimer x et u en
fonction de y et de ses dérivées,
(y, ẏ, . . . , y (q) ) #−→ (x, u) = φ(y, ẏ, . . . , y (q) ).
Cependant il peut arriver qu’une singularité se situe juste à l’endroit
où il est intéressant de piloter de système. Comme φ n’est pas définie
en un tel point, les calculs précédents deviennent caduques. Une façon
de contourner le problème est d’éclater la singularité en considérant
des trajectoires bien choisies t #→ y(t) telles que
= >
t #−→ φ y(t), ẏ(t), . . . , y (q) (t)
puisse être régulièrement prolonger en temps là où φ n’est pas défini.
Une telle procédure nécessite une étude détaillée et au cas par cas
de la singularité. Nous allons simplement illustrer cette idée sur un
exemple simple. Nous renvoyons le lecteur aux exemples de robots
mobiles avec ou sans remorques [111, 112, 30] et à la construction
d’une trajectoire de référence pour retourner le pendule sphérique du
robot 2kπ [55].

Exemple 3.13. Considérons la dynamique plate


ẋ1 = u1 , ẋ2 = u2 u1 , ẋ3 = x2 u1 ,
50 PH. MARTIN & P. ROUCHON

avec la sortie plate y := (x1 , x3 ). Alors dès que u1 = 0, i.e., ẏ1 = 0 la


transformation endogène définie avec la sortie plate est singulière et
son inverse
& '
φ ẏ2 ÿ2 ẏ1 − ÿ1 ẏ2
(y, ẏ, ÿ) #−→ (x1 , x2 , x3 , u1 , u2 ) = y1 , , y2 , ẏ1 , ,
ẏ1 ẏ13
n’est pas définie. Cependant
= si nous
> considérons des trajectoires de
la forme t #→ y(t) := σ(t), p(σ(t)) , avec σ et p fonctions régulières,
nous trouvons que
dp = > d2 p = > 3
ẏ2 (t) σ(t) · σ̇(t) ÿ2 ẏ1 − ÿ1 ẏ2 σ(t) · σ̇ (t)
= dσ et = dσ 2 .
ẏ1 (t) σ̇(t) ẏ13 σ̇ 3 (t)
Ainsi, nous pouvons prolonger t #→ φ(y(t), ẏ(t), ÿ(t)) partout en temps
avec
& '
dp = > d2 p = >
t #−→ σ(t), σ(t) , p(σ(t)), σ̇(t), σ(t) .
dσ dσ 2
La planification de trajectoire se fait alors de la même façon que
précédemment : en effet, les fonctions σ et p et leur dérivées sont
contraintes au départ et à l’arrivée. Ailleurs elles sont libres. Sur cet
exemple, le passage de la singularité est intimement lié à une symétrie
du système. Les équations
ẋ1 = u1 , ẋ2 = u2 u1 , ẋ3 = x2 u1 ,
t = σ(t) et u1 #→ u
sont linéaires en u1 ; la transformation t #→ ! !1 =
u1 /σ̇(t) où seule le temps t et la commande u1 changent, laisse les
équations invariantes.

3.2. Bouclage et équivalence


3.2.a. De l’équivalence au bouclage. La relation d’équivalence
que nous avons définie est très naturelle : c’est essentiellement une cor-
respondance entre les trajectoires fondée sur un point de vue boucle
ouverte. Nous allons maintenant aborder la boucle fermée en interpré-
tant l’équivalence en termes de bouclage. Pour cela considérons deux
dynamiques
ẋ = f (x, u), (x, u) ∈ X × U ⊂ Rn × Rm
ẏ = g(y, v), (y, v) ∈ Y × V ⊂ Rr × Rs .
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 51

Dans notre formalisme elles correspondent aux deux systèmes


(X × U × R∞
m , F ) et (Y × V × Rs , G), où F et G sont définis par

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


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

Supposons maintenant que ces deux systèmes soient équivalents, i.e.,


ils ont les mêmes trajectoires. Est-ce que cela implique que nous pou-
vons aller du système ẋ = f (x, u) au système ẏ = g(y, v) par un
bouclage (dynamique éventuellement),

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

et vice versa ? La question peut paraître stupide au premier abord


puisque un bouclage ne peut qu’augmenter la dimension de l’état
du système. Cependant, nous pouvons lui donner un sens si nous
acceptons de travailler « à des intégrateurs purs près » (rappelons
que cela ne change pas d’après la définition 3.1 le système).

Théorème 3.14. Supposons que ẋ = f (x, u) et ẏ = g(y, v) soient équi-


valents. Alors ẋ = f (x, u) peut être transformé par un bouclage (dy-
namique) et changement de coordonnées en

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

pour un entier µ assez grand. Inversement, ẏ = g(y, v) peut être trans-


formé par un bouclage (dynamique) et changement de coordonnées en

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

pour un entier ν assez grand.

Démonstration [61, 31]. Notons F et G les champs de vecteurs infinis


représentant les deux systèmes. L’équivalence signifie qu’il existe une
application inversible

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

telle que

(3.12) F (Φ(y, v)) = DΦ(y, v).G(y, v).


52 PH. MARTIN & P. ROUCHON

Posons y! := (y, v, v 1 , . . . , v µ ) et w := v µ+1 . Pour µ assez grand, ϕ


(resp. α) dépend uniquement de y! (resp. de y! et w). Avec ces nota-
tions, Φ s’écrit
Φ(!
y , w) = (ϕ(!
y ), α(!
y , w), α̇(y, w), . . . ),
et l’équation (3.12) implique en particulier
(3.13) f (ϕ(!
y ), α(!
y , w)) = Dϕ(!
y ) · g!(!
y , w),
où g! := (g, v 1 , . . . , v k ). Comme Φ est inversible, ϕ est de rang plein
et donc peut être complétée par une application π pour obtenir une
changement de coordonnées
y ) = (ϕ(!
y! #−→ φ(! y ), π(!
y )).
Considérons maintenant le bouclage dynamique
u = α(φ−1 (x, z), w))
ż = Dπ(φ−1 (x, z)) · g!(φ−1 (x, z), w)),
qui transforme ẋ = f (x, u) en
& ' & '
ẋ ! f (x, α(φ−1 (x, z), w))
= f (x, z, w) := .
ż Dπ(φ−1 (x, z)) · g!(φ−1 (x, z), w))
Utilisant (3.13), nous avons
& = >' & '
!
= > f ϕ(!y ), α(!y , w) y)
Dϕ(!
f φ(!y ), w = = · g!(!
y , w)
Dπ(!y ) · g!(!
y , w) y)
Dπ(!
= Dφ(!
y ) · g!(!
y , w).
Ainsi f! et g! sont φ-conjugués, ce qui termine la preuve. Un échange
des rôles entre f et g conduit au bouclage dans l’autre sens.
Comme un système plat est équivalent à un système trivial, on
obtient immédiatement le théorème suivant :
Corollaire 3.15. Une dynamique plate est linéarisable par bouclage
(dynamique) et changement de coordonnées.
Remarque 3.16. Comme le montre la preuve du théorème ci-dessus,
de nombreux bouclages réalisant l’équivalence sont possibles, autant
que de fonctions π. Noter que tous ces bouclages ne sont pas définis et
explosent en général au point où ϕ est singulière (i.e., là où son rang
chute). Plusieurs détails sur la construction de bouclages linéarisants
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 53

à partir de la sortie et les liens avec l’algorithme d’extension dyna-


mique se trouve dans [63]. Noter enfin qu’il est souvent possible de
construire, pour les systèmes plats, des bouclages dits quasi-statiques.
Ils ne rajoutent pas d’état supplémentaire et permettent de linéariser
la dynamique sans nécessairement passer par une forme d’état ex-
plicite. Pour une excellente référence sur le sujet, nous renvoyons à
[22].

Exemple 3.17 (l’avion à décollage vertical (suite)). Nous savons de


l’exemple 3.12 que la dynamique
ẍ = −u1 sin θ + εu2 cos θ
z̈ = u1 cos θ + εu2 sin θ − 1
θ̈ = u2
admet comme sortie plate
y = (x − ε sin θ, z + ε cos θ).
Elle se transforme en
(4) (4)
y1 = v1 , y2 = v2
avec le bouclage dynamique
ξ¨ = −v1 sin θ + v2 cos θ + ξ θ̇2
u1 = ξ + εθ̇2
−1
u2 = (v1 cos θ + v2 sin θ + 2ξ˙θ̇)
ξ
et le changement de coordonnées
˙ #−→ (y, ẏ, ÿ, y (3) ).
(x, z, θ, ẋ, ż, θ̇, ξ, ξ)
La seule singularité de ce bouclage est quand ξ = 0, c’est-à-dire
ÿ12 + (ÿ2 + 1)2 = 0 (l’avion est en chute libre). Notons enfin que l’avion
à décollage vertical n’est pas linéarisable par bouclage statique : il suf-
fit d’appliquer le théorème 2.15.

3.2.b. Bouclages endogènes. Le théorème 3.14 assure l’existence


d’un bouclage tel que
ẋ = f (x, κ(x, z, w))
(3.14)
ż = a(x, z, w).
54 PH. MARTIN & P. ROUCHON

s’écrit, à un changement de coordonnées près,


(3.15) ẏ = g(y, v), v̇ = v 1 , . . . , v̇ µ = w.
Mais (3.15) est équivalent à ẏ = g(y, v) (voir la remarque après la
définition 3.1), lui-même équivalent à ẋ = f (x, u). Ainsi, (3.14) est
équivalent à ẋ = f (x, u). Cela conduit à la

Définition 3.18. Considérons la dynamique ẋ = f (x, u). Le bouclage


u = κ(x, z, w)
ż = a(x, z, w)
est dit endogène si la dynamique en boucle ouverte ẋ = f (x, u) est
équivalente à la dynamique en boucle fermée
ẋ = f (x, κ(x, z, w))
ż = a(x, z, w).

Le terme « endogène » traduit le fait que les variables du bouclage z


et w sont en un certain sens « engendrées » par les variables originales
x, u (voir [61, 64] pour plus de détails sur ces bouclages).

Remarque 3.19. Il est aussi possible de considérer sans coût supplé-


mentaire des bouclages « généralisés » dépendant non seulement de
w, mais aussi des dérivées de w. Les bouclages quasi-statiques en font
partie [22].

Nous avons ainsi une caractérisation encore plus précise de l’équi-


valence et de la platitude :

Théorème 3.20. Deux dynamiques, ẋ = f (x, u) et ẏ = g(y, v), sont


équivalentes si, et seulement si, ẋ = f (x, u) peut être transformé par
bouclage endogène et changement de coordonnées en
(3.16) ẏ = g(y, v), v̇ = v 1 , . . . , v̇ µ = w.
pour un entier ν assez, et vice versa.

Corollaire 3.21. Une dynamique est plate si, et seulement si, elle est
linéarisable par bouclage dynamique endogène et changement de coor-
données.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 55

Une autre conséquence élémentaire et importante du théorème 3.14


est qu’un bouclage dynamique endogène peut être défait par un autre
bouclage endogène :
Corollaire 3.22. Considérons la dynamique
ẋ = f (x, κ(x, z, w))
ż = a(x, z, w)

u = κ(x, z, w), ż = a(x, z, w)
est un bouclage endogène. Elle peut être transformée par bouclage en-
dogène en
(3.17) ẋ = f (x, u), u̇ = u1 , . . . , u̇µ = w.
pour un entier µ assez grand.
Cela montre clairement les propriétés préservées par équivalence :
les propriétés qui sont préservées par l’ajout d’intégrateurs purs et les
changements de coordonnées, en particulier la commandabilité.
Un bouclage endogène est réellement « réversible », à des intégra-
teurs purs près. Il est important de mentionner qu’un bouclage qui
est inversible dans la terminologie standard — mais peut-être mal-
heureuse — [87] n’est pas nécessairement endogène. Par exemple le
bouclage ż = v, u = v agissant sur le système scalaire ẋ = u n’est pas
endogène. En effet, la dynamique en boucle fermée ẋ = v, ż = v n’est
plus commandable, ce qui est impossible à changer par n’importe quel
autre bouclage !

3.2.c. Suivi de trajectoires. Un problème important en pratique


est celui du suivi de trajectoires : étant donnée une dynamique ẋ =
f (x, u), nous cherchons un contrôleur = capable >de suivre n’importe
quelle trajectoires de référence t #→ xr (t), ur (t) : il convient de ra-
jouter à la commande en boucle ouverte une correction ∆u en fonction
des erreurs sur l’état ∆x = x − xr . Pour les systèmes plats une mé-
thode systématique existe pour calculer ∆u à partir de ∆x et de la
trajectoire de référence.
Si la dynamique admet comme sortie plate y = h(x, u), nous pou-
vons utiliser le corollaire 3.15 pour la transformer par bouclage dy-
namique (endogène) et changement de coordonnées en y (µ+1) = w.
56 PH. MARTIN & P. ROUCHON

Avec
v := yr(µ+1) (t) − K∆!
y
et une matrice gain K dont les valeurs propres sont à parties réelles po-
sitives, nous obtenons une dynamique de l’erreur asymptotiquement
stable
∆y (µ+1) = −K∆! y,
>
où yr (t) := (xr (t), ur (t) et y! := (y, ẏ, . . . , y µ ) et ∆ξ représente ξ −
ξr (t).
Une telle loi de commande assure le suivi asymptotique. Il existe
une transformation inversible
Φ(y) = (ϕ(y), α(y), α̇(y), . . . )
qui conjugue les champs infinis F (x, u) := (f (x, u), u, u1 , . . . ) et
G(y) := (y, y 1 , . . . ). De la preuve du théorème 3.14, cela signifie que
x = ϕ(!
yr (t) + ∆!
y)
= ϕ(!
yr (t)) + Rϕ (yr (t), ∆!
y ) · ∆!
y
= xr (t) + Rϕ (yr (t), ∆!
y ) · ∆!
y
et
u = α(!
yr (t) + ∆! y)
y , −K∆!
& '
∆!y
= α(!yr (t)) + Rα (yr(µ+1) (t), ∆!
y) ·
−K∆! y
& '
∆!
y
= ur (t) + Rα (!
yr (t), yr
(µ+1)
(t), ∆!
y , ∆w) · ,
−K∆! y
où nous avons utilisé le résultat classique de factorisation
C 1
Rϕ (Y, ∆Y ) := Dϕ(Y + t∆Y )dt
0
C 1
Rα (Y, w, ∆Y, ∆w) := Dα(Y + t∆Y, w + t∆w)dt.
0
Comme ∆y → 0 quand t → ∞, cela signifie que x → xr (t) et u →
ur (t). Il est clair qu’un tel algorithme de suivi a des performances
qui vont se dégradant (robustesse, sensibilité aux erreurs) au fur et à
mesure l’on s’approche d’une singularité de la transformation ϕ c’est
à dire de Φ et donc de la sortie plate.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 57

Nous terminons cette section par quelques commentaires sur l’uti-


lisation de la linéarisation par bouclage. Un bouclage linéarisant doit
toujours être nourri par un générateur de trajectoires, même si le
problème original n’est pas posé en termes de suivi de trajectoires.
Supposons que l’on désire stabiliser un point d’équilibre. L’applica-
tion brutale d’un bouclage linéarisant sans planification de trajec-
toires conduit à des commandes très importantes si l’on est loin de
l’équilibre. Le rôle du générateur de trajectoires est de définir une
trajectoire boucle ouverte « raisonnable » ramenant progressivement
le système à l’équilibre — i.e., satisfaisant certaines contraintes sur
l’état et/ou la commande — que le contrôleur linéarisant devra suivre.

3.2.d. Suivi de trajectoires : singularités et échelles de


temps. Le suivi de trajectoire est possible uniquement loin des
singularités de la transformation engendrée par la sortie plate. Si
la trajectoire de référence passe près ou traverse la singularité il
n’est plus possible de procéder comme ci-dessus. Cependant, tout
n’est pas perdu comme le montre l’exemple qui suit. Il peut être
utile parfois de changer le paramétrage du temps. L’intérêt est alors,
dans le nouveau temps, de retrouver une transformation régulière et
inversible et d’assurer ainsi le suivi exponentiel.
Exemple 3.23. Soit la trajectoire de référence t #→ yr (t) = (σ(t), p(σ(t))
pour l’exemple 3.13. Considérons le compensateur dynamique dépen-
dant du temps u1 = ξ σ̇(t) et ξ˙ = v1 σ̇(t). Le système en boucle fermée
s’écrit
x%1 = ξ, x%2 = u2 ξ, x%3 = x2 ξ ξ % = v1 .
avec % pour d/dσ. Une formulation équivalente est
x%%1 = v1 , x%%3 = u2 ξ 2 + x2 v1 .
Pour ξ loin de zéro, le bouclage statique u2 = (v2 − x2 v1 )/ξ 2 linéarise
la dynamique,
x%%1 = v1 , x%%3 = v2
dans le temps σ. Si le système reste proche de sa référence, ξ ≈ 1,
même si pour certain t, σ̇(t) = 0. Prenons
v1 = 0 − signe(σ)a1 (ξ −&1) − a2 (x1'− σ)
(3.18) d2 p dp
v2 = 2
− signe(σ)a1 x2 ξ − − a2 (x3 − p)
dσ dσ
58 PH. MARTIN & P. ROUCHON

avec a1 > 0 et a2 > 0. Alors la dynamique de l’erreur devient expo-


nentiellement stable en échelle σ (le terme signe(σ) est pour le cas
σ̇ < 0).

Des calculs similaires sont possibles pour les robots mobiles [29,
25].

3.3. Caractérisation de la platitude


3.3.a. La question de base. L’existence d’un critère calculable
pour décider si ẋ = f (x, u), x ∈ Rn , u ∈ Rm est plat reste une question
ouverte. Cela signifie qu’il n’existe pas de méthode systématique pour
construire une sortie plate. La situation est un peu analogue à celle des
fonctions de Lyapounov ou des intégrales premières uniformes pour un
système dynamique. Elles sont très utiles à la fois d’un point de vue
théorique et pratique bien qu’elles ne soient pas systématiquement
calculables.
La principale difficulté dans le calcul d’une sortie plate y =
h(x, u, . . . , u(r) ) réside dans sa dépendance par rapport aux dérivées
en u d’ordre r arbitrairement grand. Savoir si cet ordre r admet une
borne supérieure (en terme de n et m) reste une énigme. Nous ne
savons même pas, pour une dimension d’état et un nombre donné de
commandes, si une borne finie existe. Par la suite, nous dirons qu’un
système est r-plat s’il admet une sortie plate dépendant de u dérivé
au plus r fois.
Pour illustrer le fait qu’une telle borne doit être au mieux linéaire
en la dimension de l’état, considérons l’exemple suivant :
(α1 ) (α2 )
x1 = u1 , x2 = u2 , ẋ3 = u1 u2
avec α1 > 0 et α2 > 0. Il admet comme sortie plate
α1
A (α1 −i) (i−1)
y1 = x3 + (−1)i x1 u2 , y2 = x2 .
i=1

Ce système est r-plat avec r := min(α1 , α2 ) − 1. Nous conjecturons


qu’il n’existe pas de sortie plate dépendant des dérivées de u d’un
ordre inférieur ou égal à r − 1.
Admettons qu’une telle borne κ(n, m) soit connue, Le problème
de caractériser la p-platitude pour un p ! κ(n, m) donné peut être
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 59

résolu au moins théoriquement. Cela revient (voir [61]) à trouver m


fonctions h1 , . . . , hm dépendant de (x, u, . . . , u(p) ) tel que
, -
(µ)
dim span dx1 , . . . , dxn , du1 , . . . , dum , dh1 , . . . , dh(µ)
m
0"µ"ν
= m(ν + 1),
où ν := n + pm. Cela revient à vérifier l’intégrabilité d’un système
aux dérivées partielles avec comme condition de transversalité
dxi ∧ dh ∧ · · · ∧ dh(ν) = 0, i = 1, . . . , n
duj ∧ dh ∧ · · · ∧ dh(ν) = 0, j = 1, . . . , m
dh ∧ · · · ∧ dh(ν) 0= 0,
(µ) (µ)
où dh(µ) représente dh1 ∧ · · · ∧ dhm . Il est en théorie possible de
conclure par un critère calculable [10, 99], bien que les calculs gé-
néraux soient inextricables en pratique. Cependant, on peut espérer
utiliser la structure spéciale du problème pour mettre en évidence des
simplifications majeures. En bref, tout reste à faire même si l’on dis-
pose de plusieurs façon d’aborder la question (voir [3, 16, 90, 58, 5]).

3.3.b. Résultats connus


Systèmes linéarisables par bouclage statique. Nous avons vu qu’un
tel système admettait une forme normale de Brunovsky. Il est donc
plat, les sorties de Brunovsky, fonction de x uniquement, forment
alors une sortie plate. La condition nécessaire et suffisante [48, 46]
du théorème 2.15 est de nature purement géométrique. Noter qu’un
système plat n’est pas, en général, linéarisable par bouclage statique
(cf. l’avion à décollage vertical 3.12) sauf pour les systèmes avec une
seule commande.
Systèmes à une seule commande. Avec une seule commande, la linéa-
risation par bouclage dynamique implique la linéarisation par bou-
clage statique [15]. Ainsi la platitude est, dans ce cas, entièrement
caractérisée par le théorème 2.15.
Systèmes affines en commande de co-dimension 1. Un système de la
forme
n−1
A
ẋ = f0 (x) + uj gj (x), x ∈ Rn ,
j=1
60 PH. MARTIN & P. ROUCHON

i.e., avec une commande de moins que d’état est 0-plat dès qu’il est
commandable [15] (plus précisément fortement accessible en x). La
situation se complique très sensiblement lorsque la dépendance en u
n’est plus affine (voir [62] pour des conditions suffisantes de nature
géométrique).
Systèmes affines en commande à deux états et quatre commandes. Des
conditions nécessaires et suffisantes de 1-platitude de tels systèmes se
trouvent dans [6, 97]. Elles donnent une bonne idée de la difficulté
calculatoire du test effectif de la r-platitude même pour r petit.
B
Systèmes sans dérive. Pour les systèmes de la forme ẋ = m i=1 fi (x)ui
d’autres résultats sont disponibles.

Théorème 3.24 (systèmes sans dérive à deux commande [67])


Le système
ẋ = f1 (x)u1 + f2 (x)u2
est plat si, et seulement si, le rang générique de Ek est égale à k + 2
pour k = 0, . . . , n − 2 où E0 := {f1 , f2 }, Ek+1 := {Ek , [Ek , Ek ]},
k " 0.

Un système plat sans dérive à deux commandes est toujours 0-


plat. Un tel système satisfaisant des conditions supplémentaires de
régularité (voir [81]), peut être mis par bouclage statique régulier et
changement de coordonnées sous forme chaînée [82]
ẋ1 = u1 , ẋ2 = u2 , ẋ3 = x2 u1 , . . . , ẋn = xn−1 u1 ,
la sortie plate étant alors y = (x1 , xn ).

Théorème 3.25 (système sans dérive, n états, n − 2 commandes [68, 69])


Le système
n−2
A
ẋ = ui fi (x), x ∈ Rn
i=1
est plat dès qu’il est commandable (i.e., fortement accessible pour
presque tout x). Plus précisément, il est 0-plat si n est impaire, et
1-plat si n est pair.

Tous les résultats ci-dessus utilisent les systèmes différentiels exté-


rieurs et s’appuient sur certains travaux d’Élie Cartan.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 61

Certains systèmes mécaniques. Lorsque le nombre des commandes


(i.e., de moteurs) est égal aux nombre de degrés de liberté géométrique
moins un, une caractérisation très intrinsèque d’une sortie plate ne
dépendant que des variables de configuration est disponible. Dans
[105] l’existence d’une telle sortie plate est caractérisée à partir de
la métrique issue de l’énergie cinétique et de la co-distribution des
commandes.
Une condition nécessaire. Comme on ne sait pas si la platitude peut
être testée de manière finie, voir section 3.3.a, il est souvent très diffi-
cile de montrer qu’un système n’est pas plat. Le critère suivant donne
une condition simple qui permet de montrer de façon élémentaire que
certains systèmes ne sont pas plats.

Théorème 3.26 (le critère de la variété réglée [109])


Supposons que ẋ = f (x, u) soit plat. La projection sur le p-espace
de la sous-variété d’équation p = f (x, u) dans le (p, u)-espace (x est
ici un paramètre) est une sous-variété réglée pour tout x.

Ce critère signifie que l’élimination de u des n équations ẋ = f (x, u)


conduit à n − m équations F (x, ẋ) = 0 avec la propriété suivante :
pour tout (x, p) tel que F (x, p) = 0, il existe a ∈ Rn , a 0= 0 tel que
∀ λ ∈ R, F (x, p + λa) = 0.
F (x, p) = 0 est donc réglée car elle contient la droite passant par p
de direction a.
La preuve de ce résultat est directement dans l’esprit du papier de
Hilbert [45] qui montre que l’équation de Monge
& '2
d2 z dy
2
=
dx dx
n’est pas résoluble sans intégrale. Une version restreinte est proposée
dans [120] pour des systèmes linéarisables par des bouclages dyna-
miques très particuliers (prolongements purs).

Démonstration. Soit (x, u, p), tel que p = f (x, u). Génériquement,


f est de rang m = dim(u) par rapport à u (sinon, il suffit d’enle-
ver certaines commandes). Aussi, l’élimination de u des équations est
possible. Cela conduit à n − m équations ne faisant intervenir que x
62 PH. MARTIN & P. ROUCHON

et p, F (x, p) = 0. Ainsi nous avons la contrainte sur les trajectoires


autour de (x, u) : F (x, ẋ) = 0. Si le système est plat alors

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

où y est une sortie plate et l’application ϕ une submersion. Ainsi,


existe (y, ẏ, . . . , y (q) ) tel que x = ϕ(y, ẏ, . . . , y (q) ). Quelque soit la
fonction régulière du temps y, on a l’identité suivante
$ %
F ϕ(y, ẏ, . . . , y (q) ), ϕy ẏ + ϕẏ ÿ + · · · + ϕy(q) y (q+1) ≡ 0.

En prenant une fonction y dont les dérivées en t = 0 jusqu’à l’ordre q


sont imposées y (r) (0) = y (r) , r = 0, . . . , q et y (q) (0) = y (q) + ξ où ξ
est un vecteur arbitraire de Rm on a en particulier l’identité suivante
pour tout ξ ∈ Rm
$ %
F x, ẋ + ϕy(q) ξ ≡ 0

avec ϕy(q) évaluer en (y, ẏ, . . . , y (q) ). Par le point (x, p) de F (x, p) = 0,
passe l’espace affine parallèle à l’image de ϕy(q) , un espace vectoriel
de dimension au plus égale à m et au moins égale à 1.

Ce résultat est particulièrement simple. Il constitue cependant le


seul moyen de montrer que certains systèmes avec plusieurs com-
mandes ne sont pas plats.

Exemple 3.27. Le système

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

n’est pas plat, car la sous-variété p3 = p21 + p32 n’est pas réglée : il
n’existe pas de a ∈ R3 , a 0= 0, tel que

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

En effet, le terme cubique en λ implique a2 = 0, le terme quadratique


a1 = 0 et donc a3 = 0.

Exemple 3.28. Le système ẋ3 = ẋ21 + ẋ22 ne définit pas une sous-variété
réglée de R3 : il n’est pas plat dans R. En revanche, il définit une sous-
variété réglée de C3 : il est plat dans C, avec comme sortie plate
= √ √ √ >
y = x3 − (ẋ1 − ẋ2 −1)(x1 + x2 −1), x1 + x2 −1 .
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 63

Exemple 3.29 (la bille sur une règle [44]). Considérons le système de
la figure 3.1 décrit par les équations
r̈ = −Bg sin θ + Brθ̇2
(mr2 + J + Jb )θ̈ = τ − 2mrṙθ̇ − mgr cos θ,
où (r, ṙ, θ, θ̇) est l’état et τ la commande, En tant que système à

Figure 3.1. La bille roule sans glisser sur la règle dont on


pilote l’inclinaison

une commande, nous savons qu’il n’est pas linéarisable par bouclage
statique et donc qu’il ne peut pas être plat (cf. sous-section 3.3.b).
Cependant il est très instructif de le montrer avec le critère des variétés
réglées. Cela permet de comprendre pourquoi la caractérisation des
systèmes plats à une seule commande est une question résolue.
L’élimination de τ donne
ṙ = vr , v̇r = −Bg sin θ + Brθ̇2 , θ̇ = vθ
qui définit une sous-variété réglée de l’espace (ṙ, v̇r , θ̇, v̇θ ) pour chaque
r, vr , θ, vθ . On ne peut pas conclure directement. Cependant le système
est équivalent à
ṙ = vr , v̇r = −Bg sin θ + Brθ̇2 ,
qui ne définit pas une sous-variété réglée pour chaque (r, vr , θ). Donc
ce système n’est pas plat.
L’exemple qui précède montre clairement pourquoi les systèmes
plats à une commande coïncident avec les systèmes linéarisables par
bouclage statique. Pour un système mono-entrée plat, l’élimination
de u, conduit à une sous-variété de dimension 1 dans l’espace des
p = ẋ. Or les seules sous-variétés réglées de dimension 1 sont des
droites. Il est alors toujours possible de faire une changement de va-
riable sur x pour avoir des droites parallèles à une direction fixe,
indépendante de x et ainsi se ramener à un système équivalent avec
un état de moins et toujours une seule commande. On se ramène ainsi
64 PH. MARTIN & P. ROUCHON

de proche en proche, par changement de variables et élimination, à


un système avec un état et une commande. La sortie plate est alors
l’état mono-dimensionnel restant. Cette simple procédure montre clai-
rement que le système est linéarisable par bouclage statique.
Pour un système plat à deux entrées, l’élimination de u conduit à
une sous-variété réglée de dimension 2 qui n’est pas en général un plan
et donc n’a aucune raison d’être un espace affine. Le fait que la géomé-
trie des variétés réglées de dimension " 2 soit bien plus complexe que
celles de dimension 1 explique la différence entre le cas mono-entrée et
le cas multi-entrées. Nous donnons ici un exemple qui vérifie le critère
des variétés réglées mais qui n’est pas susceptible d’être traité par la
procédure récemment proposée dans [115] :

ẋ1 = x2 + (u1 − x1 u2 )2 u2 , ẋ2 = u1 , ẋ3 = u2

Cet exemple est issu de [98] où est proposée une généralisation du


critère des variétés réglées : cette généralisation permet de montrer
que deux systèmes ẋ = f (x, u) et ẏ = g(y, v) ne sont pas équivalents
au sens de la définition 3.5 lorsque ẏ = g(y, v) n’est plus le système
trivial ẏ = v.

3.4. Commande optimale et prédictive


Considérons le problème classique
C T
min J(u) = L(x(t), u(t))dt
u 0

avec ẋ = f (x, u), x(0) = a et x(T ) = b, où a, b et T > 0 sont donnés.


Supposons que ẋ = f (x, u) soit plat avec y = h(x, u, . . . , u(r) )
comme sortie plate,

x = ϕ(y, . . . , y (q) ), u = α(y, . . . , y (q) ).

La résolution numérique de minu J(u) nécessite a priori la discréti-


sation de l’espace d’état, une approximation de dimension finie. Une
autre façon consiste à discrétiser la sortie plate. Comme dans la sec-
BN
tion 3.1.d, posons yi (t) = 1 Aij λj (t). Les conditions initiales et
finales sur x signifient que les Aij sont dans un sous espace affine,
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 65

noté V . Ainsi nous sommes conduits au programme non linéaire sui-


vant C T
min J(A) = L(ϕ(y, . . . , y (q) ), α(y, . . . , y (q) ))dt,
A∈V 0
B
où les yi sont remplacés par N 1 Aij λj (t).
Cette méthode a été utilisée dans [85] pour la génération de trajec-
toires optimales. Elle est généralisée à des systèmes plus généraux que
les systèmes plats dans [14]. Elle peut également être utilisée pour la
commande prédictive. Le principal intérêt réside dans des gains im-
portants en temps de calculs et une meilleure stabilité numérique. En
effet, la quadrature exacte de la dynamique — correspondant à la dis-
crétisation exacte de la dynamique grâce à des signaux de commande
bien choisis avec α — évite les problèmes usuels liés à l’intégration de
ẋ = f (x, u) et à la contrainte finale x(T ) = b. Une référence récente
sur le sujet est [42].

3.5. Symétries
3.5.a. Sortie plate invariante. Soit une dynamique ẋ = f (x, u),
(x, u) ∈ X × U ⊂ Rn × Rm . Selon la section 3.1, elle engendre un
système (F, M), où
M := X × U × R∞
m et F (x, u, u1 , . . . ) := (f (x, u), u1 , u2 , . . . ).
Au cœur de notre notion d’équivalence se trouvent les applications en-
dogènes qui envoient les solutions d’un système vers celles d’un autre
système. Nous allons maintenant considérer une sous-classe impor-
tante de transformations endogènes, celles qui envoient les solutions
du système sur d’autres solutions du même système :

Définition 3.30. Une transformation endogène Φg : M #→ M est une


symétrie du système (F, M) si
∀ ξ := (x, u, u1 , . . . ) ∈ M, F (Φg (ξ)) = DΦg (ξ) · F (ξ).

Plus généralement, nous = >pouvons considérer un groupe de symé-


tries, i.e., une collection Φg g∈G de symétries ∀ g1 , g2 ∈ G, Φg1 ◦Φg2 =
Φg1 ∗g2 , où (G, ∗) est un groupe.
Supposons le système plat. Le choix de la sortie plate n’est pas
unique, car toute transformation sur la sortie plate donne lieu à une
66 PH. MARTIN & P. ROUCHON

autre sortie plate. Cependant, nous allons voir sur un exemple que
certains choix sont meilleurs que d’autres. Cela tient au fait que cer-
taines sorties plates admettent alors un sens physique immédiat et
donc, d’une certaine manière, préservent les symétries naturelles.

Exemple 3.31 (la voiture). Le système décrivant une voiture (condi-


tion de roulement sans glissement à l’avant et à l’arrière)
ẋ = u1 cos θ, ẏ = u1 sin θ, θ̇ = u2 ,
admet, comme groupe de symétries, le groupe SE(2) des déplace-
ments du plan (x, y) préservant l’orientation : chaque translation de
vecteur (a, b)% et rotation d’angle α, conduit à la transformation en-
dogène
X = x cos α − y sin α + a
Y = x sin α + y cos α + b
Θ=θ+α
U1 = u1
U2 = u2
qui est une symétrie, puisque les équations d’état restent les mêmes,
Ẋ = U1 cos Θ, Ẏ = U1 sin Θ, Θ̇ = U2 .
Ce système est plat avec z := (x, y) comme sortie plate. Évi-
demment, une multitude de sorties plates est possible comme z! :=
(x, y + ẋ). Cependant, z est un choix bien plus « naturel » que z!,
car z correspond aux coordonnées cartésienne de l’essieu arrière alors
que la seconde composante de z! n’a physiquement aucun sens en tant
que somme d’une position et d’une vitesse. Une façon plus formelle
serait de dire que z préserve les symétries alors que z! ne les respecte
pas. En fait chaque symétrie sur le système induit une transformation
sur z :
& ' & ' & ' & '
z1 Z1 X z cos α − z2 sin α + a
#−→ = = 1 .
z2 Z2 Y z1 sin α + z2 cos α + b
Cette transformation ne fait pas apparaître les dérivées de z : c’est une
transformation ponctuelle. Cette transformation engendre une trans-
formation endogène (z, ż, . . . ) #→ (Z, Ż, . . . ) par simple prolongement.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 67

Selon [40], nous dirons qu’une telle transformation qui est le prolon-
gement d’une transformation ponctuelle est holonome.
La transformation induite de façon similaire sur z!
& ' D E & '
z!1 Z!1 X
#−→ ! =
z!2 Z2 Y + Ẋ
D E
z!1 cos α + (z!˙1 − z!2 ) sin α + a
= ¨1 − z!˙2 ) sin α + b
z!1 sin α + z!2 cos α + (z!
n’est plus une transformation ponctuelle (elle comporte des dérivées
de z!). Elle n’est pas holonome.

= > (F, M) admettant une symétrie Φ (resp. un groupe


Soit un système
de symétries Φg g∈G ). Supposons que ce système soit plat avec y =
h(x, u, . . . , u(q) ) comme sortie plate. Notons Ψ := (h, ḣ, ḧ, . . . ) la
transformation endogène engendrée par h. L’exemple ci-dessus nous
suggère la définition suivante.

Définition 3.32 (sortie plate invariante). La sortie plate h est dite in-
variante
= > par rapport à la symétrie Φ (resp. au groupe de symétries
Φg g∈G ) si, et seulement si, la transformation Ψ ◦ Φ ◦ Ψ−1 est ho-
lonome (resp. les transformations Ψ ◦ Φg ◦ Ψ−1 sont holonomes pour
tout g ∈ G).
= >
Se pose alors la question fondamentale suivante : soit Φg g∈G un
groupe de symétries d’un système plat. Sous quelles conditions existe-
t-il une sortie plate invariante par rapport à un tel groupe.
Cette question peut être vue comme le cas particulier du pro-
blème général suivant : soit un système différentiel sous-déterminé
ẋ − f (x, u) = 0 avec un groupe de symétries ; peut-il être réduit à un
système plus petit ? Contrairement au cas déterminé où ce problème a
été étudié et résolu depuis longtemps, il semble que, pour les systèmes
sous-déterminés cette question ait été très peu étudiée [89].

3.5.b. Sortie plate, potentiel et degré de liberté de jauge.


Symétries et potentiels sont des concepts très importants en physique.
Pour clore ce chapitre, nous ne pouvons pas résister à la tentation de
montrer que la problématique des systèmes plats s’inscrit très natu-
rellement dans ce cadre.
68 PH. MARTIN & P. ROUCHON

Les équations de Maxwell dans le vide indique que le champ magné-


tique H est à divergence nulle, ∇·H = 0. En coordonnées euclidiennes
(x1 , x2 , x3 ), cela conduit au système sous-déterminé aux dérivées par-
tielles suivant
∂H1 ∂H2 ∂H3
+ + = 0.
∂x1 ∂x2 ∂x3
Une observation clé est que la solution générale de ce système dé-
rive d’un potentiel vecteur H = ∇ × A : la contrainte ∇ · H = 0 est
alors automatiquement vérifiée quelque soit le potentiel vecteur A. Ce
potentiel paramétrise toutes les solutions du système sous-déterminé
∇ · H = 0 (voir [100] pour une théorie générale dans le cadre li-
néaire avec la notion de systèmes paramétrisables). A est a priori non
unique car il est défini, à partir de H, à un champ de gradient près, le
degré de liberté de jauge. Les symétries du problème indiquent sou-
vent comment utiliser ce degré de liberté pour définir un potentiel A
« naturel » de façon à avoir les calculs les plus simples par la suite.
La situation est très analogue pour les systèmes plats. La sortie
plate est un « potentiel » pour le système différentiel sous-déterminé
ẋ − f (x, u) = 0. Les transformations endogènes sur la sortie plate cor-
respondent aux degrés de liberté de jauge. La sortie plate « naturelle »
est également déterminée par les symétries « naturelles » du système.
Avec une telle sortie plate, les bouclages deviennent aussi invariants
et donc préservent la physique du système (voir [71] pour le suivi de
trajectoire invariant).
Une façon moins ésotérique et plus pragmatique pour se convaincre
que la platitude est une notion intéressante consiste à parcourir le
petit catalogue de systèmes plats du chapitre 5.

CHAPITRE 4
SYSTÈMES PLATS DE DIMENSION INFINIE

La correspondance entre les trajectoires est à la base de la notion


d’équivalence et de platitude. Une telle correspondance peut être éten-
due à des systèmes qui ne sont plus nécessairement gouvernés par des
équations différentielles ordinaires. Des prolongements sont possibles
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 69

pour les systèmes gouvernés par des équations aux dérivées partielles
avec commande sur la frontière. Ici la situation est bien moins claire
que pour les équations différentielles ordinaires. Cependant des tels
prolongements peuvent être très utiles pour la planification de trajec-
toires.
Le cadre théorique qui permettrait de regrouper sous une même
forme les exemples qui suivent reste à définir. Nous renvoyons à [77,
33, 34] pour un début de formalisation dans le cas linéaire. On
trouvera aussi dans le numéro spécial de « International Journal of
Control » en l’honneur de Michel Fliess (Vol 81, issue 3, 2008), plu-
sieurs articles sur la dimension infinie et la platitude, articles qui com-
plètent la monographie [114]. Nous ne retenons ici que le coté expli-
cite des paramétrisations à l’aide de grandeurs jouant le rôle de sorties
plates et dont la dépendance en temps est libre de toutes contraintes
en dehors de celles liées à la régularité.

4.1. Retards et équations des ondes


4.1.a. Exemples de base. Soit le système différentiel à retard

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

Avec y(t) := x1 (t), nous avons une paramétrisation explicite des tra-
jectoires

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

Ainsi, y(t) := x1 (t) joue ici le rôle d’une sortie « plate » quitte à
utiliser dans les formules des valeurs avancées de y. Cette idée est
étudiée en détail dans [77], où la classe des systèmes δ-libre est définie
(δ est ici l’opérateur de retard). Plus précisément, [77] considère les
systèmes linéaires avec retard de la forme

M (d/dt, δ)w = 0

où M est une matrice (n−m)×n dont les éléments sont des polynômes
en d/dt et δ et où w = (w1 , . . . , wn ) correspond aux variables du
système. Un tel système est alors dit δ-libre s’il est relié au système
libre y = (y1 , . . . , ym ) engendré par m fonctions arbitraires du temps
70 PH. MARTIN & P. ROUCHON

par
w = P (d/dt, δ, δ −1 )y
y = Q(d/dt, δ, δ −1 )w,
avec P (resp. Q) une matrice n × m (resp. m × n) à éléments polyno-
miaux en d/dt, δ et δ −1 .
De nombreux systèmes linéaires sont δ-libres. Par exemple, ẋ(t) =
Ax(t)+Bu(t−1), avec (A, B) commandable, est δ-libre, avec la sortie
de Brunovsky de ẋ = Ax + Bv comme sortie « δ-libre ».
Les modèles suivants, très souvent utilisés en commande de procé-
dés, / F
m
A Kij exp(−sδij )
zi (s) = uj (s), i = 1, . . . p
j=1 1 + τij s

(s est la variable de Laplace, Kij est le gain statique, δij le retard et τij
la constante de temps du transfert entre uj et zi ) sont δ-libres [92].
À ce niveau, les travaux dans [101] sur des modules libres sont
particulièrement intéressants : ils proposent des méthodes formelles
systématiques pour le calcul de base, i.e., de paramétrisation explicite
via la sortie plate.

4.1.b. Barre en torsion. D’autres exemples de systèmes δ-libres


sont obtenus par l’équation des ondes. La dynamique en torsion d’une
barre élastique [35] avec d’un côté un moteur et de l’autre une inertie
est en variables réduites (figure 4.1)
∂t2 θ(x, t) = ∂x2 θ(x, t), x ∈ [0, 1]
∂x θ(0, t) = −u(t)
∂x θ(1, t) = −∂t2 θ(1, t),
où θ(x, t) est l’angle de torsion et u(t) la commande proportionnelle
au couple du moteur. Des formules de d’Alembert, θ(x, t) = φ(x+t)+
ψ(x − t), on déduit sans peine,
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),
avec y(t) := θ(1, t). Ce système est clairement δ-libre avec θ(1, t)
comme sortie « δ-plate ». Nous renvoyons à [78, 35] pour les calculs
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 71

Figure 4.1. Une barre en torsion avec inertie ponctuelle

et l’application à la planification de trajectoires (démarrage d’une


machine tournante).
Les paramétrisations précédentes utilisent des retards ponctuels.
Sur certains systèmes où la vitesse de propagation des ondes dépend
de l’espace, il est utile d’introduire des retards répartis comme le
montre l’exemple d’une chaîne pesante.

4.1.c. Chaîne pesante. Nous reprenons ici l’exemple introductif


de [94]. Les équations de la dynamique d’une chaîne pesante (cf. figure
4.2) sont
& '
∂2X ∂ ∂X
= gz pour z ∈ [0, L], X(L, t) = D(t)
∂t2 ∂z ∂z
avec la commande au bord D(t), le déplacement du chariot.

Figure 4.2. La chaîne pesante

Ce modèle est un modèle linéarisé autour de l’équilibre X = D(t),


72 PH. MARTIN & P. ROUCHON

X(z, t) étant l’abscisse à l’instant t du maillon à la coté z. Nous


allons montrer que la sortie plate est y(t) := X(0, t) avec
C 2π $ # %
1
(4.1) X(z, t) = y t + 2 z/g sin ξ dξ.
2π 0
Une façon de faire est de vérifier a posteriori que, quelque soit la
fonction t #→ y(t) deux fois dérivable, le profil X(z, t) ci-dessus vérifie
les équations de la dynamique avec comme commande
C 2π $ # %
1
D(t) = y t + 2 L/g sin ξ dξ.
2π 0
Une autre manière de procéder est le calcul symbolique à la Heaviside
ou Mikusiński. Formellement, cela revient à utiliser la transformation
de Laplace en temps et à remplacer la dérivée en temps avec la mul-
tiplication par s, la variable de Laplace (X" désigne la transformée de
Laplace de X) :
d $ dX "%
"
gz = s2 X.
dz dz
Il est bien connu [124] que la solution fondamentale de cette équa-
tion du second ordre qui n’est pas infinie en z = 0 s’exprime avec la
fonction de Bessel J0 (il s’agit de la fonction de Clifford) :
#
J0 (−2i z/gs).
Comme J0 (0) = 1, on a
#
" s) = J0 (−2i z/gs) X(0, s).
X(z,
Avec la représentation intégrale de Poisson
C 2π
1
J0 (ξ) = exp(iξ sin θ) dθ
2π 0
on obtient
C $ # %
" s) = 1

X(z, exp 2s x/g sin θ y"(s) dθ
2π 0
avec y = X(0, t). Comme la transformée de Laplace de y(t + a) est
exp(as)"y , on en déduit directement la formule (4.1). L’opérateur qui
à y associe le profil X(z, t) est à support compact. Il est facilement de
construire des trajectoires allant d’une position statique vers une autre
en temps fini. Les formules (4.1) fournissent une réponse élémentaire
à la planification de trajectoires.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 73

4.1.d. Réacteur chimique avec recyclage. Cet exemple est issu


de [113]. Dans [4], Aris et Amundson considèrent une classe de réac-

Figure 4.3. Le réacteur de Aris et Amundson avec un recyclage

teurs chimiques ne faisant intervenir qu’une seule réaction et dont le


prototype (ici A → B et deux espèces A et B) est décrit sur la figure
4.3 où nous avons rajouté un recyclage et une dynamique de trans-
fert thermique représentée par un retard pur τQ constant. Sous des
hypothèses classiques (agitation parfaite, volume constant, échange
thermique instantané, thermodynamique simplifiée) les bilans de ma-
tière et d’énergie conduisent aux équations suivantes :
(4.2)


ẋ(t) = D(xF − x(t)) + DR (x(t − τR ) − x(t)) − r(x(t), T (t))

Ṫ (t) = D(TF − T (t)) + DR (T (t − τR ) − T (t))


 +α r(x(t), T (t)) + Q(t − τQ ).
La concentration de l’espèce A est notée x et la température, T . La
commande Q est directement proportionnelle à la puissance échangée
avec l’extérieur. Les paramètres suivants sont supposés constants : α,
proportionnel à l’enthalpie de réaction ; D, le taux de dilution ; xF
et TF , les composition et température d’entrée.
Le recyclage est ici représenté par un retard pur τR (absence de
réaction et écoulement piston). Si VR est le volume du circuit de
recycle et FR son débit, alors τR = VR /FR .
Ainsi le modèle du réacteur est un système non linéaire à retards.
Pour son intégration, il est nécessaire de fixer la valeur initiale de x
et T non seulement dans le réacteur mais aussi dans le circuit de
recyclage. Ainsi la condition initiale porte sur les valeurs de x et T
entre les instants −τR et 0 : elle est de dimension infinie.
74 PH. MARTIN & P. ROUCHON

Supposons maintenant que la loi horaire de x(t) = y(t) soit don-


née. Le bilan matière (la première équation de (4.2)) donne une équa-
tion implicite définissant la température en fonction de y(t), ẏ(t) et
y(t − τR ) :
T (t) = Θ(y(t), ẏ(t), y(t − τR )).
Le bilan énergie fournit le flux thermique
Q(t−τQ ) = Ṫ (t)−D(TF −T (t))−DR (T (t−τR )−T (t))−α r(y(t), T (t));
d’où

Q(t) = Ṫ (t + τQ ) − D(TF − T (t + τQ ))
− DR (T (t − τR + τQ ) − T (t + τQ )) − α r(y(t + τQ ), T (t + τQ )).
Il s’en suit que Q(t) dépend de y(t + τQ ), ẏ(t + τQ ), ÿ(t + τQ ),
y(t − τR + τQ ), y(t − 2τR + τQ ) et ẏ(t − τR + τQ ). Formellement nous
avons

Q(t) = Λ[y(t + τQ ), ẏ(t + τQ ), ÿ(t + τQ ), y(t − τR + τQ ),


y(t − 2τR + τQ ), ẏ(t − τR + τQ )].
Ainsi la valeur de Q(t) sur l’intervalle [0, t∗ ] dépend de la valeur de y(t)
sur l’intervalle [−2τR + τQ , t∗ + τQ ]. Pour trouver une commande Q
qui connecte deux états stationnaires en temps fini, il suffit alors de
définir une fonction t #→ y(t) qui ne varie que sur [0, t∗ ]. Dans ce cas
la transition vers le nouveau état stationnaire commencera au temps
−τQ pour la commande Q, au temps 0 pour T et x. Le nouveau régime
stationnaire sera alors atteint au temps t∗ pour x, au temps t∗ + τR
pour T et au temps t∗ + 2τR − τQ pour Q.

4.1.e. Serpent non holonome. L’exemple le plus connu de sys-


tème plat est celui de la voiture avec plusieurs remorques (cf. chapi-
tre 5), la sortie plate étant la position de la dernière remorque. Lorsque
le nombre de remorques est important, il est tentant, comme le montre
le figure 4.4, de considérer l’approximation continue par le « serpent
non holonome ». Les remorques sont repérées par une variable conti-
nue, l ∈ [0, L] et un point dans le plan M (l, t). Les équations aux
dérivées partielles vérifiées par M sont les suivantes
G G
G ∂M G ∂M ∂M
G G
G ∂l G = 1, ∂l

∂t
= 0.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 75

Figure 4.4. Le serpent non holonome : approximation par


un système continu de la voiture avec beaucoup de
remorques

La première équation dit que l #→ M (l, t) est une paramétrisation en


longueur d’arc du serpent (les attaches des remorques sont inexten-
sibles). La seconde équation traduit les conditions de roulement sans
glissement, les contraintes non holonomes : la vitesse de la remorque l
est parallèle la direction de la remorque l, i.e., la tangent à la courbe
l #→ M (l, t). Il est évident que la solution générale de ce système est
très simple :
M (l, t) = P (s(t) − l), l ∈ [0, L]
où P correspond à la tête du serpent avec s #→ P (s) une paramé-
trisation en longueur d’arc de la courbe suivie par P . De la même
façon
M (l, t) = Q(s(t) + l), l ∈ [0, L]
où Q correspond à la queue du serpent, la sortie plate pour le sys-
tème avec un nombre fini de remorques. Le lien avec la dimension
finie est alors simplement le développement en série de Q(s + l) en s
B
via Q(s + l) = i!0 Q (s)l /i!. La formule avec le retard est ce-
(i) i

pendant bien plus simple et pratique. Avec beaucoup de remorques


(typiquement plus de 5), il est économe de fonder la planification de
trajectoires sur M (l, t) = Q(s(t) + l). Ainsi le modèle réduit du sys-
tème, i.e., le modèle qui conduit aux calculs les plus simples, est ici
de dimension infinie.
76 PH. MARTIN & P. ROUCHON

4.1.f. Équation de Burger sans diffusion. Nous considérons ici


l’équation de Burger sans diffusion [93]. Elle représente un gaz de

3.5

2.5

1.5

1
1
0.8 1.5
0.6
1
0.4
0.2 0.5
0 0

Figure 4.5. Un écoulement obéissant à l’équation de Bur-


ger ; transition d’une vitesse basse v ≡ 1 vers une vitesse
haute v ≡ 4 sans choc de compression.

particules sans interaction et en mouvement inertiel dans un tuyau


de longueur l :
∂v ∂v
+v = 0 x ∈ [0, 1]
(4.3) ∂t ∂x .
v(0, t) = u(t)
Le champ x #→ v(x, t) est la vitesse des particules en x ∈ [0, l]. La
commande est la vitesse d’entrée dans le tuyau u(t) > 0.
La vitesse en sortie est notée y(t) = v(l, t). Comme l’accélération
de chaque particule est constant, sa vitesse reste constante tout au
long de son trajet dans le tuyau. La particule qui en t sort, admet
comme vitesse y(t). Au temps t − l/y(t) cette même particule était à
l’entrée, c’est à dire en x = 0. Sa vitesse était alors de u(t − 1/y(t)).
D’où
y(t) = u(t − 1/y(t)).
Symétriquement nous avons ;
u(t) = y(t + 1/u(t)).
Plus généralement, nous avons :
y(t) = v(t − (1 − x)/y(t), x) x ∈ [0, 1]
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 77

et
u(t) = v(t + x/u(t), x) x ∈ [0, 1].
Formellement, nous avons une correspondance entre les trajectoires
t #→ v(•, t), solution de (4.3), et t #→ y(t). Cette correspondance est
effective dès que y > 0 est différentiable et t #→ t − (1 − x)/y(t)
croissante pour tout x ∈ [0, l], c’est à dire tel que pour tout temps t,
ẏ(t) > −y 2 (t).
Cette condition correspond à des solutions régulières sans choc [18].
Il est alors facile de générer des commandes t #→ u(t) allant des bases
vitesses v(•, 0) ≡ v1 > 0 vers les hautes vitesses v(•, T ) ≡ v2 > v1 en
un temps T pas trop court en évitant la formation d’onde de choc (ce
problème est typique des coups de bélier en hydraulique).
Notons que les calculs restent valables pour tout système de la
forme
vt + λ(v)vx = 0 x ∈ [0, l]
v(0, t) = u(t)
car les relations entre y(t) = v(l, t), u et v sont (voir, par exemple,
[21, page 41]) :
y(t) = u[t − 1/λ(y(t))], y(t) = v[t − (1 − x)/λ(y(t)), x].

4.1.g. Mélange. L’exemple de la figure 4.6 est issu de [93], un sys-


tème où le retard dépend de la commande. À partir des trois bacs de
couleurs pures, il convient d’obtenir dans le bac de sortie un mélange
de couleur et quantité fixées à l’avance. Du fait que les volumes des
tuyaux sont importants des retards apparaissent. On suppose ici les
écoulements pistons dans les tuyaux α et β. Connaissant les quantités
de couleurs dans le bac de sortie, t #→ Y = (Y1 , Y2 , Y3 ), il est possible
de calculer explicitement les trois commandes u = (u1 , u2 , u3 ) et les
profils de couleurs dans les tuyaux α et β avec Y et sa dérivée en
temps Ẏ . Les notations sont les suivantes (cf. figure 4.6).
– une couleur (ou composition) est un triplet (c1 , c2 , c3 ) avec ∀ i =
1, 2, 3 0 ! ci ! 1 et c1 + c2 + c3 = 1.
– bi = (δij )j=1,2,3 correspond aux couleurs fondamentales des trois
bacs d’entrée i, i = 1, 2, 3.
– u = (u1 , u2 , u3 )T : les débits de soutirage des trois bacs d’entrée
(la commande).
– α = (α1 , α2 , 0)T : couleur au nœud mélangeur α.
78 PH. MARTIN & P. ROUCHON

Χηροµατιχ Βατχη Προχεσσ: α σψστεµ ωιτη νονλινεαρ δελαψσ.

noeud α

noeud β β

χολορ σλιδερ

Figure 4.6. Mélange de couleurs ; les délais variables non


négligeables sont dus aux rétentions Vα et Vβ dans les
tuyaux.

– β = (β1 , β2 , β3 )T : couleur au nœud mélangeur β.


– V : volume dans le bac de sortie.
– X = (X1 , X2 , X3 ) : couleur du bac de sortie.
– Y = (Y1 , Y2 , Y3 )T = (V.X1 , V.X2 , V.X3 )T les rétentions dans le
bac de sortie. Y1 , Y2 , Y3 sont des fonctions croissantes du temps.
– Vα : volume du tuyau α.
– Vβ : volume du tuyau β.
Noter que
α1 + α2 = 1, β1 + β2 + β3 = 1, X1 + X2 + X3 = 1.
L’utilisation des équations de bilan couleur par couleur permet de
construire u, α et β à partir de Y . Supposons que t #→ σ(t) #→ Y (σ(t))
est donnée avec t #→ σ(t) une fonction croissante différentiable et σ #→
Yi (σ) positive, différentiable et strictement croissante pour i = 1, 2, 3.
Les calculs se déroulent en partant de la sortie pour aller vers l’entrée
en remontant le sens des fluides. Les étapes sont les suivantes (où %
signifie d/dσ) :
(1) résoudre (avec, par exemple, une méthode de Newton) l’équa-
tion scalaire
A3 3
A
Yi (σβ ) = Yi (σ(t)) + Vβ
i=1 i=1
avec σβ comme inconnue.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 79

(2) résoudre de même l’équation scalaire

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

avec σα comme inconnue.


(3) poser

Y1% (σα )
α1 (t) = , α2 (t) = 1 − α1 (t).
Y1% (σα ) + Y2% (σα )
et
9:
Y%
β(t) = (sβ )
V%
avec V = Y1 + Y2 + Y3 .
(4) poser

ui (t) = αi (t) (Y1% (σβ ) + Y2% (σβ )) V % (σ(t)) σ̇(t) i = 1, 2

et
u3 (t) = V % (σ(t)) σ̇(t) − u1 (t) − u2 (t)

Supposons maintenant que nous ayons à produire une série de mé-


langes de couleurs différentes définies par Qa = (Qa1 , Qa2 , Qa3 ), Qb =
(Qb1 , Qb2 , Qb3 ), Qc , . . . sans possibilité de purger les tuyaux α et β entre
chaque mélange. Il suffit de définir une courbe croissante pour chaque
composante de Y , t #→ σ #→ Yi comme sur la figure 4.7. La loi horaire
t #→ σ(t) admet des tangentes horizontales aux instants ta , tb , tc , . . .
pour assurer des transitions douces entre les divers mélanges.

4.2. Diffusion
Dans la section précédente, nous avons vu comment utiliser les
retards (linéaire et non linéaires) pour résoudre la planification de
trajectoires de systèmes avec propagation à vitesse finie et sans diffu-
sion. Nous allons maintenant voir des calculs très différents avec des
séries faisant intervenir un nombre infini de dérivées de y. La fonction
t #→ y(t) est alors C ∞ . Pour assurer la convergence des séries, y doit
être d’un ordre Gevrey fini [104].
80 PH. MARTIN & P. ROUCHON

Figure 4.7. Planification de la production en définissant


une bonne trajectoire pour la « sortie plate » t #→ Y (t).

4.2.a. Équation de la chaleur. Soit l’équation de la chaleur li-


néaire [54],
(4.4) ∂t θ(x, t) = ∂x2 θ(x, t), x ∈ [0, 1]
(4.5) ∂x θ(0, t) = 0
(4.6) θ(1, t) = u(t),
avec θ(x, t) le profil de température et u(t) la commande. Nous allons
voir que
y(t) := θ(0, t)
est une « sortie plate ». Comme pour la chaîne pesante nous allons
commencer par un calcul formel. Avec la variable de Laplace s, le
système s’écrit
" s) = θ"%% (x, s) avec θ"% (0, s) = 0,
sθ(x, " s) = u
θ(1, "(s)
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 81

(où % signifie ∂x et " transformée de Laplace). La solution est


" s) = cosh(x√s)"
clairement θ(x,
√ " s) =
u(s)/ cosh( s). Comme θ(0,

"(s)/ cosh( s), nous avons
u
√ √
" s) = cosh(x s) y"(s).
"(s) = cosh( s) y"(s) et θ(x,
u
√ B
Puisque cosh s = +∞ i=0 s /(2i)!, nous avons formellement
i

+∞
A y (i) (t)
(4.7) θ(x, t) = x2i
(2i)!
i=1
+∞
A y (i) (t)
(4.8) u(t) = .
(2i)!
i=1
Noter que ces calculs sont connus depuis longtemps (voir [123, pp. 588
and 594] ou encore [38]). Ils sont à l’origine des fonctions Gevrey-2,
fonctions C ∞ telles que les séries ci-dessus convergent.
Regardons un peu ces questions de convergence. D’un coté, t #→ y(t)
doit être une fonction régulière telle que
∃ K, M > 0, ∀ i " 0, ∀ t ∈ [t0 , t1 ], |y (i) (t)| ! M (Ki)2i
pour que les séries (4.7)-(4.8) convergent. D’un autre coté, t #→ y(t)
ne peut pas être analytique partout, si l’on souhaite utiliser ces séries
pour aller d’un profil vers une autre. En effet si le système est à piloter
d’un profil initial θ(x, t0 ) = α0 (x) en t0 au profil final θ(x, t1 ) = α1 (x)
en t1 , l’équation (4.4) implique que
∀ t ∈ [0, 1], ∀ i " 0, y (i) (t) = ∂ti θ(0, t) = ∂x2i θ(0, t),
et en particulier
∀ i " 0, y (i) (t0 ) = ∂x2i α0 (0) et y (i) (t1 ) = ∂x2i α1 (1).
Si, par exemple α0 (x) = c pour tout x ∈ [0, 1] (i.e., profil uniforme),
alors y(t0 ) = c et y (i) (t0 ) = 0 pour tout i " 1, ce qui implique y(t) = c
pour tout t si f est analytique. Il est alors impossible avec une telle
classe de fonctions de générer des trajectoires autre que θ ≡ c.
Les fonctions t ∈ [t0 , t1 ] #→ y(t) qui vérifient
∃ K, M > 0, ∀ i " 0, ∀ t ∈ [t0 , t1 ], |y (i) (t)| ! M (Ki)σi
sont connues sous le nom de fonction Gevrey d’ordre σ [103] (elles sont
aussi reliées aux fonctions de classe S [41]). Les fonctions analytiques
sont les fonctions Gevrey d’ordre ! 1. Pour tout σ > 1, il existe une
82 PH. MARTIN & P. ROUCHON

fonction d’ordre Gevrey σ à support compact sans être nulle. Citons,


comme prototype, la fonction ∆σ en forme de cloche de support [0, 1]
et définie par
= >
∆σ (t) = exp −1/(t(1 − t))1/(σ−1) pour t ∈ [0, 1].
Enfin la classe des fonctions Gevrey σ " 1 est stable par addition,
multiplication, composition, dérivation et intégration.
Ainsi pour la planification de trajectoires de l’équation de la cha-
leur, nous avons besoin de fonctions Gevrey d’ordre > 1, ! 2 pour
la convergence des séries et dont les séries de Taylor en t0 et t1 sont
imposées par les profils initiaux et finaux. Avec de telles fonctions
nous pouvons calculer avec (4.7), la commande en boucle ouverte qui
assure la transition d’un profil vers un autre.
Par exemple, la figure 4.8 correspond au passage de θ = 0 en t = 0
à θ = 1 en t = 1 avec la fonction



 0 si t < 0


1 si t > 1
R " t #−→ y(t) := H t
0 ∆2 (τ )dτ



 si t ∈ [0, 1].
 H1
0 ∆2

1.5

0.5

0
1
0.8 1
0.6 0.8
0.4 0.6
0.4
0.2 0.2
0 0

Figure 4.8. Équation de la chaleur ; profil de température


entre deux états stationnaires t ∈ [0, 1]

Suite à une discussion avec Jean-Pierre Ramis en octobre 1997,


des essais numériques indiquent que les calculs peuvent également
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 83

être conduits avec des fonctions d’ordre Gevrey > 2. Les séries di-
vergent alors mais une sommation aux plus petits termes (voir [104])
donne des résultats numériques très encourageants. Les commandes
semblent plus douces qu’avec des séries convergentes. Ces premiers
calculs ont été confirmés par la suite dans [72, 73] sur équations de
convection/diffusion 1D avec des termes sources non-linéaires.

4.2.b. Réacteur chimique tubulaire (convection/diffusion).


Nous reprenons ici [37, 113]. La seule différence vient du fait que
le système est vectoriel et les coefficients sont des fonctions de l’abs-
cisse z. La convergence des séries est encore assurée bien que moins
évidente que pour l’équation de la chaleur. Le réacteur tubulaire est

Figure 4.9. Réacteur tubulaire à parois adiabatiques

uniquement piloté par les flux de matière et d’énergie à l’entrée. Il


est possible de paramétrer les trajectoires avec la concentration et la
température en sortie x(l, t) et T (l, t).
Un premier modèle, linéarisé autour d’un régime stationnaire est
de la forme (convection-diffusion) :
9 : 9 : 9 :
∂ x(z, t) ∂ 2 x(z, t) ∂ x(z, t)
(4.9) =Γ 2 −v
∂t T (z, t) ∂z T (z, t) ∂z T (z, t)
9 :9 :
−rx −rT x(z, t)
+ ,
αrx αrT T (z, t)
pour z ∈ [0, l], avec les conditions aux bords
9 : 9 :I 9 :
x(0, t) ∂ x II ux (t)
v −Γ =
T (0, t) ∂z T I0,t uT (t)
9 :I
∂ x II
= 0.
∂z T Il,t
Le système est piloté via les flux totaux ux et uT à l’entrée du réacteur
(z = 0). Les flux de diffusion sont nuls à la sortie du réacteur (z = l).
La vitesse de l’écoulement est v. La matrice de diffusion est Γ ; α est
84 PH. MARTIN & P. ROUCHON

proportionnel à l’enthalpie de réaction. Les dérivées partielles de la


cinétique r(x, T ) par rapport à x et T sont notées rx et rT . Il est pos-
sible de conduire les calculs avec Γ, α, rx et rT fonctions analytiques
en x, et v Gevrey 2 en temps : les récurrences qui suivent sont alors
plus complexes mais les séries convergent sous les mêmes hypothèses
(cf. [54]). Pour simplifier nous présentons les calculs en supposant v,
Γ, α, rx et rT constants.
Les concentration et température, x(l, t) et T (l, t), à la sortie du ré-
acteur forment une sortie plate. Notons y(t) le vecteur [x(l, t), T (l, t)]% .
En effet considérons un développement en série de puissances de
(z − l) :
9 : ∞
A
x (z − l)i
(z, t) = ai (t).
T i!
i=0
où les ai sont des vecteurs de dimension 2. Ainsi
a0 (t) = y(t),
et la condition au bord z = l donne
a1 (t) = 0.
L’équation (4.9) impose après identification terme à terme la récur-
rence suivante :
9 :
−1 dai
(4.10) ai+2 = Γ + vai+1 + Rai , i > 0,
dt
avec 9 :
rx rT
R= .
−αrx −αrT
Ainsi ai s’exprime en fonction de y et de ses dérivées jusqu’à l’ordre(2)
E(i/2).
Formellement la commande est obtenue en évaluant pour z = 0 les
séries donnant x, T , ∂x/∂z et ∂T /∂z :
9 : ∞
A
x (−l)i
(0, t) = ai (t)
T i!
i=0
et 9 : ∞
A
∂ x (−l)i
(0, t) = ai+1 (t).
∂z T i!
i=0

(2)
E(i/2) est la partie entière de i/2.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 85

Ainsi
9 : A∞
ux (t) (−l)i
(4.11) = (vai − Γai+1 ).
uT (t) i!
i=0
Les profils x et T ainsi que le contrôle u(t) dépendent de y et d’un
nombre infini de ses dérivées en temps.
Les développements précédents sont formels. Ils doivent être com-
plétés par l’analyse de la convergence des séries. La classe des fonc-
tions y pour laquelle ces séries admettent un rayon de convergence
non nul est comme pour l’équation de la chaleur, celle des fonctions
d’ordre Gevrey ! 2.

4.2.c. Poutre en flexion (Euler-Bernoulli). Nous reprenons [2,


36]. Ici le coté calcul symbolique est particulièrement important.

Figure 4.10. Une poutre flexible en rotation autour d’un axe

Nous ne développerons pas le cadre formel avec le calcul opéra-


tionnel de Mikusiǹski. Pour cela nous renvoyons à [36]. Nous allons
uniquement présenter les calculs symboliques qui consistent comme
toujours à remplacer la dérivée en temps par la multiplication par s.
Le cadre formel donne un sens précis aux calculs que nous allons faire.
Les équations de l’élasticité linéaire conduisent au modèle 1D sui-
vant
∂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)
86 PH. MARTIN & P. ROUCHON

où la commande est le couple du moteur u, X(r, t) est le profile la


poutre, k, λ et µ sont des paramètres positifs liés aux inerties du
moteur et de la masse en r = 1 (t et r sont en échelles réduites sans
dimension).
Nous allons démontrer que formellement la solution générale de ce
système s’exprime à l’aide de y une fonction scalaire arbitraire C ∞
(d’ordre Gevrey ! 2 pour la convergence) :
(4.12)
A (−1)n y (2n) (t) A (−1)n y (2n+2) (t)
X(x, t) = Pn (x) + Qn (x)
(4n)! (4n + 4)!
n!0 n!0

avec (ı = −1, 6 et 7 signifient partie réelle et partie imaginaire,
respectivement)
x4n+1 (7 − 6)(1 − x + ı)4n+1
Pn (x) = + + µ7(1 − x + ı)4n
2(4n + 1) 2(4n + 1)
et
λµ = >
Qn (x) = (4n + 4)(4n + 3)(4n + 2) (7 − 6)(1 − x + ı)4n+1 − x4n+1
2
− λ(4n + 4)(4n + 3)6(1 − x + ı)4n+2 .
Noter que les autres quantités θ et u se déduisent sans difficulté de la
série (4.12). Il suffit de dériver terme à terme.
Nous allons uniquement montrer la formule pour λ = µ = 0 (pas
de masse en r = 1, M = J = 0). La méthode reste la même dans le
cas général. La question est alors la suivante : d’où vient la série
A y (2n) (t)(−1)n
(4.13) X(x, t) = πn (x)
(4n)!
n!0
avec
x4n+1 (7 − 6)(1 − x + ı)4n+1
πn (x) = + .
2(4n + 1) 2(4n + 1)
Avec la variable de Laplace s, nous avons le système différentiel
ordinaire
X (4) = −s2 X

X(0) = 0, X (2) (1) = 0, X (3) (1) = 0.
Les dérivées portent sur l’espace et s est ici un paramètre. La solution
générale de ce système dépend d’une constante arbitraire, i.e., d’une
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 87

fonction arbitraire de s, puisque nous n’avons que 3 conditions aux


limites. Avec les quatre solutions élémentaires suivantes
√ √
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)
où ξ = exp(ıπ/4), X s’écrit
X(x) = aC+ (x) + bC− (x) + cS+ (x) + dS− (x).
Les trois conditions aux limites donnent trois équations reliant les
quantités a, b, c et d :
aC+ (0) + bC− (0) + cS+ (0) + dS− (0) = 0, sb = 0, sc = 0.
Ainsi il nous reste une seule contrainte entre les deux quantités a et d
aC+ (0) + dS− (0) = 0.
Comme
√ √ √
C+ (0) = 6(cosh(ξ s), S− (0) = 7(ξ sinh(ξ s/ s)

sont des fonctions entières de s très similaires à cosh( s) et
√ √
sinh s/ s, nous pouvons leur associer des opérateurs algébri-
quement indépendants qui commutent
δ+ = C+ (0), δ− = S− (0)
(cf. le calcul opérationnel de Mikusiński) (ce sont aussi des ultra-
distributions définies comme le dual des fonctions d’ordre Gevrey ! 2
à support compact, voir [41])). Nous avons donc un module engendré
par les deux éléments (a, d) vérifiant l’équation δ+ a + δ− d = 0. C’est
un R[δ+ , δ− ]-module. Ce module n’est pas libre. En revanche, il est
δ+ -libre [77]. En effet
a = δ− y, d = −δ+ y
−1
avec y = −δ+ d.
La quantité y sert ici de sortie plate. En effet nous avons
X(x) = (S− (0)C+ (x) − S− (x)C+ (0))y.
88 PH. MARTIN & P. ROUCHON

Des calculs un peu fastidieux utilisant la trigonométrie hyperbolique


conduisent alors à la formule
1
X(x) = − [S− (x) + 7(S− (1 − x + ı))]y.
2
Un simple développement en série de la fonction entière S− donne la
formule (4.13).
La quantité y qui intervient ici n’a pas de sens physique direct
(le module n’était pas libre). Cependant, nous conjecturons que le y
choisi ici doit s’exprimer avec des intégrales en espace de X (sorte de
centre de flexion).

4.2.d. Flexion non linéaire. Sur un plan formel, il est possible


d’effectuer des calculs similaires au linéaire. Considérons la structure
flexible déjà étudiée dans [53]. Les équations sont les suivantes
ρ∂t2 u(x, t) = ρω 2 (t)u(x, t) − EI∂x4 u(x, t), x ∈ [0, 1]
Γ3 (t) − 2ω(t)8u, ∂t u9(t)
ω̇(t) =
Id + 8u, u9(t)
avec comme conditions aux limites
u(0, t) = ∂x u(0, t) = 0, ∂x2 u(1, t) = Γ1 (t), ∂x3 u(1, t) = Γ2 (t).
ρ, EI, Id sont des constantes physiques positives, u(x, t) est la
déformation de la poutre, ω(t) la vitesse angulaire 8f, g9(t) :=
H1
0 ρf (x, t)g(x, t)dx. Nous avons 3 commandes Γ1 (t), Γ2 (t), Γ3 (t).
Formellement
= >
y(t) := ∂x2 u(0, t), ∂x3 u(0, t), ω(t)
est une « sortie plate ». En effet, considérons le système sous la forme
de Cauchy-Kovalevsky suivante

 u(0, t) = 0



 ∂x u(0, t) = 0
EI∂x u(x, t) = ρy3 (t)u(x, t) − ρ∂t u(x, t) et
4 2 2

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


 3
∂x u(0, t) = y2 (t).
B+∞ xi
Alors, si on pose u(x, t) = i=0 ai (t) i! , les équations ci-dessus
donnent
a0 = 0, a1 = 0, a2 = y1 , a3 = y2 ,
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 89

et la récurrence ∀ i " 0, EIai+4 = ρy32 ai − ρäi . Ainsi pour i " 1,


ρ 2
a4i = 0 a4i+2 = (y a4i−2 − ä4i−2 )
EI 3
ρ 2
a4i+1 = 0 a4i+3 = (y a4i−1 − ä4i−1 ).
EI 3
Il s’agit d’une correspondance (formelle) entre les solutions du système
et les fonctions arbitraires t #→ y(t) : ce système est formellement plat.
Pour des calculs similaires avec des simulations numériques sur un
modèle non-linéaire de poutre en flexion voir [88].

CHAPITRE 5
CATALOGUE DE SYSTÈMES PLATS

Nous donnons ici une liste non exhaustive de systèmes plats rencon-
trés dans les applications. Nous renvoyons à [57] pour des applications
aux systèmes mécaniques.

5.1. Robots complètement commandés


La dynamique d’un système mécanique holonome avec autant de
commandes que de degrés de liberté géométrique est
& '
d ∂L ∂L
− = M (q)u + D(q, q̇),
dt ∂ q̇ ∂q

avec q les variables de configuration, L(q, q̇) le lagrangien (énergie


cinétique — énergie potentielle), dim(u) = dim(q) et M (q) inversible.
2
Il admet q comme sortie plate — même si ∂∂ q̇L2 est singulière — : en
effet, u s’exprime en fonction de q, q̇, q̈ par les formules du couple
calculé
& & ' '
−1 d ∂L ∂L
u = M (q) − − D(q, q̇) .
dt ∂ q̇ ∂q
90 PH. MARTIN & P. ROUCHON

5.2. Systèmes mécaniques non-holonomes


De nombreux robots mobiles avec contraintes de roulement sans
glissement (contraintes non holonomes), comme ceux considérés dans
[11, 82], sont plats. Nous considérons ici les systèmes du type voiture
avec remorques [112, 30, 111, 25]. L’invariance par le groupe des
déplacements du plan et l’homogénéité de degré 1 par rapport à la
commande u rendent très naturelles les dérivations avec des formules
de Frénet.

Figure 5.1. Cinématique d’une voiture

5.2.a. Voiture. Les conditions de roulement sans glissement sont


les suivantes 
 ẋ = v cos θ

ẏ = v sin θ
 θ̇ = v tan ϕ

l
avec v la vitesse et ϕ l’angle de braquage comme commande, l la
distance entre les deux essieux.
La sortie plate est la position cartésienne de la voiture P = (x, y) :
& '
cos θ #
v = ±:Ṗ :, = Ṗ /v, , tan ϕ = l dét(P̈ Ṗ )/v |v|.
sin θ
Ces formules disent simplement que θ est l’angle de la tangente à la
courbe suivie par P et tan ϕ/l sa courbure.

5.2.b. Voiture avec n remorques à attaches centrées. Le sys-


tème de la figure 5.2 admet comme sortie plate les coordonnées car-
tésiennes de la dernière remorque Pn = (xn , yn ) [111]. Pour montrer
cela, il n’est pas utile d’écrire les équations d’état du système avec
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 91

Figure 5.2. Voiture avec n remorques

comme commandes la vitesse de la voiture et son angle de braquage.


Il suffit de faire un dessin. Prenons le cas n = 1 (figure 5.3), le cas
général s’en déduit aussitôt.

Figure 5.3. Voiture avec une attache centrée, la sortie plate


est P1

Supposons donnée la courbe lisse C1 suivie par P1 . Prenons s1 →


P1 (s1 ) un paramétrage naturel de C1 . Alors le roulement sans glisse-
ment de la remorque implique que P0 = P1 +d16τ1 (6τ1 , tangent unitaire
à C1 ). En dérivant par rapport à s1 , on obtient

d
P0 = 6τ1 + d1 κ16ν1
ds1
92 PH. MARTIN & P. ROUCHON

d
avec 6ν1 , normale unitaire à C1 et κ1 sa courbure. Mais P0 0= 0 est
ds1
le vecteur tangent à la courbe C0 suivie par P0 . Donc
1
tan(θ0 − θ1 ) = d1 κ1 , 6τ0 = # (6τ1 + d1 κ16ν1 ).
1 + (d1 κ1 )2
#
En dérivant par rapport à s0 , ds0 = 1 + (d1 κ1 )2 ds1 , on obtient
l’angle de braquage φ :
& '
1 d1 dκ1
tan φ = d0 κ0 = d0 # κ1 + .
1 + (d1 κ1 )2 1 + (d1 κ1 )2 ds1
La vitesse v de la voiture est aussi donnée par
J
v(t) = 1 + d21 κ21 (s1 (t)) ṡ1 (t)
pour toute loi horaire C 1 , t → s1 (t). Noter que dans ces calculs, φ et
θ0 − θ1 restent toujours entre −π/2 et π/2.

Figure 5.4. Voiture avec une remorque à attache décentrée

5.2.c. Voiture avec une remorque à attache déportée. Ici la


difficulté vient du fait que l’attache le longueur b de la remorque n’est
plus fixée sur l’essieu arrière de la voiture mais à une certaine distance
a [112]. Nous supposons l’attache en arrière de l’essieu. Il est possible
de faire les mêmes calculs avec une attache devant comme sur certains
poids lourds. Les conditions de roulement sans glissement donnent la
forme d’état suivante


 ẋ = cos α v


 ẏ = sin α v

(5.1) 1
 α̇ = tan ϕ v

 l$ %
 β̇ = 1 a tan ϕ cos(α − β) − sin(α − β) v.


b l
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 93

Les notations sont sur la figure 5.4. Les commandes sont la vitesse v
de la voiture et l’angle de braquage ϕ.
Le système (5.1) est plat avec comme sortie plate
b sin β − a sin α
y1 = x + b cos β + L(α − β) #
a2 + b2 − 2ab cos(α − β)
(5.2)
a cos α − b cos β
y2 = y + b sin β + L(α − β) #
a2 + b2 − 2ab cos(α − β)

C 2π+α−β
cos σ
(5.3) L(α − β) = ab √ dσ.
π a2 + b2 − 2ab cos σ
Noter que (y1 , y2 ) sont les coordonnées cartésiennes du point P de
la figure 5.4.
Pour trouver ces sorties plates, il convient d’utiliser la condition
nécessaire et suffisante (théorème 3.24) pour les systèmes sans dérive
à deux commandes. Les calculs de y1 et y2 se simplifient en utilisant
l’invariance du système par rapport au groupe des déplacements du
plan.

Figure 5.5. Construction géométrique avec les formules de Frénet

Comme le montre la figure 5.5, le vecteur tangent 6τ à la courbe sui-


vie par P est parallèle à la droite AB. Sa courbure κ est une fonction
de δ = α − β :
sin δ
(5.4) κ = K(δ) = √
cos δ a2 + b2 − 2ab cos δ − L(δ) sin δ
Noter que l’invariance par rapport au groupe des déplacements, im-
plique que κ soit une fonction de α−β uniquement. La fonction K est
94 PH. MARTIN & P. ROUCHON

une bijection croissante de ]γ, 2π −γ[ vers R. La constante γ ∈ [0, π/2]


est définie par l’équation implicite suivante
# C γ
cos σ
cos γ a + b − 2ab cos γ = ab sin γ
2 2 √ dσ.
π a + b2 − 2ab cos σ
2

Pour a = 0, γ = π/2 et P coïncide avec B.


Des calculs simples montrent que D est donné par D = P − L(δ)6ν
avec 6ν le vecteur normal unitaire. Ainsi (x, y, α, β) est une fonction de
(P, 6τ , κ). L’angle de braquage ϕ dépend donc de κ et dκ/ds où s est
la longueur d’arc de la courbe suivie par P . La vitesse v de la voiture
s’exprime en fonction de κ, dκ/ds et ṡ.
Une application du théorème 3.24 montre que la voiture avec plus
de deux remorques à attaches décentrées n’est pas un système plat.

5.2.d. Systèmes mécaniques non-holonomes complètement


commandés. Commençons par l’exemple d’une pièce de monnaie
qui roule sans glisser sur un plan.
ẍ = λ sin ϕ + u1 cos ϕ
ÿ = −λ cos ϕ + u1 sin ϕ
ϕ̈ = u2
ẋ sin ϕ = ẏ cos ϕ
où x, y, ϕ sont les variables de configuration, λ est le multiplicateur
de Lagrange associé à la contrainte ẋ sin ϕ = ẏ cos ϕ, u1 et u2 sont les
deux commandes. Une sortie plate est (x, y) : avec une paramétrisa-
tion en longueur d’arc s de la courbe t #→ (x(t), y(t)), nous avons
dx dy dκ 2
cos ϕ = , sin ϕ = , u1 = ṡ, u2 = κ(s) s̈ + ṡ ,
ds ds ds
où κ est la courbure. Ces formules restent valables même si u1 = u2 = 0.
Cet exemple est représentatif d’un système mécanique soumis
à m contraintes non holonomes et avec n − m commandes (des forces)
indépendantes des efforts de liaisons (n est la dimension de la variété
de configuration). Ces systèmes sont, par définition, les systèmes
non holonomes complètement commandés (voir [11] pour d’autres
exemples). Il est alors facile de montrer qu’un système non holonome
complètement commandé et dont les liaisons non holonomes sont
plates est automatiquement plat, les sorties plates étant celles de ses
liaisons non holonomes.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 95

Ainsi, à cause du théorème 3.25, les systèmes mécaniques complè-


tement commandés et soumis à deux contraintes non holonomes sont
automatiquement plats. Les liaisons non holonomes de la pièce de
monnaie (p. 4), de la sphère qui roule (p. 96) et de la bicyclette (p. 330)
décrites dans le traité classique russe [83] sont plates. Les systèmes
non holonomes complètement commandés qui s’en déduisent restent
donc plats.

5.3. Systèmes pendulaires


Les exemples qui suivent sont des systèmes mécaniques holonomes
sous-actionnés, c’est-à-dire avec moins de commandes que de degrés
de liberté géométrique.

5.3.a. Pendule inversé sur un rail. Un pendule inversé sur un


rail admet la dynamique suivante (approximation des petits angles)
d2 d2
(D + lθ) = gθ, M D = −mgθ + F
dt2 dt2
où la commande est la force F appliquée au chariot et l est la distance
du centre d’oscillation à l’axe de rotation du pendule. Il est clair que

Figure 5.6. Pendule inversé sur un rail

la sortie plate est y = D + lθ. En effet


θ = ÿ/g, D = y − lÿ/g.
Un bouclage grand gain sur le chariot (u est la consigne de position
du chariot)
F = −M k1 Ḋ − M k2 (D − u)
96 PH. MARTIN & P. ROUCHON

#
avec k1 ≈ 10/τ , k2 ≈ 10/τ 2 où τ = l/g est le temps caractéristique
du pendule, permet d’accélérer par la commande le porteur. On ob-
tient ainsi une commande hiérarchisée avec un asservissement rapide
en position du porteur et une stabilisation lente du pendule à partir
du modèle lent
d2 y−u
2
(y) = g(y − u)/l = .
dt τ2
Le simple bouclage

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

assurent le suivi d’une trajectoire de référence t #→ yr (t) pour l’abs-


cisse du centre d’oscillation du pendule.
Sans l’approximation des petits angles, le système n’est plus plat.

5.3.b. Le double pendule du musée de la Villette. Cet exemple


fait partir du parc des expositions permanentes du musée des sciences
et de l’industrie de la Villette, section mathématiques. Il s’agit de

Figure 5.7. Le double pendule du musée de la Villette

deux barres homogènes de longueur l l’une au dessus de l’autre, le


tout sur un chariot linéaire actionné par un moteur. Avec l’abscisse
du chariot D comme commande (commande grand gain du porteur)
les équations de la dynamiques, après approximation des petits angles,
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 97

sont (après quelques transformations qui font intervenir y . . .)

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
Comme pour le simple pendule, sans l’approximation des petits
angles, ce système n’est pas plat.

5.3.c. Une infinité de pendules inversés. Il s’agit du modèle de


la chaîne pesante de la figure 4.2 avec la gravité dans l’autre sens. Les
équations sont
& '
∂2X ∂ ∂X
(5.5) =− gz pour z ∈ [0, L], X(L, t) = D(t)
∂t2 ∂z ∂z
avec la commande au bord D(t), le déplacement du chariot qui se
trouve maintenant en bas. La sortie plate est alors en haut et la for-
mule (4.1) s’écrit avec un « temps complexe » :
C π$ # # %
1
X(z, t) = y(t + 2ı z/g sin ξ) + y(t − 2ı z/g sin ξ) dξ
2π 0

avec ı = −1.
Cette relation signifie que, pour tout fonction holomorphe C " ζ #→
y(ζ) dont la restriction à l’axe réel est réel, le champ de déplacement
X(z, t) calculé par l’intégrale ci-dessus est réel et vérifie identiquement
& '
∂2X ∂ ∂X
=− gz .
∂t2 ∂z ∂z
Avec cette formule nous avons la possibilité d’associer à toute fonc-
tion holomorphe sur une bande
# horizontale centrée autour de l’axe des
réels et de demie hauteur 2 L/g une trajectoire du système. Cette
ensemble de trajectoires est suffisamment riche pour obtenir d’une
façon approchée des trajectoires allant d’un état d’équilibre vers un
98 PH. MARTIN & P. ROUCHON

autre. Il suffit par exemple de définir y par convolution avec un gaus-


sienne (σ > 0 donné)
C +∞
y(µ + ıν) = exp(−(µ − τ + ıν)2 /σ 2 ) f (τ ) dτ
−∞

avec R " τ #→ f (τ ) ∈ R mesurable et bornée et de tronquer l’intégrale.


Avec une telle construction il est possible de montrer des propriétés
de commandabilité approchée pour ce système.
Il est bien connu que le problème de Cauchy associé à (5.5), une
équation elliptique, n’est pas bien posé au sens de Hadamard. Phy-
siquement, c’est tout à fait compréhensible. Nous avons vu que la
constante
# de temps d’instabilité d’un pendule inversé de longueur l
est l/g : un pendule de longueur infiniment petite est instable d’une
façon infiniment rapide. Malgré cela, nous pouvons donner un sens à
la planification de trajectoires, bien que le système soit un système
mal posé, en construisant explicitement des familles de trajectoires
régulières allant d’un état vers un autre (d’une façon approchée, ce-
pendant).

5.3.d. Grues et ponts roulants. Nous reprenons une exemple


traité dans [30]. Les équations de Newton d’une masse m déplacée
par pont roulant sont les suivantes (modèle dans un plan vertical) :
mẍ = −T sin θ x = R sin θ + D
mz̈ = −T cos θ + mg z = R cos θ,
avec x, z, θ les variables de configuration, T la tension du câble d’iner-
tie négligeable et inextensible. Les deux commandes sont D, la posi-
tion du chariot et R la longueur du câble. Ce système est plat avec
la position (x, z) de la charge comme sortie plate. Le rajout d’une
seconde dimension horizontale ne change rien : la sortie plate reste la
position de la charge. D’autres types de grues ou de ponts roulants
correspondant à diverses géométries du système de levage restent éga-
lement plats, la position de la masse transportée étant la sortie plate
(cf. [60, 50]) pour les grues de débarquement de la marine américaine)

5.3.e. Le robot 2kπ. C’est un robot 3 axes portant un pendule avec


2 axes, cf. figure 5.8. L’objectif est de retourner le pendule et le main-
tenir en position instable. Parmi les 5 degrés de liberté, seuls 3 sont
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 99

m θ1
pendule
P
(x, y, z ) θ2 u2
S
g (a, b, c) moteur
Z

moteur
O Y
X
θ3 u1
u3
moteur

Figure 5.8. Le robot 2kπ.

directement commandés par des moteurs (les angles θ1 , θ2 , θ3 ). En re-


vanche les deux degrés de liberté du pendule ne sont pas directement
actionnés.
La position P = (x, y, z) du centre d’oscillation du pendule (cf. les
travaux de Huygens sur les horloges à pendule) est la sortie plate du
système.
En effet, les relations entre P et S = (a, b, c), le point de suspension
du pendule, sont les suivantes

(x − a)(z̈ + g) = ẍ(z − c)
(y − b)(z̈ + g) = ÿ(z − c)
(x − a)2 + (y − b)2 + (z − c)2 = l2 ,

où l est la distance entre S et P . Ces relations viennent simplement


des équations de Newton du pendule ponctuel isochrone de même
masse m (T6 est la tension dans la tige)

mP̈ = m6g + T6

de la condition de rotation parfaite sans frottement


−→
T6 // P S
100 PH. MARTIN & P. ROUCHON

et de la contrainte de rigidité

:P S: = l2 .

Géométriquement S est à l’intersection de la sphère de centre P de


rayon l avec la droite passant par P et parallèle à P̈ − 6g .
Comme la géométrie du robot implique (a, b, c) = T (θ1 , θ2 , θ3 )
(conversion des coordonnées angulaires en coordonnées cartésiennes),
les couples à appliquer aux moteurs s’obtiennent en inversant cette
relation algébrique et en dérivant 2 fois de plus. En tout, P appa-
raît avec ses dérivées jusqu’à l’ordre 4. Pour plus d’information sur la
commande du robot voir [55].

Figure 5.9. Un corps solide 2D piloté par deux forces de


direction fixes, d61 et d62 , par rapport au solide

5.3.f. Solide plan piloté par deux forces. Soit un corps rigide
dans un plan vertical soumis à la gravité et commandé par deux forces
F61 et F62 , de directions, 6e1 et 6e2 , fixes par rapport au solide (voir figure
5.9). Ces forces sont appliquées à des points S1 et S2 fixes par rapport
au solide. Nous supposons que nous avons effectivement deux forces
indépendantes, i.e., lorsque S1 = S2 alors les directions ne sont pas
co-linéaires. Enfin le cas où S1 = S2 = G est exclu car alors le système
n’est plus commandable, le moment cinétique étant constant.
Soit G le centre de gravité et θ l’orientation du solide. On note 6k
le vecteur orthogonal au plan. Notons m la masse, J son inertie par
rapport à l’axe parallèle à 6k passant par G et 6g le champ de gravité.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 101

Les équations de la dynamique sont alors (conservation de la quan-


tité de mouvement et du moment cinétique)
mG̈ = F61 + F62 + m6g
−−→ −−→
J θ̈6k = GS1 ∧ F61 + GS2 ∧ F62 .
Comme le montre la figure 5.9, la sortie plate correspond à P le centre
d’oscillation de Huygens lorsque l’axe de rotation est au point d’inter-
section des deux droites qui supportent les forces F61 et F62 , le centre
de poussée Q sur la figure 5.9 :
K
J −−→
P =Q+ 1+ QG.
ma2
avec a = QG. Noter que lorsque les deux droites sont parallèles Q
est rejeté à l’infini et P coïncide avec G. Comme pour le pendule du
robot 2kπ, Le point P est le seul tel que P̈ − 6g soit co-linéaire à la
direction P G, i.e, à l’orientation θ. Avec cette propriété, il est alors
facile de montrer que le système est plat. Certains les exemples traités
dans [30, 84, 80, 65]. sont de ce type.
Par exemple l’avion à décollage vertical de [65] d’équation
ẍ = −u1 sin θ + εu2 cos θ
z̈ = u1 cos θ + εu2 sin θ − 1
θ̈ = u2 .
admet comme sortie plate y = (x−ε sin θ, z+ε cos θ) où ε ≈ 0 vient du
fait que les poussées des réacteurs ne sont pas parfaitement parallèles.
Des prolongement sont possibles pour des corps solides dans l’es-
pace à trois dimension mais avec des symétries. Le pendule de 2kπ en
est un exemple avec une symétrie de révolution. Une autre exemple
fort proche avec les mêmes symétries est une fusée ou un missile avec
poussée vectorielle. Les équations sont
mG̈ = F6 + m6g
d 6 6̇ −→
J (b ∧ b) = −SG ∧ F6
dt
−→
où 6b = SG/SG (les notations sont sur la figure 5.10). La sortie plate
est alors
#
P = S + SG2 + J/m 6b.
102 PH. MARTIN & P. ROUCHON

En effet P̈ − 6g est co-linéaire à la direction 6b de la fusée.

Figure 5.10. La fusée et sa sortie plate P

Notons enfin que la généralisation à la dimension 3 d’espace (sans


symétrie) reste un problème ouvert. Nous ne savons pas si un corps
solide dans l’espace à trois dimensions contrôlé par l’action de trois
forces indépendantes, de directions et de points d’application fixes par
rapport au solide, est un système plat.

5.3.g. Le câble aéro-tracté. Nous reprenons ici [79] pour ce qui


du modèle de dimension finie. Le système illustré sur la figure 5.11 est
composé d’un avion en vol circulaire qui tracte un long câble auquel
est attaché une charge pesante. Sous certaines conditions, le câble at-
teint un régime stabilisé où sa forme ne variant plus admet également
un mouvement circulaire. Avec des paramètres correctement choisis,
il est possible que le rayon de la trajectoire de la charge qui se trouve
bien en dessous de celle de l’avion soit d’un diamètre nettement in-
férieur. Un tel système existe en vraie grandeur. Il a été utilisé par
l’armée américaine en Amérique du sud pour des parachutages précis
à basse altitude (sans utiliser explicitement le fait que le système soit
plat).
Le câble peut être vu comme une succession de petits pendules
ponctuels connectés les uns aux autres par leur centres de masse. Les
forces agissant sur une petit pendule (tension, traînée aérodynamique,
poids,...) sont alors concentrées au centre de masse (confondu ici avec
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 103

Figure 5.11. Le câble aéro-tracté et son approximation

son centre d’oscillation). L’avion joue ici le rôle commande comme S


joue le rôle de commande pour le contrôle du pendule porté par le
robot 2kπ.
L’objectif est de générer des trajectoires de transition entre un équi-
libre relatif et un autre. Ce système est plat avec comme sortie plate
la position de la charge. Nous renvoyons à [79] pour des calculs plus
détaillés et d’autres références sur le sujet.
Il est cependant possible formellement de considérer le modèle
continu du câble. Pour des raisons de simplicité nous ne considérons
que le modèle parfait sans frottement avec uniquement la dynamique
inertielle et la gravité 6g . Le câble est décrit à l’instant t par une courbe
[0, L] " s #→ M (s, t) ∈ R3 paramétrée en longueur d’arc. En notant,
T (s, t) ∈ R la tension en s, ρ sa densité linéaire et m la masse de la
charge, les équations de Newton sont
& '
∂2M ∂ ∂M
ρ 2 = T + ρ6g
∂t ∂s ∂s
G G
G ∂M G
G G
G ∂s G = 1
M (L, t) = u(t)
∂M ∂2M
T (0, t) (0, t) = m 2 (0, t) − m6g .
∂s ∂t
104 PH. MARTIN & P. ROUCHON

L’avion est en s = L. Vue du câble, sa trajectoire t #→ u(t) ∈ R3 est


ponctuelle et considérée ici comme une entrée. La charge ponctuelle
de masse m est en s = 0. Remarquons que ce système d’équations
aux dérivées partielles n’est pas sous forme involutive : T est défini
implicitement par la contrainte de non extensibilité.
Hs
Cependant, en prenant N (s, t) = 0 M (σ, t) dσ au lieu de M (s, t)
comme variables (transformation de Bäcklund) on a avec les inconnues
N et T le système suivant
∂2N ∂2N ∂2N
ρ 2
= T (s, t) (s, t) − T (0, t) (0, t) + ρs6g
G 2∂t G ∂s2 ∂s2
G∂ N G
G G
G ∂s2 G = 1
∂N
(L, t) = u(t)
∂s
∂2N ∂3N
T (0, t) 2 (0, t) = m 2 (0, t) − m6g
∂s ∂t ∂s
N (0, t) = 0.

Supposons que l’on fixe la trajectoire de la charge t #→ y(t) = ∂N


∂s (0, t)
au lieu de la trajectoire de l’avion. Alors on peut facilement calculer
la tension par (nous prenons la valeur positive pour T )
G 2 G
G ∂ N G
T (s, t) = G G
Gρ ∂t2 (s, t) − (ρs + m)6g + mÿ(t)G .

Ainsi on obtient une forme standard de Cauchy-Kovalevsky :


& 2 '
∂2N 1 ∂ N
(s, t) = ρ (s, t) − (ρs + m)6
g + mÿ(t)
∂s2 T (s, t) ∂t2
N (0, t) = 0
∂N
(0, t) = y(t).
∂s
Pour t #→ y(t) analytique, le système ci-dessus admet une solution
analytique en s autour de 0 dès que T (0, t) 0= 0, i.e., ÿ 0= 6g . Ce dé-
veloppement en série est très similaire aux calculs effectués dans [79]
sur un modèle discrétisé avec beaucoup de petits pendules ponctuels.
Il n’est pas sûr, compte tenu des calculs sur la chaîne pesante de la
figure 4.2, qu’un tel développement soit utilisable en pratique sauf s’il
est complété par des techniques de séries divergentes [104].
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 105

5.4. Divers systèmes mécaniques


5.4.a. Avion classique. Les modèles représentant des avions
conventionnels sont plats dès que l’on néglige certains effets aéro-
dynamiques de faibles amplitudes. La sortie plate est le centre de
gravité et l’angle de dérapage. Nous renvoyons à [61] pour une étude
détaillée.

5.4.b. Tige de forage. La dynamique en torsion d’une tige de fo-


rage de quelques kilomètres de longueur peut être représentée par

Figure 5.12. Tige de forage en torsion

une équation des ondes avec une condition aux limites non linéaire en
fond, condition représentative de l’outil qui taille la roche (cf. figure
5.12). Nous avons ainsi comme dynamique :
∂t2 θ = ∂x2 θ, x ∈ [0, 1]
(5.6) ∂x θ(0, t) = −u(t)
∂x θ(1, t) = −F (∂t θ(1, t)) − ∂t2 θ(1, t)
où [0, 1] " x #→ θ(x, t) est le profil de torsion à l’instant t, u est la
commande le couple exercé par un moteur au sommet du train de
tiges. Les équations sont normalisées et prennent en compte l’iner-
tie des masses tiges au dessus de l’outil. La loi de comportement de
106 PH. MARTIN & P. ROUCHON

l’outil est donnée par un frottement non linéaire F (v). D’autre lois
plus complexes sont possibles, le système restant plat dès qu’elles ne
dépendent que de l’angle y = θ(1, t) de l’outil, la sortie plate du sys-
tème. Un calcul simple avec les formules de d’Alembert montre que

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


C t+(1−x)
− ẏ(t − (1 − x)) + F (ẏ(τ )) dτ.
t−(1−x)

5.4.c. Gamelle d’eau. Nous reprenons ici les résultats de comman-


dabilité obtenus sur les équations de Saint-Venant linéarisées autour
d’un équilibre [95]. La commandabilité du modèle non-linéaire a été
démontrée dans [19] avec des techniques très différentes. Il s’agit de

Figure 5.13. Fluide parfait dans un récipient se déplaçant


horizontalement

transporter horizontalement un fluide dans un récipient. La question


est de contrôler les vagues engendrées par les mouvements du réci-
pient et de trouver des profils d’accélération et de freinage pour aller
d’une position fixe à une autre. Un modèle de commande simple issu
des équations de la mécanique des fluides s’obtient avec les équations
de Saint-Venant [52]
∂h ∂
+ (hv) = 0
∂t ∂x
∂ ∂ $ g %
(hv) + hv 2 + h2 = 0
∂t ∂x 2
l
v(t, D(t) − ) = Ḋ(t)
2
l
v(t, D(t) + ) = Ḋ(t)
2
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 107

et le système linéaire tangent autour d’une profondeur constante h.


L’étude de ce linéaire tangent montre qu’au premier ordre le système
n’est pas commandable. En revanche, les points stationnaires sont
tous sur la même « feuille » de commandabilité, i.e., il est toujours
possible d’aller d’un état stationnaire à un autre (au premier ordre).
Les formules qui assurent un tel transfert sont les suivantes (pour les
détails voir [95]).
1L x − D(t) x − D(t) M
v(t, x) = Ẏ(t + ) + Ẏ(t − ) .
2 c c
L# 1 $ x − D(t) x − D(t) %M2
h(t, x) = h+ √ Ẏ(t − ) − Ẏ(t + )
4g c c
∆ ∆
D(t) = (Y(t + ) + Y(t − ))/2
2 2
#
avec t #→ Y(t) une fonction arbitraire du temps, c = hg la vitesse de
propagation des vagues et ∆ = l/c le temps que met une vague pour
aller d’un bord à l’autre. La sortie plate Y admet une interprétation
physique simple. Elle résume la répartition droite/gauche du fluide
dans le récipient. Comme l’illustre la figure 5.14, Y est l’abscisse du
centre de gravité de deux masses
C D(t)+ L C D(t)
2

M = h(t, s)ds, M = +
h(t, s)ds
D(t) D(t)− L
2

situées aux extrémités.

Figure 5.14. La « sortie plate » du linéaire tangent

5.4.d. Problème de Stefan. On reprend le problème à frontière


libre 1D traité dans [24] et rappelé sur la figure 5.15. Supposons la
108 PH. MARTIN & P. ROUCHON

Figure 5.15. Le problème à frontière libre de Stefan (dif-


fusion et solidification) : la « sortie plate » est y = s(t).

fonction t #→ s(t) donnée et C ∞ . On pose



A
x= (an (t)/n!)(x − s(t))n .
0
Alors des calculs simples donnent
a0 = 0, a1 = ṡ, an+2 = ȧn − a1 an+1 .
On montre que la série ci-dessus converge pour tout x dès que t #→ s(t)
est d’ordre Gevrey < 2 (voir [24]). On en déduit des contrôles en
boucle ouverte pour aller en temps fini T d’un état stationnaire de
longueur s(t) = L0 > 0 vers un autre de longueur différente s(T ) =
LT > 0.

5.4.e. Extrusion. Le modèle le plus simple d’un procédé d’extru-


sion fabriquant des fibres minces est proposé dans [1]. Comme illustré
sur la figure 5.16, il s’agit d’un système implicite aux dérivées par-
tielles sur le domaine z ∈ [0, L]. Il caractérise le diamètre S(z, t) et la
vitesse W (z, t) de la fibre (η est un paramètre >0). Usuellement, le
contrôle est la vitesse u = W (L, t). Au delà d’une certaine vitesse cri-
tique u∗ , le profil stationnaire devient instable comme le montre [1].
Si, au lieu de la vitesse, on fixe le couple y = S(L, T )∂z W (L, t) alors
on est face à un problème de type Cauchy-Kovalevsky en z (comme
pour le câble aéro-tracté ci-dessus) et les instabilités disparaissent. En
effet, de
S∂z W = y(t), ∂t S + ∂z (SW ) = 0
on tire explicitement ∂z S et ∂z W en fonction de y, S, W et ∂t S.
On dispose de deux conditions initiales en z = 0, S(0, t) = S0 et
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 109

Figure 5.16. Extrusion de fibres minces : le contrôle est la


vitesse u = W (L, t), la « sortie plate » est le couple
S(L, T )∂z W (L, t).

W (0, t) = W0 issues des conditions en sortie d’extrudeuse. Un dévelop-


pement en série de puissances de z est donc a priori possible bien que
son utilisation pour la planification de trajectoires semble délicate.

5.5. Systèmes électro-mécaniques


5.5.a. Le convertisseur de tensions. Un convertisseur de tension
continu en tension continu par modulation de largeur d’impulsions
(PWM) obéit aux équations suivantes
x2 E x1 x2
ẋ1 = (u − 1) + , ẋ2 = (1 − u) − ,
L L LC RC
où u ∈ [0, 1] est la commande, le rapport cyclique. L’énergie électro-
x2 x2
magnétique y := 1 + 2 est la sortie plate [118].
2C 2L

5.5.b. Paliers magnétiques. Une solution simple à la planification


de trajectoires et à la stabilisation des paliers magnétiques est propo-
sée dans [59]. Le contrôle obtenu assure qu’à chaque instant, seul l’un
des deux électro-aimants est actif. Cela permet de réduire le nombre
d’aimants par un placement plus astucieux de ces derniers.
110 PH. MARTIN & P. ROUCHON

5.5.c. Moteurs à induction. Le modèle standard d’un moteur à


induction s’écrit avec des variables complexes pour les grandeurs élec-
triques (voir [56] pour plus de détails)

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

où ψs et ıs (resp. ψr et ır ) sont valeurs complexes des flux et courants



stator (resp. rotor), θ est l’angle du rotor et j = −1. La commande
est la tension complexe us appliquée au stator. Avec ψr = ρejα , La
dynamique du rotor est donnée par
d2 θ n 2
J 2
= ρ α̇ − τL (θ, θ̇),
dt Rr
où τL est le couple de charge.
Ce système est plat avec les deux angles (θ, α) comme sortie plate
[70] (voir aussi [17]).

5.5.d. Ligne de transmission. [32] aborde la transmission d’un


signal au moyen d’une ligne décrite par l’équation des télégraphistes
avec une pré-compensation des distorsions dues à la ligne directement
au niveau du signal d’entrée.
La propagation d’un signal électrique via une ligne le longueur 7
obéit aux lois de Kirchhoff (voir, par exemple, [106]) :
∂i ∂v
L = −Ri −
∂t ∂x
∂v ∂i
C =− − Gv.
∂t ∂x
avec 0 ! x ! 7. Par unité de longueur, la résistance est R, l’induc-
tance L, la capacité C et la perditance G. L’élimination du courant i
donne l’équation des télégraphistes
∂ 2 v(x, t) ∂ ∂
(5.7) 2
= (R + L )(G + C )v(x, t).
∂x ∂t ∂t
Les conditions aux limites sont

v(0, t) = u(t)
v(7, t) = Zi(7, t)
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 111

où Z est la résistance en bout de ligne. La commande est la tension


d’entrée u(t) = v(0, t). Nous allons voir que y(t) = v(7, t) est la sortie
plate.
Avec s, la variable de Laplace, (5.7) devient une simple équation
différentielle ordinaire en x :
(5.8) v"%% (x, s) = 8(s)"
v (x, s),
où 8(s) = (R + Ls)(G + Cs). Les conditions aux limites donnent
(5.9) v"(0, s) = u
", (R + Ls)" v % (7, s).
v (7, s) = Z"
La solution générale de (5.8) est
# #
v"(x, s) = A(s) cosh((7 − x) 8(s)) + B(s) sinh((7 − x) 8(s))
avec A(s) et B(s) indépendants de x et déduits des conditions aux
bords (5.9). Au lieu de considérer la relation entre v" et u
", regardons
la relation entre v" et y(s) = v(7, s) :
(5.10) #
$ # R + Ls sinh((7 − x) 8(s)) %
v"(x, s) = cosh((7 − x) 8(s)) + # y"(s).
Z 8(s)
Noter que le transfert entre v" et y" est une fonction entière de s. Ainsi
y" est une sortie plate.
Pour x = 0 (5.10) donne
 $ # %
$ # % R + Ls sinh 7 8(s)
(5.11) u "(s) = cosh 7 8(s) + #  y"(s).
Z 8(s)

Supposons G = 0 pour plus de simplicité. √La formule (5.11) donne,


de retour dans le domaine temporel, (λ = 7 LC, α = R/2L, 8(s) =
RCs + LCs2 )
K K
1 −αλ 1 L 1 αλ 1 L
u(t) = e (1 − ) y(t − λ) + e (1 + ) y(t + λ)
2 Z C 2 Z C
C +λ 9
R = # >
+ √ e−ατ J0 iα τ 2 − λ2
−λ 4Z LC
D K E N
e−ατ iα 1 L = # >
+ √ λ− 2
τ J1 iα τ − λ 2 y(t − τ ) dτ
2 τ 2 − λ2 Z C

avec J0 et J1 les fonctions de Bessel (voir les tables de transformations


de Laplace dans [23]).
112 PH. MARTIN & P. ROUCHON

Ainsi la relation entre y et u passe par un filtre à support compact


mais non causal : u(t) dépend des valeurs de y sur [t − λ, t + λ].
Il est alors très naturel d’utiliser ce filtre pour construire un pré-
compensateur.

5.6. Systèmes quantiques


Le modèle physique le plus simple d’un système quantique à deux
états (spin 1/2) contrôlé par un champ électromagnétique cohérent
est (voir, par exemple, [43]) :
dx1 dx2 dx3
= ωx2 , = −ωx1 + ux3 , = −ux2
dt dt dt
avec le contrôle scalaire u (typiquement proportionnel au champ élec-
trique) et ω une pulsation constante. Comme (x1 )2 + (x2 )2 + (x3 )2 est
invariant, la dynamique est restreinte sur la sphère unité (sphère de
Bloch) : (x1 )2 + (x2 )2 + (x3 )2 = 1. Alors y = x1 est une sortie plate
car
J
y (1)
x1 = y, x2 = , x3 = ± 1 − y 2 − (y (1) )2 /ω 2 ,
ω
y + y (2) /ω 2
u = ±# .
1 − y 2 − (y (1) )2 /ω 2
On trouvera dans [91], un autre exemple de dynamique quantique
plate, exemple très similaire à la voiture non-holonome mais où le
groupe sur lequel évolue le système n’est plus SE(2) mais SU (2) :
les calculs y sont alors conduits avec les quaternions. Dans [74],
on montre que la partie commandable d’un oscillateur harmonique
contrôlé est plate (elle est même linéaire). Dans [110], on propose
une version quantique de la gamelle d’eau : sur le linéaire tangent
autour de tout état propre, il est possible de déplacer la particule
piégée dans sa boîte sans changer son énergie finale. Dans le cas non-
linéaire, la commandabilité a été montrée dans [7] avec la méthode
du retour décrite dans [20]. Pour d’autres résultats sur la comman-
dabilité d’équations de Schrödinger 1D ayant une structure voisine
voir [9, 8]. On trouvera enfin dans [108] plusieurs autres exemples de
dimension finie et infinie.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 113

5.7. Réacteurs chimiques


Le réacteur exothermique parfaitement considéré dans [4] admet la
description suivante :
dx1 −T ∗ /x2
= D(xin1 − x1 ) − kx1 e ,
dt
dx2 −T ∗ /x2
= D(xin2 − x2 ) + cx1 e +u
dt
avec l’état x = (x1 , x2 ) et le contrôle scalaire u, les autres grandeurs
étant des paramètres strictement positifs et constants. Une sortie plate
est y = x1 . La première équation fournit x2 comme fonction de y
et y (1) . De la seconde équation, nous tirons u comme fonction de x1 ,
x2 et ẋ2 . Ainsi, u est une fonction de y, y (1) et y (2) . Nous renvoyons à
[107] pour des calculs similaires avec des simulations en boucle fermée
sur un réacteur plus complexe. Dans [113], on trouvera une liste assez
complète de réacteurs chimiques plats.

Références
[1] J.-F. Agassant, P. Avenas, J.-P. Sergent & P. Carreau –
Polymer processing, principles and modeling, Hanser, 1991.
[2] Y. Aoustin, M. Fliess, H. Mounier, P. Rouchon & J. Rudolp –
« 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 (Nantes, France), 1997, p. 287–293.
[3] E. Aranda-Bricaire, C. Moog & J.-B. Pomet – « A linear al-
gebraic framework for dynamic feedback linearization », IEEE Trans.
Automat. Contr. 40 (1995), no. 1, p. 127–132.
[4] R. Aris & N. Amundson – « An analysis of chemical reactor stability
and control : I,II,III », Chem. Engng. Sci. 7 (1958), p. 121–155.
[5] D. Avanessoff, L. Baratchart & J.-B. Pomet – « Sur l’intégra-
bilité (très) formelle d’une partie des équations de la platitude des sys-
tèmes de contrôle », http://hal.inria.fr/inria-00071538/en/,
2006.
[6] D. Avanessoff & J.-B. Pomet – « Flatness and Monge paramete-
rization of two-input systems, control-affine with 4 states or general
with 3 states », ESAIM : Control, Optimisation and Calculus of Va-
riations 13 (2007), p. 237.
[7] K. Beauchard – « Local controllability of a 1D Schrödinger equa-
tion », J. Math. Pures et Appl. 84 (2005), p. 851–956.
114 PH. MARTIN & P. ROUCHON

[8] , « Controllability of a quantum particule in a 1d variable do-


main », ESAIM : Control, Optimisation and Calculus of Variations
14 (2008), p. 105–147.
[9] K. Beauchard & J.-M. Coron – « Controllability of a quantum
particle in a moving potential well », J. of Functional Analysis 232
(2006), p. 328–389.
[10] R. Bryant, S. Chern, R. Gardner, H. Goldschmidt &
P. Griffiths – Exterior differential systems, Springer, 1991.
[11] G. Campion, B. d’Andrea Novel & G. Bastin – « Structural pro-
perties and classification of kinematic and dynamic models of wheeled
mobile robots », IEEE Trans. Robotics Automation 12 (1996), no. 1,
p. 47–62.
[12] E. Cartan – « Sur l’équivalence absolue de certains systèmes d’équa-
tions différentielles et sur certaines familles de courbes », Bull. Soc.
Math. France 42 (1914), p. 12–48, Œuvres Complètes, II, vol. 2,
p.1133–1168, CNRS, Paris, 1984.
[13] , « Sur l’intégration de certains systèmes indéterminés d’équa-
tions différentielles », J. für reine und angew. Math. 145 (1915), p. 86–
91, Œuvres Complètes, II, vol. 2, p.1164–1174, CNRS, Paris, 1984.
[14] F. Chaplais & N. Petit – « Inversion in indirect optimal control of
multivariable systems », ESAIM : Control, Optimisation and Calculus
of Variations 14 (2008), p. 294–317.
[15] B. Charlet, J. Lévine & R. Marino – « On dynamic feedback
linearization », Systems Control Letters 13 (1989), p. 143–151.
[16] V. Chetverikov – « New flatness conditions for control systems »,
in Proceedings of NOLCOS’01, St. Petersburg, 2001, p. 168–173.
[17] J. Chiasson – « Dynamic feedback linearization of the induction
motor », IEEE Trans. Automat. Control 38 (1993), p. 1588–1594.
[18] A. Chorin & J. Marsden – A mathematical introduction to fluid
mechanics, Springer-Verlag, 1990.
[19] J. Coron – « Local controllability of a 1-d tank containing a fluid
modeled by the shallow water equations », ESAIM : Control, Optimi-
sation and Calculus of Variations 8 (2002), p. 513–554.
[20] , Control and nonlinearity, Mathematical Surveys and Mo-
nographs, vol. 136, American Mathematical Society, Providence, RI,
2007.
[21] R. Courant & D. Hilbert – Methods of mathematical physics,
vol. 2, Interscience, 1962.
[22] E. Delaleau & J. Rudolph – « Control of flat systems by quasi-
static feedback of generalized states », Int. Journal of Control 71
(1998), p. 745–765.
[23] G. Doestch – Handbuch der Laplace-Transformation, Birkhäuser,
Bâle, 1956, 3. Bd.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 115

[24] W. Dunbar, N. Petit, P. Rouchon & P. Martin – « Motion


planning for a non-linear Stefan equation », ESAIM : Control, Opti-
misation and Calculus of Variations 9 (2003), p. 275–296.
[25] M. Fliess, J. levine, P. Martin, F. Ollivier & P. Rouchon –
« Controlling nonlinear systems by flatness », in Systems and control
in the Twenty-First Century (C. Byrnes, B. Datta, D. Gilliam &
C. Martin, éds.), Progress in Systems and Control Theory, Birkhäuser,
1997.
[26] M. Fliess, J. Lévine, P. Martin, F. Ollivier & P. Rouchon –
« A remark on nonlinear accessibility conditions and infinite prolon-
gations », Syst. Control Letters 31 (1997), p. 77–83.
[27] M. Fliess, J. Lévine, P. Martin & P. Rouchon – « Sur les sys-
tèmes non linéaires différentiellement plats », C.R. Acad. Sci. Paris
I–315 (1992), p. 619–624.
[28] , « Linéarisation par bouclage dynamique et transformations
de Lie-Bäcklund », C.R. Acad. Sci. Paris I-317 (1993), p. 981–986.
[29] , « Design of trajectory stabilizing feedback for driftless flat
systems », in Proc. of the 3rd European Control Conf. (Rome), 1995,
p. 1882–1887.
[30] , « Flatness and defect of nonlinear systems : introductory
theory and examples », Int. J. Control 61 (1995), no. 6, p. 1327–1361.
[31] , « A Lie-Bäcklund approach to equivalence and flatness of non-
linear systems », IEEE Trans. Automatic Control 44 (1999), p. 922–
937.
[32] M. Fliess, P. Martin, N. Petit & P. Rouchon – « Active signal
restoration for the telegraph equation », in Proc. of the 38th IEEE
Conf. on Decision and Control (Phoenix), december 1999.
[33] M. Fliess & H. Mounier – « Quelques propriétés structurelles des
systèmes linéaires à retards constants », C.R. Acad. Sci. Paris I-319
(1994), p. 289–294.
[34] M. Fliess & H. Mounier – « Controllability and observability of
linear delay systems : an algebraic approach », ESAIM : Control, Op-
timisation and Calculus of Variations 3 (1998), p. 301–314.
[35] M. Fliess, H. Mounier, P. Rouchon & J. Rudolph – « Control-
lability and motion planning for linear delay systems with an applica-
tion to a flexible rod », in Proc. of the 34th IEEE Conf. on Decision
and Control (New Orleans), 1995, p. 2046–2051.
[36] , « Systèmes linéaires sur les opérateurs de Mikusiński et com-
mande d’une poutre flexible », in ESAIM Proc. “Élasticité, viscolélas-
ticité et contrôle optimal”, 8ème entretiens du centre Jacques Cartier,
Lyon, 1996, p. 157–168.
[37] , « A distributed parameter approach to the control of a tubu-
lar reactor : A multi- variable case », in Proc. of the 37th IEEE Conf.
on Decision and Control, 1998, p. 439– 442.
116 PH. MARTIN & P. ROUCHON

[38] M. Gevrey – « La nature analytique des solutions des équation aux


dérivées partielles », Ann. Sc. Ecole Norm. Sup. 25 (1918), p. 129–
190.
[39] C. Godbillon – Géométrie différentielle et mécanique analytique,
Hermann, Paris, 1969.
[40] M. Gromov – Partial differential relations, Springer-Verlag, 1986.
[41] I. Guelfand & G. Chilov – Les distributions, tome 3, Dunod, Paris,
1964.
[42] V. Hagenmeyer & E. Delaleau – « Continuous-time non-linear
flatness-based predictive control : an exact feedforward linearisation
setting with an induction drive example », International Journal of
Control 81 (2008), no. 10, p. 1645–1663.
[43] S. Haroche & J. Raimond – Exploring the quantum : Atoms, ca-
vities and photons., Oxford University Press, 2006.
[44] J. Hauser, S. Sastry & P. Kokotović – « Nonlinear control
via approximated input-output linearization : the ball and beam
example », IEEE Trans. Automat. Contr. 37 (1992), p. 392–398.
[45] D. Hilbert – « Über den Begriff der Klasse von Differentialgleichun-
gen », Math. Ann. 73 (1912), p. 95–108, also in Gesammelte Abhand-
lungen, vol. III, pp. 81–93, Chelsea, New York, 1965.
[46] L. Hunt, R. Su & G. Meyer – « Global transformations of nonlinear
systems », IEEE Trans. Automat. Control 28 (1983), p. 24–31.
[47] A. Isidori – Nonlinear control systems, 2e éd., Springer, New York,
1989.
[48] B. Jakubczyk & W. Respondek – « On linearization of control
systems », Bull. Acad. Pol. Sci. Ser. Sci. Math. 28 (1980), p. 517–
522.
[49] T. Kailath – Linear systems, Prentice-Hall, Englewood Cliffs, NJ,
1980.
[50] B. Kiss & J. Lévine – « On the control of a reduced scale model
of the US Navy cranes », in 3rd IEEE International Conference on
Intelligent Engineering Systems, 1999.
[51] I. S. Krasil’shichik, V. V. Lychagin & A. M. Vinogradov –
Geometry of jet spaces and nonlinear partial differential equations,
Gordon and Breach, New York, 1986.
[52] L. Landau & E. Lifchitz – Mécanique des fluides, second éd., Mir
Moscou, 1986.
[53] H. Laousy, C. Xu & G. Sallet – « Boundary feedback stabilization
of rotation body-beam system », IEEE Autom. Control 41 (1996),
p. 1–5.
[54] B. Laroche, P. Martin & P. Rouchon – « Motion planing for
the heat equation », Int. Journal of Robust and Nonlinear Control 10
(2000), p. 629–643.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 117

[55] Y. Lenoir, , P. Martin & P. Rouchon – « 2kπ, the juggling


robot », in Proc. of the 37th IEEE Conf. on Decision and Control,
1998, p. 1995–2000.
[56] W. Leonhard – Control of electrical drives, Elsevier, 1985.
[57] J. Lévine – « Are there new industrial perspectives in the control
of mechanical systems ? », in In Issues in Control, ECC99 (P. Frank,
éd.), Springer, 1999.
[58] J. Levine – « On necessary and sufficient conditions for differential
flatness », 2006, http://arxiv.org/abs/math/0605405v2.
[59] J. Lévine, J. Lottin & J.-C. Ponsart – « A nonlinear approach
to the control of magnetic bearings », IEEE Trans. Control Systems
Technology 4 (1996), p. 524–544.
[60] J. Lévine, P. Rouchon, G. Yuan, C. Grebogi, B. Hunt,
E. Kostelich, E. Ott & J. Yorke – « On the control of US Navy
cranes », in ECC97, 1997.
[61] P. Martin – « Contribution à l’étude des systèmes diffèrentiellement
plats », Thèse, École des Mines de Paris, 1992.
[62] , « 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 (San Antonio), 1993, p. 3431–3436.
[63] , « An intrinsic condition for regular decoupling », Systems &
Control Letters 20 (1993), p. 383–391.
[64] , « Endogenous feedbacks and equivalence », in Systems and
Networks : Marthematical Theory and Applications (MTNS’93),
vol. II, Akademie Verlag, Berlin, 1994, p. 343–346.
[65] P. Martin, S. Devasia & B. Paden – « A different look at output
tracking : control of a VTOL aircraft », Automatica 32 (1995), p. 101–
108.
[66] P. Martin, R. Murray & P. Rouchon – « Flat systems, equi-
valence and trajectory generation », 2003, Technical Report http:
//www.cds.caltech.edu/reports/.
[67] P. Martin & P. Rouchon – « Feedback linearization and driftless
systems », Math. Control Signal Syst. 7 (1994), p. 235–254.
[68] , « Any (controllable) driftless system with 3 inputs and 5
states is flat », Systems Control Letters 25 (1995), p. 167–173.
[69] , « Any (controllable) driftless system with m inputs and
m + 2 states is flat », in Proc. of the 34th IEEE Conf. on Decision
and Control (New Orleans), 1995, p. 2886–2891.
[70] , « Flatness and sampling control of induction motors », in
Proc. IFAC World Congress (San Francisco), 1996, p. 389–394.
[71] P. Martin, P. Rouchon & J. Rudolph – « Invariant tracking »,
ESAIM : Control, Optimisation and Calculus of Variations 10 (2004),
p. 1–13.
118 PH. MARTIN & P. ROUCHON

[72] T. Meurer & M. Zeitz – « A modal approach to flatness-based


control of flexible structures », Proc. Appl. Math. Mech 4 (2004), no. 1,
p. 133–134.
[73] , « Feedforward and feedback tracking control of nonlinear
diffusion-convection-reaction systems using summability methods »,
Industrial & Engineering Chemistry Research (2005), Special issue in
honor of the 65th birthday of Professor W.Harmon Ray.
[74] M. Mirrahimi & P. Rouchon – « Controllability of quantum har-
monic oscillators », IEEE Trans Automatic Control 49 (2004), no. 5,
p. 745–747.
[75] G. Monge – « Mémoire de l’Académie Royale des Sciences », ch. Sup-
plément où l’on fait voir que les équations aux différences ordinaires
pour lesquelles les conditions d’intégrabilité ne sont pas satisfaites sont
succeptibles d’une véritable intégration..., p. 502–576, Paris, 1784.
[76] J. Morales-Ruiz & J. Ramis – « Galoisian obstructions to integra-
bility of Hamiltonian systems », Methods and Applications of Analysis
8 (2001), p. 33–95.
[77] H. Mounier – « Propriétés structurelles des systèmes linéaires à re-
tards : aspects théoriques et pratiques », Thèse, Université Paris Sud,
Orsay, 1995.
[78] H. Mounier, J. Rudolph, M. Petitot & M. Fliess – « A flexible
rod as a linear delay system », in Proc. of the 3rd European Control
Conf. (Rome), 1995, p. 3676–3681.
[79] R. M. Murray – « Trajectory generation for a towed cable flight
control system », in Proc. IFAC World Congress (San Francisco),
1996, p. 395–400.
[80] R. M. Murray, M. Rathinam & W. Sluis – « Differential flatness
of mechanical control systems : A catalog of prototype systems », in
ASME International Mechanical Engineering Congress and Exposi-
tion (San Francisco), november 1995.
[81] R. Murray – « Nilpotent bases for a class on nonintegrable distri-
butions with applications to trajectory generation for nonholonomic
systems », Math. Control Signal Syst. 7 (1994), p. 58–75.
[82] R. Murray & S. Sastry – « Nonholonomic motion planning : Stee-
ring using sinusoids », IEEE Trans. Automat. Control 38 (1993),
p. 700–716.
[83] I. I. Neimark & N. Fufaev – Dynamics of nonholonomic systems,
Translations of Mathematical Monographs, vol. 33, American Mathe-
matical Society, Providence, Rhode Island, 1972.
[84] M. v. Nieuwstadt & R. M. Murray – « Approximate trajectory
generation for differentially flat systems with zero dynamics », in Proc.
of the 34th IEEE Conf. on Decision and Control (New Orleans), 1995,
p. 4224–4230.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 119

[85] M. v. Nieuwstadt & R. Murray – « Real time trajectory ge-


neration for differentially flat systems », Int. Journal of Robust and
Nonlinear Control 8 (1998), no. 11, p. 995–1020.
[86] M. v. Nieuwstadt, M. Rathinam & R. M. Murray – « Differen-
tial flatness and absolute equivalence », SIAM Journal of Control and
Optimization 36 (1998), no. 4, p. 1225–1239.
[87] H. Nijmeijer & A. van der Schaft – Nonlinear dynamical control
systems, Springer-Verlag, 1990.
[88] F. Ollivier & A. Sedoglavic – « A generalization of flatness to
nonlinear systems of partial differential equations. application to the
command of a flexible rod », in Proceedings of the 5th IFAC Sympo-
sium NOnLinear COntrol Systems, 2001, p. 196–200.
[89] P. Olver – Applications of Lie groups to differential equations, 2e
éd., Graduate Texts in Mathematics, vol. 107, Springer-Verlag, 1993.
[90] P. S. Pereira da Silva – « Flatness of nonlinear control systems : a
Cartan-Kähler approach », in Proc. Mathematical Theory of Networks
and Systems (MTNS’2000), Perpignan, 2000, p. 1–10.
[91] P. Pereira da Silva & P. Rouchon – « Flatness-based control
of a single qubit gate », IEEE Automatic Control 53 (2008), no. 3,
p. 775–779.
[92] N. Petit, Y. Creff & P. Rouchon – « δ-freeness of a class of
linear delayed systems », in European Control Conference, Brussels,
1997.
[93] , « Motion planning for two classes of nonlinear systems with
delays depending on the control », in Control and Decision Confe-
rence, Tampa, 1998, p. 1007– 1011.
[94] N. Petit & P. Rouchon – « Motion planning for heavy chain sys-
tems », SIAM J. Control and Optim. 41 (2001), no. 2, p. 475–495.
[95] , « Dynamics and solutions to some control problems for water-
tank systems », IEEE Trans. Automatic Control 47 (2002), no. 4,
p. 594–609.
[96] J. Pomet – « A differential geometric setting for dynamic equivalence
and dynamic linearization », Banach Center Publications 32 (1995),
p. 319–339.
[97] , « On dynamic feedback linearization of four-dimensional af-
fine control systems with two inputs », ESAIM : Control, Optimisation
and Calculus of Variations 2 (1997), p. 151–230.
[98] , « A necessary condition for dynamic equivalence », to appear
(2009).
[99] J. Pommaret – Systems of partial differential equations and Lie
pseudogroups, Gordon & Breach, N.Y., 1978.
[100] , « Dualité différentielle et applications », C.R. Acad. Sci. Pa-
ris, Série I 320 (1995), p. 1225–1230.
120 PH. MARTIN & P. ROUCHON

[101] A. Quadrat & D. Robertz – « Computation of bases of free mo-


dules over the weyl algebras », Journal of Symbolic Computation 42
(2007), p. 1113–1141.
[102] C. Raczy – « Commandes optimales en temps pour les systèmes dif-
férentiellement plats. », Thèse, Université des Sciences et Technologies
de Lille, 1997.
[103] J. Ramis – « Dévissage Gevrey », Astérisque 59-60 (1978), p. 173–
204.
[104] , Séries divergentes et théories asymptotiques, Panoramas et
synthèses, Société Mathématique de France, 1993.
[105] M. Rathinam & R. Murray – « Configuration flatness of Lagran-
gian systems underactuated by one control », SIAM J. Control Opti-
mization 36 (1998), no. 1, p. 164–179.
[106] Y. Rocard – Dynamique générale des vibrations, Masson, Paris,
1971.
[107] R. Rothfuß, J. Rudolph & M. Zeitz – « Flatness based control of
a nonlinear chemical reactor model », Automatica 32 (1996), p. 1433–
1439.
[108] P. Rouchon – « Quantum systems and control », revue Africaine de
la Recherche en Informatique et Mathématiques Appliquées (ARIMA),
Special issue in Honor of Claude Lobry (to appear in 2009).
[109] , « Necessary condition and genericity of dynamic feedback li-
nearization », J. Math. Systems Estim. Control 5 (1995), no. 3, p. 345–
358.
[110] , « Control of a quantum particle in a moving potential well »,
in IFAC 2nd Workshop on Lagrangian and Hamiltonian Methods for
Nonlinear Control, April 2003.
[111] P. Rouchon, M. Fliess, J. Lévine & P. Martin – « Flatness
and motion planning : the car with n-trailers. », in Proc. ECC’93,
Groningen, 1993, p. 1518–1522.
[112] , « Flatness, motion planning and trailer systems », in Proc. of
the 32nd IEEE Conf. on Decision and Control (San Antonio), 1993,
p. 2700–2705.
[113] P. Rouchon & J. Rudolph – « Commande de procédés chimiques :
réacteurs et colonnes de distillation », Traité IC2, ch. Réacteurs chi-
miques différentiellement plats : planification et suivi de trajectoires,
p. 163–200, Traité IC2, J.P. Corriou, Paris, hermès éd., 2001.
[114] J. Rudolph – Flatness based control of distributed parameter systems,
Shaker, Germany, 2003.
[115] K. Schlacher & M. Schöberl – « Construction of flat output by
reduction and elimination », in 7th IFAC Symposium on Nonlinear
Control Systems, Pretoria, 2007, p. 666–671.
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 121

[116] S. Sekhavat – « Planification de mouvements sans collision pour


systèmes non holonomes », Thèse, LAAS-CNRS, Toulouse, 1996.
[117] H. Sira-Ramirez & S. Agarwal – Differentially flat systems, CRC,
2004.
[118] H. Sira-Ramirez & M. Ilic-Spong – « Exact linearzation in
switched-mode DC-to-DC power converters », Int. J. Control 50
(1989), p. 511–524.
[119] W. Sluis – « Absolute equivalence and its application to control
theory », Thèse, University of Waterloo, Ontario, 1992.
[120] , « A necessary condition for dynamic feedback linearization »,
Systems Control Letters 21 (1993), p. 277–283.
[121] E. Sontag – Mathematical control theory, Springer Verlag, 1990.
[122] H. Sussmann & V. Jurdjevic – « Controllability of nonlinear sys-
tems », J. Differential Equations 12 (1972), p. 95–116.
[123] G. Valiron – équations fonctionnelles, 2e éd., Masson et Cie, Edi-
teurs, Paris, 1950.
[124] G. N. Watson – A treatrise of the theory of Bessel functions, Cam-
bridge Univ. Press, Cambridge, 1944.
[125] V. Zharinov – Geometrical aspects of partial differential equations,
World Scientific, Singapore, 1992.

Ph. Martin, Mines ParisTech, Centre Automatique et Systèmes, Mathématiques


et Systèmes, 60, Bd Saint-Michel, 75272 Paris Cedex 06
E-mail : philippe.martin@mines-paristech.fr
P. Rouchon, Mines ParisTech, Centre Automatique et Systèmes, Mathématiques
et Systèmes, 60, Bd Saint-Michel, 75272 Paris Cedex 06
E-mail : pierre.rouchon@mines-paristech.fr

Vous aimerez peut-être aussi