Académique Documents
Professionnel Documents
Culture Documents
par
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
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.2)
ω̇ = u/J − (mgl/J) sin θ.
ξ˙ = u/J − (mgl/J)θ! + λ!
ω = u/J − (mgl/J + λ2 )θ! + λξ.
˙
(1.6) ξ" = u(t)/J − (mgl/J + λ2 )θ(t)
! + λξ"
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 !
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
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
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.
CHAPITRE 2
SYSTÈMES LINÉAIRES DE DIMENSION FINIE
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é
(2.3) ẋ = Ax + Bu
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.
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.
(α−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).
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.
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).
n’est pas linéarisable par bouclage statique bien que le système étendu
CHAPITRE 3
SYSTÈMES PLATS
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.
= >
˙ = f (x(t), u(t)), u̇(t), ü(t), . . . ∀ t " 0,
ξ(t)
sur X × U × R∞
m . Inversement, chaque application
ḣ(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
∞
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.
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.
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.
(X × U × R∞ ∞
m , F ) et (Y × V × Rs , G)
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.
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).
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.
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.
ż = a(x, z, v), z ∈ Z ⊂ Rq
u = κ(x, z, v),
ẏ = g(y, v), v̇ = v 1 , v̇ 1 = v 2 , . . . , v̇ µ = w
telle que
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
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
Des calculs similaires sont possibles pour les robots mobiles [29,
25].
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.
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.
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
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 à
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
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 :
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.
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.
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].
CHAPITRE 4
SYSTÈMES PLATS DE DIMENSION INFINIE
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é.
Avec y(t) := x1 (t), nous avons une paramétrisation explicite des tra-
jectoires
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.
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
3.5
2.5
1.5
1
1
0.8 1.5
0.6
1
0.4
0.2 0.5
0 0
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].
noeud α
noeud β β
χολορ σλιδερ
Y1% (σα )
α1 (t) = , α2 (t) = 1 − α1 (t).
Y1% (σα ) + Y2% (σα )
et
9:
Y%
β(t) = (sβ )
V%
avec V = Y1 + Y2 + Y3 .
(4) poser
et
u3 (t) = V % (σ(t)) σ̇(t) − u1 (t) − u2 (t)
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
+∞
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
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
ê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.
(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.
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.
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.
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(α − β)
où
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.
#
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
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.
m θ1
pendule
P
(x, y, z ) θ2 u2
S
g (a, b, c) moteur
Z
moteur
O Y
X
θ3 u1
u3
moteur
(x − a)(z̈ + g) = ẍ(z − c)
(y − b)(z̈ + g) = ÿ(z − c)
(x − a)2 + (y − b)2 + (z − c)2 = l2 ,
mP̈ = m6g + T6
et de la contrainte de rigidité
:P S: = l2 .
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
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
Rs ıs + ψ̇s = us ψs = Ls ıs + M ejnθ ır
Rr ır + ψ̇r = 0 ψr = M e−jnθ ıs + Lr ır ,
v(0, t) = u(t)
v(7, t) = Zi(7, t)
SYSTÈMES PLATS : PLANIFICATION ET SUIVI DE TRAJECTOIRES 111
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