Modélisation et commande d’un pendule inversé sur un robot X-Y par l’asservissement visuel

03/08/2016
OAI : oai:www.see.asso.fr:545:2009-1:17223
DOI :

Résumé

Modélisation et commande d’un pendule inversé sur un robot X-Y par l’asservissement visuel

Métriques

76
15
420.48 Ko
 application/pdf
bitcache://39893f7920915ca2fb322aa1060e64062da67c85

Licence

Creative Commons Aucune (Tous droits réservés)
<resource  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xmlns="http://datacite.org/schema/kernel-4"
                xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4/metadata.xsd">
        <identifier identifierType="DOI">10.23723/545:2009-1/17223</identifier><creators><creator><creatorName>Haoping Wang</creatorName></creator><creator><creatorName>Christian Vasseur</creatorName></creator><creator><creatorName>Vladan Koncar</creatorName></creator><creator><creatorName>Afzal Chamroo</creatorName></creator></creators><titles>
            <title>Modélisation et commande d’un pendule inversé sur un robot X-Y par l’asservissement visuel</title></titles>
        <publisher>SEE</publisher>
        <publicationYear>2016</publicationYear>
        <resourceType resourceTypeGeneral="Text">Text</resourceType><dates>
	    <date dateType="Created">Wed 3 Aug 2016</date>
	    <date dateType="Updated">Thu 11 Aug 2016</date>
            <date dateType="Submitted">Fri 20 Apr 2018</date>
	</dates>
        <alternateIdentifiers>
	    <alternateIdentifier alternateIdentifierType="bitstream">39893f7920915ca2fb322aa1060e64062da67c85</alternateIdentifier>
	</alternateIdentifiers>
        <formats>
	    <format>application/pdf</format>
	</formats>
	<version>29043</version>
        <descriptions>
            <description descriptionType="Abstract"></description>
        </descriptions>
    </resource>
.

