FlowBot3D: Learning 3D Articulation Flow to Manipulate Articulated Objects
Auteurs: Ben Eisner, Harry Zhang, David Held · RSS 2022
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 réseau prédit comment chaque point d'un objet articulé se déplacerait ; le robot saisit le point au mouvement le plus grand et le suit, atteignant 64 % de réussite dans le monde réel sans aucune donnée d'entraînement réelle.
Pourquoi c'est important
La représentation ne requiert aucune connaissance de l'arbre cinématique de l'objet, si bien qu'un seul modèle entraîné uniquement sur des nuages de points simulés a ouvert des objets de catégories jamais vues et s'est transféré à un bras Sawyer réel sans ajustement fin. Pour les praticiens, elle sépare la perception (où et comment les parties bougent) d'une simple règle de commande analytique, ce qui garde la politique en boucle fermée et facile à inspecter.
Problème
Les robots domestiques doivent ouvrir des portes, des tiroirs, des couvercles et d'autres objets articulés semblables dont la géométrie et la cinématique varient fortement au sein des catégories et d'une catégorie à l'autre. Les méthodes qui estiment des paramètres d'articulation comme les axes des liaisons s'appuient généralement sur une connaissance propre à la classe de la structure de l'objet, et ne peuvent donc pas être appliquées à de nouvelles catégories.
Solution proposée
Les auteurs définissent le 3D Articulation Flow : pour chaque point d'un nuage de points, la direction normalisée dans laquelle il se déplacerait si sa partie était légèrement ouverte. ArtFlowNet, un réseau fondé sur PointNet++ entraîné par apprentissage supervisé sur des objets PartNet-Mobility simulés, prédit ce flux à partir d'un seul nuage de points. FlowBot3D saisit ensuite avec une ventouse le point au plus grand flux prédit (sous réserve de filtres sur les arêtes et la courbure), puis prédit à nouveau le flux de manière répétée et déplace la pince le long du plus grand vecteur de flux visible près du contact jusqu'à ce que la partie soit ouverte.
Idées clés
- Pour une liaison prismatique, la meilleure direction de traction est le long de l'axe de la liaison en tout point ; pour une liaison pivot, elle est tangentielle au point le plus éloigné de l'axe, de sorte que le point au plus grand flux d'articulation est la prise idéale.
- Le flux par point est sans hiérarchie et borné dans la sphère unité, il est donc invariant par translation et par changement d'échelle et peut être appris sans modèles cinématiques propres à chaque classe.
- Les politiques par clonage comportemental et DAgger ont obtenu de mauvais résultats même lorsqu'elles recevaient le flux de vérité terrain en entrée, tandis que la politique analytique de suivi du flux a bien fonctionné.
- Les nuages de points rendus en simulation présentent peu d'écart de domaine avec les données de profondeur réelles, ce à quoi les auteurs attribuent le transfert direct sim-to-real ; l'augmentation par points de vue pendant l'entraînement a aidé le transfert mais a peu changé les résultats en simulation.
Principaux résultats
- Simulation (ManiSkill avec PartNet-Mobility, réussite = plus de 90 % de l'amplitude de mouvement) : FlowBot3D obtient un taux de réussite moyen de 0,77 sur des instances jamais vues des catégories d'entraînement et de 0,69 sur 10 catégories jamais vues ; un oracle utilisant le flux de vérité terrain a atteint 0,92 et 0,82.
- La meilleure référence par clonage comportemental (DAgger Oracle + F) a atteint 0,33 de réussite sur les catégories d'entraînement et 0,16 sur les catégories jamais vues ; la référence de type UMPNet a atteint 0,52 et 0,45.
- Distance normalisée moyenne à l'état ouvert : 0,12 (catégories d'entraînement) et 0,15 (catégories jamais vues) pour FlowBot3D contre 0,29 et 0,36 pour la référence de type UMPNet.
- Monde réel, 14 objets domestiques et 70 essais sur un bras Sawyer : 45/70 (64,3 %) de réussite globale, 64/70 (91,4 %) de réussite du contact et 45/64 (70,3 %) de réussite du mouvement après contact.
- La référence DAgger en conditions réelles, avec la même sélection du contact, a réussi 10 essais sur 70 (14,3 %), avec une distance moyenne de 0,73 contre 0,22 pour FlowBot3D.
Limites
- La plupart des échecs en conditions réelles provenaient d'erreurs de prédiction du flux, souvent lorsque le robot masquait une grande partie de la scène ou ne détectait pas une articulation (par exemple sur le four réel), ainsi que d'échecs du contact par ventouse sur des points où l'étanchéité ne pouvait pas se former.
- Les auteurs indiquent qu'un contrôleur de bras plus compliant et un module de prédiction de la qualité du contact plus performant sont nécessaires pour éliminer de nombreux modes d'échec ; la correction en ligne des prédictions erronées est laissée à des travaux futurs.
- La méthode couvre les objets à liaisons pivot ou prismatiques à 1-DoF et à base fixe ; les liaisons rotules, les objets flottants et les objets déformables sont exclus.
- Une ventouse réelle ne peut pas faire l'étanchéité sur des arêtes, des poignées ou des zones de forte courbure, c'est pourquoi les points de prise sont choisis avec des heuristiques d'arêtes, de courbure et de distance réglées à la main plutôt qu'au point idéal de flux maximal.
- Les objets de test réels devaient tenir dans l'espace de travail, offrir une surface adaptée à la ventouse et ne pas être trop sombres ou réfléchissants pour la caméra de profondeur.
Impact sur le domaine
L'article a été finaliste du RSS 2022 Best Paper Award et compte 168 citations. Les auteurs publient le code, les données et les documents complémentaires sur le site web du projet.
Résumé
Nous explorons une nouvelle méthode pour percevoir et manipuler des objets articulés 3D, qui généralise de façon à permettre à un robot d'articuler des classes d'objets jamais vues. Nous proposons un système fondé sur la vision qui apprend à prédire les mouvements potentiels des parties d'une grande variété d'objets articulés afin de guider la planification de mouvement en aval du système pour articuler les objets. Pour prédire les mouvements des objets, nous entraînons un réseau de neurones à produire un champ de vecteurs dense représentant la direction de mouvement, point par point, des points du nuage de points lors de l'articulation. Nous déployons ensuite un planificateur de mouvement analytique fondé sur ce champ de vecteurs pour obtenir une politique qui produit une articulation maximale. Nous entraînons le système de vision entièrement en simulation, et nous démontrons la capacité de notre système à généraliser à des instances d'objets jamais vues et à de nouvelles catégories, en simulation comme dans le monde réel, en déployant notre politique sur un robot Sawyer sans ajustement fin. Les résultats montrent que notre système atteint des performances à l'état de l'art dans les expériences simulées comme réelles.
Liens
- arXiv 2205.04382: https://arxiv.org/abs/2205.04382
- DOI 10.48550/arXiv.2205.04382: https://doi.org/10.48550/arXiv.2205.04382
- PDF: https://arxiv.org/pdf/2205.04382v1
- Code: https://github.com/r-pad/flowbot3d
- Page du projet: https://sites.google.com/view/articulated-flowbot-3d/home