Modèles simplifiés pour la locomotion des robots humanoïdes en terrain accidenté

Présentation donnée à la Journée Francophone de la Recherche au Japon, Maison Franco-Japonaise de Tokyo, novembre 2015.

Journée Francophone de la Recherche au Japon

Résumé

La robotique humanoïde distingue deux domaines : planification et locomotion. Tous deux servent le même objectif, qui est de permettre au robot de se déplacer d'un endroit à un autre. La locomotion repose sur des mouvements répétés (comme les pas d'une démarche) ou générés par des modèles simplifiés du robot (comme le pendule inversé, que nous allons voir). Elle nécessite généralement un sol plat ou peu accidenté. La planification fait moins d'hypothèses, ce qui la rend adaptée aux déplacements dans les environnements encombrés. Toutefois, elle nécessite d'avantage de calculs et a tendance à produire des mouvements peu naturels. Marcher en forêt relève par exemple de la locomotion, tandis qu'escalader une montagne relève de la planification.

La locomotion des robots humanoïdes sur sol horizontal est un problème bien résolu aujourd'hui. La solution la plus connue repose sur le ZMP (point d'annulation du moment tangentiel, Zero-tilting Moment Point en anglais), un point qui joue un rôle clef dans la locomotion bipède. Sa position dans le polygone de sustentation (l'ensemble des points situés « entre les pieds ») est un indicateur de la stabilité d'une démarche. Pour ne pas tomber, le robot doit éviter que le ZMP sorte de ce polygone.

La définition historique du ZMP nécessite un sol horizontal, ce qui a empêché son extension aux terrains accidentés. Depuis 10 ans, la piste du ZMP s'est ainsi retrouvée progressivement abandonnée au profit de différentes alternatives comme le contrôle direct des forces de contact. Dans les travaux que nous présentons aujourd'hui, nous proposons une nouvelle façon de définir le ZMP et de calculer ses polygones de sustentation. Cette révision permet de s'affranchir de l'hypothèse d'un sol horizontal et d'utiliser le ZMP même en terrain accidenté. Nous montrons ainsi comment le modèle de locomotion bien connu du pendule (inversé ou non) peut être utilisé dans de nouvelles situations où le robot utilise pieds et mains pour se déplacer (ici, en s'appuyant contre un mur pour effectuer une longue enjambée).

Matériel et méthode

Dans un survey paper de 2004, Sardain et Bessonnet définirent le ZMP à partir d'un axe non-central particulier du torseur gravito-inertiel. Nous généralisons leur approche en définissant le ZMP pour n'importe quel axe non-central de n'importe quel torseur. Le coeur de notre contribution est le développement de nouvelles méthodes de calcul des polygones de sustentation associés aux points ainsi définis, qui reposent sur la notion de dualité des ensembles coniques polyhédraux, en particulier sur l'algorithme de la double-description. Nous vérifions la validité des polygones ainsi construits en simulations.

Logiciels

  • Langage de programmation : Python
  • Environnement de développement robotique (visualisation et calculs cinématiques) : OpenRAVE
  • Bibliothèque de programmation quadratique (utilisée pour la cinématique inverse) : CVXOPT

Le code source développé pour ce travail est publié sous license GPLv3 dans la bibliothèque pymanoid.

Content on this website is under the CC-BY 4.0 license.