Résumé — Cet article présente une méthode de modélisation et de commande d'un pendule inversé sur un robot X-Y utilisant l’information fournie par une caméra CCD à bas coût. Les informations délivrées par le système de vision sont sous forme retardée et échantillonnée. La commande proposée en deux boucles nécessite la connaissance complète de l’état du pendule. L’idée principale est d’utiliser un observateur spécifique appelé Observateur Continu à fonctionnement par Morceaux (OCM). Cet observateur repose sur l’utilisation des Systèmes à Fonctionnement par Morceaux (SFM) qui représentent une classe particulière de systèmes hybrides et un Observateur Discret de Luenberger d’Ordre Réduit (ODLOR). Les simulations illustrent les performances de cette méthode. Mots clés — Pendule inversé, robot X-Y, asservissement visuel, système continu à fonctionnement par morceaux, observateur continu à fonctionnement par morceaux. I. INTRODUCTION Dans de nombreuses applications il peut s’avérer impossible de mettre le capteur en contact direct avec l'objet commandé. L'utilisation des techniques d'asservissement visuel fait, depuis plusieurs années, l'objet de nombreux travaux de recherche permettant de pallier cette contrainte physique. Par ailleurs, d’un point de vue économique, il peut s’avérer intéressant de considérer les cas où il n’est pas envisageable d’utiliser des capteurs de précision élevée, parce que de coût trop important. Ainsi, nous présentons ici une méthode de modélisation et de commande d’un pendule inversé sur un robot X-Y utilisant l’information fournie par une caméra CCD à bas coût. En tant que système dynamique instable et fortement non linéaire, le système chariot-pendule inversé constitue un excellent support expérimental pour tester des algorithmes de commande. En littérature, les modèles les plus souvent considérés sont : le bras simple ou double [22], les pendules planaires simple, double, voire triple relié à un chariot par des liaisons rotoïdes [3, 6, 9, 19, 21, 25] et enfin, le pendule inversé sur un robot X-Y par un joint de cardan [7, 8, 17, 27]. Dans tous ces cas, les contrôleurs utilisent des codeurs angulaires continus de précision élevée fixés directement sur l’axe de rotation du pendule. Dans cet article, l’enjeu est d’utiliser une caméra CCD à bas coût comme capteur immatériel pour la commande. En contrepartie de son coût modeste, ce capteur induit des problèmes de précision, d’échantillonnage et de retard en raison du temps de calcul (traitement des images) et de transmission des signaux dans la boucle. Dans [15], l'utilisation de la rétroaction visuelle en entrée des boucles de retour pour commander un robot est largement décrite. Par exemple, des indices visuels (points, arêtes ou régions) obtenues par traitement d’image, peuvent être utilisées pour le guidage d'un robot. Dans ce sens, la vision artificielle est utilisée comme outil de rétroaction, pour la réalisation d’asservissements. Toutefois, le plus souvent, le système de vision est soit combiné à la commande dans une configuration en boucle ouverte du type « perception » puis « action » [23], soit simplement utilisé pour réaliser des visualisations et/ou des animations dans les systèmes de commande [2, 23]. Plus récemment, des tentatives d’insertion de la vision dans la boucle de commande pour stabiliser le système chariot-pendule ont été présentées [10, 26]. Toutefois, aucune réalisation convaincante de commandes simultanées de l’angle du pendule et de la position du chariot n’apparaît. Un contrôleur flou a été développé en [20], mais sur un pendule planaire et avec une caméra de grande précision. De plus, la stabilisation est limitée dans le temps et ne dure que quelques secondes. Nous trouvons [12] une autre commande qui simule le comportement humain pour un pendule planaire. Cette méthode stabilise le pendule limité dans le temps aussi ( ≤ 16 s) et avec une grande oscillation de position angulaire ±26°. L'analyse des difficultés liées à la commande du pendule inversé par rétroaction visuelle fait apparaître que le signal de vision ne semble pas suffisamment bien exploité. C’est la raison pour laquelle, nous nous sommes efforcés de développer un observateur précis, rapide et robuste, afin de pallier les difficultés induites par la vision (échantillonnage et retard). Cet observateur, basé sur l’utilisation des Systèmes à Fonctionnement par Morceaux (SFM) [18], présente l’avantage de compenser les effets de retard et d’échantillonnage pour fournir des estimations continues et sans retard. Les travaux présentés ici constituent un prolongement de recherches précédentes [18, 4, 24], pour développer un Observateur Continu par Morceaux (OCM), à partir d’un Observateur Discret de Luenberger d’Ordre Réduit (ODLOR) et de deux SFM. Le reste de l’article est organisé comme suit. La section II présente la description et la modélisation de la plateforme expérimentale. Dans la section III, le fonctionnement des SFM est détaillé. Ces derniers sont utilisés dans la construction de l’OCM et à la stabilisation du pendule inversé sur robot X-Y dans les sections IV et V. Les simulations sont analysées dans la section VI. Enfin, les conclusions sont exposées dans la section VII. HAOPING WANG1 , CHRISTIAN VASSEUR1 , VLADAN KONCAR2 , AFZAL CHAMROO3 1 LAGIS - UMR CNRS 8146, USTL, UFR IEEA, Bâtiment P2, F-59655 Villeneuve d'Ascq cedex, France 2 GEMTEX, ENSAIT, 9 rue de l’Ermitage, BP 30329, F-59056 Roubaix, France 3 Université de Poitiers, LAII, 40 av. du recteur Pineau, F-86022, France haoping.wang@univ-lille1.fr - christian.vasseur@univ-lille1.fr - vladan.koncar@ensait.fr - afzal.chamroo@univ-poitiers.fr Modélisation et commande d'un pendule inversé sur un robot X-Y par l'asservissement visuel e-STA copyright 2009 by see Volume 6, N°1, pp 7 - 15 II. DESCRIPTION ET MODELISATION A. Plateforme expérimentale La plateforme expérimentale illustrée par la figure 1 est composée principalement de trois parties: 1. Système pendule inversé sur un robot X-Y motorisé Ce système est composé d’un pendule inversé lié à un robot X-Y par un joint de cardan. Ce robot est motorisé à l’aide de deux servomoteurs SANYO DENKI PY2A015A3-A3 configurable par PY. L’entraînement du robot se fait par courroies crantées. De plus, deux codeurs (un pour chaque axe) mesurent la position du robot. Une LED infrarouge est fixée à l’extrémité haute du pendule, afin d’en faciliter le repérage par le système de vision. Enfin, une couronne circulaire limite le débattement du pendule en maintenant son angle d’inclinaison par rapport à la verticale inférieur à 50 degrés. 2. Contrôleur Les logiciels de contrôle sont implantés sur une carte dSpace DS1103. Celle-ci permet de compiler directement les algorithmes de commande à partir de Matlab/Simulink et de superviser facilement les paramètres de contrôle à l’aide du module ControlDesk. Cela permet d’afficher en temps réel les variables de la carte. Les signaux de commande sont, quant à eux, envoyés aux amplificateurs de puissance par un CAN (± 10 V). 3. Système de vision Le système de vision associé à une caméra est constitué d’une carte d'acquisition de type ELTEC PC-EYE 4 et du logiciel de traitement d’images TEKVIS. Ce logiciel calcule les coordonnées (x, y) (en pixels) de la LED fixée à l’extrémité haut du pendule et les transmet au système de commande par une liaison RS-232. La caméra fixée à environ 2 mètres au- dessus du centre du robot X-Y est une caméra ordinaire infra rouge de faible coût (Jai M50 IR), dont la cadence d’échantillonnage est de 25 images/sec et la résolution de 640 × 480 pixels. La prise d’image de la caméra est synchronisée avec une impulsion périodique externe générée par le système de commande. Lorsque le système de commande reçoit les coordonnées en pixels de la LED, il en fait la conversion en mètres, à partir d’une table résultant d’un calibrage effectué préalablement (méthode "TSAI" présentée dans [14]). Le calibrage permet, non seulement de convertir les coordonnées de la LED en mètres, mais également de compenser les déformations résultant du système optique de la caméra. Dans ces conditions, compte tenu des temps de traitements, les coordonnées échantillonnées de la LED sont disponibles avec un retard de 40 ms. B. Modélisation Dans [7, 8, 17, 27], les auteurs utilisent une modélisation pour laquelle les axes x et y sont découplés, ce qui revient à commander le pendule selon deux projections indépendantes. Une telle modélisation induit des approximations et n’est valide que pour des petits angles d’inclinaison du pendule. Nous développons ici une méthode de modélisation valable quel que soit l’angle d'inclinaison du pendule. L’idée principale consiste à travailler, à chaque instant, dans le plan du pendule. Ainsi, on transforme le problème 3D en un problème 2D. 1. Mise en équations du pendule inversé sur robot X-Y Comme l’illustre la figure 2a, on désigne par P le point de liaison du pendule avec le robot (cardan) et par O l’origine du plan x-y du robot X-Y. Dans un premier temps, on considère le repère Px'y'z' parallèle au repère Oxyz lié au robot. Le pendule inversé peut être projeté, à tout instant, sur deux plans orthogonaux: le plan x-y (plan du robot) contenant O et P et le plan r-z' passant par P et contenant le pendule en entier. Dans un second temps, le plan r-z' est choisi comme plan de stabilisation, de telle sorte que le problème du pendule inversé 3D devient un problème 2D dans ce plan. En se référant aux méthodes classiques [2, 9], le pendule inversé peut être modélisé comme suit, dans le plan r-z' : 2 2 sin cosn n K rθ ζω θ ω θ θ+ − = − (1) où : 2 ( )n mgl J mlω = + , 2 [2 ( )]r nB J mlζ ω= + , 2 ( )K ml J ml= + , avec°: θ angle du pendule avec l’axe Pz', l longueur du demi-pendule, m masse du pendule, Br frottement visqueux entre le pendule et le robot, g accélération de la pesanteur, J=(ml2 )/3 moment d’inertie du pendule et r position du robot sur l’axe r, l’origine de cet axe étant la projection O' de O sur le plan r-z'. Naturellement, le déplacement du robot sur l’axe r résulte d'une combinaison de mouvements selon les axes x et y. Comme le montre la figure 2b, en considérant la projection du pendule sur le plan x-y, on peut trouver facilement la relation reliant x, y et r : cos sinr x yα α= + (2) où α est l'angle entre l’axe O'r et l’axe Ox. L’évolution de la coordonnée x du robot X-Y en axe x est décrite par : X Z Y Fig.1: Plateforme expérimentale y xO α P 'C C 'z 'x 'y r 'O z θ y xO α ( , )P x y '( , )C CC x y r 'O Q 'Q α 'P S (a) sur le plan r-z’ et x-y-z (b) sur le plan x-y Fig.2: Projections e-STA copyright 2009 by see Volume 6, N°1, pp 7 - 15 ( )x x xx x k u τ= − + (3) où : kx et τx sont le gain statique et la constante de temps du robot X-Y selon l'axe x et ux sa tension d’entrée. Il en va de même pour y : ( )y y yy y k u τ= − + (4) 2. Calcul des signaux visuels (α et θ) D’après la structure de notre plateforme, les informations qu’on peut utiliser sont les coordonnées (xC, yC) du haut du pendule obtenues par le système de vision. Les coordonnées (x, y) du pied du pendule sont mesurées par les codeurs. Ainsi selon les figures 2, les expressions de α et θ peuvent s’écrire : [ ]1 tan ( ) ( )C Cy y x xα − = − − (5) [ ]{ }1 sin ( )cos ( )sin 2C Cx x y y lθ α α− = − + − (6) En réalité, pour l’extrémité du pendule, on ne dispose que d’informations retardées et échantillonnées : , ,( ( ), ( )) ( , )C e e C e e C k q C k qx kt qt y kt qt x y− −− − = (7) où te est la période d’échantillonnage du système de vision et qte (q entier positif) correspond au temps nécessaire pour le traitement d'image et pour la transmission des signaux. Dans notre cas, on a 40et = ms et 1q = , de telle sorte qu’à chaque instant d’échantillonnage kte, les équations (5), (6) et (7) fournissent 1kα − et 1kθ − . III. SYSTEMES A FONCTIONNEMENT PAR MORCEAUX A partir des définitions données dans [18], on peut établir les équations d’un Système à Fonctionnement par Morceaux (SFM), comme suit : les commutations du système se font à période et constante de la même période d’échantillonnage du système de vision, ce qui équivaut à un ensemble de commutation de la forme { }, 0,1,2,...eS kt k= = , deux instants de communications successives se délimitent un morceau ] ],( 1)k e ekt k tΦ = + . les équations de fonctionnement du SFM sont : '( ) ( ) ( ),t t tλ αλ βϕ= + kt∀ ∈Φ , (8a) ,k kλ δψ+ = k S∀ ∈ , (8b) ( ) ( ),w t tγλ= t∀ . (8c) L’équation (8a) donne l’évolution continue de l’état n t ˆ )( Σ∈λ du SFM sur le morceau kΦ , nn ˆˆ× ℜ∈α et ˆ ˆn r β × ∈ℜ étant les matrices d’état du SFM et ˆ ( ) r t Uϕ ∈ étant son entrée continue. L’équation (8b) définit l’état du SFM aux instants de commutation, à partir d’une entrée discrète bornée ( ) s kT Vψ ∈ , selon une relation linéaire caractérisée par la matrice sn× ℜ∈ ˆ δ . L’équation (8c) est l’équation de sortie du SFM caractérisée par la matrice nm ˆˆ × ℜ∈γ . La figure 3a décrit la réalisation d’un SFM et sa représentation symbolique { }( , , , , )ekt α β δ γΣ est donnée figure 3b où chacune des entrées du bloc est représentée par un marqueur différent. Considérons l’intégration de l’équation [8a] sur le morceau kΦ , on a : ( ) exp( ( )) exp ( ) ( ) , e t e k k kt t A t kt t d tλ λ α τ βϕ τ τ+ = − + − ∀ ∈Φ∫ Soit en utilisant [8b] : ( ) exp( ( )) exp ( ) ( ) , e t e k k kt t A t kt t d tλ δψ α τ βϕ τ τ= − + − ∀ ∈Φ∫ (9) La valeur de continuité de ( )tλ à gauche de ekt , notée kλ− est obtenu en écrivant l’équation (9) sur le morceau 1k−Φ et en faisant tendre t vers ekt par valeurs inférieurs, soit : 1 ( 1) exp( ) exp ( ) ( ) , e e kt k e k k k t At t d tλ δψ α τ βϕ τ τ− + − − = + − ∀ ∈Φ∫ En général, on a k kλ λ− + ≠ . L’avantage de ce type de système se situe dans la réinitialisation d’état du SFM à chaque instant de commutation comme illustrée figure 4 dans le cas où la dimension d’état ˆ 1n = et 1δ = . Dans la section suivante, on utilise le principe des SFM dans le développement d’un OCM et la construction de la commande afin de stabiliser l’ensemble du système. IV. COMMANDE EN DOUBLE BOUCLES L'architecture de commande du pendule inversé 3D est présentée figure 5. Les retours fournissent les coordonnées continues (x, y) par les codeurs et la position angulaire retardée [{ }, , , , ]ekt α β δ γΣ ( )w t( )x t ( )tψ ∫ ( )w t γ α ( )x t β + + ( )tϕ ( )tϕ ( )tψ { }ekt δ Fig.3: Réalisation d’un SFM ˆθˆθ xu refθ v yu x y r r 1kα − 1kθ − 1( , )f v x 2 ( , )f v y , 1C k x − , 1C k y − y α θ x y x ,x x ,y y x y Fig.5: Architecture de commande Fig.4: Evolution de l’état d’un SFM ( 1et s= ) e-STA copyright 2009 by see Volume 6, N°1, pp 7 - 15 et échantillonnée 1kα − et 1kθ − par le système de vision. A chaque instant d’échantillonnage où à chaque période d’échantillonnage des commutation des SFM, le plan du pendule est repéré par 1kα − . Ensuite, le système de commande agit dans ce plan en considérant deux boucles. La première est appelée « boucle d’observation du pendule ». Il vise à reconstruire l’état continu du pendule à partir des informations retardées et échantillonnées 1kθ − à l’aide d’un Observateur Continu par Morceaux (OCM) constitué principalement deux SFM et un Observateur ODLOR. La seconde, appelée « boucle de stabilisation », est utilisée pour stabiliser l’ensemble robot X-Y + pendule, selon une commande construite refθ constante par morceaux à partir d’une fonction de Lyapunov. A. Boucle d'observation du pendule L’équation (1) peut se ramener au système d’équations suivant : r v= (10) 2 2 sin cosn n K vθ ζω θ ω θ θ+ − = − (11) Afin de stabiliser ce système, une dynamique stable peut être imposée, en définissant une nouvelle commande v par la relation : 2 2 22 sin cos 2n n n nK v K vζω θ ω θ θ θ θ− + − = − ΖΩ − Ω + (12) ce qui conduit à : 2 2 22( ) sin cos , 2n n n nv K v Kζω θ θ ω θ θ θ π⎡ ⎤= − −ΖΩ +Ω + − <⎣ ⎦ (13) où nΩ , Ζ et 2K représentent respectivement la pulsation naturelle, l’amortissement et le gain du modèle stable. Après transformation, le modèle devient : 2 2 22( ) sin cosn n n nr K v Kζω θ θ ω θ θ⎡ ⎤= − − ΖΩ + Ω + −⎣ ⎦ (14) 2 22 n n K vθ θ θ+ ΖΩ + Ω = (15) En adoptant pour (15) une représentation d'état, il vient : ( ) ( ) ( )t A t Bv tΘ = Θ + (16) avec : 2 0 1 2n n A ⎡ ⎤ = ⎢ ⎥ −Ω − ΖΩ⎢ ⎥⎣ ⎦ , 2 0 B K ⎡ ⎤ = ⎢ ⎥ ⎣ ⎦ et ( ) ( ) ( ) t t t θ θ ⎡ ⎤ Θ = ⎢ ⎥ ⎣ ⎦ . Dans notre cas, on ne dispose ni de ( )tθ , ni de ( )tθ , mais seulement de θk-1. Afin d’obtenir des estimations ˆ( )tθ et ˆ( )tθ de ( )tθ et ( )tθ , on développe ci-après un OCM réalisant la combinaison d'un Observateur Discret de Luenberger d’Ordre Réduit (ODLOR) et de deux SFM tels que définis dans la section 2 noté sous la forme ( { }( , , , , )ekt α β δ γΣ ). Dans le but d’estimer Θ(t), on choisit : α & β comme définies dans l’équation (16) de A & B et δ γ= =I2. Ainsi l’OCM présenté figure 6 est construit en trois étapes : Première étape : SFM I En utilisant le SFM I, avec ϕ(t)=v(t) et ψ(t)=0, on obtient : 1 ( 1) ( ) exp ( ) ( ) e t k k t M t A t Bv dτ τ τ− − = −∫ , Ce qui conduit en faisant et kt= , à : 1 1 ( 1) 1 1 exp ( ) ( ) 2 e e kkt kk k e kk t k m M A kt Bv d m τ τ τ − − − − ⎡ ⎤ = − = ⎢ ⎥ ⎢ ⎥⎣ ⎦ ∫ (17) Le rôle du BOZ (Bloqueur d'Ordre Zéro) est donc de récupérer et de mémoriser cette valeur à ekt . Deuxième étape : ODLOR Θk-1 est estimé par l’ODLOR selon : -1 1 1 1( 2 1 )k k k k k k kz Fz G m Lmθ − − −= + + − (18a) 1 1 1 ˆ k k kz Lθ θ− − −= − (18b) où F, G et L sont définies, à partir de 11 12 21 22 exp( ) f f f f eAt ⎡ ⎤= ⎢ ⎥⎣ ⎦ , comme suit : 22 12F f Lf= − , 21 11( )G FL f Lf= + − , 22 12( )L f f R= ∈ (Valeur imposée pour maximiser la convergence de l’ODLOR). Ainsi, en estimant 1kθ − par 1 1 1 ˆ k k kz Lθ θ− − −= + , on obtient 1 ˆ k−Θ , puis, par intégration de (16) sur morceau 1k−Φ , on obtient ˆ kΘ : 1 1 ˆ ˆexp( ) k k e k kAt M− −Θ = Θ + (19) Troisième étape : SFM II En utilisant le SFM III, avec ϕ(t)=v(t) et ˆ( ) kktψ = Θ , on estime finalement ( )tΘ par : ˆ ˆ( ) exp( ) exp ( ) ( ) e t k kt t At A t Bv dτ τ τΘ = Θ + −∫ (20) En se réinitialisant à chaque période d'échantillonnage, l'OCM permet de compenser les effets de retard et discrétisation. Cela conduit à des estimations continues et sans retard, ˆ( )tθ et ˆ ( )tθ . Analyse de l’erreur de l’OCM : On peut discrétiser le système (16) sous la forme suivante: 11 12 1 1 21 22 k k k k f f M f f − − ⎡ ⎤ Θ = Θ +⎢ ⎥ ⎣ ⎦ avec: 1 k kM − défini par (17). De la même façon, on peut écrire: 11 12 1 1 2 2 21 22 k k k k f f M f f − − − − ⎡ ⎤ Θ = Θ +⎢ ⎥ ⎣ ⎦ avec: 1( 1) 21 2 1( 2) 2 1 exp ( ) ( ) 2 e e kk t kk k e kk t k m M A kt Bv d m τ τ τ −− −− − −− − ⎡ ⎤ = − = ⎢ ⎥ ⎢ ⎥⎣ ⎦ ∫ . 1kθ − 12k km − 11k km − − kz 1kz − G + 1 ˆ kθ − 1 ˆ k−Θ eAt e ˆ kΘ 2 2[{ }, , , , ]ekt A B I IΣ ˆ ( )tΘ 01( )kM t− L F 1 k kM − v 2 2[{ }, , , , ]ekt A B I IΣ ++ + + + + et s e− L Fig.6: Observateur Continu par Morceaux e-STA copyright 2009 by see Volume 6, N°1, pp 7 - 15 Comme ( ) ( ) ( ) t t t θ θ ⎡ ⎤ Θ = ⎢ ⎥ ⎣ ⎦ , on a les équations équivalentes: 1 1 11 2 12 2 21k k k k kf f mθ θ θ − − − − −= + + (21a) 1 1 21 2 22 2 22k k k k kf f mθ θ θ − − − − −= + + (21b) En utilisant l'observateur ODLOR défini dans les équations (18), on a: 1 1 1 ˆ ˆ k k kL zθ θ− − −= + (22a) 1 1 1 -2 2 2 2( 2 1 )k k k k k k kz Fz G m Lmθ − − − − − −= + + − (22b) Pour le morceau kΦ , on dispose des valeurs réelles 1kθ − et 2kθ − . On remplace donc 1 ˆ kθ − dans l'équation (22a) par 1kθ − : 1 1 1 1 11 2 12 2 2 1 1 -2 2 2 2 ˆ ( 1 ) [ ( 2 1 )] k k k k k k k k k k k k k L z L f f m Fz G m Lm θ θ θ θ θ − − − − − − − − − − − − = + = + + + + + − (23) On évalue les erreurs de mesure : 1 1 1 1 1 1 1 0ˆ 2 2 k k k k k k e e e e − − − − − − ⎡ ⎤ ⎡ ⎤ = Θ − Θ = =⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦ , dans lequel: 1 1 1 1 21 2 22 2 2 1 11 2 12 2 2 1 1 -2 2 2 2 ˆ2 2 ( 1 ) [ ( 2 1 )] k k k k k k k k k k k k k k k k k e f f m L f f m Fz G m Lm θ θ θ θ θ θ θ − − − − − − − − − − − − − − − − = − = + + − + + − + + − (24) A partir de (22a), on a : 1 1 1 1 1 1 ˆ 2k k k k k kz l e lθ θ θ θ− − − − − −= − = − − , de la même façon, on peut écrire: 2 2 2 22k k k kz e lθ θ− − − −= − − , on le remplace dans (24): 1 1 1 21 2 22 2 11 2 12 2 2 2 2 2 ˆ2 ) ( 2 ) k k k k k k k k k k k e f f Lf Lf F e L G θ θ θ θ θ θ θ θ θ − − − − − − − − − − − = − = + − − − − − − Finalement, on a: 1 2 22 12 2 21 11 2 2 2 ( ) ( ) k k k k e F e f Lf F f Lf FL G θ θ − − − − = + − − + − + − (25) Pour que 12ke − dans le système (25) tende vers zéro quand k → +∞ , d’après les équations de (18), on a choisi 22 12F f Lf= − et 21 11G FL f Lf= + − . Ainsi, (25) devient : 1 22 2k ke F e− −= (26) De plus comme 22 12F f Lf= − , on peut choisir la valeur de L pour rendre F stable. Cela conduit à : 1 k lim 2 0ke − →+∞ = (27) c-à-d, 1 ˆ kθ − converge vers 1kθ − . Ainsi, d’après les équations de (19-20), on obtient : ˆlim ( ) ( ) t t t →+∞ Θ = Θ . B. Boucle de stabilisation Pour stabiliser le robot, on définit la fonction de Lyapunov ci-après : 2 2 ( , ) ( ) 2V r r r rχ δ= + , avec: 0 et 0χ δ> > ayant pour dérivée : ( , ) ( ) ( )V r r r r r r r vχ δ χ δ= + = + , d’après l’équation (10). Pour garantir la stabilisation du robot, on impose que cette dérivée soit négative, par la relation : 2 2 ( ) 2 ( ) [1 ] , 0r r r v e rχ δ χ δ μ μ− + + = − − > ce qui conduit à la commande v : 2 2 ( ) 2 [ (1 ) ]r r v r e rχ δ χ μ δ− + = − + − (28) cette commande v définie par l'équation (28) sous forme de PD ramène donc ( , )r r à (0,0). Il reste à garantir la stabilisation de θ . Pour cela, à partir des équations (14-15), Si l’on applique à l'équation (15) une commande v constante par morceaux (fonction escalier) et si chaque morceau est suffisamment long pour atteindre le régime stationnaire de θ ( 0)θ θ= = , nous pouvons réécrire les équations (14-15) sous la forme suivante : 2 tan( )n refr v Kω θ= = (29) 2 2n refv Kθ= Ω (30) Dans lesquels ref θ désigne la valeur de θ en régime stationnaire et proportionnel à la commande v constante par morceaux (en raison de simplicité, dans les parties suivantes, on choisit 2 2 nK = Ω pour que refv θ= ) La figure 7 ci-après illustre la construction de refθ : Fig.7: Commande constante par morceaux avec une période de 2 s, refv θ= amène la stabilité de θ e-STA copyright 2009 by see Volume 6, N°1, pp 7 - 15 Si les morceaux de refv θ= deviennent infiniment courts (le pas de calcul de l’ordinateur), v tend vers un signal continu et les variations d'amplitude de v sur chaque morceau tendent vers zéro. Dans ces conditions, les équations donnant refθ restent valides (hypothèse de quasi-stationnarité de θ [13, 16]). La figure 8 ci-après illustre cet aspect : Finalement, en reportant l’équation (18) dans l’équation (17), on obtient l’expression de refθ , en fonction de r et r : { }2 2 1 ( ) 2 2 ( , ) tan [ (1 ) ] ( )r r ref nr r K r e rχ δ θ χ μ δω− − + = − + − (31) Par construction d’une fonction de Lyapunov à dérivée négative, on sait que la commande (28) stabilise le robot ( 0r r= = ). Dès lors, d'après (31), il apparaît que la stabilisation du robot conduit à (0,0) 0refθ = et donc à v=0. D’après l’équation (15), v=0 permet d’obtenir 0θ θ= = . L’introduction de refθ , tel que défini par les équations (29) et (30), assure donc la stabilité de l’ensemble robot X-Y + pendule. Finalement, il reste à calculer ux et uy en fonction de v d'après l'architecture de commande. Pour cela, en considérant (3) et (4) et en réalisant des boucles locales appropriées, on obtient kx