François BERUARD INPG - ESISAR Option ISC EI5 - p2003 Année 2002-2003 Rapport de Projet de Fin d'Etudes afin d'obtenir le titre d' Ingénieur Commande impulsionnelle d'un système mécanique Application à la robotique mobile du 3 Mars au 27 Juin 2003 au sein du Laboratoire d'Automatique de Grenoble ENSIEG - Domaine Universitaire - BP46 38402 Saint Martin d'Hères – Cedex FRANCE Tuteur Entreprise M. Carlos CANUDAS DE WIT Tuteur ESISAR M. Eduardo MENDES Remerciements Je tiens spécialement à remercier : Monsieur Carlos Canudas de Wit, directeur de recherche au CNRS, pour m'avoir accueilli au sein du groupe de recherche Commande des Systèmes Electromécaniques et Robotique et m'avoir encadré pendant les 4 mois de mon projet de fin d’études. Je lui suis aussi très reconnaissant des moments passés à me conseiller et m'aider sur les différents problèmes rencontrés durant ce stage. Tous les membres de l'équipe CSER : Yajun, Ahmed, Ayman, Claudio, Edinson, Emmanuel, Guillaume, John, Morten et Riccardo, où la langue a tout été sauf une barrière. Table des matières Introduction ............................................................................. 1 Le Laboratoire d'Automatique de Grenoble ................................... 2 1 Le Laboratoire ........................................................................ 2 2 L'équipe CSER - Commande des Systèmes Electromécaniques et Robotique ..................................................................................... 3 Le robot marcheur Rabbit .......................................................... 4 1 Rabbit, un projet national ......................................................... 4 2 Pourquoi Rabbit ? .................................................................... 5 2.1 2.2 2.3 2.4 Objectifs scientifiques .................................................................. 5 Approche scientifique .................................................................. 5 Description du système ............................................................... 5 Modèle mathématique ................................................................. 7 Masse en chute libre sur un sol compliant .................................... 8 1 Introduction ........................................................................... 9 1.1 1.2 1.3 2 Commande impulsionnelle ....................................................... 11 2.1 2.2 2.3 3 Idée ........................................................................................ 11 Etude théorique ........................................................................ 12 Simulation ............................................................................... 15 Stabilisation de l'orbite périodique, attractivité ........................... 16 3.1 3.2 3.3 3.4 4 Modèle ressort-amortisseur non linéaire......................................... 9 Définition du système .................................................................. 9 Simulation d'une chute libre ....................................................... 10 Préambule ............................................................................... Application de Poincaré .............................................................. Simulation sous Simulink ........................................................... Améliorations ........................................................................... 16 17 19 23 Robustesse ............................................................................ 25 4.1 Vis-à-vis des paramètres k et .................................................. 25 4.2 Etude de l'approximation des impulsions ...................................... 26 Conclusion ............................................................................. 31 1 La masse en chute libre .......................................................... 31 2 Application sur Rabbit ............................................................. 31 Bibliographie .......................................................................... 32 1 Introduction Le Laboratoire d’Automatique de Grenoble (LAG) est l’un des principaux laboratoires nationaux spécialisés en Automatique. Il a de plus une certaine renommée mondiale. Au sein de ce laboratoire de l’INPG, l’équipe Commande de Systèmes Electromécaniques et Robotique (CSER) est notamment spécialisée en robotique et travaille depuis de nombreuses années sur des projets de recherche sur les robots. Actuellement cette équipe participe au développement du robot marcheur Rabbit. Le but des recherches est bien évidemment de faire marcher et courir ce robot. Plusieurs lois de commande ont déjà été réalisées et implémentées sur Rabbit, avec plus ou moins de succès. Les résultats obtenus à ce jour permettent de faire marcher Rabbit. Malheureusement cette marche n’est pour l’heure pas fluide et n’est donc pas périodique. Ceci est notamment dû aux impacts avec le sol où de l’énergie est perdue. Une solution à ce problème pourrait être alors de redonner de l’énergie en envoyant des impulsions lors du contact avec le sol. A ce jour, peu de travaux ont été réalisés autour de la commande impulsionnelle. Le but de mon stage est donc de développer des nouvelles lois de commande de type impulsionnel qui seront applicables sur Rabbit. Mais avant de travailler directement sur Rabbit, des développements ont été réalisés sur un système mécanique "simple" et proche d’un système robot marcheur. Nous allons donc ici exposer les différentes recherches réalisées sur une masse en chute libre sur un sol compliant. Après une étude théorique sur ce système et sur les impulsions, une première loi de commande sans retour est réalisée. Nous aborderons par la suite le problème par un retour d’état afin de rendre périodique la chute de la masse. Pour finir nous parlerons de la robustesse d’une telle loi de commande, avant de conclure sur les perspectives de mise en place de cette loi sur le robot marcheur Rabbit. Une présentation du LAG et de l’équipe CSER, ainsi qu’une brève présentation de Rabbit sont réalisées en tout début de ce présent document. 1 Le Laboratoire d'Automatique de Grenoble 1 Le Laboratoire Le Laboratoire d'Automatique de Grenoble est une Unité Mixte de Recherche (UMR 5528) CNRS-INPG associée à l’UJF et lié par convention à l'Ecole Polytechnique Universitaire de Grenoble. C'est l'un des trois laboratoires de recherche de l'Ecole Nationale Supérieure d'Ingénieurs Electriciens de Grenoble (ENSIEG) qui est l'une des neuf écoles d'ingénieurs de l'Institut National Polytechnique de Grenoble (INPG). Le Laboratoire fait également partie de la Fédération de laboratoires CNRS ELESA qui regroupe 6 laboratoires de l'INPG dans les domaines de l'Electronique, du Génie Electrique, de l'Automatique et du Traitement du Signal (EEATS). Composé d'une centaine de personnes, bien intégré dans le tissu de la recherche, le laboratoire occupe une place déterminante dans l'animation de la communauté nationale et bénéficie d'une notoriété internationale certaine. Le Laboratoire d'Automatique de Grenoble, depuis sa création en 1958, a participé aux grandes étapes du développement de l'automatique. Sa force réside dans la recherche méthodologique dont l'objectif est d'étudier l'adéquation des résultats théoriques et des problèmes posés par les applications. Cette recherche méthodologique s'appuie sur les recherches théoriques et expérimentales effectuées au laboratoire. La recherche au LAG se partage en 3 groupes, chacun contenant plusieurs équipes pour autant d'axes de recherche : Le Groupe CAPA - "Conduite Avancée des Procédés Automatisés" comprend 6 axes de recherche : Robustesse des Calculs (RC) Stratégies de Modélisation et de Commandes (SMC) Sûreté, Surveillance, Supervision et Diagnostic (S3D) Traitement Avancé de la Mesure (TAM) Technologie de l'Information et de la Communication pour l'Enseignement (TICE) Techniques de Simulation (TSIM) Le Groupe PROSED - "PROductique et Systèmes à Evénements Discrets" comprend 3 axes : Conduite Robuste, Surveillance et Supervision (CROSS) Conception de Systèmes Sûrs (CS2) Evaluation de Performances (EP) Le Groupe TACSY - "Théorie et Applications de la Commande des SYstèmes" comprend 5 équipes : Commande des Systèmes Electromécaniques et Robotique (CSER) Analyse et Optimisation des Grands Systèmes (GSYS) Systèmes Adaptatifs Multivariables et Robustesse (SAMUR) Systèmes Avancés de Régulation et Commande (SARC) Systèmes et Commande (SysCo) 2 2 L'équipe CSER - Commande des Systèmes Electromécaniques et Robotique L'équipe CSER est une équipe du groupe TACSY. Les recherches de cette équipe ont comme thème central la Commande non linéaire des Systèmes Electromécaniques et des Robots. L'équipe est dirigée par Carlos Canudas de Wit et est principalement constituée de thésards. L'équipe CSER travaillent sur différents thèmes dont notamment : contrôle/commande des moteurs la commande des véhicules automobiles : conduite automatique et en peloton des poids lourds, conduite par fil "steer-by-wire" l'étude des systèmes mécaniques : robots jongleurs, robots marcheurs commande de systèmes via un réseau L'équipe collabore et développe des recherches appliquées avec des grandes entreprises telles que Renault VI et Schneider. 3 Le robot marcheur Rabbit 1 Rabbit, un projet national Le développement du robot marcheur Rabbit s'inscrit dans un projet national "Commande pour la marche et la course d'un robot bipède". Ce projet s'inscrit lui-même dans un programme national interdisciplinaire de recherche intitulé "Robotique et Entités Artificielles" (Robea). Robea se situe dans le cadre des grands programmes thématiques du département Sciences et Technologies de l'Information et de la Communication (STIC). Il couvre diverses disciplines de recherche des STIC, en informatique, en traitement du signal et en automatique. Sept laboratoires nationaux participent aux recherches sur Rabbit. Ils regroupent différentes spécialités dont la mécanique, la robotique et l'automatique. Cette équipe travaille depuis 4 ans avec l'objectif commun de faire marcher et courir un robot bipède. Liste des laboratoires participants et leurs compétences : Institut de Recherche en Communications et Cybernetique de Nantes (IRCCyN) : spécialisé dans la commande des systèmes non-linéaires, la modélisation, l'identification et la commande de robots manipulateurs. Laboratoire d'Automatique de Grenoble (LAG) : voir page 4 Laboratoire de Génie Industriel et de Production Mécanique (LGIPM) de l'université de Metz : spécialisé dans les réalisations et expérimentation sur les prototypes. Laboratoire d'Informatique, de Robotique et de Microélectronique de Montpellier (LIRMM) : spécialisé dans l'identification et la commande prédictive Laboratoire de Mécanique des Solides (LMS) de Poitiers : la compétence des membres du LMS impliqués dans ce projet concernent principalement la conception mécanique de robot marcheur, l'optimisation de trajectoires de robot et la biomécanique Laboratoire de Robotique de Versailles (LRV) : spécialisé dans la commande des systèmes. Ils ont aussi participé à la réalisation et à l'expérimentation sur un prototype hybride, c'est à dire possédant des roues et des pattes. Ils réalisent actuellement un prototype de robot bipède ayant la même structure que Rabbit mais actionné par des actionneurs hydrauliques Laboratoire de Vision et Robotique (LVR) de Bourges : spécialisé dans la simulation de comportement dynamique et en particulier de bipèdes complexes et dans l'étude de la commande par les réseaux de neurones L’Institut National de Recherche en Informatique et en Automatique (INRIA) est aussi associé au projet. Un laboratoire américain de l’université du Michigan, EECS Control Systems Laboratory, de l'Université du Michigan, participe aussi depuis peu à la recherche autour de Rabbit. 4 2 Pourquoi Rabbit ? Il existe actuellement différents types de robots. Rabbit est un robot marcheur et fait donc partie de la classe des robots appelée "robots à pattes". Contrairement à des robots à roues ou chenilles, les robots marcheurs présentent l'avantage de pouvoir évoluer sur tout type de terrain, qu'il soit accidenté ou pas, et gravir des marches. Le développement en est alors bien plus complexe. 2.1 Objectifs scientifiques L'objectif scientifique du projet "Commande pour la marche et la course d'un robot bipède" est de développer des méthodes et des outils théoriques pour faire marcher et courir un robot bipède, et de les valider expérimentalement. A notre connaissance, cet objectif n'a pas encore été atteint par aucun groupe de recherche dans le monde. La motivation d'un tel projet s'explique par les perspectives d'utilisation de tels robots. Dans le futur, ces recherches pourront donner lieu à des prototypes conçus pour des applications spécifiques : prothèses médicales, déplacement en terrain hostile. 2.2 Approche scientifique La recherche s'oriente vers la reproduction la plus fidèle possible de la marche humaine. Un soucis particulier est apporté sur la recherche d'une marche optimale, c'est à dire la moins énergétique possible. La gravité occupe alors une place primordiale dans le développement de Rabbit. Il s'agit en effet d'appréhender la gravité comme une aide et non pas comme une gène. Ceci est l'un des points qui a poussé Rabbit à ne pas avoir de pieds, annihilant ainsi un quelconque couple au niveau des chevilles. Aussi afin de donner un rôle à la gravité, Rabbit est sous motorisé. Il y a un degré de sous motorisation en phase de simple support, et trois degrés de sous motorisation en phase de vol. Le but est donc d'aborder le rôle de la gravité durant la marche mais aussi les effets de l'impact avec le sol et les problèmes liés au changement de phases entre les différentes phases : simple appui, double appui et vol. 2.3 Description du système Rabbit a été conçu de sorte qu’il puisse reproduire la marche humaine d’une manière la plus simpliste. De ce fait il est composé d’un tronc non actionné et de deux jambes, chacune actionnée au niveau de la hanche et du genou. La particularité de Rabbit est qu’il n’a pas de pieds. Le contact au sol est ponctuel, deux roues terminant chacune des jambes. 5 Le déplacement de Rabbit est limité au plan et s’effectue autour d’une base centrale fixée au sol. Une tige relie le robot à la base. De ce fait Rabbit a un déplacement libre circulaire. Les roues des deux jambes sont orthogonales au plan sagittal afin d’assurer une stabilité latérale. Figure 1 : vue du système complet : Rabbit tourne autour d'une base reliée par une tige Mensurations Rabbit a une taille totale de 1,45m. Ces hanches se trouvent à 80cm du sol. Les mensurations de Rabbit sont : Longueur [m] Masse [kg] Inertie [kg.m2] Fémur 0,4 8,0 0,32 Tibia 0,4 6,0 0,19 Tronc (sans charge) Tronc (avec charge) 0,625 7,0 20,0 1,07 1,95 Tableau 1 : paramètres de Rabbit Notes : Rabbit ne peut supporter qu’une charge maximum de 20kg Actionneurs Afin de faire marcher Rabbit, ce dernier est équipé de moteurs électriques. Ces moteurs sont des moteurs à courant continu. Les moteurs ne sont pas fixés directement au niveau des articulations actionnées, mais y sont chacun relié par une courroie et un moto-réducteur. Deux sont montés au sommet du tronc et assurent l’articulation des hanches. Afin d’assurer l’actionnement des genoux, les deux autres moteurs sont montés le plus proche possible des hanches afin de minimiser l’inertie des jambes. Capteurs Les quatre joints actionnés sont chacun équipé de deux capteurs mesurant la position angulaire. La vitesse est alors déterminée à partir de la position. Un encodeur 6 incrémental est positionné sur l'axe du moteur et un encodeur absolu sur l'axe du motoréducteur. Rabbit est équipé de trois autres encodeurs : un mesure l'angle entre le tronc et la tige, un mesure l'angle verticale entre la tige et la base et le dernier mesure l'angle du déplacement circulaire. Résistance aux impacts Lorsque les jambes entrent en contact avec le sol, un impact plus ou moins important se produit. Comme tout système, ces chocs peuvent être nuisibles à long terme et endommagés sérieusement le robot. La magnitude de ces chocs dépend à la fois du type de sol (dur, souple, absorbant) et du type de semelle. De ce fait les roues de Rabbit sont en polymère afin d'absorber les chocs. Rabbit a été conçu de telle sorte qu’il puisse marcher au moins à 5km/h et courir à plus de 12km/h. 2.4 Modèle mathématique Rabbit est un robot à 7 degrés de liberté : les cinq degrés de rotation ainsi que les positions verticales et horizontales. q q1 q31 q41 q32 q42 x y T Rabbit est un système sous-actionné : les hanches et les genoux sont actionnées alors que le tronc ne l'est pas. u u1 u2 u3 u 4 T Figure 3 : les 4 actionneurs de Rabbit Figure 2 : schéma de Rabbit à 7 degrés de liberté Toutes les caractéristiques de Rabbit sont dans [2] et [6]. 7 Masse en chute libre sur un sol compliant Le but de l’étude qui va suivre est de rendre périodique l’orbite d’une masse en chute libre sur un sol compliant. Il s’agit donc de rendre la vitesse d’impact de la balle avec le sol équivalente à sa vitesse de sortie. Ce qui implique donc de faire revenir la masse à la même hauteur à chaque rebond. Une étude sur la commande d’une masse en chute libre sur un sol compliant a déjà été réalisée par Laurence Roussel et Carlos Canudas de Wit dans [1] et [5]. Ils proposent une commande restituant l’énergie perdue lors du contact. L’énergie est restituée en annihilant les pertes dues à l’amortissement du sol. L’étude qui suit reprend donc une partie de leurs travaux afin de développer une nouvelle loi de commande : une commande dite impulsionnelle. Il est à noter qu’il existe différentes façons d’interpréter la commande allons appliquer. Nous pouvons discerner deux cas de figure : u que nous soit la masse est en chute libre sur un sol compliant (figure 4a) soit la masse est commandée et entre en contact sur un sol rigide (figure 4b) Par la suite nous considérerons le premier cas de figure, à savoir la masse en chute libre sur un sol compliant. Figure 4 : Modélisation d'une masse en chute libre sur un sol compliant (a) et d'une masse commandée sur un sol rigide (b) 8 1 Introduction 1.1 Modèle ressort-amortisseur non linéaire Dans un premier temps en 1881, Hertz a développé un modèle linéaire issu de la théorie l'élasticité et de la mécanique des contacts. La force de contact F s'exprime : F kxn où (1) n caractérise la forme des surfaces en contacts x est la pénétration dans la surface ( x 0 ) k est le coefficient de raideur en N .m 1 , k>0 Ce modèle présentant l'inconvénient de ne faire intervenir aucune dissipation d'énergie, Hunt et Crossley (1992) ont alors introduit un modèle ressort-amortisseur conduisant à une continuité dans la force et dans les états du système tout en ayant un terme dissipatif. Ainsi : F x x k x n où n 1 (2) x est le coefficient d'amortissement N .s.m 1 , >0 En 1996, Orin et Marhefka (1996) ont notamment démontré que si l'on considère une masse de masse m en contact avec une surface compliante, alors la position x peut être exprimé explicitement en fonction de la vitesse vitesse d'impact v , de la position d'impact xi et de la vi : x ˆ ( xi , vi , v, k , ) 2m(n 1) 2 3vi 3 v vi 2 ln ˆ 2 2 3v 9 k 1.2 xi n 1 1 n 1 avec 2 3k (3) Définition du système Soit notre système une masse (de masse sur un sol compliant. m en kg) en chute libre ayant un contact En surface libre, notre masse n'est soumis qu'à la force de gravité (g=9,81m.s-1) : mx mg si x 0 9 (4) Lors du contact, la masse subit alors les forces de contact F exprimées ci-dessus en plus de la force gravitationnelle, soit : mx mg F n n 1 mg x x k x x En intégrant la commande (5) si x 0 u , le système complet s'écrit : mg mx n n 1 mg x x k x x u si x 0 si x 0 (6) ou g x 1 n n 1 g x x k x x u m si x 0 si x 0 (7) La commande u est une force. De ce fait elle ne peut pas se soustraire aux autres forces. La commande u est donc toujours positive. Son but est de redonner de l’énergie au système. De plus elle ne peut s'appliquer que durant la phase de contact. 1.3 Simulation d'une chute libre Sous Simulink, nous avons simulé une masse en chute libre avec pour commande u 0 . Nous avons pris n 1 . Le temps de simulation est fixé à 10s. Chute d'une masse sur un sol compliant avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1 1.2 1 position x [m] 0.8 0.6 0.4 0.2 0 -0.2 -5 -4 -3 -2 -1 vitesse v [m/s] 0 1 2 3 Figure 5 : plan de phase d'une masse en chute libre sur un sol compliant 10 2 Commande impulsionnelle 2.1 Idée Lorsque la masse entre en contact avec le sol, il y a une perte d’énergie. Ceci se traduit par le fait que la vitesse en sortie du sol v o est largement inférieure à la vitesse d’impact v i avec le sol. Le but de la commande impulsionnelle est de rendre la vitesse de sortie vo égale à v i , soit vo vi . La chute de la masse entrerait alors dans une orbite périodique avec des vitesses v o et v i constantes et opposées. Pour ce faire, l’idée est de compenser la perte d’énergie lors du contact en envoyant une impulsion v l'opposé la vitesse d’impact au niveau de la vitesse. L’impulsion v se fait lors du contact à une certaine position que nous appelons hauteur des impulsions, notée x impulse . Cette impulsion se fait à une vitesse d’avant impulsion v qui résulte sur une vitesse d’après impulsion v . v est déterminée en v v v . * fonction de la vitesse de sortie désirée v o . Ainsi Dans un premier temps nous dirons que nous avons deux orbites. La première correspond à notre masse en chute libre non commandée avec pour vitesse d’impact vi1 vi* , vi* étant la vitesse d'impact désirée, et pour vitesse de sortie vo1 . La deuxième orbite est celle que nous aimerions avoir en sortie de contact avec comme vitesses vo 2 v * o, v étant la vitesse de sortie désirée avec v v * o * o orbites se fait grâce à l’impulsion première orbite à x impulse et v v v , où v * i . La transition entre les deux correspond à la vitesse de la v à la vitesse de la deuxième orbite à x impulse . La commande u peut donc s'écrire u v. (t ) , où 11 vi 2 et (t ) est l'impulsion dirac. 0.05 vi1 vi* vi 2 0 orbite 1 orbite 2 v -0.05 position x [m] vo 2 vo* vo1 x impulse v v -0.1 xmin -0.15 -0.2 -8 -6 -4 -2 0 vitesse v [m/s] Figure 6 : Réprésentation de l'impulsion 2 4 v Bien évidemment plusieurs questions se posent : faisabilité ? quand ? comment ? stratégie ? Nous allons donc essayer de répondre à ces différentes questions en réalisant différentes études accompagnées de leurs simulations. 2.2 Etude théorique 2.2.1 Impact avec un sol compliant Lors de l'impact d'un objet avec un sol compliant, l'orbite de pénétration peut s'exprimer en fonction de la vitesse v , de la vitesse d'impact v i et de la position d'impact xi . Ainsi Marhefka et Orin (1996) ont notamment démontré que l'orbite dans le plan de phase à l'impact est : x ˆ ( xi , vi , v, k , ) 2m(n 1) 2 3vi 3 v vi 2 ln ˆ 2 2 3v 9 k 1 n 1 xi n 1 avec 2 3k (8) n permet de modéliser différentes géométries de contact. 12 Dans notre étude, nous prenons n 1 . On peut alors écrire : x ˆ ( xi , vi , v, k , ) 4m 2 3vi ˆ 2 3 v vi 2 ln 2 3v 9 k xi 2 1 2 avec 2 3k (9) Que l'on réécrit : 0 ˆ ( xi , vi , x, v, k , ) 1 4m 2 3vi 0 ˆ x 2 3 v vi 2 ln 2 3v 9 k 2.2.2 2 xi 2 avec 2 3k (10) Calculs Pour nos premières simulations, nous avons décidé de faire un calcul ‘hors ligne’ (sans retour) : v sera calculé avant la simulation à partir des conditions initiales. A partir de (10) nous déterminons les différentes valeurs qui nous sont nécessaires. 2.2.2.1 Calcul d’une vitesse d'impact vi Il s'agit de résoudre l'équation : 1 2 g.t i v(0).t i x(0) 0 2 Afin de déterminer le temps On détermine alors 2.2.2.2 (11) t t i 0 quand à lieu l'impact. vi à t t i 0 , ie vi g.t i v(0) (12) Calcul de la pénétration à v=0 Suite à différents essais, il a été constaté que la valeur minimum de la pénétration x se situait à v 0 . Afin de déterminer cette valeur minimum il s'agit donc d'évaluer (10) à xi 0 et à v 0 : 0 (0, vi , x,0, k , ) 13 4m 2 3vi 0 x 2 3 vi 2 ln 2 9 k 1 2 (13) Le calcul de cette pénétration nous permet de choisir ximpulse . En effet ximpulse sera fonction de la pénétration à v=0. Arbitrairement nous avons choisi de prendre x impulse x(v 0) . 3 2.2.2.3 Calcul de la vitesse d'impact pour une vitesse de sortie donnée Connaissant la vitesse de sortie vo (>0), il s'agit de déterminer la vitesse d'impact vi (<0) correspondante. Pour se faire nous évaluons l'équation (10) à x 0 , v vo et xi 0 : 0 (0, vi ,0, vo , k , ) 4m 2 3vi 0 2 3 vo vi 2 ln 2 3vo 9 k 0 3 vo vi 2 ln 2 3vi 2 3vo avec 1 2 2 3k (14) Ce calcul nous permet de caractériser la deuxième orbite. 2.2.2.4 Soit, Calcul de v 0 ( xi , vi1 , x, v, k , ) (15) l'orbite 1 ayant pour vitesse d'impact Soit, 0 ( xi , vi 2 , x, v, k , ) v i1 et pour vitesse de sortie vo1 (16) l'orbite 2 ayant pour vitesse d'impact avec v o 2 v vi 2 et pour vitesse de sortie v o 2 , * o On souhaite avoir une orbite avec comme vitesse d'impact v i v i1 et comme * vitesse de sortie vo vo 2 . * Nous souhaitons appliquer l'impulsion à une pénétration x ximpulse . 14 v v v avec v 0 et v 0 . Pour chaque orbite, il nous faut donc chercher la vitesse v correspondant à une pénétration x impulse . Nous évaluons donc On pose les équations (15) et (16) à déterminer v et v xi 0 , x ximpulse et vi vi1 et vi vi 2 respectivement afin de : 17 18 0 (0, vi1 , ximpulse, v , k , ) 0 (0, vi 2 , ximpulse, v , k , ) 2.2.2.5 Résolution des équations Les équations (13), (14), (17) et (18) sont résolues numériquement sous Matlab grâce à la fonction fsolve(). Les résultats sont des résultats théoriques calculés à partir de (10). Il peut donc y avoir des différences entre les calculs théoriques et la simulation. 2.3 Simulation Par une simulation de 10s (avec un pas de simulation de 0,001s) sous Simulink, nous obtenons : Commande impulsionnelle avec vo2=-vi1 et deltaV=1.5734m/s Chute d'une masse sur un sol compliant avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1 1.2 10000 9000 1 8000 7000 Commande u [N] position x [m] 0.8 0.6 0.4 6000 5000 4000 3000 0.2 2000 0 -0.2 -5 1000 0 -4 -3 -2 -1 0 1 vitesse v [m/s] 2 3 4 5 0 1 Figure 7 : simulation d’une chute commandée avec 2 3 4 5 6 Temps [s] 7 8 9 vi vo vo* Malheureusement l'orbite obtenue n'est pas invariante. En effet nous observons une erreur de l'ordre de 0,2m.s-1 lors de la vitesse d'impact au deuxième contact avec le sol. Mais cette erreur était prévisible car elle peut notamment être due à l'approximation de l'impulsion lors de la simulation, mais aussi à l’approximation que fait Matlab lorsqu’il calcule les différentes valeurs utiles. Toutefois, nous pouvons remarquer que l'orbite converge petit à petit après une dizaine de contacts avec le sol. Pour remédier à ce problème, une loi de commande améliorée est à développer. Cette nouvelle loi de commande devra assurer l'attractivité de l'orbite. 15 10 3 Stabilisation de l'orbite périodique, attractivité 3.1 Préambule Afin de stabiliser la masse autour d’une orbite stabilisée, nous allons ajouter un terme de correction. Notons les domaines suivants : x Dnc x, v : x 0 Dc1 x, v : x 0 , v v Dimpulse x, v : x ximpulse , v v v Dc 2 x , v : x 0 , v v Dnc Dc1 Dimpulse 19 20 21 22 v Dc2 Figure 8 : Domaines de l'orbite Durant le contact, l'orbite naturelle dans le plan de phase est décrite par l'équation (9). Ainsi les domaines Dc1 et Dc 2 peuvent être caractérisés par : v x , la différence se faisant au niveau des conditions initiales. Dans le domaine Dnc , la surface libre, l'orbite est régie par l'équation différentielle x g . En supposant qu'aucune force extérieure n'intervient, il n'y a aucune perte d'énergie en surface libre. Les valeurs des vitesses d'impact v i et de sortie du contact vo sont donc opposées. Le domaine Dimpulse définit quant à lui le domaine où a lieu l'impulsion peuvent être définis par : v . Ainsi les différents domaines Dnc : vi vo Dc1 : x ( xi , vi , v) (0, vi , v) Dimpulse : v v v Dc 2 : x ( xi , vi , v) ( ximpulse, v , v) 23 24 25 26 Aux frontières des différents domaines, nous avons donc : Dnc : vi vo Dc1 : ximpulse (0, vi , v ) Dimpulse : v v v Dc 2 : 0 ( ximpulse, v , vo ) 16 27 28 29 30 La continuité étant assurée en x 0 , les quatre fonctions peuvent alors être concaténées, ainsi : x ( ximpulse, v , v) ( (0, vi , v ), v , v) (v , v , v i , v ) 31 ˆ (v, v , vi , v) En résolvant les équations (27), (29) et (30), il est alors possible de déterminer v et v afin qu'ils résolvent (31) évaluée en x ximpulse et v vd : 32 ximpulse (v, v , vi , vd ) De manière explicite, (31) s'écrit : 4m 2 3v 2 3v 3v x 2 3 v vi v 2 ln 2 3vi 2 3v 9 k 1 2 4m 2 3v 3v x 2 3 v vi v 2 ln 2 ln 1 2 3vi 2 3v 9 k 33 1 2 34 avec 3.2 2 3k Application de Poincaré Des explications sur l’application de Poincaré peuvent se trouver en [3] et [8]. Considérons ici la section de Poincaré S x, v x, v x ximpulse , v 0 . L'application de Poincaré reliant la vitesse d'après impulsion v à l'instant t k 1 et la vitesse d'après impulsion v à l'instant t k est implicitement donnée par vi v0 (k 1) , v v (k ) et x ximpulse : l'équation (31) évaluée en ximpulse vk 1, v k 1, v0 k 1, v (k ) Par continuité de (35) , l'application de Poincaré peut s'écrire implicitement comme : v (k ) vk 1, v k 1, v0 k 1, ximpulse 17 (36) 3.2.1 Commande à réponse pile Nous allons résoudre (36) avec v k v d , où v d est la vitesse v désirée. Avec ce type de commande, v d est atteinte du "premier coup". ~ (k ) v v (k ) , à partir de (36) nous obtenons : En posant v d v~ (k ) vd vk 1, v k 1, v0 k 1, ximpulse Si v(k 1) et (37) v (k 1) satisfont (27), (28), (29) et (30), alors v (k ) v d . On a alors : v~ (k ) v d v d v~ (k ) 0 38 La commande à réponse pile permet alors d’atteindre vd en un seul coup. 3.2.2 Stabilisation asymptotique de type proportionnelle Afin d'assurer la stabilité asymptotique et une certaine robustesse, nous allons résoudre (36) v k vd k p vd v k 1 , où avec k p 1 afin d'assurer la convergence. Si v(k 1) d v (k 1) et d satisfont (27), (28), (29) et (30), alors v (k ) v k p v v (k 1) . A partir de (36) on a alors : v~ (k ) vd vd k p vd v (k 1) v~ (k ) k p v~ (k 1) 39 Vu que nous avons k p 1 , nous avons alors : lim v~ (k ) 0 (40) lim v (k ) vd (41) k Et ainsi : k La stabilisation asymptotique de l'orbite est alors assurée avec une vitesse de convergence définie par k p . 18 3.3 Simulation sous Simulink Lors des simulations, nous distinguerons deux cas de figure : lorsque vd v 1 ; ici v d 6 m.s lorsque vd v 1 ; ici vd 2 m.s 3.3.1 Commande à réponse pile v 1 1 k v d Le temps de simulation est fixé à 10s, le pas de simulation à 0,001s. 4 Réponse pile avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1 2 Commande |u| [N] 1.8 1.6 1.4 position x [m] 1.2 Réponse pile avec v+d=6.0m/s x 10 1.5 1 0.5 1 0 0 1 2 3 4 0 1 2 3 4 6 7 8 9 10 5 6 Temps [s] 7 8 9 10 4 0.6 deltaV [m/s] 0.4 0.2 0 -0.2 -6 -4 -2 0 vitesse v [m/s] 2 4 3 2 1 0 6 Figure 9 : simulation en réponse pile pour Nous atteignons bien v d 6 m.s 1 v d 6 m.s 1 du premier coup. Réponse pile avec v+d=2.0m/s Réponse pile avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1 5000 Commande |u| [N] 1.2 1 0.8 4000 3000 2000 1000 0.6 0 0.4 1 deltaV [m/s] position x [m] 5 0.8 0.2 0 -0.2 -5 -4 -3 -2 -1 0 vitesse v [m/s] 1 2 3 1 2 0 1 2 3 4 3 4 5 6 7 8 9 10 5 6 Temps [s] 7 8 9 10 0.5 0 -0.5 -1 4 0 Figure 10 : simulation en réponse pile pour d v 2 m.s 1 L'impulsion ne pouvant être que positive, l'orbite désirée est atteinte après quelques rebonds. 19 3.3.2 Stabilisation asymptotique proportionnelle Le temps de simulation est fixé à 10s, le pas de simulation à 0,001s. 1.6 1.4 x 10 2 1 0 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 Temps [s] 7 8 9 10 3 1 deltaV [m/s] position x [m] 1.2 Stabilisation asymptotique P avec v+d=6.0m/s et k p=0.4 4 Commande |u| [N] Stabilisation asymptotique P avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1 1.8 0.8 0.6 2 1 0 Erreur v~ [m/s] 0.4 0.2 0 -0.2 -6 -4 -2 0 vitesse v [m/s] 2 4 6 6 4 2 0 Figure 11 : simulation en stabilisation asymptotique P pour v d 6 m.s 1 v d 6 m.s 1 est bien atteint après plusieurs rebonds et l’erreur tend bien vers 0. 1 10000 5000 0 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 Temps [s] 7 8 9 10 1 deltaV [m/s] position x [m] 0.8 Stabilisation asymptotique P avec v+d=2.0m/s et k p=0.4 Commande |u| [N] Stabilisation asymptotique P avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1 1.2 0.6 0.4 0 -1 -2 Erreur v~ [m/s] 0.2 0 -0.2 -5 -4 -3 -2 -1 0 1 vitesse v [m/s] 2 3 4 5 2 1 0 Figure 12 : simulation en stabilisation asymptotique P pour v d 2 m.s 1 Comme pour la réponse pile, v est négatif afin de réduire la vitesse mais la commande étant obligatoirement positive, le système considère v comme positif, ce qui augmente le temps de réponse du système. 20 3.3.3 Stabilisation asymptotique proportionnelle - intégrateur Suite aux premières simulations, nous avons aussi tester la stabilisation asymptotique grâce à correcteur de type proportionnel – intégrateur. A partir de [7], le correcteur se définit par : v~ k v d v k ik ik 1 v~ k u k k p v~ k k i ik v k 1 v d u k avec k p 1 et 42 43 44 0 k i 1 a fin d'assurer la convergence asymptotique Le temps de simulation est fixé à 30s, le pas de simulation à 0,001s. 4 Stabilisation Commande |u| [N] Stabilisation asymptotique PI avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1 6 5 4 6 x 10 asymptotique PI avec v+d=6.0m/s k p=0.4 et k i=0.4 4 2 0 0 5 10 15 20 25 30 0 5 10 15 20 25 30 0 5 10 15 Temps [s] 20 25 30 deltaV [m/s] position x [m] 10 3 2 5 0 Erreur v~ [m/s] 1 0 -1 -15 -10 -5 0 vitesse v [m/s] 5 10 15 6 4 2 0 -2 -4 Figure 13 : simulation en stabilisation asymptotique PI pour 4 3.5 deltaV [m/s] 2.5 2 1.5 asymptotique PI avec v+d=6.0m/s k p=0.1 et k i=0.4 2 0 0 5 10 15 20 25 30 0 5 10 15 20 25 30 0 5 10 15 Temps [s] 20 25 30 5 0 1 0.5 0 -0.5 -10 x 10 4 10 Erreur v~ [m/s] position x [m] 3 4 Stabilisation Commande |u| [N] Stabilisation asymptotique PI avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1 4.5 v d 6 m.s 1 -8 -6 -4 -2 0 2 vitesse v [m/s] 4 6 8 10 6 4 2 0 -2 Figure 14 : simulation en stabilisation asymptotique PI pour 21 v d 6 m.s 1 Suivant les valeurs du couple k p , k i , nous obtenons deux types de réponse : soit des oscillations amorties, soit une réponse avec un dépassement. Les résultats obtenus avec kp=0,4 et ki=0,1 semblent meilleurs que ceux obtenus avec k p=0,4 et ki=0,4 dans le sens où les amplitudes y sont moins importantes. Dans les deux cas, la vitesse converge vers v d mais avec d'une part un temps de convergence plus long, mais aussi une hauteur des impulsions plus importantes que pour une stabilisation par un correcteur proportionnel. 22 3.4 Améliorations Suite à ces premières simulations, une amélioration est à apporter lorsque v d est inférieure à v . Auparavant, on prenait toujours la valeur absolue de 3.4.1 Saturation de v v à 0. Ainsi aux premiers contacts avec Une première stratégie consiste à saturer le sol, tant que v v sans "réfléchir". d sera supérieur à v , v sera égal à 0 et de ce fait aucune impulsion ne sera générée. Réponse pile avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1 Réponse pile avec v+d=2.0m/s 1.2 Commande |u| [N] 5000 1 position x [m] 0.8 4000 3000 2000 1000 0.6 0 0.4 0 1 2 0 1 2 3 4 3 4 5 6 7 8 9 10 5 6 Temps [s] 7 8 9 10 1 0.8 deltaV [m/s] 0.2 0 0.6 0.4 0.2 -0.2 -5 -4 -3 -2 -1 0 vitesse v [m/s] 1 2 0 3 Figure 15 : simulation en réponse pile pour 1 0.8 v 2 m.s 1 Stabilisation asymptotique P avec v+d=2.0m/s et k p=0.4 Commande |u| [N] Stabilisation asymptotique P avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1 1.2 d 6000 4000 2000 0 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 7 8 9 10 deltaV [m/s] position x [m] 1 0.6 0.4 0.5 0 Erreur v~ [m/s] 0.2 0 -0.2 -5 -4 -3 -2 -1 0 vitesse v [m/s] 1 2 3 2 1 0 Figure 16 : simulation en stabilisation asymptotique pour 4 d 5 6 Temps [s] 1 v 2 m.s Le fait de saturer v à 0 fait entrer le système dans une phase transitoire où celui-ci n’est pas commandé et donc laisser à lui même. Par contre la saturation améliore le temps de réponse du système. 23 3.4.2 Changement de fenêtre Une deuxième stratégie consiste à changer la fenêtre de génération des impulsions. Si v v 1 , l'impulsion sera générée dans la fenêtre d x 0, v 0. 4 Réponse pile avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1 4 Commande |u| [N] 1.2 1 3 2 1 0 0.6 0 1 2 3 4 0 1 2 3 4 5 6 7 8 9 10 5 6 Temps [s] 7 8 9 10 8 0.4 deltaV [m/s] position x [m] 0.8 Réponse pile avec v+d=2.0m/s x 10 0.2 0 -0.2 -5 6 4 2 0 -4 -3 -2 -1 0 vitesse v [m/s] 1 2 3 Figure 17 : simulation en réponse pile pour Stabilisation asymptotique P avec v+d=2.0m/s et k p=0.4 1 0.8 Commande |u| [N] 4 Stabilisation asymptotique P avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1 1.2 4 v d 2 m.s 1 x 10 2 0 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 Temps [s] 7 8 9 10 deltaV [m/s] position x [m] 6 0.6 0.4 4 2 0 Erreur v~ [m/s] 0.2 0 -0.2 -5 -4 -3 -2 -1 0 vitesse v [m/s] 1 2 3 2 1 0 Figure 18 : simulation en stabilisation asymptotique P pour v d 2 m.s 1 A priori, la solution de changer de fenêtre semble être la meilleure. Le système est alors commandé et non "livré" à lui même. Par contre, en envoyant une impulsion dans la fenêtre de gauche x 0, v 0 , une fois le système stabilisé, les impulsions ont une amplitude quatre fois supérieure à celle lors d'une saturation de v . Ceci peut bien évidemment poser problème par la suite si l'amplitude de la commande est limitée. Par la suite nous saturerons v à 0. 24 4 Robustesse 4.1 Vis-à-vis des paramètres k et Nous cherchons ici à étudier la robustesse vis-à-vis des paramètres k et . Le calcul de la hauteur des impulsions ximpulse est réalisé avec des paramètres différents de ceux utilisés en simulation. représente l'amortissement du sol. Ainsi lorsque 0 , l'énergie perdue tend elle aussi vers 0. De ce fait, si =0, il n'y a alors aucune perte d'énergie lors du contact au sol. Ainsi les commandes à réponse pile et par correcteur proportionnel sont robustes par rapport à , quelque soit la valeur de v d . Par contre, la commande par correcteur PI n'est pas robuste lorsque v d v 1 à cause du dépassement engendré. v étant saturé à 0 et le système ne perdant pas d'énergie, cette commande permet uniquement au système de se stabiliser autour de la vitesse engendrée par le premier dépassement. k représente la raideur du sol et donc permet de calibrer la profondeur maximale atteinte par la masse. Pour un ximpulse calculé à partir de k=1000N.m-1, les trois commandes sont robustes pour 500<k<10000N.m-1. Pour des valeurs de k trop petites, la masse ne ressort pas du sol, chose non physiquement réalisable. Plus k est grand plus la masse sortira rapidement du sol. Nous atteignons bien v d , mais par la suite la vitesse de sortie correspondante peut donner une vitesse d'impact et donc une vitesse d'avant impulsion v supérieure à v d . Le système ne pouvant pas "retourner" en arrière, il se stabilise autour d'une vitesse plus grande que celle désirée. Il n'y aurait dans ce cas plus de perte d'énergie mais un gain. 25 4.2 Etude de l'approximation des impulsions Une impulsion peut se définir comme un signal d'amplitude infinie et de durée infinitésimale. Un tel signal ne peut bien évidemment pas être reproduit idéalement en pratique. Il convient alors de faire des approximations. Il s'agit dans ce cas d'étudier les réactions du système aux différentes approximations de l'impulsion que nous pouvons faire. 4.2.1 Rappel sur l'impulsion dirac L'impulsion (t ) est définie tel que : pour t 0 0 pour t 0 (t ) L'aire d'une impulsion est toujours égale à 1, soit (43) (t ) dt 1 . Ainsi il est possible d'approximer cette fonction de différentes manières : 4.2.2 But Les amplitudes des impulsions que nous avons obtenus pour l'instant sont assez conséquentes. Elles peuvent aller jusqu'à 10000N. En faisant varier le , notamment en l'augmentant, il nous sera alors possible d'obtenir différentes impulsions à l'amplitude moins importante. Pour ce faire, un module sous simulink permet de fixer le simulation. 26 en fonction du pas de 4.2.3 Simulations Les précédentes simulations ont toutes été réalisées avec un de 0,001s. Pour chaque type de correcteur nous procédons à des simulation pour un de 0,005s et de 1 0,010s. Pour chaque simulation, nous fixons v d 6 m.s . Réponse pile commande à réponse pile pour 0.001s : voir figure 9 Réponse pile avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1 Réponse pile avec v+d=6.0m/s et e=0.005s 1500 Commande |u| [N] 2 1000 500 1 0 0 -0.5 -6 0 1000 2000 3000 4000 0 1 2 3 4 6000 7000 8000 7 8 9000 10000 -4 -2 0 vitesse v [m/s] 2 4 3 2 1 0 6 Figure 19 : commande à réponse pile pour 0.005s Réponse pile avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1 5 6 Temps [s] 9 10 Réponse pile avec v+d=6.0m/s et e=0.010s 400 Commande |u| [N] 1.8 1.6 1.4 1.2 300 200 100 1 0 0 1000 2000 3000 4000 0 1 2 3 4 5000 6000 7000 8000 7 8 9000 10000 0.8 4 0.6 0.4 deltaV [m/s] position x [m] 5000 4 0.5 deltaV [m/s] position x [m] 1.5 0.2 0 -0.2 -6 -4 -2 0 vitesse v [m/s] 2 4 3 2 1 0 6 Figure 20 : commande à réponse pile pour 27 0.010s 5 6 Temps [s] 9 10 Stabilisation asymptotique avec un correcteur P stabilisation asymptotique avec un correcteur P pour 1000 500 0 1 0.5 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 Temps [s] 7 8 9 10 2 1 Erreur v~ [m/s] 0 0 -0.5 -6 0 3 deltaV [m/s] position x [m] 1.5 -4 -2 0 vitesse v [m/s] 2 4 6 4 2 0 6 Figure 21 : commande à stabilisation asymptotique P pour 1.6 1.4 400 200 0 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 Temps [s] 7 8 9 10 3 deltaV [m/s] 1 0.8 0.6 2 1 0 0.4 Erreur v~ [m/s] position x [m] 1.2 0.005s Stabilisation asymptotique P avec v+d=6.0m/s e=0.010s et k p=0.4 Commande |u| [N] Stabilisation asymptotique P avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1 1.8 0.2 0 -0.2 -6 : voir figure 11 Stabilisation asymptotique P avec v+d=6.0m/s e=0.005s et k p=0.4 Commande |u| [N] Stabilisation asymptotique P avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1 2 0.001s -4 -2 0 vitesse v [m/s] 2 4 6 6 4 2 Figure 22 : commande à stabilisation asymptotique P pour 28 0.010s Stabilisation asymptotique avec un correcteur PI stabilisation asymptotique avec un correcteur PI pour Commande |u| [N] 5 4 3000 2000 1000 0 0 5 10 15 20 25 30 0 5 10 15 20 25 30 0 5 10 15 Temps [s] 20 25 30 10 deltaV [m/s] 3 2 5 0 -5 Erreur v~ [m/s] 1 0 -1 -15 -10 -5 0 vitesse v [m/s] 5 10 15 6 4 2 0 -2 -4 Figure 23 : commande à stabilisation asymptotique PI pour 0.005s Stabilisation asymptotique PI avec v+d=6.0m/s e=0.010s k p=0.4 et k i=0.4 Commande |u| [N] Stabilisation asymptotique PI avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1 4 3.5 3 1000 500 0 2.5 0 5 10 15 20 25 30 0 5 10 15 20 25 30 0 5 10 15 Temps [s] 20 25 30 deltaV [m/s] 10 2 1.5 5 1 0 0.5 6 Erreur v~ [m/s] position x [m] : voir figure 13 Stabilisation asymptotique PI avec v+d=6.0m/s e=0.005s k p=0.4 et k i=0.4 Stabilisation asymptotique PI avec x(0)=1.00m v(0)=0.00m/s m=1.0kg k=1000 alpha=0.1 6 position x [m] 0.001s 0 -0.5 -10 -8 -6 -4 -2 0 2 vitesse v [m/s] 4 6 8 10 4 2 0 -2 Figure 24 : commande à stabilisation asymptotique PI pour 29 0.010s 4.2.4 Conclusion Conformément à ce que nous pensions, en augmentant trop alors plus efficace. En effet nous n'atteignons pas v d 6 m.s 1 , l'approximation n'est pour 0.010s pour la commande à réponse pile et la stabilisation asymptotique P (voir figures 20 et 22). Par contre pour la stabilisation asymptotique PI, nous atteignons v d 6 m.s 1 pour 0.010s (voir figure 24). Cette commande est donc plus robuste vis-à-vis de l'approximation des impulsions. Aussi, comme cela était prévisible, augmenter le présente l'avantage de faire considérablement diminuer la hauteur des impulsions. On se retrouve alors avec des amplitudes maximum de 800N à la place d'amplitudes de l'ordre du 10000N pour les deux premiers types de commande (figures 19 et 21). L’inconvénient du dépassement engendré par le correcteur PI est limité grâce à sa robustesse qui permet d’avoir un plus important que les deux autres commandes. L’amplitude maximum peut de ce fait se limiter à 1000N (figure 24). 30 Conclusion 1 La masse en chute libre Le travail effectué sur le système d'une masse en chute libre sur un sol compliant répond en majorité aux différentes questions que nous nous posions. Il a été démontré que grâce à une commande impulsionnelle, il est possible de stabiliser et de rendre périodique l’orbite de cette masse. A travers les différentes simulations réalisées, nous nous sommes aperçus qu’il était délicat de peser le pour et le contre entre une commande à réponse pile et une commande à stabilisation asymptotique proportionnelle. La seule différence pouvant se faire au niveau du temps réponse. Les simulations n’ont malheureusement pas pu nous montrer une meilleure robustesse théorique du correcteur P par rapport à la commande à réponse pile. Il a donc été décidé d’étudier une commande à stabilisation asymptotique de type proportionnelintégrateur. Cette commande a pour inconvénients d’engendrer un dépassement ou des oscillations amorties suivant les valeurs des paramètres du correcteur. Par contre, cette commande présente l’avantage d’être plus robuste au niveau de l’approximation des impulsions. Ceci est un avantage non négligeable compte tenu du fait que les impulsions sont bien évidemment limitées en amplitude. 2 Application sur Rabbit Suite au travail effectué sur le système de la masse en chute libre sur un sol compliant, il s'agit maintenant d'appliquer les différentes lois de commande impulsionnelle sur le robot marcheur Rabbit. Actuellement différentes lois de commande permettant de faire marcher et courir Rabbit existent. Elles ne sont pour l'instant pas optimales : les applications de Poincaré résultantes ne sont pas périodiques : le robot marche ou court mais maladroitement. Le but de la commande impulsionnelle est alors de rendre la marche ou la course plus fluide. La situation pour laquelle Rabbit se rapproche le plus du système étudié ici est lorsque le robot court. En effet, en course, le robot alterne deux phases : le vol (les deux jambes sont en l'air) et l'appui sur le sol sur une jambe. Pour ce faire, il s'agira de reprendre une loi de commande existante et d'y intégrer la commande impulsionnelle. Plusieurs problèmes sont à prévoir et notamment au niveau des amplitudes des impulsions que pourra supporter le robot. 31 Bibliographie [1] C. Canudas de Wit, L. Roussel et A. Goswani, Periodic Stabilization of a 1-DOF Hopping Robot under nonlinear Compliant surface, 25 Mars 2003 [2] C. Chevallereau, G. Abba, Y. Aoustin, F. Plestan, E.R. Westervelt, C. Canudas de Wit, et J.W. Grizzle, RABBIT: A Testbed for Advanced Control Theory, proposé à IEEE Control Systems Magazine; Septembre 2002 [3] H.K. Khalil, Nonlinear System, Macmillan Publishing Company, New York, 2 e édition, 1996 [4] John W. Perram, Anton Shiriaev, Carlos Canudas de Wit et Frédéric Grognard, Explicit Formula for a general integral motion for a class of mechanical systems subject to holonomic constraint [5] L. Roussel, Génération de trajectoires de marche optimales pour un robot bipède, Doctorat de l'INPG, 1998 [6] E.R. Westervelt, J.W. Grizzle et D.E. Koditschek, Hybrid Zero Dynamics of Planar Biped Walkers. Reprint, IEEE-TAC, Vol. 48, No. 1, Janvier 2003, pages 42-56. [7] E.R. Westervelt, J.W. Grizzle et C. Canudas de Wit, Switching and PI Control for Planar Biped Walkers, Reprint, IEEE Transactions on Automatic Control, Vol. 48, No. 2, Février 2003, pages 308-312 [8] A. Zavala-Rio, Commande de robots jongleurs, Doctorat de l'INPG, 1997 32 Résumé Le Laboratoire d’Automatique de Grenoble (LAG) participe actuellement à un projet national pour le développement du robot marcheur Rabbit. Ce robot présente notamment comme particularités de n’avoir qu’un tronc, deux jambes et aucun pied et d’être sous actionné. Le but des recherches est de pouvoir faire marcher et courir Rabbit. Plusieurs lois de commande existent, mais lors de ce stage une nouvelle loi de commande a été étudiée afin d’améliorer la marche. Cette loi se base sur une commande de type impulsionnel. Avant de pouvoir expérimenter ce genre de loi sur le robot, le but de ce stage a été de l’étudier et de la mettre en œuvre sur un système mécanique simple : une masse en chute libre sur un sol compliant. Il s’agit d’envoyer des impulsions lors de la phase de contact avec le sol afin de faire entrer la masse dans une orbite périodique, c’est à dire de faire remonter cette masse à une même hauteur à chaque rebond. Les études théorique puis pratique ont été validées et différentes stratégies de commande ont été réalisées. Ce travail donnera lieu à une implémentation sur le robot Rabbit lors du stage de DEA et pourra s’appliquer lors de la course du robot. Mots clés : commande impulsionnelle, sol compliant, application de Poincaré, robot marcheur Abstract The Laboratoire d’Automatique de Grenoble (LAG) works on a national project for the development of the Rabbit walking robot. This one has just one trunk and two legs but no feet and it is under actuated. The aim of the researches is to make the robot walk and run. Control laws have already been developed, but during this trainee period a new law has been studied to improve the robot’s walk. This law is based on an impulse control. Before testing this law on the robot, the goal of the trainee period was to study it and to test it on a simple mechanical system : a mass in a free fall on a compliant surface. Impulses are generated when contact with ground is performed in order to make the mass enter a periodic orbit. So the mass goes up at the same height in each rebound. Theoretical and practical studies have been validated and different control laws have been achieved . Thanks to this work, an implementation will be done on Rabbit during the master of research trainee period and will be applicated during the robot’s run. Key words : impulse control, compliant surface, Poincaré map, walking robot