au sommaire
Robots : mouvements dynamiques complexes en 3D
Un des grands défis pour la robotiquerobotique humanoïdehumanoïde est de gérer beaucoup de degrés de liberté pour effectuer des tâches. Il est clair qu'avec ses bras et ses jambes, HRP-2 a un grand potentiel pour effectuer diverses tâches dans des environnements complexes. Cependant, il n'est malheureusement pas évident de coordonner toutes ces articulationsarticulations.
Le robot HRP-2 est équipé d'un double système de vision : deux caméras dans ses « oreilles » pour voir de près, deux caméras derrière sa visière pour voir de loin. © CNRS Photothèque / Perrin Emmanuel - Reproduction et utilisation interdites
D'ailleurs, la dynamique du robotrobot intervient fortement dans le mouvement ; le robot doit effectuer les tâches qui ont leur propre dynamique en maintenant l'équilibre dynamique, debout ou en marchant.
Le rôle du ZMP dans les mouvements dynamiques du robot HRP-2
L'asservissement dynamique pour la locomotion bipède est étudié intensivement et de nombreuses méthodes ont été proposées pour la génération de mouvement. Le rôle de ce générateur de ce module (Pattern Generator) est de fournir au robot le mouvement « dynamiquement stable » pour la locomotion, c'est-à-dire que le robot est en locomotion dynamique et que la nature même du mouvement lui permet de garder l'équilibre. La notion de ZMP, qui a été proposée par Miomir Vukobratovic en 19691, est ici pleinement exploitée. Nous savons bien que quand un corps rigide immobile est stable sur un plan, la projection du centre de masse se situe dans un polygone de sustentation qui est le contour des points de contact au sol (dans la figure à gauche ci-dessous). Mais quand le corps, par exemple le corps humain, est en train de bouger, le centre de masse peut sortir de ce polygone, donc on ne peut pas utiliser celui-ci comme une mesure de stabilité. C'est là que l'on introduit le ZMP qui correspond à un point (à priori distinct du centre de masse) qui « concentre » la dynamique du système. Le ZMP doit toujours se trouver à l'intérieur du polygone de sustentation.
On peut dire que le corps est plus stable quand ce ZMP se trouve plus près du milieu du polygone (dans la figure à droite). C'est une extension du centre de masse pour le cas dynamique, le ZMP est équivalent à celui-ci quand le corps ne bouge pas.
On peut considérer que ce ZMP correspond au positionnement des pas. Dans beaucoup de recherches, le module de locomotion l'utilise dans diverses versions de lois de commande déduites des équations du mouvement du ZMP. Le mouvement d'HRP-2 est généré selon ces principes2.
Le ZMP est à la base des mouvements dynamiques du robot HRP-2. © JRL/LAAS-CNRS
Robotique : planification des mouvements dynamiques en 3D
Ces études sur le mouvement dynamique se focalisent sur la locomotion. Il reste que les mouvements dynamiques sans collision en 3D pour effectuer des tâches par la partie supérieure du corps n'ont pas été bien creusés jusqu'à présent.
D'un autre côté, la planification de mouvements en 3D pour des structures mécaniques avec des chaînes cinématiques complexes a beaucoup évolué dans ces quelques dernières années. Grâce à des méthodes de recherche aléatoire qui ont fait des progrès remarquables, accompagnées par l'amélioration de la vitesse de calcul dans l'ordinateurordinateur, nous pouvons maintenant résoudre avec facilité des problèmes très compliqués de planification de la trajectoire des robots.
Le principe de ces méthodes consiste à tirer des valeurs aléatoirement pour chaque ddl du robot, qui constituent un espace appelé « espace de configurationespace de configuration » où « la configuration » détermine la position et la posture du robot. Ensuite le planificateur essaie de valider chaque configuration : si elle est en collision, on la rejette. Puis on essaie de connecter deux configurations valables par un chemin local, ce qui construit un graphe dont les nœudsnœuds et les arêtes correspondent à des configurations et des chemins locaux. Ce graphe entre les configurations est appelé « roadmap ». Quand ce graphe atteint une certaine taille, finalement on fait la recherche pour lier les configurations initiales et finales. Récemment des algorithmes très efficaces ont été développés pour accélérer cette procédure.
Le problème des déviations et des collisions
La figure ci-dessous présente une planification de mouvements coordonnés pour le transport d'un piano entre deux manipulateurs mobilesmobiles et un mannequin virtuel dans un environnement encombré par les obstacles. Pour éviter la collision avec des tables et des chaises, il faut bien coordonner les mouvements des trois systèmes, bien entendu en prenant compte de leur cinématique. C'est un problème typique que le planificateur de mouvement avancé sait résoudre, et qui démontre la compétitivité du LAAS-CNRS dans ce domaine qui a donné la naissance de la startup Kineo CAM.
Néanmoins, comme on peut très bien le remarquer, le planificateur de mouvement ne tient aucun compte de la dynamique, bien qu'il traite la géométrie et la cinématique du robot et du mannequin avec une technique très sophistiquée. Il n'est bien évidemment pas possible de transporter par exemple un piano comme planifié dans la figure.
Deux robots mobiles avec un bras maniplateur et un mannequin virtuel coopèrent pour transporter un piano dans un environnement encombré. © LAAS-CNRS
Donc partageant ce point de vue, naturellement le premier sujet adressé par le JRL au LAAS-CNRS a été cette planification de mouvements dynamiques avec tout le corps de l'humanoïde dans un environnement complexe en 3D. Nous avons déjà proposé une méthode itérative composée de deux étapes en reliant un planificateur de mouvement et le module de locomotion dynamique3-4.
La méthode est illustrée dans la figure ci-dessous. La première partie, à gauche dans la figure, est le planificateur du mouvement géométrique et cinématique, implémenté sur le logiciellogiciel KineoWorksTM.
Supposons que le robot ait comme tâche de transporter une longue barre dans un environnement encombré ; il n'est pas judicieux d'essayer de déterminer tous les angles articulaires dans cette planification de mouvement. Dans un premier temps, on fait une approximation avec une boîte englobante avec une barre pour réduire le nombre de degrés de liberté et le planificateur fournit un « chemin » au robot. Ainsi, le mouvement de la partie supérieure incluant les bras sans collision est planifié par rapport au chemin de la barre.
Ces sorties du planificateur sont traitées par la deuxième étape, le générateur de mouvements dynamiques. Basé sur la méthode utilisant le « contrôleur prédictif »2, ce générateur peut calculer le mouvement qui est dynamiquement stable, c'est-à-dire vérifier que le ZMP est bien au milieu du polygone de sustentation en tenant compte de la locomotion du mouvement pour la tâche de transport.
Si la sortie du générateur n'a pas de collisions, c'est gagné ; c'est la solution que l'on voulait. Mais il est bien probable que la prise en compte de la dynamique crée de nouvelles collisions dues à des déviations par rapport à la trajectoire planifiée qui n'inclut pas la dynamique.
Pour considérer ces cas, comme décrit dans la figure, le mouvement dynamique est renvoyé à la première partie, c'est-à-dire au planificateur qui vérifie s'il n'y a pas de collisions. Si des collisions sont détectées, le planificateur essaie de résoudre d'abord en déformant la trajectoire localement. Par exemple, dans le cas de notre tâche de transport de la barre, quand on détecte une collision entre la barre et les obstacles, on déforme de manière à ce que la nouvelle trajectoire s'éloigne des obstacles. © JRL/LAAS-CNRS
Il peut encore y avoir des cas où la trajectoire sans collision ne peut pas être trouvée avec cette déformation locale. Cette situation nécessitera des changements plus globaux de chemins pour trouver d'autres chemins en modifiant la « roadmap ». Par exemple, cela correspond à la nécessité de faire un détour quand le robot ne peut pas emprunter un passage plus court lorsqu'il est dans la configuration de « deux bras devant pour tenir une barre ».
La simulation et l'expérimentation de planification de mouvement dynamique en 3D dans un environnement encombré. Une trajectoire a été planifiée qui permet au robot de transporter la barre en évitant les obstacles dans l'espace 3D en même temps de garder l'équilibre pendant la locomotion dynamique. © JRL/LAAS-CNRS
En répétant cette procédure, ce planificateur en deux étapes trouvera éventuellement un chemin s'il en existe un. La figure montre un exemple de cette planification dont la validité a été vérifiée par la simulation (gauche) et l'expérimentation (droite). Ci-dessous, la vidéo de l'expérience.
Légende : La simulation et l'expérimentation de planification de mouvement dynamique en 3D dans un environnement encombré.(3.61 Mo). © JRL/LAAS-CNRS/YouTube