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 h2 = 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