Commande des systèmes par platitude

Transcription

Commande des systèmes par platitude
Commande des systèmes
par platitude
par
Frédéric ROTELLA
Professeur des Universités
Enseignant d’Automatique
École Nationale d’Ingénieurs de Tarbes
et
Irène ZAMBETTAKIS
Professeur des Universités
Enseignant d’Automatique
IUT de Tarbes, Université Paul Sabatier de Toulouse
1.
Contexte .....................................................................................................
2.
Platitude d’un modèle ............................................................................
S 7 450 - 2
—
3
3.
3.1
3.2
3.3
Planification de trajectoire ...................................................................
Génération de trajectoire sur z (t ) ..............................................................
Génération de trajectoire sur y (t )..............................................................
Trajectoire géométrique et évolution.........................................................
—
—
—
—
5
5
5
5
4.
4.1
4.2
Commande par platitude .......................................................................
Commande par platitude directe................................................................
Commande par platitude numérique.........................................................
—
—
—
6
7
9
5.
Cas des systèmes linéaires ...................................................................
—
11
6.
6.1
6.2
6.3
Mise en évidence de la platitude.........................................................
Platitude et accessibilité..............................................................................
Critère des variétés réglées ........................................................................
Condition nécessaire et suffisante de platitude ........................................
—
—
—
—
12
12
14
15
7.
Systèmes non plats .................................................................................
—
16
8.
Conclusion .................................................................................................
—
18
Références bibliographiques .........................................................................
—
18
a propriété de platitude d’un système est une notion relativement récente
en Automatique qui a été proposée et développée, à partir de 1992, par
M. Fliess, J. Lévine, P. Martin et P. Rouchon [1]. Cette propriété, qui permet de
paramétrer de façon très simple le comportement dynamique d’un système,
est basée sur la mise en évidence d’un ensemble de variables fondamentales
du système : ses sorties plates. Ce point de vue, comme nous allons le voir, a
de multiples et intéressantes conséquences relativement à la commande des
systèmes.
En premier lieu, cela permet de remettre au centre de la commande d’un processus la notion de trajectoire que le système doit exécuter, c’est-à-dire que le
mouvement demandé à un système doit avant tout être réalisable par ce système. Cela permet ainsi d’éviter de nombreux problèmes auxquels sont
confrontés les automaticiens. L’une des premières étapes de la commande par
platitude consiste alors à générer une trajectoire désirée adéquate qui tient
compte implicitement du modèle du système.
L
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie
est strictement interdite. − © Editions T.I.
Dossier délivré pour
BIBLIOTHEQUE
16/10/2008
S 7 450 − 1
COMMANDE DES SYSTÈMES PAR PLATITUDE
_______________________________________________________________________________________________
En deuxième lieu, cette commande implique également la conception d’un
contrôle par bouclage permettant la poursuite de cette trajectoire. On retrouve
ainsi un des principes de base de la boucle de rétroaction : elle sert essentiellement à compenser les erreurs inhérentes à toute modélisation. Nous verrons
de plus que, bien qu’utilisant le modèle non linéaire du processus à
commander, ce bouclage, élaboré dans l’optique d’une poursuite asymptotique
de la trajectoire à réaliser, sera conçu dans un cadre linéaire.
Enfin, et ce n’est pas le moindre de ses intérêts, ce type de commande peut
être conçu et appliqué en adoptant un strict point de vue d’ingénierie. En effet,
et nous nous attacherons à privilégier cet angle, cette commande, qui peut
directement être mise en œuvre à partir du modèle non linéaire, ou même dans
certains cas, sur des modèles faisant intervenir des équations aux dérivées partielles, simplifie notablement la conception de la commande des systèmes sans
faire appel à toute la lourde panoplie des outils utilisés habituellement dans le
cadre des systèmes non linéaires [5]. Elle permet ainsi de se tourner vers une
démarche plus pragmatique, mais néanmoins très performante, qui a donné
lieu à de nombreuses applications industrielles dans des domaines aussi
divers, et sans prétendre ici être exhaustifs, que l’aéronautique, l’automobile,
le génie chimique, ou l’agro-alimentaire, c’est-à-dire dans tous les domaines où
s’applique l’art de l’ingénieur.
1. Contexte
De façon à comprendre intuitivement la notion de platitude,
considérons un robot manipulateur décrit par le modèle dynamique en les variables articulaires q (t ) [6] [19] :
H ( q ( t ) ) q¨ ( t ) + NL ( q ( t ), q˙ ( t ) ) = Γ ( t )
avec
H (q )
(1)
matrice d’inertie (toujours définie positive),
NL ( q, q˙)
Γ (t )
vecteur des non-linéarités (termes de Coriolis, de
gravité, d’entraînement,...),
vecteur des couples articulaires qui constitueront,
dans un premier temps, les commandes de ce système.
Les notions que nous allons décrire dans la suite font largement appel, dans le cas des modèles continus, à l’opération de
dérivation temporelle ; nous utilisons la notation habituelle :
dk f ( t )
pour tout entier k , f ( k ) ( t ) = -----------------d tk
et pour les premières dérivées :
Le deuxième point important concerne le suivi de cette trajectoire. En effet, si on impose Γd (t ) au niveau des commandes
d’axes du robot, l’imprécision sur la connaissance des valeurs des
paramètres du modèle, les perturbations et les conditions initiales
mal connues font que la trajectoire désirée qd (t ) ne va pas être
exactement exécutée. La méthode intuitive du couple calculé [6]
[19] donne le bouclage statique :
Γ ( t ) = H ( q ( t ) )v ( t ) + NL ( q ( t ), q˙ ( t ) )
Notons que dans un cadre linéaire, nous utilisons la notation
opérationnelle f (k) (t ) = pk f (t ) où p désigne l’opérateur de dérivation temporelle.
Ainsi lorsque l’on désire faire exécuter une trajectoire au robot
sous la forme d’un déplacement articulaire qd (t ) sur un intervalle
de temps t ∈ τ = [t0, tf ], on peut calculer les commandes à imposer
pendant τ sous la forme :
Γd ( t ) = H ( q d ( t ) ) q¨ d ( t ) + NL ( q d ( t ), q˙d ( t ) )
(2)
avec v (t ) nouvelle commande.
Il conduit au système linéaire découplé :
q¨ ( t ) = v ( t )
Si dans (2), on considère :
v ( t ) = ¨ q d ( t ) + K 1 (q˙d ( t ) – q˙ ( t ) ) + K 0 ( q d ( t ) – q ( t ) )
avec q (t )
K 1 et K 0
f˙( t ) = f ( 1 ) ( t ) et f¨( t ) = f ( 2 ) ( t )
S 7 450 − 2
C’est-à-dire que la connaissance de l’évolution des variables articulaires impose celle de toutes les autres variables du système.
Cela met en évidence l’étape essentielle de génération de trajectoire sur un ensemble particulier de variables du système et
constitue le premier point important de la platitude.
trajectoire effective du robot,
deux matrices diagonales positives,
alors la commande :
Γ ( t ) = H ( q ( t ) ) (¨q d ( t ) + K 1 (q˙d ( t ) – q˙ ( t ) ) + K 0 ( q d ( t ) – q ( t ) ) )
+ NL ( q ( t ), q˙ ( t ) )
conduit à une erreur qd (t ) – q (t ) qui tend asymptotiquement vers
0. On obtient ainsi une poursuite de la trajectoire désirée.
Une autre particularité de cette commande concerne le fait que
la propriété qui a été utilisée pour la concevoir est conservée à
travers la mise en série. On peut ainsi, dans une étude plus poussée prendre en compte les actionneurs et les capteurs qui instrumentent un processus, sans que le principe qui a été initialement
utilisé soit remis en question. En ce qui concerne notre exemple du
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie
est strictement interdite. − © Editions T.I.
Dossier délivré pour
BIBLIOTHEQUE
16/10/2008
_______________________________________________________________________________________________ COMMANDE DES SYSTÈMES PAR PLATITUDE
robot manipulateur, nous allons regarder successivement la prise
en compte des actionneurs et le fait que l’on conçoive initialement
la trajectoire d’un robot dans un espace opérationnel et non dans
l’espace articulaire.
En robotique, un modèle unifié d’actionneurs (électriques ou
hydrauliques) permet d’écrire entre le vecteur des commandes
envoyées aux cartes d’axes, U (t ), et Γ (t ), une relation de la forme :
U (t ) = A 3Γ(3) (t ) + A 2Γ(2) (t ) + A1Γ(1) (t ) + A 0Γ (t )
où les matrices A 3 à A 0 sont, dans la plupart des cas, diagonales
et positives. La prise en compte du modèle (1) de la partie mécanique articulée conduit à :
U ( t ) = Φ ( q ( 5 ) ( t ), …, q˙ ( t ), q ( t ) )
(3)
Malgré un modèle plus complexe, on s’aperçoit que la
connaissance de l’évolution des variables articulaires permet
encore de paramétrer la commande des actionneurs. On peut ainsi
appliquer à nouveau le principe de commande précédent. La
commande de suivi asymptotique de la trajectoire qd (t ) s’écrira
donc, au niveau des actionneurs, sous la forme :
U ( t ) = Φ ( w ( t ), q ( 4 ) ( t ), ..., q˙ ( t ), q ( t ) )
avec
4
(5)
En résumé, nous avons vu sur cet exemple simple que la mise
en évidence de variables permettant de paramétrer les autres
variables du système, dont en particulier les commandes,
conduit à construire une commande qui répond à un objectif de
poursuite de trajectoire désirée. Remarquons ici que, d’une part,
ce paramétrage a été obtenu sans intégrer de système différentiel, donc sans difficulté, et que d’autre part, il n’a pas été remis
en cause par des mises en série imposées par la prise en
compte, par exemple, d’actionneurs ou de fonctions de sorties.
On peut ainsi construire des commandes à différents niveaux,
suivant que l’on tient compte ou non des différentes échelles
dynamiques présentes dans tout processus opératif.
Toutes ces caractéristiques sont des avantages de la commande
par platitude dont nous allons détailler les principes dans la suite.
Dans une optique résolument tournée vers la pratique et la mise en
œuvre de cette commande, nous n’abordons pas les principes fondamentaux qui la justifient. Ces principes sont basés sur des
concepts théoriques rigoureux comme l’algèbre différentielle [2]
ou la géométrie différentielle des jets infinis [3]. Nous invitons bien
sûr les lecteurs désireux d’approfondir ces questions à les
consulter. Dans la suite, nous insistons plutôt sur des procédures
pratiques de conception d’une commande par platitude et sur des
exemples applicatifs.
(i)
w ( t ) = q d ( t ) + ∑ Ki ( q d ( t ) – q ( i ) ( t ) )
2. Platitude d’un modèle
i=0
où les Ki , pour i = 0 à 4, sont des matrices diagonales telles que les
4
coefficients polynomiaux de p 5 + ∑ K i p i aient leurs zéros à partie
i=0
réelle négative.
Les mêmes considérations peuvent être menées lorsque l’on
considère des trajectoires générées dans l’espace opérationnel.
Soit X (t ) les coordonnées opérationnelles du robot, c’est-à-dire
l’ensemble des variables indépendantes qui définissent la position
et l’orientation de l’organe terminal dans un référentiel fixe.
Comme il est plus pratique de concevoir un déplacement dans
l’environnement du robot, les trajectoires sont définies dans
l’espace opérationnel sous la forme Xd (t ). L’utilisation du modèle
géométrique de la partie mécanique articulée [6] [19] :
g (X ) = f (q )
∂G
De ce dernier modèle, on obtient par dérivation q˙ = --------- X˙ , et
∂X
de façon plus générale pour tout entier k, q (k) = φ (X, ..., X (k)). Ces
relations, utilisées dans (3), donnent l’expression de la commande
en fonction de la connaissance des coordonnées opérationnelles :
U ( t ) = Ψ ( X ( 5 ) ( t ), ..., X˙ ( t ), X ( t ) )
(5)
U d ( t ) = Ψ ( X d ( t ), ..., X˙d ( t ), X d ( t ) )
— par poursuite de trajectoire (commande en boucle fermée) :
4
i=1
z (t ) = h (x (t ), u (t ), u (1) (t ), ..., u (δ) (t ))
(5)
dont les composantes soient différentiellement indépendantes
et deux fonctions A (.) et B (.) telles que :
x (t ) = A (z (t ), z (1) (t ), ..., z (α) (t ))
z (1)
(t ), ...,
z (β)
(t ))
(6)
(7)
où α, β, et δ sont trois entiers finis.
Le vecteur z (t ) qui apparaît dans cette définition s’appelle la
sortie plate du système. Par l’introduction des fonctions A (.) et
B (.), cette sortie plate est composée d’un ensemble de variables
qui permet de paramétrer toutes les autres variables du système,
l’état, la commande, mais également la sortie y (t ). En effet, si la
sortie du système est définie par une relation de la forme
y (t ) = Ψ (x (t ), u (t ), ..., u (p) (t )), alors nécessairement (6) et (7) permettent d’affirmer qu’il existe un entier γ tel que :
(8)
Comme les composantes de z (t ) sont différentiellement indépendantes, la sortie plate regroupe toutes les variables libres (non
contraintes) du système. Mais on peut dire également, par la
relation (5), qu’elle ne dépend que de l’état et de la commande, ce
qui en fait une variable endogène du système, contrairement par
exemple à l’état d’un observateur qui est une variable exogène du
système observé. Par ailleurs, et la notion d’équivalence différentielle au sens de Lie-Bäcklund le montre bien [3], le nombre de
composantes de z (t ) est donné par celui de la commande :
dim z (t ) = dim u (t )
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie
est strictement interdite. − © Editions T.I.
Dossier délivré pour
BIBLIOTHEQUE
16/10/2008
(4)
où x (t ) est l’état et u (t ) est la commande, est plat s’il existe un
vecteur z (t ) tel que :
y (t ) = C (z (t ), ..., z (γ) (t ))
Cela permet de faire la commande directement dans l’espace
opérationnel :
— par génération de trajectoire (commande en boucle ouverte) :
Φ (x˙ ( t ), x ( t ), u ( t ) ) = 0
u (t ) = B (z (t ),
permet de construire (localement et hors des singularités éventuelles) les modèles géométriques :
— direct : X = F (q ) ;
— inverse : q = G (X ).
(5)
(i)
U ( t ) = Ψ X d ( t ) + ∑ k i ( X d ( t ) – X ( i ) ( t ) ), ..., X˙ ( t ), X ( t )
Définition 1
Un système défini par l’équation :
S 7 450 − 3
COMMANDE DES SYSTÈMES PAR PLATITUDE
_______________________________________________________________________________________________
Cette propriété essentielle permet de connaître a priori le
nombre de variables libres que l’on doit trouver sur un modèle
pour mettre en évidence sa platitude.
Un modèle dynamique très simplifié [10] peut s’écrire :
¨ x ( t ) = – sin θ ( t )u 1 ( t ) + ε cos θ ( t )u 2 ( t )
Un des avantages de la propriété de platitude est que la définition précédente n’est pas restreinte aux modèles d’état, mais à tout
modèle de la forme :
Φ (x (n) (t ), ..., x (1) (t ), x (t ), u (m) (t ), ..., u (1) (t ), u (t )) = 0
cela permet ainsi de partir directement des équations régissant le
système (fournies par les lois du domaine concerné : mécanique,
chimie, thermodynamique, économie, etc.) sans avoir à reformuler
l’ensemble des équations sous la forme d’une équation d’état.
Nous verrons sur les exemples que les diverses relations nécessaires
à la mise en évidence de la platitude ont chacune leur utilité mais
que la plus importante pour la conception de la commande est la
relation (7). La relation (6) permet de vérifier que z (t ) est effectivement la sortie plate d’un système. En effet, toutes les composantes
de x (t ) doivent pouvoir s’exprimer à l’aide de z (t ) et de ses dérivées.
Exemple 1 :
Considérons le système :
x˙1 ( t ) = x 2 ( t ), x˙2 ( t ) = u ( t )
Si on définit les variables :
— z (t ) = x 2 (t ), malgré u ( t ) = z˙ ( t ) , elle ne peut être considérée
comme sortie plate car on a seulement :
x 1 ( t ) = x 1 ( t0 ) +
¨ h ( t ) = cos θ ( t )u ( t ) + ε sin θ ( t )u ( t ) – 1
1
2
θ¨ ( t ) = u 2 ( t )
Comme il vient :
u1 ( t )
u2 ( t )
z (τ) dτ
et la multiplication du premier membre par cos2 θ + sin2 θ = 1, donne :
cos θ ( t ) ( x¨ ( t ) – ε cos θ ( t ) θ¨ ( t ) ) = – sin θ ( t ) ( h¨ ( t ) + 1 – ε sin θ ( t ) θ¨ ( t ) )
Avec X (t ) = x (t ) – ε sin θ (t ) et H (t ) = h (t ) + ε cos θ (t ), on a :
¨ x ( t ) – ε cos θ ( t ) θ¨ ( t ) = X¨ ( t ) – ε sin θ ( t ) θ̇ 2 ( t )
¨ h ( t ) – ε sin θ ( t ) θ¨ ( t ) = H¨ ( t ) + ε cos θ ( t ) θ̇ 2 ( t )
soit :
cos θ ( t ) X¨ ( t ) = – sin θ ( t ) ( H ¨( t ) + 1 )
x 2 ( t ) = z˙ ( t ) et u ( t ) = z ¨( t )
qui indique que x1 est une sortie plate de ce système.
En conséquence ce système est plat de sortie plate z (t ) = x1 (t ).
Pour simplifier, plaçons-nous dans le cas ( ¨H ( t ) + 1 ) 2 + X¨ ( t ) 2 ≠ 0 .
On tire de la relation précédente que lorsque H¨ ( t ) + 1 = 0 alors
θ = (2k + 1) π/2 sinon :
La relation (8) permet quant à elle de relier l’évolution de la
sortie plate à celle de la sortie. Elle sera utile lors de la phase de
génération de trajectoire.
Dans les paragraphes 3 et 4, nous allons décrire les implications
de la notion de platitude concernant la mise en œuvre de la
commande d’un système et ceci à divers niveaux. Mais auparavant
traitons de l’exemple de l’avion à décollage vertical. Cet exemple
offre la particularité d’être assez simple dans sa formulation tout en
nous permettant de mettre en évidence, dans la suite, la puissance
de la commande par platitude relativement à une commande non
linéaire habituelle. De plus, nous y verrons que, comme dans beaucoup de situations pratiques, certaines sorties plates particulières
possèdent souvent une interprétation physique.
Exemple 2 : avion
Considérons le mouvement dans le plan vertical d’un avion à décollage vertical, schématisé dans la figure 1. En utilisant les coordonnées
réduites :
xG
hG
J sin α
- , ε = ----------------------------------------------------x = ------,
h = -----g
g
mg ( cos α + δ sin α )
avec m
( F 1 – F 2 ) sin α
u 2 = ---------------------------------ε mg
X¨( t )
θ ( t ) = – arctan ----------------------H¨ ( t ) + 1
Comme :
X¨ ( t )
sin θ = – -------------------------------------------------------¨X ( t ) 2 + ( H¨ ( t ) + 1 ) 2
et
H¨ ( t ) + 1
cos θ = -------------------------------------------------------------------- ,
2
X¨ ( t ) + ( H¨( t ) + 1 ) 2
on en déduit :
¨ ( t ) et h ( t ) = h H ( t ) , X (¨t ), H ( t¨ )
x ( t ) = x X ( t ), ¨X ( t ), H
De θ¨ ( t ) = u 2 ( t ) :
u2 (t ) = u2 (X (2) (t ), H (2) (t ), X (3) (t ), H (3) (t ), X (4) (t ), H (4) (t )) (9)
et des relations
¨X ( t ) = – sin θ ( t ) ( u ( t ) – εθ̇ 2 ( t ) )
1
¨H ( t ) + 1 = cos θ ( t ) ( u ( t ) – εθ̇ 2 ( t ) )
1
masse de l’avion,
J
g
son inertie,
accélération due à la pesanteur,
α
angle que font les poussées F1 (t ) et F2 (t ) avec la verticale,
( , δ )
paramètres fournissant les coordonnées dans le référentiel inertiel de l’avion des points d’application des
poussées.
S 7 450 − 4
x ¨( t )
h¨( t ) + 1
¨ ( t ) = cos θ ( t ) x¨ ( t ) + sin θ ( t ) ( h ¨( t ) + 1 )
εθ
— z (t ) = x1 (t ), alors :
( F 1 + F 2 ) cos α
-,
u 1 = ----------------------------------mg
– sin θ ( t ) cos θ ( t )
cos θ ( t ) sin θ ( t )
---------------------- -------------------ε
ε
l’élimination de u 2 (t ) conduit à :
t
t0
=
on tire
u1 (t ) = u1 (X (2) (t ), H (2) (t ), X (3) (t ), H (3) (t ))
Cet ensemble de relations indique que (X (t ), H (t )) est une sortie
plate de ce système. Remarquons qu’elle admet une interprétation
physique immédiate puisqu’il s’agit du centre de rotation de Huygens
du pendule équivalent.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie
est strictement interdite. − © Editions T.I.
Dossier délivré pour
BIBLIOTHEQUE
16/10/2008
_______________________________________________________________________________________________ COMMANDE DES SYSTÈMES PAR PLATITUDE
Elle possède bien sûr les propriétés cherchées de dérivabilité. On
peut également combiner les deux solutions (par exemple, splines
cubiques, courbes de Bézier,...) et tenir compte de contraintes
éventuelles [17].
α
δ
F2 (t)
α
θ (t)
δ
h (t)
F1 (t)
3.2 Génération de trajectoire sur y (t )
δ
Souvent, la sortie y (t ) que l’on veut asservir n’est pas une sortie
plate et dans ce cas on ne peut, sans risques, générer une trajectoire directement sur y (t ). Nous verrons pourquoi lors de la
commande de l’avion à décollage vertical. Comment peut-on alors
procéder lorsque l’on veut imposer une trajectoire à effectuer sur
la sortie ? La procédure suivante résout en partie ce problème en
définissant une tolérance admissible sur cette trajectoire.
δ
x (t)
Figure 1 – Avion à décollage vertical
3. Planification de trajectoire
À partir de la relation (7), si l’on désire obtenir, pour le système
plat (4), la trajectoire :
zd (t ) pour t de t 0 à tf
il suffit d’imposer, sur le même segment temporel, la commande
en boucle ouverte :
(β)
(1)
u d ( t ) = B ( z d ( t ), z d ( t ), ..., z d ( t ) )
(10)
Dans l’hypothèse d’un modèle parfait, on aura alors, pour t de t 0
à tf , z (t ) = zd (t ), et par voie de conséquences :
(1)
(α)
(1)
z d (t
(γ )
z d (t
x ( t ) = x d ( t ) = A ( z d ( t ), z d ( t ), ..., z d ( t ) )
y ( t ) = y d ( t ) = C ( z d ( t ),
), ...,
))
Ainsi maîtrise-t-on complètement l’évolution de toutes les trajectoires nominales du système, la seule contrainte étant que la trajectoire désirée sur la sortie plate doit nécessairement être au
moins max(α, β, γ )-fois dérivable sur [t 0 , tf ].
3.1 Génération de trajectoire sur z (t )
Pour assurer la contrainte de dérivabilité durant toute la trajectoire on envisage généralement, et sans être restrictif, des trajectoires polynomiales par morceaux, des polynômes d’interpolations
ou des fonctions C∞ (par exemple, des fonctions trigonométriques)
avec la plupart du temps, des conditions de continuité au départ et
à l’arrivée. On peut également imposer :
— des points de passage ou de rebroussement ;
— des trajectoires de contournement prévues en fonction d’événements possibles.
Une autre possibilité concerne l’optimisation, le long de la trajectoire désirée d’un critère de la forme :
J =
t1
t0
Ψ ( y ( t ), u ( t ) ) dt
qui, compte tenu des relations (7) et (8) s’écrit :
J =
t1
t0
L ( z, ..., z ( µ ) ) dt
Nous sommes donc ramenés à un simple problème de calcul de
variations et la trajectoire optimale, zd (t ), qui minimise alors ce critère est solution de l’équation d’Euler-Lagrange :
dµ ∂ L
d2 ∂ L
d ∂L
∂L
--------- – -------- --------------- + ----------- --------------- + ... + ( – 1 ) µ ---------- --------------- = 0
dt ∂ z ( 1 )
∂z
dt 2 ∂ z ( 2 )
dt µ ∂ z ( µ )
Procédure 1. Génération de trajectoire sur une sortie
non plate
À partir de yd (t ), trajectoire désirée sur la sortie pour
t ∈ [t 0, tf ] :
1. On impose des points de passage, pour i = 0 à N, y (ti) = yi.
2. On impose des contraintes en ces points, pour i = 0 à N,
pour j = 1 à M, y (j) (ti) = yi, j .
3. On impose des contraintes (de continuités) aux points de
–
4. Compte tenu de
y (j) = Cj (z, ..., z (γ +j)).
y = C (z, ..., z (γ)),
pour
j=0
à
M,
5. Cela donne des contraintes, pour i = 0 à N, pour j = 1 à
γ + M, z (j)(ti) = zi, j .
6. On génère la trajectoire zd (t ) de t 0 à tN qui vérifie ces
contraintes.
7. Cela
C ( z d ( t ), ...,
donne
(γ )
z d (t
la
trajectoire
sur
y (t ),
yd ( t ) =
)) .
8. Soit e (t ) = y (t ) – yd (t ) et E la tolérance maximale
autorisée :
— si max e (t ) < E, on exécute la commande u d ( t ) =
(β)
B ( z d ( t ), ..., z d ( t ) ) ;
— si max e (t ) > E, on insère des points de passage supplémentaires et on reprend à l’étape 1.
3.3 Trajectoire géométrique et évolution
Un des intérêts de la notion de platitude est de permettre,
toujours relativement au système, la distinction claire entre
l’aspect géométrique de la trajectoire à exécuter et l’évolution de
long de cette trajectoire. Cette distinction s’avère nécessaire lorsque des singularités apparaissent dans l’expression de l’état et de
la commande en fonction de la sortie plate.
Exemple 3 : voiture
Parmi les divers types de modèles de robots mobiles simples proposés dans [7] celui de la voiture à quatre roues dont les deux roues
avant sont les roues directionnelles et les roues arrière sont les roues
motrices, utilisé également dans [2], est particulièrement simple. En
effet, si on note dans la figure 2 (x (t ), y (t )) les coordonnées d’un point
fixe P de la voiture et θ (t ) l’orientation de l’axe du véhicule relativement à un axe fixe, et en prenant comme variables de commande la
vitesse instantanée du véhicule, V (t ), et l’orientation des roues avant,
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie
est strictement interdite. − © Editions T.I.
Dossier délivré pour
BIBLIOTHEQUE
16/10/2008
+
passage, pour i = 1 à N – 1, pour j = 1 à M, y ( j ) ( t i ) = y ( j ) ( t i ) .
S 7 450 − 5
COMMANDE DES SYSTÈMES PAR PLATITUDE
_______________________________________________________________________________________________
π π
ϕ (t ), ϕ ( t ) ∈ – ---- , ---- , l’utilisation de la condition de roulement sans
2 2
glissement conduit au modèle cinématique :
x˙ ( t ) = V ( t ) cos θ ( t )
y˙ ( t ) = V ( t ) sin θ ( t )
ϕ (t)
(11)
V (t )
θ̇ ( t ) = ----------- tan ϕ ( t )
avec empattement du véhicule.
Des considérations géométriques conduisent à prendre comme
sortie plate tout point fixe de la voiture. En particulier si on prend les
coordonnées de P, soit (x (t ), y (t )), on obtient :
F (t)
P
y (t)
x˙2 ( t ) + y˙2 ( t ) , en marche avant

V (t ) = 
 – x˙2 ( t ) + y˙2 ( t ) , en marche arrière
θ (t)
et lorsque V (t ) ≠ 0 :

y˙ ( t ) 
 arctan  ------------ , si x˙ ( t ) ≠ 0
 ẋ


(
t
)
θ (t ) = 
π
˙
˙
 --2- signe ( y ( t ) ), si x ( t ) = 0

 ( x˙ ( t )y¨ ( t ) – x¨( t )y˙ ( t ) ) 
ϕ ( t ) = arctan  ---------------------------------------------------------------
3


x˙2 ( t ) + y˙ 2 ( t )
Lorsque V (t ) = 0, ce qui correspond à un point d’arrêt du véhicule,
apparaît une singularité dans l’expression des commandes. L’interprétation physique est ici immédiate : tourner le volant d’un véhicule à
l’arrêt s’avère sans effet.
Comme dans le cas d’une conduite usuelle les phases de démarrage et d’arrêt sont progressives le long de la trajectoire, cela
suggère, pour lever des singularités éventuelles, de découpler
l’aspect géométrique de la trajectoire à suivre et l’allure du mouvement le long de cette trajectoire. La procédure suivante résume
la démarche à adopter pour résoudre le problème posé par une
singularité.
Procédure 2. Traitement d’une singularité
1. Introduire l’abscisse curviligne σ (t ), avec σ (t 0) = 0 et
σ (tf ) = 1.
2. Paramétrer cette abscisse curviligne relativement au
temps, soit σ (t ), en imposant des contraintes suffisantes sur les
dérivées successives de σ (t ) aux instants correspondants aux
singularités.
3. Écrire les relations de platitude (6) et (7) en fonction de
l’abscisse curviligne et des dérivations relativement à cette abscisse curviligne.
4. Décrire la géométrie de la trajectoire à réaliser sur la sortie
plate par son abscisse curviligne σ, soit zd (σ).
Exemple 4 : voiture (suite)
En ce qui concerne les premières étapes de la procédure, si T est la
durée du mouvement, on prend nécessairement σ (0) = 0, et σ (T ) = 1
avec la contrainte supplémentaire σ̇ ( 0 ) = σ̇ ( T ) = 0 . On a par
exemple :
t 2
t
σ ( t ) =  -----  3 – 2 -----
T
T
ce qui donne la vitesse du mouvement le long de la trajectoire géométrique.
S 7 450 − 6
x (t)
Figure 2 – Voiture
Relativement à l’aspect géométrique de la trajectoire, en notant
dx
dy
x ′ ( σ ) = --------- et y ′( σ ) = --------- , qui sont bien sûr liés par définition par
dσ
dσ
x ′2 (σ) + y ′2 (σ) = 1 le long de la trajectoire, on obtient les relations :
 u ( t ) = σ̇ ( t )

y ′
 θ ( t ) = arctan  ----- , si x ′ ≠ 0 et π
--- signe ( y ′ ) sinon

 x ′
2

 ϕ ( t ) = arctan ( ( x ′ ( t ) y ′′ ( t ) – x ′′ ( t ) y ′ ( t ) ) )

où la singularité a disparu.
4. Commande par platitude
La génération de trajectoire réalisée dans le paragraphe 3
conduit, via (10), à la commande en boucle ouverte que l’on peut
imposer au système pour obtenir le comportement prévu.
Cependant, comme le modèle n’est jamais parfait, l’utilisation
de (10) ne permet pas d’exécuter parfaitement les trajectoires
désirées sur les sorties. Une commande en boucle fermée est donc
nécessaire et la relation (7) est celle qui va nous permettre de
construire l’algorithme de commande de poursuite de la trajectoire
désirée. Cependant, si pour la mise en évidence de la propriété de
platitude la seule existence, e.g. en utilisant le théorème des fonctions implicites, des fonctions A (.), B (.) et C (.) était suffisante, il
n’en est pas de même lorsque l’on veut construire la commande
puisque nous avons besoin de l’expression de la commande sous
la forme (7). Deux éventualités peuvent se produire :
1. les formules de platitude, surtout u (t ) = B (z (t ), ..., z (β) (t )),
sont explicites : le système est dit explicitement plat et cela nous
conduit au premier schéma de commande par platitude ou
commande par platitude directe. À titre d’exemple, les modèles
précédents de l’avion à décollage vertical ou de la voiture sont
explicitement plats.
2. le système est plat mais on ne sait pas extraire les formules
donnant l’état et la commande : le système est dit alors numériquement plat. On parle aussi parfois de platitude implicite [17],
mais nous verrons dans la suite pourquoi l’on préfère parler ici de
platitude numérique. Cela nous conduit au deuxième schéma de
commande par platitude ou commande par platitude numérique.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie
est strictement interdite. − © Editions T.I.
Dossier délivré pour
BIBLIOTHEQUE
16/10/2008
_______________________________________________________________________________________________ COMMANDE DES SYSTÈMES PAR PLATITUDE
En groupant les relations (13) et (14), on obtient un système d’équations non linéaires en les inconnues :
H (t ) = [hA (t ) hB (t ) h1 (t ) h 2 (t )]T
dA
qui est (localement) soluble si le théorème des fonctions implicites est
vérifié, soit si :
dB
q1
q2
(SB)
(SA)
hB
hA
u1
u2
(γ1)
h1
qA
q2
qB
(S2)
(S1)
d1
0
0
S2
0
SB
S1
0
kB
---------------------2 h B (t )
0
k2
– ---------------------2 h 2 (t )
kA
J ( H ( t ) ) = – ---------------------2 h A (t )
(γ2)
q1
SA
kB
k1
- – --------------------– ---------------------2 h B (t )
2 h 1 (t )
kA
---------------------2 h A (t )
(15)
0
h2
est inversible. Ainsi, tant que :
d2
S kA h 2 ( t )
S kB h 1 ( t )
-------1 ------ --------------- + -------2- ------ --------------- ≠ 1
SB k 1 hB ( t )
SA k 2 hA ( t )
Figure 3 – Réseau de quatre cuves
Exemple 5 : cuves
Considérons le réseau hydrographique à quatre cuves schématisé
dans la figure 3 où les notations adoptées désignent :
— u 1 (t ), u 2 (t ) : les débits amont (non maîtrisables) ;
— q 1 (t ), q 1 ( t ) , qA (t ), qB (t ), q 2 (t ), q 2 ( t ) : les débits entrant
dans les réservoirs ;
— dA (t ), dB (t ) : les débits externes dans les réservoirs supérieurs
(pluies ou évaporations) ;
— d 1 (t ), d 2 (t ) : les débits de sortie des réservoirs externes ;
— h1 (t ), h2 (t ), hA (t ), hB (t ) : les hauteurs d’eau dans les
réservoirs ;
— γ 1 (t ), γ 2 (t ) : les ouvertures relatives des vannes de dérivation.
En supposant, pour simplifier, que les débits de perturbations
externes dA (t ) et dB (t ) soient nuls, ce système peut être décrit par les
relations :
(16)
z (t ) = [V2A (t ) V1B (t )]T est une sortie plate du système. Bien que
l’on ne puisse résoudre analytiquement le système d’équations (13) et
(14), on peut numériquement obtenir H = H ( z, z˙, u , u ) pour cha1
2
que valeur de z, z˙, u 1 et u 2 , et également :
1
γ 1 ( t ) = --------------- ( S 1 h˙ 1 ( t ) + k 1 h 1 ( t ) – k A h A ( t ) )
u 1(t )
1
γ 2 ( t ) = --------------- ( S 2 h˙ 2 ( t ) + k 2 h 2 ( t ) – k B h B ( t ) )
u 2(t )
Ce système est numériquement plat de sortie plate z (t ), le cas où
u 1 (t ) ou u 2 (t ) s’annule étant bien sûr exclu.
Bien que cela ne change pas la propriété de platitude, on ne
pourra pas appliquer, dans les deux situations décrites, les mêmes
techniques de commande.
q 1 ( t ) = γ 1 ( t )u 1 ( t )
q 1 ( t ) = ( 1 – γ 1 ( t ) )u 1 ( t )
q 2 ( t ) = γ 2 ( t )u 2 ( t )
S A h˙A ( t ) = q 2 ( t ) – q A ( t )
q 2 ( t ) = ( 1 – γ 2 ( t ) )u 2 ( t )
S h˙ ( t ) = q ( t ) – q ( t )
4.1 Commande par platitude directe
qA ( t ) = kA hA ( t )
S 1 h˙1 ( t ) = q 1 ( t ) + q A ( t ) – d 1 ( t )
qB ( t ) = kB hB ( t )
S 2 h˙2 ( t ) = q 2 ( t ) + q B ( t ) – d 2 ( t )
Comme dans le cas du robot manipulateur, la connaissance
de (7) conduit à proposer la commande :
d1 ( t ) = k1 h1 ( t )
d2 ( t ) = k2 h2 ( t )
B B
1
B
où les constantes ki sont relatives aux orifices d’écoulements et les
constantes Si représentent les surfaces libres des réservoirs. En
considérant que nos commandes sont les taux d’ouvertures des dérivations γ 1 (t ) et γ 2 (t ), à valeurs dans [0, 1], leur élimination dans les
relations précédentes donne :
S A h˙A ( t ) + S 2 h˙ 2 ( t ) = – k A h A ( t ) – k 2 h 2 ( t ) + k B h B ( t ) + u 2 ( t )
(12)
S B h˙B ( t ) + S 1 h˙ 1 ( t ) = – k B h B ( t ) – k 1 h 1 ( t ) + k A h A ( t ) + u 1 ( t )
Si on définit les volumes :
V 2A ( t ) = S A h A ( t ) + S 2 h 2 ( t )
V 1B ( t ) = S B h B ( t ) + S 1 h 1 ( t )
u (t ) = B (z (t ), z (1) (t ), ..., z (β–1) (t ), v (t ))
∂B(.)
où v (t ) est une nouvelle commande. Lorsque -------------- est locale∂ z (β)
ment inversible, cela conduit au système découplé :
z (β) (t ) = v (t )
Ce résultat est à comparer à la linéarisation et au découplage par
bouclage des systèmes non linéaires qui sont toujours conditionnés
par la stabilité des zéros du système [5]. En effet, nous obtenons
ici un découplage et une linéarisation inconditionnels (notons
que cette propriété est à l’origine du choix du terme platitude).
Cependant, il est évident qu’un bouclage supplémentaire de stabilisation est nécessaire. La commande :
(13)
(β)
v (t ) = z d (t ) +
on obtient :
β–1
( t ) – z (i) ( t ) )
i=0
V˙2A ( t ) – u 2 ( t ) = – k A h A ( t ) – k 2 h 2 ( t ) + k B h B ( t )
V˙1B ( t ) – u 1 ( t ) = – k B h B ( t ) – k 1 h 1 ( t ) + k A h A ( t )
(14)
où
K (p) = p β +
β–1
∑ Ki p i
est une matrice diagonale dont les élé-
i=0
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie
est strictement interdite. − © Editions T.I.
Dossier délivré pour
BIBLIOTHEQUE
16/10/2008
(i)
∑ Ki ( z d
S 7 450 − 7
COMMANDE DES SYSTÈMES PAR PLATITUDE
_______________________________________________________________________________________________
ments sont des polynômes dont les racines sont à partie réelle
négative, conduit à :
u
β–1


(i)
(β)
u = B  z, ..., z ( β – 1 ) , z d ( t ) + ∑ K i ( z d ( t ) – z ( i ) ( t ) )


i=0
Processus
y
z
z
= Φ ( z, ..., z ( β – 1 ) , K ( p )z d ( t ) )
zd
et permet d’assurer une poursuite de trajectoire asymptotique
avec :
lim ( z d ( t ) – z ( t ) ) = 0
Figure 4 – Première structure de commande
t→∞
Comme z (t ) et toutes ses dérivées sont des variables endogènes
du processus, le bouclage u (t ) s’appelle un bouclage endogène et
conduit à la première structure de commande par platitude ou
commande par platitude directe décrite dans la figure 4.
Exemple 6 : avion (suite)
L’expression de la commande (9) indique β = 4, donc il existe un
bouclage linéarisant tel que X (4) = v 1 et H (4) = v 2. À partir de cette
information, le principe de construction de la commande consiste à
dériver β fois les sorties plates puis à réaliser un retour stabilisant
autour de la trajectoire désirée. Nous ne détaillons pas les calculs, mais
on arrive à :
¨X ( t ) = – sin θ ( t ) ( u ( t ) – εθ̇ ( t ) )
1
2
x˙ ( t ) = f ( x ) + g ( x )u ( t )
y (t ) = h (x)
où µi est le plus petit nombre de dérivation à effectuer sur yi (t )
pour faire apparaître au moins une des composantes de la
commande u (t ).
En notant :
A (x) =
2
=
a1 ( x )
, B (x) =
am ( x )
Égalités que l’on peut mettre sous la forme :
u2
¨λ
( t ) = ai ( x ) + bi ( x ) u ( t )
v 1 – sin θθ̇ 2 λ + 2 cos θθ̇λ̇
v 2 + cos θθ̇ 2 λ + 2 sin θθ̇λ̇
b1 ( x )
...
X ( 4 ) = sin θθ̇ 2 λ – 2 cos θ θ̇λ̇ – cos θλ u 2 – sin θλ ¨= v 1
H ( 4 ) = – cos θθ̇ 2 λ – 2 sin θθ̇λ̇ – sin θλ u + cos θλ ¨= v
( µi )
pour i = 1 à m, y i
...
Comme seule la commande u 1 (t ), par l’expression λ ( t ) =
u 1 ( t ) – εθ̇ 2 ( t ) , apparaît simultanément dans les dérivées secondes
des variables plates, la technique usuelle en découplage consiste à la
considérer comme une nouvelle variable d’état (principe d’extension
dynamique [5]). Pour faire apparaître u 2 (t ), deux dérivations supplémentaires sont nécessaires et on obtient ainsi :
– cos θλ – sin θ
– sin θλ cos θ
(17)
par des dérivations successives sur les composantes de la sortie,
yi (t ), on peut construire des relations de la forme :
¨H ( t ) = cos θ ( t ) ( u ( t ) – εθ̇ 2 ( t ) ) – 1
1
2
Avant de continuer, nous allons profiter de cet exemple pour
comparer les résultats obtenus avec une commande par platitude
et avec une commande linéarisante et découplante usuelle. Cette
dernière technique de commande des systèmes non linéaires
repose sur un découplage associé à un retour linéaire stabilisant [5].
Rappelons brièvement cette technique. Pour un système non
linéaire de vecteur de commandes u (t ) et de vecteur de sorties y (t )
de même dimension m :
bm ( x )
lorsque la matrice B (x ), dite de découplage, est telle que, rang
B (x ) = m, alors le bouclage u = B (x )–1 (v (t ) – A (x )) où v (t ) est
une nouvelle commande, transforme ces relations en m systèmes
découplés :
( µi )
La résolution de ce système donne u 2 (t ) et λ¨ ( t ) , ce qui permet
d’obtenir la commande linéarisante, tant que λ (t ) ≠ 0 :
pour i = 1 à m, y i
= vi ( t )
m
¨ λ ( t ) = λ ( t ) θ̇ 2 ( t ) – v ( t ) sin θ ( t ) + v ( t ) cos θ ( t )
1
2
Lorsque
∑ µi
= n , le système non linéaire est dit sans dyna-
i=1
u 1 ( t ) = λ ( t ) + εθ̇ ( t )
2
1
u 2 ( t ) = – ------------ ( v 1 ( t ) cos θ ( t ) + v 2 ( t ) sin θ ( t ) + 2 θ̇ ( t ) λ̇ ( t ) )
λ (t )
mique des zéros ou linéarisable entrée-sortie par bouclage statique. Comme on peut montrer que dans ces conditions il existe un
difféomorphisme :
y
...
que l’on complète avec le bouclage stabilisant :
3
(4)
(i)
v 1 ( t ) = X d ( t ) + ∑ k 1,i X d ( t ) – X ( i ) ( t ) ,
i=0
(4)
= Φ(x)
y (µ – 1)
3
(i)
v 2 ( t ) = H d ( t ) + ∑ k 2,i H d ( t ) – H ( i ) ( t ) i=0
donc une relation x = Ψ (y, ..., y (µ–1)) qui permet d’obtenir également u = Ξ (y, ..., y (µ)), on arrive à la conclusion qu’un tel système
est plat de sortie plate y (t ). Dans ce cas, la commande par platitude
n’apporte rien de plus qu’une commande linéarisante. Par contre,
m
qui permet un suivi asymptotique de la trajectoire désirée
(Xd (t ), Hd (t )) lorsque les polynômes à coefficients réels
3
p4
+ ∑ k j, i
pi ,
j = 1, 2 , sont choisis tels que leurs zéros soient à partie
i=0
réelle négative.
S 7 450 − 8
lorsque
∑ µi < n , on sait que le système des zéros est rendu non
i=1
observable par le bouclage découplant et la commande découplante peut conduire, comme nous allons le voir dans l’exemple de
l’avion, pour un système des zéros instable, à des situations
catastrophiques.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie
est strictement interdite. − © Editions T.I.
Dossier délivré pour
BIBLIOTHEQUE
16/10/2008
_______________________________________________________________________________________________ COMMANDE DES SYSTÈMES PAR PLATITUDE
Exemple 7 : avion (suite)
Considérons comme sortie les coordonnées du centre de gravité,
soit :
δu
x (t )
h (t )
y (t ) =
zd
δu
Après deux dérivations de ces sorties apparaît la matrice de découplage B (θ) :
x¨ ( t )
¨h ( t ) + 1
u 1(t )
– sin θ ε cos θ
cos θ ε sin θ









=
δy
A (t) B (t)
C (t) D (t)
K (p, t)
δy
Figure 5 – Commande linéaire
u 2(t )
B (θ)
Comme det B (θ) = – ε et :
zd
ud
– sin θ cos θ
cos θ sin θ
----------- ---------ε
ε
B ( θ ) –1 =
+
la commande non linéaire découplante s’écrit :
u 1(t )
=
u 2(t )
– sin θ cos θ
cos θ sin θ
----------- ---------ε
ε
–
v 1(t )
v 2(t ) + 1
B (·)
u
δu
yd
A (·)
Processus
y
–
+
δy
K (p, t)
Figure 6 – Deuxième structure de commande
où v 1 (t ) et v 2 (t ) sont deux nouvelles commandes. On obtient ainsi le
système découplé :
x (2) ( t )
h (2) ( t )
=
tie plate qu’à l’aide d’un algorithme numérique de résolution locale
d’équations non linéaires. Dans ce cas, il est nécessaire de passer
par la linéarisation du modèle non linéaire autour de la trajectoire,
l’objectif de la commande étant alors d’élaborer le complément de
commande à rajouter à la commande en boucle ouverte de façon
à suivre asymptotiquement la trajectoire désirée. Cette démarche
est résumée par la procédure suivante.
v 1(t )
v 2(t )
Ainsi, la commande :
u 1(t )
u 2(t )
=
– sin θ cos θ
cos θ sin θ
----------- ---------ε
ε
(2)
(1)
k 1,1 x d ( t
x d (t ) +
(2)
h d (t
)+
(1)
k 1,2 h d ( t
Procédure 3. Commande par platitude numérique
) – x ( 1 ) ( t ) + k 0,1 ( x d ( t ) – x ( t ) )
)–
h (1) ( t
) + k 0,2 ( h d ( t ) – h ( t ) ) + 1
permet, lorsque les constantes ki,j sont choisies positives, un suivi
asymptotique de la trajectoire désirée (xd (t ), hd (t )) avec cependant un
inconvénient majeur : l’avion tourne sur lui-même de plus en plus vite.
De façon à comprendre ce résultat, lorsque l’on applique effectivement
cette commande, on obtient également :
εθ (2) (t ) = cos θ (t ) v 1 (t ) + sin θ (t ) (v 2 (t ) + 1)
soit en prenant l’hypothèse simplificatrice
( 0, 0 ) , comme
(2)
(2)
lim ( x d ( t ), h d ( t ) ) =
t→∞
lim ( v 1 ( t ), v 2 ( t ) ) = ( 0, 0 ) , il reste asymptotique-
t→∞
ment, εθ (2) (t ) = sin θ (t ) qui est un système instable non commandé.
Ainsi, l’utilisation d’une commande par platitude permet d’éviter
le problème des dynamiques instables des zéros. Cependant,
l’application de cette forme de commande repose sur une hypothèse forte : il faut que la relation (7) soit soluble relativement à
z (β) (t ). Lorsque cela n’est pas le cas, nous allons voir dans le
paragraphe 4.2 une procédure simple permettant de mettre en
œuvre une commande par platitude.
4.2 Commande par platitude numérique
On se place ici dans le cas où on ne peut calculer les
commandes et les états correspondant à une trajectoire sur la sor-
1. Détecter la propriété de platitude du système et mettre en
évidence l’existence de la sortie plate z (t ).
2. Planifier la commande en boucle ouverte. À partir de la trajectoire désirée sur la sortie plate zd (t ), construire :
(xd (t ), ud (t ), yd (t ))
par résolution numérique, pour chaque t de t 0 à tf , des équations non linéaires relativement à la sortie plate.
3. Linéariser le modèle autour de (xd (t ), ud (t ), yd (t )) :
δ x˙ ( t ) = A ( t ) δ x ( t ) + B ( t ) δ u ( t )
δy (t ) = C (t ) δx (t ) + D (t ) δu (t )
δx (t ) = xd (t ) – x (t ), δu (t ) = ud (t ) – u (t ), δy (t ) = yd (t ) – y (t )
4. Calculer le bouclage non stationnaire δu (t ) = K (p, t ) δy (t ),
tel que toutes les variables aux écarts dans le schéma de la
figure 5 tendent asymptotiquement vers 0.
5. Mettre en œuvre la commande :
u (t ) = ud (t ) – δu (t )
sur le système non linéaire.
Cette procédure conduit au schéma de commande de la figure 6
où les opérateurs B (.) et A (.) sont numériquement mis en œuvre.
Notons que cette structure de commande peut être utilisée dans
tous les cas de systèmes plats. Comme elle ne fait intervenir que
des opérateurs linéaires non stationnaires, cela facilite la
conception de certains éléments comme par exemple celle des
observateurs [16] [20].
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie
est strictement interdite. − © Editions T.I.
Dossier délivré pour
BIBLIOTHEQUE
16/10/2008
S 7 450 − 9
_______________________________________________________________________________________________
Exemple 8 : cuves (suite)
À partir de la connaissance des trajectoires désirées sur la sortie
d
d
d
d
plate, soit V 2A ( t ) et V 1B ( t ) , donc également V˙2A ( t ) et V˙1B ( t ) , et
des débits entrants dans le système u 1 (t ), u 2 (t ), dA (t ) et dB (t ), il est
possible d’obtenir numériquement, pour chaque instant t dans [0, T ],
les hauteurs et les commandes correspondantes :
Td ( t ) =
d
hA
( t ),
d
hB
( t ),
d
h1
( t ),
d
h2
d
2
La linéarisation des relations (12) autour de ces trajectoires désirées
conduit à :
kA
k2
S A δ h˙A ( t ) + S 2 δ h˙2 ( t ) = – -------------------------- δ h A ( t ) – -------------------------- δ h 2 ( t )
2 h d (t )
2 h d (t )
A
2
kB
+ -------------------------- δ h B ( t )
2 h d (t )
B
kB
k1
˙
˙
S B δ h B ( t ) + S 1 δ h 1 ( t ) = – -------------------------- δ h B ( t ) – -------------------------- δ h 1 ( t )
2 h d (t )
2 h d (t )
B
1
kA
+ -------------------------- δ h A ( t )
2 h d (t )
A
Lorsque la matrice Jd (t) = J (Hd (t )) est régulière, les écarts de volumes δV2A (t ) = SA δhA(t ) + S 2 δh 2 (t ) et δV 1B (t ) = SB δhB (t ) + S 1δh 1 (t )
constituent des sorties plates du système linéarisé. On peut remarquer
que ce sont les formes linéarisées des sorties plates du modèle non
linéaire des cuves. Les écarts sur les commandes peuvent être alors
obtenus sous la forme :
u 2 ( t ) δγ 2 ( t )
u 1 ( t ) δγ 1 ( t )
= – S [ J d ( t ) ] –1 δ Z˙ ( t )
(18)
) ] –1
d [ Jd ( t
– S --------------------------------- + M d [ J d ( t ) ] –1 δ Z ( t )
dt
à t = 200 s :
20
18
h1 (t)
16
14
h d (t)
1
h2 (t)
12
10
d (t)
(t)
h2d
2
8
6
4
hA (t)
d
hh
Ad
A (t)
d
h
h
(t)
Bd
B (t)
2
S=
δ V 1B ( t )
SA
0
0
SB 0 0
0 0
, Md =
, δZ (t ) =
δV (t )
δ V˙ ( t )
kA
-------------------------2 h d (t )
A
0
0
L’application du principe de commande par platitude sur le modèle
linéarisé conduit alors à mettre en œuvre la commande :
u 2 ( t ) δγ 2 ( t )
u 1 ( t ) δγ 1 ( t )
= – S [ J d ( t ) ] –1
20
40
60
80
100 120 140 160 180 200
Temps (s)
Figure 7 – Niveaux obtenus dans les cuves comparés
aux niveaux désirés
0 0
kB
-------------------------- 0 0
2 h d (t )
B
0
hB (t)
0
δ V˙ ( t )
w (t )
Commandes plates
δV (t ) =
 h 1 = 19,8 cm, h B = 2,51 cm, h A = 6,47 cm

 h 2 = 10,04 cm, d A = 2 cm 3 /s, d B = 0 cm 3 /s
correspondant à l’arrivée d’une perturbation dA = 2 cm3/s à l’instant 0.
Avec les choix a 2A,1 = a 1B,1 = 0,08 et a 2A,0 = a 1B,0 = 0,01, on s’aperçoit du comportement en poursuite sur les hauteurs d’eau dans les
cuves malgré des erreurs d’estimation sur les hauteurs d’eau initiales.
On peut également remarquer que malgré une saturation sur la
commande γ 1 pendant les10 premières secondes, la commande par
platitude conduit cependant à une poursuite asymptotique de la trajectoire désirée, ce qui indique un bon degré de robustesse de ce type de
commande.
où :
δ V 2A ( t )
 h 1 = 14,56 cm, h B = 2,51 cm, h A = 3,64 cm

h2 = 10,04 cm, d A = d B = 0 cm 3 /s
àt = 0:
( t ), γ ( t ), γ ( t ) d
1
À titre d’exemple, les résultats indiqués dans les figures 7 et 8
indiquent les comportements obtenus pour un système de cuves possédant les caractéristiques suivantes : S 1 = SA = 28 cm2, S 2 = SB
= 32 cm 2 , k 2 = k B = 2,525 cm 5/2 /s, k 1 = k A = 3,145 cm 5/2 /s et
u 1 = u 2 = 10 cm3/s, pour lequel on désire gérer le passage en 200 s
entre les points de fonctionnement :
Niveau désirés et niveaux obtenus
COMMANDE DES SYSTÈMES PAR PLATITUDE
1
0,9
0,8
0,7
0,6
) ] –1
d [ Jd ( t
– S -------------------------------- + M d [ J d ( t ) ] –1
dt
γ1 (t)
δV (t )
δ V˙ ( t )
0,5
0,4
w (t ) = –
a 2A,1
0
0
a 1B,1
δ V˙ ( t ) –
a 2A,0
0
0
a 1B,0
δV (t )
(19)
où les coefficients a 2A,1, a 1B,1, a 2A,0 et a 1B,0 sont choisis pour obtenir
des performances correctes en poursuite.
S 7 450 − 10
γ2 (t)
0,3
0
20
40
60
80
100 120 140 160 180 200
Temps (s)
Figure 8 – Commandes effectives (avec saturations) utilisées
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie
est strictement interdite. − © Editions T.I.
Dossier délivré pour
BIBLIOTHEQUE
16/10/2008
_______________________________________________________________________________________________ COMMANDE DES SYSTÈMES PAR PLATITUDE
Bien que la commande des systèmes par platitude ait été initialement développée dans le cadre des systèmes non linéaires, les
principes sur lesquels elle repose éclairent utilement le cas des
systèmes linéaires. Nous ne détaillons pas le cas de la dimension
infinie, abondamment décrite dans [10] [13], en concentrant notre
attention sur les modèles linéaires de dimension finie qu’ils soient
stationnaires ou non stationnaires [20]. L’intérêt de considérer les
systèmes linéaires, outre le fait qu’ils apparaissent naturellement
lors de la linéarisation autour d’un point de fonctionnement ou
d’une trajectoire, et que certains systèmes puissent être décrits,
dans une grande plage de fonctionnement par un modèle directement linéaire, est que l’utilisation d’une commande par platitude
numérique, impliquent leur utilisation. Enfin, et cela n’est pas le
moindre de leurs avantages, ils permettent de construire facilement des observateurs locaux.
Nous allons voir que la représentation d’état d’un système
linéaire est l’outil naturel à utiliser pour mettre en évidence des
sorties plates et pour concevoir sa commande. Comme le cadre
non stationnaire n’est pas plus complexe que le cadre stationnaire
puisqu’on y utilise les mêmes méthodes [20], nous nous plaçons
directement dans cette situation et on a le résultat simple suivant.
Théorème 1
Une condition nécessaire et suffisante de platitude d’un système linéaire est sa commandabilité.
avec µ i
i-ième indice de commandabilité,
m
∑ µi
= n,
×
coefficients qui dépendent de t.
i=1
En partitionnant :
1T
xc ( t ) =
x c (t )
(21)
où A c (t ), B c et H c (t ) confèrent à (21) la structure d’une forme
canonique commandable, soit :
A c ( t ) = T c ( t )A ( t
i
i
que les premières composantes des x c ( t ) permettent d’obtenir
toutes les autres variables et les commandes. En notant z i (t ) cette
composante particulière, que l’on appelle parfois sortie de
Brunovski du système, une sortie plate du système linéaire (20) est
donc donnée par :
z 1 (t )
z (t ) =
zm ( t )
D’après la forme canonique commandable, on obtient, en notant
u c,i (t ) la i-ième composante de u c (t ) et a i,j,k (t ) le k-ième coefficient de la dernière ligne de A c,ij (t ) :
( µi )
u c,i ( t ) = z i
µ –1
m
 j

(k )
( t ) + ∑  ∑ a i, j, k ( t )z j ( t )


j=1
k=0
–1
) + T˙c ( t )T c ( t ) = A c,ij ( t ) i, j=1,...,m
Comme u ( t ) = H c u c ( t ) , le principe de commande par platitude conduit à poser, pour i = 1 à m :
µ j –1
( µi )
u c,i ( t ) = z d,i ( t ) +
∑
k=0
µ –1
m
 j
(k)
(k)
κ i,k z d,i ( t ) –z i ( t ) + ∑  ∑ a i,
 k=0
j=1
j, k

(k )
( t )z j ( t )

pour obtenir, si les constantes κ i,k sont bien choisies, un suivi
asymptotique de la trajectoire désirée z d (t ) sur la sortie plate.
Comme les dérivées des composantes de la sortie plate constituent
les composantes de x c (t ) et que x c (t ) = T c (t ) x (t ), la commande
u (t ) se met finalement sous la forme :
u (t ) = K (p ) z d (t ) – Λ(t ) x (t )
avec K (p ) matrice polynomiale en l’opérateur de dérivation p,
1
...
0
...
...
...
...
...
...
1
×
0
...
...
...
×
0
...
0
×
0
×
de taille µ i × µ i , pour i = j
de taille µ i × µ j , pour i ≠ j
Cette commande est donc décomposable en deux termes : le
premier ne dépend que de la trajectoire désirée et le deuxième
correspond à un retour d’état non stationnaire.
Exemple 9
Considérons le moteur à courant continu à excitation séparée
dont le flux statorique ( t ) varie au cours du temps et est décrit
par les relations suivantes [20]:
dI ( t )
L ------------------- + RI ( t ) = V ( t ) – K e Φ ( t ) Ω ( t )
dt
–1
B c = H c ( t )T c ( t )B ( t ) = B c,i i=1,...,m
B c,i = matrice nulle de taille (µ i × m ) sauf en sa composante (µ i , i )
qui vaut 1
...
0
...
...
0
×
...
×
... ...
1
0
... ...
Hc ( t ) =
z 2 (t )
Λ(t ) matrice dont les coefficients dépendent de t.
0
...






A c,ij ( t ) = 






–1
)T c ( t
T
mT
x c (t )
–1
(20)
où, pour tout t, dim x (t ) = n, dim u (t ) = m, et les matrices A (t ) et
B (t ) ont leurs coefficients qui dépendent du temps. Les résultats de
Silverman-Meadows [15] [20] indiquent que lorsque ce système est
commandable, il existe un changement de variables sur l’état,
x c (t ) = T c (t ) x (t ), et sur la commande, u c (t ) = H c (t ) u (t ), que l’on
peut construire par l’algorithme de Seal-Stuberud [15], tel que :
x˙c ( t ) = A c ( t )x c ( t ) + B c u c ( t )
...
où chaque x c ( t ) est un vecteur de dimension µ i , on obtient ainsi
En effet, si on considère le système linéaire non stationnaire :
x˙( t ) = A ( t )x ( t ) + B ( t )u ( t )
2T
x c (t )
...
5. Cas des systèmes linéaires
×
1
, de taille m × m
dΩ ( t )
J ---------------------- + f Ω ( t ) = K m Φ ( t ) I ( t )
dt
avec I (t ) et V (t )
Ω (t )
L, R, K e , J, f et K m
courant et tension rotorique,
vitesse de rotation du rotor,
respectivement valeurs constantes de
l’inductance et de la résistance d’induit, de la
constante de force électro-motrice, de l’inertie et du frottement ramenés au rotor et de la
constante de couple électro-mécanique.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie
est strictement interdite. − © Editions T.I.
Dossier délivré pour
BIBLIOTHEQUE
16/10/2008
S 7 450 − 11
COMMANDE DES SYSTÈMES PAR PLATITUDE
_______________________________________________________________________________________________
En prenant comme commande V (t ), ce système est commandable
si et seulement si Φ (t ) est toujours non nul et borné. En supposant
cela toujours vrai et Φ (t ) suffisamment dérivable, la forme canonique
commandable s’écrit :
x˙c ( t ) =
0
–Ψ 0 ( t )
1
–Ψ 1 ( t )
xc ( t ) +
0
1
Φ̇ ( t )
f
R
Ψ 1 ( t ) = ---------------- + ----- + ----Φ (t ) J L
On peut prendre comme sortie plate z (t ), première composante du
vecteur x c (t ) et la relation :
V ( t ) = z¨ ( t ) + Ψ 1 ( t ) z˙ ( t ) + Ψ 0 ( t ) z ( t )
V ( t ) =¨ z d ( t ) + k 1 z˙d ( t ) – z˙ ( t ) + k 0 z d ( t ) – z ( t ) + Ψ 1 ( t ) z˙ ( t ) + Ψ 0 ( t ) z ( t )
= ¨ z d ( t ) + k 1 z˙d ( t ) + k 0 z d ( t )
– Ψ ( t ) – k z˙ ( t ) + Ψ ( t ) – k z ( t ) 0
gm ( x )
où les
g j (x ), [X k , [X k –1 , [... , [X 1 , g j (x )]]]], j = 1, ... , m, k = 1, 2, ...
où X i ∈ {f (x ), g 1 (x ), ... , g m (x )}, est de dimension n en x .
Pour un système dont la dimension de l’état est n, lorsque le nombre de commandes est n – 1 (on dit également que la codimension
est de 1), platitude et accessibilité coïncident. Dans ce cas, l’élimination de la commande du modèle (17) conduit à la relation
scalaire :
∑ αi ( x )x˙i – β ( x )
JLΩ ( t )
z ( t ) = --------------------Km Φ ( t )
ce qui permet d’imposer facilement la trajectoire désirée, non sur la
sortie plate mais plutôt sur la vitesse du rotor, variable possédant une
meilleure interprétation physique que la sortie plate que nous avons
choisie dans un premier temps.
6. Mise en évidence
de la platitude
L’un des points délicats de la commande par platitude réside
dans la mise en évidence de la propriété de platitude et la proposition d’une sortie plate. Bien que dans la plupart des cas pratiques, la sortie plate soit physiquement interprétable, il est des cas
où il n’est pas évident d’avoir l’intuition d’une sortie plate candidate. Pour des systèmes décrits par des équations différentielles
non linéaires, nous allons voir quelques critères permettant de
conclure sur ce point et des procédures permettant de guider relativement au choix d’une sortie plate.
6.1 Platitude et accessibilité
Bien que de façon générale un système non linéaire puisse être
commandable sans être plat, nous venons de voir que ces deux
notions sont équivalentes dans le cas linéaire. Dans certains cas,
cette relation forte est encore conservée. Cependant, dans le cas
des systèmes non linéaires, il y a lieu de distinguer la notion de
commandabilité de la notion d’accessibilité, et seule cette dernière
nous concerne ici. Notons l’opération entre deux vecteurs non
∂λ (x )
∂µ ( x )
linéaires [ λ ( x ), µ ( x ) ] = ------------------ µ ( x ) – ------------------ λ ( x ) et, dans le
∂x
∂x
= F ( x, x˙ ) = 0
(22)
i=1
Si un des coefficients α i (x ) est nul, e.g. le k-ième, alors, pour
∂F
toute trajectoire telle ---------- ( t ) ≠ 0 , on peut extraire une relation de
∂ xk
la forme :
x k = ϕ ( x i , x˙i , i = 1 , ... , k – 1 , k + 1, ..., n )
0
avec k 1 et k 0 deux constantes positives.
On peut remarquer qu’ici la sortie plate est reliée aux autres variables par :
S 7 450 − 12
...
n
conduit à la commande par platitude permettant de suivre la trajectoire
désirée z d (t ) :
1
g1 ( x )
g (x ) =
Sans entrer dans les détails que l’on peut trouver dans [5] [14],
mentionnons brièvement que le modèle (17) est accessible en
x si l’ensemble engendré par les combinaisons linéaires des
vecteurs :
V (t )
˙ 2 ( t ) Km Ke
¨Φ ( t ) Φ ( t ) – Φ
Rf R Φ̇ ( t )
Ψ 0 ( t ) = ---------------------------------------------------- + --------------- Φ 2 ( t ) + -------- + -------------------JL
JL
J Φ (t )
Φ 2 (t )
1
modèle non linéaire (17),
g i (x ) sont des vecteurs.
qui indique que l’état dont on a enlevé la k-ième composante est
une sortie plate de ce système. Par contre, lorsque tous les coefficients α i (x ) sont non nuls, on peut faire un changement de
variable sur une composante de l’état pour se ramener au cas précédent et mettre ainsi en évidence une sortie plate. On va donc chercher un changement de variable sur une des composantes de l’état :
x j = ψ (x 1 , ... , x j–1 , z, x j+1 , ... , x n)
construit de façon à éliminer au moins un des coefficients α i (x )
dans (22). Comme :
∂ψ
x˙j = --------- z˙ +
∂z
n
∑
i=1, i ≠ j
∂ψ
--------- x˙i
∂ xi
on obtient la nouvelle relation :
∂ψ
α j ( x ) --------- z˙ +
∂z
n
∑
i=1, i ≠ j
∂ψ
α i ( x ) + α j ( x ) --------- x˙i – β ( x ) = 0
∂ xi
où x représente le nouvel état obtenu en remplaçant x j par ψ. En
choisissant ψ tel que :
α
∂ψ
---------- = – -------k
(23)
αj
∂ xk
on élimine x˙k de cette relation, ce qui permet de se ramener au cas
précédent. Une sortie plate est alors donnée par :
(x 1 , ... , x j –1 , z, x j+1 , ... , x k–1 , x k+1 , ... , x n )
(24)
Le raisonnement que nous venons de décrire est résumé dans la
procédure suivante. Auparavant, on peut remarquer que la
relation (23) représente une équation différentielle à résoudre de la
forme :
∂ψ
---------- = ϕ ( x 1 , ... , x j–1 , ψ , x j+1 , ... , x k , ... , x n )
∂ xk
dont la solution (en choisissant la plus simple) est de la forme :
x j = ψ = φ (x 1 , ... , x j–1 , x j+1 , ... , x n) + ρ (z )
où
ρ (z )
est une fonction arbitraire de la nouvelle composante
de l’état z.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie
est strictement interdite. − © Editions T.I.
Dossier délivré pour
BIBLIOTHEQUE
16/10/2008
_______________________________________________________________________________________________ COMMANDE DES SYSTÈMES PAR PLATITUDE
On obtient ainsi simplement la transformation inverse
z = ρ –1 (x j – φ). La difficulté est de choisir les indices j et k
conduisant aux expressions pour ϕ et φ les plus simples possibles.
Procédure 4. Construction d’une sortie plate
en codimension 1
1. Construction de la relation (22).
2. Si α k (x ) est identiquement nul alors une sortie plate est
(x 1 , ... , x k–1 , x k +1 , ... , x n ).
3. Si tous les α i (x ) sont non nuls, on choisit deux indices j et
k pour construire l’équation différentielle (23) la plus simple
possible à résoudre.
4. La résolution de (23) (analytique ou numérique) fournit :
— le changement de variable :
x j = φ (x 1 , ... , x j–1 , x j +1 , ... , x n) + ρ (z ) ;
— une sortie plate donnée par (24).
Pour les systèmes sans dérive, c’est-à-dire de la forme :
x˙ ( t ) = g ( x ( t ) ) u ( t )
accessibilité et commandabilité coïncident. Lorsque la différence
entre la dimension de l’état x (t ) et la dimension de la commande
u (t ) est 2, platitude et commandabilité sont équivalentes.
Désignons par span { ∆ , Γ } l’ensemble des combinaisons linéaires à coefficients non linéaires de tous les vecteurs qui composent
∆ et Γ.L. Lorsque la dimension de u (t ) est 2, c’est-à-dire que
l’équation d’état est de la forme :
x˙ ( t ) = g 1 ( x )u 1 ( t ) + g 2 ( x )u 2 ( t )
où u 1 (t ) et u 2 (t ) sont des commandes scalaires, on dispose du
critère suivant. Si on construit la suite de distributions :
∆ 0 = span g 1 ( x ), g 2 ( x ) , pour k 1, ∆ k+1 = span ∆ k , ∆ k , ∆ k alors la platitude est équivalente à :
pour k = 0 à n – 2, rang ∆k = k + 2
Exemple 10 : voiture (suite)
Pour simplifier les expressions, posons dans le modèle cinématique
V (t )
de la voiture la nouvelle commande v ( t ) = ---------------- tan ϕ ( t ) . Comme
ce modèle correspond aux trois cas que nous venons de mentionner, il
nous permet de les illustrer.
La procédure 4 demande l’élimination des commandes, ce qui
donne :
x˙ ( t ) sin θ ( t ) – y˙( t ) cos θ ( t ) = 0
On en déduit rapidement qu’une sortie plate est constituée par
(x (t ), y (t )).
L’application du deuxième critère demande l’application du critère
d’accessibilité comme :
g1 ( t ) =
cos θ ( t )
sin θ ( t )
0
et g 2 ( t ) =
0
0
1
on obtient :
g 1 ( t ), g 2 ( t ) =
– sin θ ( t )
cos θ ( t )
0
soit rang (g 1 (t ), g 2 (t ), [g 1 (t ), g 2 (t )]) = 3, ce qui indique la platitude.
En ce qui concerne le dernier critère, celui-ci donne
∆0 = span {g 1 , g 2} soit rang ∆0 = 2 et suivant le calcul précédent rang
∆1 = 3, qui confirme la conclusion précédente.
Comme nous l’avons vu sur l’exemple précédent, les deux
derniers critères ne fournissent pas de méthode constructive pour
mettre en évidence une sortie plate. Cependant, lorsque des
considérations physiques ne suffisent pas à suggérer une sortie
plate candidate nous avons vu au cours des exemples précédents
une procédure qui conduit à la construction des sorties plates. Après
avoir éliminé les commandes, les variables candidates à être sorties
plates sont celles qui sont dérivées dans les relations algébriques
donnant les autres variables. Il s’agit d’une procédure heuristique
car pour des systèmes complexes elle peut être mise en défaut.
Procédure 5. Procédure heuristique de construction
d’une sortie plate
1. Construire le modèle implicite obtenu en éliminant les
commandes :
F x ( n ) ( t ), ... , x˙( t ), x ( t ) = 0
2. Chercher à exprimer algébriquement certaines variables
non dérivées en fonction d’autres variables et de leurs dérivées.
De façon pratique, mettre d’un même côté des égalités issues
des relations (25) tous les termes où apparaissent des dérivées.
3. Reconnaître des expressions dérivées. Ces expressions
dérivées sont candidates à être sorties plates. Rappelons qu’il
en faut autant que de commandes.
4. Exprimer les variables d’état et les commandes à l’aide des
sorties plates et de leurs dérivées.
Exemple 11
On considère un convertisseur continu-continu de type
« boost » [18] commandé par le rapport cyclique ρ (t ) entre les
instants passants et non passants du thyristor de commande. Ce
convertisseur peut être décrit en valeurs moyennes par l’interaction de
deux circuits électriques suivant le schéma de la figure 9 où R, L, C et
E sont les valeurs constantes de la résistance, de l’inductance, de la
capacité et de la tension d’alimentation. Les variables U (t ) et I (t )
représentent les valeurs moyennes de la tension dans l’induit et du
courant dans l’inducteur. Ce schéma équivalent conduit aux équations
de fonctionnement :
1
E
I˙ ( t ) = – ----- ρ ( t )U ( t ) + -----L
C
1
1
U˙ ( t ) = ----- ρ ( t ) I ( t ) + ---------- U ( t )
C
RC
sur lesquelles nous allons appliquer la procédure de mise en évidence
d’une sortie plate.
1. L’élimination de la variable de commande ρ (t ) entre ces deux
équations conduit à la relation :
U 2 (t )
LI ( t ) İ ( t ) + CU ( t )U˙ ( t ) = E I ( t ) – ----------------R
(26)
2. On reconnaît dans le membre de gauche de cette relation la
dérivée de la variable :
1
z ( t ) = ----- LI 2 ( t ) + CU 2 ( t ) 2
qui est candidate à être sortie plate.
3. À partir de :
U 2 ( t ) = R EI ( t ) – z˙ ( t ) on obtient la relation :
LI 2 ( t ) + RCEI ( t ) – 2z ( t ) + RCz˙ ( t ) = 0
qui lie algébriquement I (t ) à z (t ) et à sa dérivée.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie
est strictement interdite. − © Editions T.I.
Dossier délivré pour
BIBLIOTHEQUE
16/10/2008
(25)
S 7 450 − 13
COMMANDE DES SYSTÈMES PAR PLATITUDE
_______________________________________________________________________________________________
ρ (t) I (t)
L
+
E
ρ (t) U (t)
U (t)
C
R
Exemple 12
Soit le système schématisé dans la figure 10 décrivant un pendule
inversé de longueur et de masse m, sur un chariot mobile de masse
M actionné par un effort f (t ) qui est notre variable de commande. En
notant x (t ) l’abscisse de l’extrémité de la tige, le mouvement de cet
ensemble peut être décrit par les équations simplifiées suivantes :
–
¨ ( t ) + m cos θ ( t ) θ¨ ( t ) – m sin θ ( t ) θ˙ 2 ( t ) = f ( t )
( M + m )x
I (t)
7
----- ¨θ ( t ) + cos θ ( t ) x¨ ( t ) – g sin θ ( t ) = 0
3
Figure 9 – Convertisseur continu-continu
La deuxième relation est celle qui correspond à l’élimination de la
commande f (t ) et fournit :
4. On obtient donc, sans entrer dans le détail des calculs :
I ( t ) = f z ( t ), z˙ ( t ) et U ( t ) = g z ( t ), z˙ ( t )
soit ρ ( t ) = h z ( t ), z˙ ( t ),z ¨( t ) . Ces trois relations confirment z (t ) en
tant que sortie plate de ce système.
Dans le cas où nous n’aurions pas su détecter cette sortie plate on
peut ici appliquer la procédure 4 puisque nous avons un système de
codimension 1. À partir de la relation (26) cherchons un changement de
variables I = ψ (U, z ) permettant d’éliminer la dérivée d’une des
composantes de l’état. Il vient ainsi la nouvelle relation :
∂ψ
∂ψ
∂ψ
∂ψ
U 2L ψ  --------U˙ + --------- z˙ + CUU˙ = L ψ --------- z˙ +  L ψ -------- + CU U˙ = EI – ------ ∂U


∂z 
∂z
∂U
R
La procédure 4 indique que l’on choisit ψ telle que :
2C
∂ψ 2
------------ = – --------- U
L
∂U
C
soit ψ 2 = – -----U 2 + ρ ( z ) où ρ (z ) est une fonction arbitraire. Si on
L
prend par exemple ρ (z ) = z, on obtient comme sortie plate :
z =
I2
7
----- µ 2 + cos λ µ 1 – g sin λ = 0
3
L’application du théorème 2 consiste à chercher ν 1 et ν 2 non simultanément nuls tels que :
7
----- ( µ 2 + a ν 2 ) + cos λ ( µ 1 + a ν 1 ) – g sin λ = 0
3
7
soit ----- ν 2 + ν 1 cos λ = 0 . Comme cette égalité doit être vraie pour
3
tout λ, on doit donc avoir nécessairement, ν 1 = 0 et ν 2 = 0. En
conclusion, le critère des variétés réglées indique que ce système n’est
pas plat.
Par contre, si on étudie le modèle linéarisé de ce système autour de
θ = 0, celui-ci s’écrit :
( M + m )x¨ ( t ) + m θ¨( t ) = f ( t )
7
----- θ¨ ( t ) + x¨ – g θ ( t ) = 0
3
L’application du critère des variétés réglées conduit à la relation :
C
+ ----- U 2
L
7
7
----- µ 2 + µ 1 – gλ + a  ----- ν 2 + ν 1 = 0
3
3









qui est, à une constante près, celle que nous avions mise en évidence
précédemment de façon un peu plus intuitive.
6.2 Critère des variétés réglées
Il s’agit d’un critère permettant de mettre en évidence la non platitude d’un système basé sur une condition nécessaire. Soit le système de dimension n à m commandes :
x˙ ( t ) = f x ( t ), u ( t )
pour lequel l’élimination des commandes conduit à un système de
n – m relations F ( x, x˙) = 0 . Si ce système est plat, alors on peut
montrer [10] que :
0
7
qui est vérifiée pour tout a lorsque ν 1 = – ----- ν 2 . On ne peut donc
3
conclure à la non platitude du linéarisé. Nous verrons que cette caractéristique est propre aux systèmes linéaires. Par contre, si l’on écrit
l’équation d’état associée au modèle linéarisé :
X˙ ( t ) =
0
0
0
0
1
0
0
0
0
– mkg
0
k (M + m)
0
0
1
0
X (t ) +
0
7k
---------3
0
–k
f (t )
∃v ≠ 0 , ∀ ( λ, µ ) , F ( λ, µ ) = 0 , ∀ a ∈ , F ( λ, µ + av ) = 0
3
et k = -------------------------------- ,
( 7M + 4m )
celle-ci est commandable donc ce dernier modèle est plat.
Ce résultat traduit le fait que la sous-variété F (λ, µ ) = 0 est réglée
relativement au deuxième paramètre. En en prenant la négation,
on obtient que si cette sous-variété n’est pas réglée alors le système n’est pas plat. Cela s’énonce sous la forme du critère suivant.
Cet exemple nous a en outre permis de nous rendre compte que
la platitude (ainsi que la non platitude d’ailleurs) ne se conserve
pas nécessairement par linéarisation autour d’un point d’équilibre.
∀ ( λ, µ ) , F ( λ, µ ) = 0 , ∀ a ∈ , F ( λ, µ + av ) = 0 ⇒ v = 0
S 7 450 − 14
x (t )
x˙ ( t )
δθ ( t )
δθ̇ ( t )
T
Certains cas particuliers de systèmes admettent une formulation
plus simple :
— dans le cas où F ( x, x˙) est une forme linéaire relativement à
x˙ , ce critère se réduit à :
Théorème 2
Si :
alors le système n’est pas plat.
où X ( t ) =
si ∀ λ, F (λ, µ ) = 0 implique µ = 0
alors le système n’est pas plat ;
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie
est strictement interdite. − © Editions T.I.
Dossier délivré pour
BIBLIOTHEQUE
16/10/2008
_______________________________________________________________________________________________ COMMANDE DES SYSTÈMES PAR PLATITUDE
La structure de n,m [ p ] implique que toute matrice M de cet
ensemble admet une décomposition de Smith de la forme :
θ (t )
U MV = S
m
où U ∈ n [ p ] , V ∈ m [ p ] et S est une matrice de n,m [ p ] dont
tous les coefficients non nuls sont sur la diagonale principale. En
notant r = min (n, m) et s i (p ), pour i = 1 à r, les composantes de la
diagonale principale de S, ceux-ci sont des éléments de 1,1 [ p ] et
tels que s i (p ) divise s j (p ) sans reste, pour 1 i j r . Bien que
U et V ne soient pas uniques, comme dans toute décomposition de
Smith d’une matrice polynomiale [12] et nous noterons seulement
U ∈ G-Smith(M ) et V ∈ D-Smith(M ), S l’est et nous noterons
S = Smith(M ). Nous dirons que M de n,m [ p ] est hyper-régulière
si s i (p ) = 1, pour i = 1 à r.
y
x
f (t)
(M)
M
(27)
Figure 10 – Pendule inversé
Procédure de condition nécesssaire et suffisante (CNS)
de platitude
— pour les modèles (17) linéaires en la commande u (t ) de
dimension m où l’on peut supposer sans être restrictif que
rang g (x ) = m. L’élimination de la commande peut être effectuée
en utilisant l’expression suivante :
u ( t ) = g T ( x )g ( x ) –1 g T ( x ) ( x˙ – f ( x ) )
1. On construit la forme implicite non linéaire F ( x, x˙) = 0 où
∂F
dim x = n et rang -------- = r = n – m .
∂ x˙
2. Par linéarisation autour d’une trajectoire x (t ) vérifiant
F ( x, x˙) = 0 , on construit la matrice de r,n [ p ] :
ce qui nous conduit au modèle implicite :
Φ ( x, x˙) = E ( x ) ( x˙ – f ( x ) )
[g T
[Com(g T
avec E (x ) = det
(x ) g (x )] I n – g (x )
où Com(.) désigne la matrice des cofacteurs.
(x ) g
(x ))]T
gT
∂F ∂F
DF = -------- + -------- p
∂ x ∂ x˙
(x )
Comme E (x ) est une matrice de rang n – m, elle se décompose
sous la forme E (x ) = T T (x ) T (x ) où T (x ) est une matrice
((n – m ) × n) de rang n – m et on obtient F ( x, x˙) = T ( x ) ( x˙ – f ( x ) ) .
Le critère des variétés réglées se réduit alors dans ce cas à :
3. À partir de la forme de Smith de DF, on obtient
V ∈ D-Smith(DF ). Si DF n’est pas hyper-régulière, la procédure
s’arrête et le système n’est pas plat. Si DF est hyper-régulière,
on passe à l’étape suivante.
4. Soit :
si ∀ λ, T (λ)ν = 0 ⇒ ν = 0
alors le système n’est pas plat. Cette dernière remarque permet de
s’apercevoir immédiatement que dans le cas des systèmes
linéaires ce critère ne permet pas de conclure. En effet, nous avons
dans ce cas une matrice T (λ) indépendante de λ.
6.3 Condition nécessaire et suffisante
de platitude
Nous venons de voir que la propriété de non platitude ne se
conserve pas par linéarisation, et cela est également vrai de la propriété de platitude comme le montre l’exemple de la voiture pour
laquelle le linéarisé autour de θ = 0 n’est pas commandable.
Développant une procédure qu’il a proposé dans le cas des systèmes linéaires, Lévine a établi en 2004 une condition nécessaire et
suffisante de platitude [8] [9]. Cette condition, outre le fait de simplifier celles précédemment proposées par d’autres auteurs, a
l’avantage de conduire à une procédure constructive de détermination d’une sortie plate d’un système plat. Nous allons simplement
en indiquer les principes car elle implique cependant des calculs
qui ne peuvent souvent être menés qu’en faisant appel à un logiciel de calcul formel. Dans la description de cette procédure nous
utilisons les notations suivantes :
— n,m [ p ] : ensemble des matrices de taille (n × m) dont les
composantes sont des polynômes en p (opérateur de dérivation
temporelle) dont les coefficients sont des fonctions du temps t ;
— n [ p ] : ensemble des matrices unimodulaires de n,n [ p ] ,
c’est-à-dire matrices de n,n [ p ] qui ont une inverse dans
n,n [ p ] ;
— I n et 0n,m : matrice identité d’ordre n et matrice nulle de taille
(n × m).
^
V = V
Im
^
et Q = G-Smith( V ).
^
5. Soit Q =
Im
0 m, r
Q . Une condition nécessaire et suf-
fisante de platitude est qu’il existe une matrice unimodulaire Z
^
de taille (m × m ) telle que ZQ dx soit intégrable.
6. Si la condition précédente est vérifiée, la relation entre
l’état x et la sortie plate z est donnée par :
^
dx = VW dz
(28)
avec W matrice unimodulaire arbitraire de taille (m × m).
En d’autres termes, une sortie plate est donnée par l’intégration et l’inversion de cette dernière relation.
Remarques :
— la condition d’hyper-régularité du linéarisé tangent signifie
que celui-ci doit être commandable donc plat. On obtient là encore
une condition de non-platitude : si le linéarisé tangent autour d’une
trajectoire vérifiant le système n’est pas plat, alors le système n’est
pas plat ;
— le point le plus délicat de cette procédure concerne l’existence
de la matrice Z permettant l’intégrabilité des formes
différentielles [21] du point 5 ;
— l’obtention des formes de Smith est habituellement réalisée à
l’aide de multiplications à droite et à gauche par des matrices unimodulaires qui réalisent les opérations élémentaires de permutation de lignes (ou de colonnes), de multiplication d’une ligne (ou
d’une colonne) par un coefficient non nul et d’addition de lignes
(ou de colonnes) [12] ;
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie
est strictement interdite. − © Editions T.I.
Dossier délivré pour
BIBLIOTHEQUE
16/10/2008
0 r,m
S 7 450 − 15
COMMANDE DES SYSTÈMES PAR PLATITUDE
_______________________________________________________________________________________________
— dans le point 6, la détermination de l’expression de la sortie
plate n’est pas nécessaire ; on peut en effet se contenter de la relation x =
6. Le système est donc plat et, avec W = I 2 , la relation entre l’état
et la sortie plate z est donnée par :
^
VW dz qui permet d’obtenir la commande en fonction
dx
dy
dθ
^
de la sortie plate. De plus, comme la matrice V est connue dès le
point 4, on peut tenter l’intégration de la relation (28) dès cette
étape ;
— pour les modèles (17) linéaires en la commande u (t ) de
dimension m, nous avons vu que le modèle implicite s’écrit
T ( x ) ( x˙ – f ( x ) ) = 0 où T (x ) est une matrice de taille ((n – m) × n)
de rang n – m. On obtient alors :
=
0
1
( cos θ )p
---------------------E
1
0
( sin θ )p
– --------------------E
( cos θ )p ( dz 1 ) – ( sin θ )p ( dz 2 )
--------------------------------------------------------------------------E
(cos θ )p (dy ) – (sin θ )p (dx ) = ((cos θ )px + (sin θ )px) dθ
où on reconnaît d((cos θ )py – (sin θ )px ) = 0 soit :
x˙ ( t ) sin θ ( t ) – y˙( t ) cos θ ( t ) = 0
( cos θ ) y˙ – ( sin θ ) x˙ = C
avec n = 3 et r = 1, soit m = 2.
avec C
2. On obtient la matrice DF de 1,3 [ p ] :
( sin θ ( t ) )p
3. Notons E = x˙ ( t ) cos θ ( t ) + y˙ ( t ) sin θ ( t ) . Avec :
0
0
1
----E
V =
0
1
( cos θ ( t ) )p-----------------------------E
1
0
( sin θ ( t ) )p
– -----------------------------E
la décomposition de Smith de DF s’écrit DF × V =
indique l’hyper-régularité de DF.
4. S8
oit :
0 1,2
^
V = V
=
I2
0
1
( cos θ ( t ) )p
------------------------------E
1
1
0
( sin θ ( t ) )p
– -----------------------------E
dont la décomposition de Smith s’écrit :
I2
^
QV =
0 1,2
0
0
constante arbitraire.
La résolution de cette relation donne l’expression de θ on fonction
des sorties plates. Par exemple pour C = 0, on retrouve le modèle
y˙
implicite de départ et l’on obtient tan θ = ----- pour x˙ ≠ 0 et
x˙
π
θ = ----- (mod π) pour x˙ = 0 et y˙ ≠ 0 . On retrouve bien sûr la singularité
2
que l’on avait déjà détectée sur cet exemple.
x˙ ( t ) cos θ ( t ) + y˙ ( t ) sin θ ( t )
– ( cos θ ( t ) )p
dz 1
=
Les deux premières composantes fournissent les deux sorties
plates z 1 = y et z 2 = x et la dernière composante donne la relation :
1. Comme nous l’avons vu précédemment, l’élimination des
commandes, conduit au modèle implicite :
DF =
dz 2
dz 2
DF = – grad (T (x ) f (x )) + T (x ) p
Exemple 13 : voiture (suite)
Illustrons la procédure précédente sur l’exemple de la voiture.
dz 1
qui
7. Systèmes non plats
Bien que la propriété de platitude soit très intéressante pour la
commande des systèmes, il s’avère que certains modèles de systèmes ne la possèdent pas. En effet, dans certains cas d’où sont
bien sûr exclus les modèles non commandables, des composantes
de l’état ne sont pas accessibles ou exprimables à l’aide d’un
nombre, donné par le nombre des commandes, de variables et de
leurs dérivées. Malgré cela, des techniques particulières peuvent
être utilisées pour appliquer les concepts de platitude [2] parmi
lesquelles on peut citer brièvement la simplification de modèle ou
la commande haute fréquence. Sans entrer dans les détails, la première méthode consiste à remplacer certains termes du modèle
initial par des termes approchés où sont négligées l’influence de
certaines variables pour conduire à un modèle plat. La deuxième
méthode consiste à augmenter artificiellement le nombre de
commandes en décomposant chaque commande sous la forme :
avec :
Q =
0
1
( sin θ ( t ) )p
-----------------------------E
1
0
( cos θ ( t ) )p
– ------------------------------E
^
5. Soit Q =
I2
0 2, 1
^
Q
Q, on obtient :
dx
dy
dθ
qui est trivialement intégrable.
S 7 450 − 16
=
dy
dx
0
0
1
t
u ( t ) = u 1 ( t ) + u 2 ( t ) cos ---ε
avec
ε
petit paramètre ( 0 < ε 1 ),
u 1 (t ) et u 2 (t )
deux nouvelles commandes qui apparaissent découplées lorsque l’on
construit le modèle en valeurs moyennes
correspondant.
Bien souvent, ce modèle moyen possède la propriété de platitude relativement à ces nouvelles commandes. On trouvera
dans [2] des exemples pratiques d’application de ces techniques.
Dans ce paragraphe 7 nous allons plutôt nous intéresser à un
ensemble important de modèles non plats : les modèles liouvilliens.
Ceux-ci sont caractérisés par le fait que l’état et la commande du
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie
est strictement interdite. − © Editions T.I.
Dossier délivré pour
BIBLIOTHEQUE
16/10/2008
_______________________________________________________________________________________________ COMMANDE DES SYSTÈMES PAR PLATITUDE
système peuvent s’exprimer à l’aide d’un ensemble de variables, de
leurs dérivées, ce qui procure le caractère plat, et d’intégrations ne
faisant intervenir que ces variables et leurs dérivées, ce qui confère
le caractère liouvillien. Par abus de langage, nous continuons à
appeler cet ensemble de variables, qui permet d’exprimer toutes les
autres à travers dérivations et quadratures, une sortie plate en
imposant seulement que la dimension du sous-espace de l’état
exprimable sans intégration soit le plus grand possible. Nous allons
étudier deux exemples particuliers de systèmes liouvilliens qui
illustrent le fait que l’on peut encore appliquer les principes de
commande par platitude. En particulier, nous verrons que cela
conduit à, d’abord générer une trajectoire, puis appliquer la
deuxième structure de commande que nous avons détaillée précédemment.
Le premier de ces exemples caractérise les systèmes où intervient une consommation de ressource, ce qui conduit fréquemment à des modèles liouvilliens. Le deuxième décrit le modèle à
deux commandes permettant de décrire simplement le mouvement d’un navire soumis à la houle.
Exemple 14 : mouvement vertical d’une fusée
Moyennant quelques hypothèses simplificatrices, le mouvement
vertical d’une fusée peut être décrit par les relations suivantes :
Autour de (h d (t ), M d (t ), u d (t )), la linéarisation conduit au modèle
non stationnaire :
δh (t )
δ h˙ ( t )
d
-------dt
δM (t )
K
0
b (t )
0
δh (t )
δ h˙ ( t )
+
δM (t )
0
c (t )
–1
δu (t )
K
et c ( t ) = -------------------Md ( t )
qui permet l’application de la deuxième structure de commande
(figure 6).
Exemple 15 : navire dans la houle
Les relations suivantes [11] permettent de décrire le comportement
d’un navire piloté dans une houle :
x˙ ( t ) = cos ψ ( t )u 1 ( t ) – sin ψ ( t ) z ( t )
y˙ ( t ) = sin ψ ( t )u 1 ( t ) + cos ψ ( t ) z ( t )
ψ̇ ( t ) = u 2 ( t )
z˙( t ) = – α u 1 ( t )u 2 ( t ) – β z ( t )
M˙ ( t ) = –u ( t )
R
g0
1
0
0

2g 0 R 2
g 0R 2
1 
a ( t ) = ------------------------------- , b ( t ) = – ---------------------  h d¨ ( t ) + -------------------------------
3
(
t
)
M
( R + hd ( t ) )
( R + hd ( t ) )2 

d
g0
- + Ku ( t )
M ( t ) ¨h ( t ) = – M ( t ) --------------------------R + h ( t ) 2
masse de la fusée,
altitude de la fusée (orientée vers le haut),
débit-masse de consommation de comburant (toujours
positif) qui sera notre commande,
rayon terrestre,
0
a (t )
0
où :
R2
avec M (t )
h (t )
u (t )
=
avec (x (t ), y (t )) et ψ (t )
u 1 (t ) et u 2 (t )
constante de gravitation universelle,
gain de conversion entre poussée effective et débit.
z (t )
(α, β )
L’élimination de la commande conduit à la relation implicite :
position et orientation du navire relativement à un référentiel fixe,
commandes des vitesses axiales et de
rotation instantanées du navire (liées aux
commandes effectives de poussée et de
gouverne),
vitesse relative latérale du navire relativement à la houle,
deux constantes positives.
L’élimination des commandes :
g 0R 2
Ṁ ( t )
h¨ ( t ) + K --------------- = – ------------------------------M (t )
( R + h ( t ) )2
qui met en évidence le caractère non plat de ce modèle, confirmé par
exemple en appliquant le critère des variétés réglées. Comme cette
relation implicite peut également être écrite :
g 0R 2
1
d log M ( t )
--------------------------------- = – ----- h ¨( t ) + -----------------------------2K
dt
(R + h (t ))
on en déduit que si l’on prend h (t ) comme sortie plate on obtient
log M (t ), donc M (t ), par intégration, ce qui permet d’obtenir u (t ). Ce
raisonnement indique le caractère liouvillien de ce modèle.
On obtient finalement les expressions suivantes :
1
M ( t ) = M ( 0 ) exp – -----  h˙ ( t ) – h˙ ( 0 ) +
K
t
0

g 0R 2
----------------------------- d τ
( R + h ( τ ) )2 
g 0R 2
M (t )

u ( t ) = ---------------  h¨( t ) + ------------------------------
K
( R + h ( t ) )2 
qui permettent, à partir d’une trajectoire désirée h d (t ) définie de t = 0
à t = T, de générer M d (t ) et la commande nominale u d (t ) nécessaire.
u 1 ( t ) = cos ψ ( t )x˙ ( t ) + sin ψ ( t )y˙ ( t ) , u 2 ( t ) = ψ̇ ( t )
dans ce modèle conduit au modèle implicite :
z ( t ) = y˙ ( t ) cos ψ ( t ) – x˙ ( t ) sin ψ ( t )
z˙ ( t ) = – αψ̇ ( t ) ( cos ψ ( t )x˙ ( t ) + sin ψ ( t )y˙ ( t ) ) – β z ( t )
Le critère des variétés réglées indique que ce modèle n’est pas plat.
Pour en montrer le caractère liouvillien, on écrit le modèle implicite
sous la forme :
z (t )
z˙ ( t ) + β z ( t )
=
– sin ψ ( t )
cos ψ ( t )
– αψ̇ ( t ) cos ψ ( t ) – αψ̇ ( t ) sin ψ ( t )
soit :
x˙ ( t )
y˙ ( t )
1
= ------------------αψ̇ ( t )
– αψ̇ ( t ) sin ψ ( t ) – cos ψ ( t )
αψ̇ ( t ) cos ψ ( t )
– sin ψ ( t )
z (t )
z˙ ( t ) + β z ( t )
qui indique que l’on peut prendre comme sortie plate (z (t ), ψ (t )) et
obtenir (x (t ), y (t )) par intégrations. On obtient finalement :
z˙ ( t ) + β z ( t )
u 1 ( t ) = --------------------------------- , u 2 ( t ) = ψ̇ ( t )
αψ̇ ( t )
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie
est strictement interdite. − © Editions T.I.
Dossier délivré pour
BIBLIOTHEQUE
16/10/2008
x˙ ( t )
y˙ ( t )
S 7 450 − 17
COMMANDE DES SYSTÈMES PAR PLATITUDE
_______________________________________________________________________________________________
La linéarisation autour de la trajectoire désirée (z d (t ), ψ d (t )), correspondant à la trajectoire (x d (t ), y d (t ), u 1d (t ), u 2d (t )), conduit au
modèle non stationnaire :
d
-------dt
δx (t )
δy (t )
δψ ( t )
δz (t )
=
0
0
a (t )
– sin ψ d ( t )
0
0
b (t )
cos ψ d ( t )
0
0
0
0
0
0
0
β
+
δx (t )
δy (t )
δψ ( t )
δz (t )
cos ψ d ( t )
0
sin ψ d ( t )
0
δu 1 (t )
0
– α u 2d ( t )
1
– α u 1d ( t )
δu 2 (t )
où :
a ( t ) = – u 1d ( t ) sin ψ d ( t ) – z d ( t ) cos ψ d ( t )
b ( t ) = u 1d ( t ) cos ψ d ( t ) – z d ( t ) sin ψ d ( t )
qui permet l’application de la deuxième structure de commande
(figure 6).
8. Conclusion
Nous avons décrit les diverses procédures à mettre en œuvre
pour concevoir une commande par platitude et nous avons indiqué
que l’utilisation de la deuxième structure de commande pouvait
être appliquée dans de nombreuses situations pratiques et même
dans certains cas de systèmes non plats. La première étape d’une
commande par platitude consiste à générer la trajectoire désirée
sur les sorties plates, variables permettant de paramétrer toutes les
autres variables du système, donc les commandes. On obtient
ainsi une commande nominale à appliquer au système pour obtenir le comportement désiré. Autour de ces trajectoires désirées, la
deuxième étape consiste à concevoir une commande en boucle
fermée permettant une poursuite asymptotique de la trajectoire
désirée. Cet objectif peut être réalisé via une des deux structures
de commandes que nous avons indiquées au cours du texte, la
deuxième ayant l’avantage de ramener la conception de la
commande à celle d’un système linéaire non stationnaire.
Nous ne l’avons pas détaillé mais la commande par platitude peut
être utilisée avec profit dans le cas de modèles plus complexes que
ceux abordés ici comme ceux faisant intervenir des équations où
des retards interviennent ou ceux décrits par des équations différentielles aux dérivées partielles. Les principes sont encore utilisables et ont conduit ici aussi à des applications pratiques. Les
applications de cette commande sont nombreuses. On trouvera
dans [4] un panorama relativement complet des premières applications décrites dans la littérature. Enfin, toutes les méthodes et procédures que nous avons vues sont directement transposables au
cas des modèles discrets permettant de décrire des systèmes
commandés par un algorithme de commande numérique.
Références bibliographiques
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
FLIESS (M.), LÉVINE (J.), MARTIN (P.) et ROUCHON (P.). – Sur les systèmes non linéaires
différentiellement plats. C. R. Acad. Sciences,
vol. 315, série 1, p. 619-24 (1992).
FLIESS (M.), LÉVINE (J.), MARTIN (P.) et ROUCHON (P.). – Flatness and defect of nonlinear
systems : introductory theory and examples.
Int. J. Control, vol. 61, no 6, p. 1327-61 (1995).
FLIESS (M.), LÉVINE (J.), MARTIN (P.) et ROUCHON (P.). – A Lie-Bäcklund approach to equivalence and flatness of nonlinear systems.
IEEE Trans. Autom. Control, vol. 44,
p. 922-937 (1999).
FLIESS (M.). – Variations sur la notion de
contrôlabilité. Journée Soc. Math. France, 17
juin 2000.
ISIDORI (A.). – Nonlinear control systems.
Springer (1989).
KHALIL (W.) et DOMBRE (E.). – Modelisation,
identification et commande des robots. Hermès (1999).
LAUMOND (J.P.), dir. – La robotique mobile.
Traité IC2, Hermès (2001).
LÉVINE (J.) et NGUYEN (D.V.). – Flat output
characterization for linear systems using
polynomial matrices. Systems & Control Letters, no 48, p. 69-75 (2003).
S 7 450 − 18
[9]
[10]
[11]
LÉVINE (J.). – On the necessary and sufficient
conditions for differential flatness. Proc. 6th
IFAC Symposium on nonlinear control systems, NOLCOS’04, Stuttgart, p. 463-468
(2004).
MARTIN (P.) et ROUCHON (P.). – Systèmes
plats de dimension finie. Chap. 3, p. 114-167,
Systèmes plats de dimension infinie, chap. 4,
p. 170-190, Catalogue de systèmes plats,
chap. 5, p. 191-216, in Commandes non
linéaires,
LAMNABHI-LAGARRIGUE
(F.),
ROUCHON (P.), dir., Traité IC2, Hermès –
Lavoisier (2003).
PETTERSEN (K.Y.) et NIJMEIJER (H.). – Underactuated ship tracking control : theory and
experiments. Int. J. Control, vol. 74, no 14,
p. 1435-46 (2001).
systems. IEEE Trans. Aut. Control, vol. AC-14,
p. 704-707 (1969).
[16]
SHAFAI (B.) et CARROLL (R.L.). – Minimal-order observer designs for linear
time-varying multivariable systems. IEEE
Trans. Aut. Control, vol. AC-31, p. 757-761
(1986).
[17]
SIRA-RAMIREZ (H.) et AGRAWAL (S.K.). – Differentially flat systems. Marcel Dekker
(2004).
Dans les Techniques de l’Ingénieur
[18]
CAILLOT (A.). – Systèmes d’alimentation
pour équipements électroniques. Électronique, [E 3 620] (1998).
[12]
ROTELLA (F.) et BORNE (P.). – Théorie et pratique du calcul matriciel. Technip (1995).
[19]
[13]
RUDOLPH (J.). – Flatness based control of
distributed parameter systems. Shaker Verlag (2003).
LIÉGEOIS (A.). – Modélisation et commande
des robots manipulateurs. Informatique
Industrielle, [S 7 730] (2000).
[20]
ROTELLA (F.). – Systèmes linéaires non stationnaires.
Informatique
Industrielle,
[S 7 185] (2003).
[21]
YEBBOU (J.). – Variétés différentielles.
Mathématiques pour l’Ingénieur, [AF 95]
(2000).
[14]
SASTRY (S.). – Nonlinear systems, analysis,
stability and control. Springer (1999).
[15]
SEAL (C.E.) et STUBBERUD (A.R.). – Canonical forms for multiple-input time-variable
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie
est strictement interdite. − © Editions T.I.
Dossier délivré pour
BIBLIOTHEQUE
16/10/2008