Robust Locomotion on Legged Robots through Planning on Motion Primitive Graphs
Auteurs: Wyatt Ubellacker, Aaron D. Ames · ICRA 2023
Licences
- Accès libre
- Article: CC BY 4.0
Tout ce qui suit s'appuie sur l'article complet sous sa licence CC BY 4.0 ; sa figure est montrée en citant les auteurs.
En bref
Modéliser chaque contrôleur comme une primitive de mouvement dotée d'une région d'attraction sûre permet à une recherche de type RRT de trouver en ligne des séquences de rétablissement, en moins de 50 ms, sur un quadrupède A1.
Pourquoi c'est important
Le graphe croît avec le nombre de primitives et de leurs arguments plutôt qu'avec la dynamique du système, et la méthode ne se soucie pas de la façon dont le contrôleur de chaque primitive est construit tant qu'il satisfait la définition. Sur le matériel, une seule procédure de recherche produit le rétablissement après des coups de pied, des tractions sur une patte, un sol irrégulier et des chutes, au lieu de règles de transition écrites pour chaque cas.
Problème
L'autonomie des robots enchaîne souvent des comportements (primitives de mouvement) par des séquences, des machines à états ou une recherche dans un graphe, mais décider quand il est sûr de basculer entre des primitives dynamiques repose généralement sur une analyse propre à chaque transition ou sur des heuristiques. Les travaux antérieurs des auteurs ne traitaient que des primitives discrètes et une recherche hors ligne, ce qui en limite l'usage pour réagir aux perturbations au moment où elles se produisent.
Solution proposée
Chaque primitive de mouvement est définie par ses arguments continus, sa consigne, sa loi de commande, sa région d'attraction, son ensemble sûr et sa région d'attraction sûre. Une fonction de transfert de primitive de mouvement envoie un état vers la consigne de la primitive si l'état se trouve dans sa région d'attraction sûre, et renvoie sinon l'état inchangé ; l'enchaînement de ces fonctions forme un graphe mixte discret et continu, qu'un algorithme inspiré de RRT explore en ligne avant qu'une descente de gradient sous contraintes n'ajuste les arguments et la synchronisation et que les nœuds inutiles soient élagués.
Idées clés
- Utiliser la région d'attraction sûre de chaque primitive comme condition d'entrée transforme la question 'cette transition est-elle sûre ?' en une vérification de l'appartenance de l'état courant à un ensemble.
- La stabilité exponentielle garantit une durée minimale au bout de laquelle l'état se trouve à moins d'un petit ε de la consigne, ce qui justifie d'abstraire une primitive comme une application de l'état vers la consigne.
- La recherche aléatoire convient à ce graphe parce que les fonctions de transfert sont non convexes et que la recherche discrète passe mal à l'échelle avec le nombre de primitives, d'ensembles d'arguments et la dimension de l'état.
- Les régions d'attraction sûres ont été estimées de façon conservatrice par une analyse de Lyapunov du contrôleur linéarisé, puis élargies par des essais sur le matériel jusqu'à couvrir les états de fonctionnement normaux.
Principaux résultats
- La recherche dans le graphe prend généralement moins de 50 ms et s'exécute de manière asynchrone à côté d'une boucle de commande à 1 kHz sur un Intel NUC embarqué (i7-10710U, 16 GB de RAM).
- Depuis le repos, moteurs non actionnés, le planificateur enchaîne Lie, Stand (h = 0,2 m) et Walk (h = 0,25 m, vx = 0,2 m/s).
- Coups de pied pendant Stand (h = 0,25 m) : les petits coups ne nécessitent aucune transition, les coups modérés passent par Lie, et les coups plus forts passent par une marche sur place avant le retour à Stand.
- Traction sur une patte pendant la marche : le robot reste en Land tant que la patte arrière est tenue, puis exécute la séquence replanifiée et reprend la marche une fois relâché.
- Pierres instables et irrégulières, sans perception et avec une primitive de marche qui suppose un sol plat : le robot progresse lentement en replanifiant via Lie, Stand et Land à mesure que les perturbations surviennent.
- Lancer depuis un rebord d'environ 0,5 m : Land s'exécute pendant que le robot est en l'air, puis le planificateur repasse par Lie et Stand pour revenir à Walk.
Limites
- La recherche probabiliste ignore la structure supplémentaire du problème ; les auteurs prévoient d'exploiter cette structure pour améliorer les résultats.
- Il n'y a pas de perception : les obstacles et les environnements changeants ne sont pas modélisés explicitement, et la primitive de marche suppose un terrain plat, si bien que la progression sur des pierres instables est lente.
- Les régions d'attraction sûres sont des estimations conservatrices issues d'une analyse de Lyapunov linéarisée et d'essais sur le matériel, et non des ensembles exacts.
- Les résultats sont présentés sous forme de figures et de vidéo sans statistiques de taux de réussite, avec quatre primitives expérimentales (Lie, Stand, Walk, Land) sur un seul robot.
Impact sur le domaine
Lauréat du prix ICRA 2023 Outstanding Student Paper et finaliste du prix ICRA 2023 Outstanding Locomotion Paper, avec 17 citations. Les auteurs publient une vidéo complémentaire des expériences ; l'article ne mentionne aucune publication de code.
Résumé
Les exigences fonctionnelles des systèmes robotiques imposent souvent d'accomplir diverses tâches ou comportements sous l'effet de perturbations ou dans des environnements incertains. L'autonomie des robots dynamiques, tels que les multirotors, les véhicules à moteur et les plateformes à pattes, suscite un intérêt croissant. Dans ce cas, les perturbations et les conditions environnementales peuvent avoir un impact important sur la bonne exécution des comportements dynamiques individuels, appelés "primitives de mouvement". Malgré cela, la robustesse peut être obtenue en basculant vers des primitives de mouvement appropriées et en transitant par elles. Cet article apporte une telle méthode en présentant une abstraction de la dynamique des primitives de mouvement et une "fonction de transfert de primitive de mouvement" correspondante. À partir de celle-ci, un "graphe de primitives de mouvement" mixte, discret et continu, est construit, et un algorithme capable d'explorer ce graphe en ligne est détaillé. Il en résulte un cadre capable de réaliser une robustesse globale sur des systèmes dynamiques. Cela est démontré expérimentalement pour un ensemble de primitives de mouvement sur un robot quadrupède soumis à diverses perturbations environnementales et intentionnelles.
Liens
- arXiv 2209.07503: https://arxiv.org/abs/2209.07503
- DOI 10.1109/ICRA48891.2023.10160672: https://doi.org/10.1109/ICRA48891.2023.10160672
- PDF: https://arxiv.org/pdf/2209.07503v1