VoxPoser: Composable 3D Value Maps for Robotic Manipulation with Language Models
Auteurs: Wenlong Huang, Chen Wang, Ruohan Zhang, Yunzhu Li, Jiajun Wu, Li Fei-Fei · CoRL 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
Un LLM écrit du Python qui remplit des cartes voxels 3D d'affordance et d'évitement à partir de détections vision-langage ; un planificateur les transforme en trajectoires 6-DoF en boucle fermée sans entraînement supplémentaire.
Pourquoi c'est important
Aucun composant n'est entraîné pour les tâches : les connaissances du modèle de langage sont ancrées directement dans l'espace d'observation 3D du robot et utilisées par un planificateur standard. Comme le planificateur replanifie à partir d'observations fraîches, l'exécution tolère des perturbations comme des cibles déplacées ou un tiroir rouvert après que le robot l'a fermé.
Problème
Les planificateurs robotiques fondés sur des LLM appellent généralement une bibliothèque de primitives de mouvement prédéfinies, et l'acquisition de ces compétences est un goulot d'étranglement car les données robotiques à grande échelle sont rares. Les LLMs ne peuvent pas non plus produire directement sous forme de texte des actions de commande haute fréquence et de grande dimension. L'article se demande comment exploiter les connaissances des LLM au niveau d'actions fines, pour des instructions et des objets en ensemble ouvert, sans collecte de données par tâche ni primitives conçues à la main.
Solution proposée
À partir d'une instruction et d'observations RGB-D, GPT-4 génère du code Python qui appelle des API de perception (détection OWL-ViT, masques Segment Anything, suivi XMem) et des opérations NumPy pour remplir des cartes voxels 100×100×100 pour l'affordance, l'évitement, la rotation de l'effecteur terminal, la vitesse et l'état de la pince. Un planificateur de mouvement à recherche gloutonne trouve des points de passage sans collision pour l'effecteur terminal sur une carte de coût construite à partir des cartes pondérées d'affordance et d'évitement, exécute le premier point de passage et replanifie à 5 Hz dans une boucle de commande prédictive par modèle. Pour les tâches riches en contacts, les trajectoires zero-shot orientent l'exploration pendant qu'un modèle de dynamique MLP est appris en ligne.
Idées clés
- Les LLMs sont mauvais pour émettre des actions de commande brutes mais bons pour inférer des affordances et des contraintes, et ils peuvent les exprimer sous forme de code qui écrit des valeurs dans des cartes voxels 3D.
- Composer des cartes de valeur spatiales dans une optimisation conjointe a mieux généralisé qu'un LLM paramétrant une liste fixe de primitives (une variante de Code as Policies) et mieux qu'un U-Net entraîné à prédire des cartes de coût.
- Les trajectoires zero-shot pour les tâches riches en contacts sont souvent pertinentes mais insuffisantes ; utilisées comme a priori d'exploration, elles rendent praticable l'apprentissage d'un modèle de dynamique.
- En simulation, VoxPoser avait l'erreur de spécification la plus faible des méthodes comparées ; dans le monde réel, la plupart des erreurs venaient de la perception, par exemple la sensibilité du détecteur aux poses initiales des objets et aux parties d'objets.
Principaux résultats
- Monde réel, cinq tâches de 10 essais chacune : 88,0 % de réussite en scène statique et 70,0 % avec perturbations, contre 24,0 % et 0,0 % pour LLM + primitives.
- Simulation (13 tâches, 2766 instructions uniques, 20 épisodes par tâche), réussite en interaction avec les objets / composition spatiale : 64,0 % / 77,5 % avec instructions et attributs vus, 60,0 % / 58,8 % avec attributs non vus, et 65,0 % / 76,7 % avec instructions et attributs non vus.
- Dans le cadre instructions non vues et attributs non vus, les méthodes de référence ont atteint 0,0 % / 0,0 % (U-Net + planificateur de mouvement) et 17,5 % / 25,0 % (LLM + primitives).
- Tâches simulées riches en contacts : la réussite zero-shot de 6,7 % (porte), 3,3 % (fenêtre) et 18,3 % (réfrigérateur) est passée à 88,3 %, 80,0 % et 91,7 % après environ 142 s, 137 s et 71 s d'interaction en ligne avec l'a priori zero-shot ; l'exploration sans cet a priori a dépassé la limite de 12 heures.
- Le dispositif réel replanifie à 5 Hz pendant que deux caméras Azure Kinect diffusent du RGB-D à 20 Hz.
Limites
- Selon les auteurs : VoxPoser dépend de modules de perception externes, ce qui limite les tâches nécessitant un raisonnement visuel global ou la compréhension de la géométrie fine des objets.
- Selon les auteurs : un modèle de dynamique généraliste reste nécessaire pour traiter les tâches riches en contacts avec le même niveau de généralisation ; les tâches réelles centrées sur les objets utilisaient un modèle heuristique de poussée plane et une primitive de poussée prédéfinie.
- Selon les auteurs : le planificateur de mouvement ne considère que les trajectoires de l'effecteur terminal, alors qu'une planification du bras entier serait probablement une meilleure conception.
- Selon les auteurs : les prompts des LLM sont conçus à la main (5–20 requêtes d'exemple par programme de modèle de langage).
- Pour la plupart des tâches, la scène est supposée statique hormis la replanification, et la décomposition des instructions en sous-tâches par le LLM n'est pas étudiée en profondeur.
Impact sur le domaine
Cité 735 fois (nombre tel qu'indiqué). La page officielle du projet renvoie au dépôt de code de VoxPoser, et l'article publie l'intégralité de ses prompts LLM sur le site du projet.
Résumé
Il a été montré que les grands modèles de langage (LLMs) possèdent une mine de connaissances exploitables pouvant être extraites pour la manipulation robotique sous forme de raisonnement et de planification. Malgré ces progrès, la plupart dépendent encore de primitives de mouvement prédéfinies pour réaliser les interactions physiques avec l'environnement, ce qui reste un goulot d'étranglement majeur. Dans ce travail, nous visons à synthétiser des trajectoires de robot, c'est-à-dire une séquence dense de points de passage 6-DoF de l'effecteur terminal, pour une grande variété de tâches de manipulation, étant donné un ensemble ouvert d'instructions et un ensemble ouvert d'objets. Nous y parvenons en observant d'abord que les LLMs excellent à inférer des affordances et des contraintes à partir d'une instruction en langage libre. Plus important encore, en tirant parti de leurs capacités d'écriture de code, ils peuvent interagir avec un modèle vision-langage (VLM) pour composer des cartes de valeur 3D qui ancrent ces connaissances dans l'espace d'observation de l'agent. Les cartes de valeur composées sont ensuite utilisées dans un cadre de planification fondé sur un modèle pour synthétiser en zero-shot des trajectoires de robot en boucle fermée, robustes aux perturbations dynamiques. Nous montrons en outre comment le cadre proposé peut tirer parti d'expériences en ligne en apprenant efficacement un modèle de dynamique pour des scènes impliquant des interactions riches en contacts. Nous présentons une étude à grande échelle de la méthode proposée dans des environnements simulés et sur robot réel, qui montre sa capacité à réaliser une grande variété de tâches de manipulation quotidiennes spécifiées en langage naturel libre. Vidéos et code sur https://voxposer.github.io
Liens
- arXiv 2307.05973: https://arxiv.org/abs/2307.05973
- DOI https://doi.org/10.48550/arxiv.2307.05973: https://doi.org/https://doi.org/10.48550/arxiv.2307.05973
- PDF: https://proceedings.mlr.press/v229/huang23b/huang23b.pdf
- Code: https://github.com/huangwl18/VoxPoser
- Page du projet: https://voxposer.github.io/