Open Source Robotics

Une collection organisée de projets, outils et logiciels robotiques open source de haute qualité.

NeRF2Real: Sim2real Transfer of Vision-guided Bipedal Motion Skills using Neural Radiance Fields

Auteurs: Arunkumar Byravan, Jan Humplik, Leonard Hasenclever, Arthur Brussee, Francesco Nori, Tuomas Haarnoja, Ben Moran, Steven Bohez, Fereshteh Sadeghi, Bojan Vujatovic, Nicolas Heess · 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

Un NeRF entraîné sur une vidéo de téléphone de 5-6 minutes fournit le rendu visuel et le maillage de collision d'une simulation MuJoCo ; les politiques d'humanoïde fondées sur le seul RVB qui y sont entraînées se transfèrent en zero-shot à un robot réel.

Pourquoi c'est important

La chaîne de traitement n'a besoin que d'une vidéo prise avec un téléphone grand public pour recréer une scène visuellement réaliste avec une géométrie de contact exploitable, et elle entraîne une commande bipède du corps entier à partir des seules images RVB, sans localisation ni contrôleur de bas niveau séparé. Sur la tâche de navigation, la réussite et le temps d'arrivée au but sur le robot réel ont été très proches de ceux de la simulation.

Problème

L'entraînement Sim2real exige des simulations qui correspondent à la façon dont un robot voit et touche une scène réelle, mais modéliser la géométrie et l'apparence de scènes non structurées est lent et repose généralement sur des dispositifs de numérisation 3D spécialisés qui fonctionnent mal en extérieur. Les caméras RVB présentent un grand écart sim2real, si bien que les travaux antérieurs de transfert de navigation visuelle s'appuyaient sur des capteurs de profondeur ou des LiDAR, sur la localisation et sur des contrôleurs de bas niveau existants.

Solution proposée

Une courte vidéo de téléphone est découpée en environ 1000 images clés, localisées avec COLMAP, et utilisée pour entraîner un NeRF ; le NeRF rend la vue de la caméra du robot, et son occupation est convertie en maillage de collision par Marching cubes, mise à l'échelle et alignée sur le simulateur, le sol étant remplacé par un plan horizontal. MuJoCo simule le robot et les objets dynamiques connus (une balle), dont les rendus sont superposés à l'image NeRF, et DMPO entraîne des politiques récurrentes fondées sur la vision et la proprioception avec un critique asymétrique, une randomisation de domaine et une augmentation d'images.

Idées clés

  • Un seul NeRF fournit à la fois le rendu photoréaliste et la géométrie de contact statique pour une simulation physique, si bien qu'une seule vidéo de téléphone suffit à construire une scène d'entraînement.
  • Superposer les rendus du simulateur pour des objets dynamiques connus (corps du robot, balle) à l'image NeRF suffit pour les tâches testées, au prix de la non-prise en charge des occultations.
  • Des modèles précis des capteurs et des actionneurs, ainsi qu'une randomisation de domaine limitée (poussées, latence, masse ajoutée, décalage de l'IMU), ont suffi pour que l'allure se transfère.
  • L'augmentation d'images ne peut pas remplacer l'étalonnage de la caméra : la politique de navigation était très sensible au réglage du gain de la caméra.
  • Les politiques entraînées de bout en bout ont conservé une allure stable lorsque la scène changeait ou que la caméra était masquée, ce qui suggère que locomotion et compréhension de la scène étaient en partie séparées.

Principaux résultats

  • Navigation, entrée 60x80 : 87±5 % de réussite sur le robot réel (47/54 épisodes) contre 86±2 % en simulation ; temps médian de 11,2±0,4 s en réel contre 10,8±0,1 s en simulation.
  • Navigation, entrée 30x40 : 69±6 % de réussite sur le robot réel (37/54 épisodes) contre 73±3 % en simulation ; temps médian de 10,3±0,4 s en réel contre 10,3±0,3 s en simulation.
  • Erreur de localisation médiane de la croyance de pose de la politique : 0,24±0,01 m et 0,27±0,04 m sur le robot réel contre 0,17±0,01 m et 0,19±0,004 m en simulation (30x40 et 60x80).
  • Poussée de balle, entrée 30x40 : 78±7 % de réussite en réel avec la balle partant du centre et 43±14 % avec la balle près d'un mur, contre 99 % et 100 % en simulation.
  • Avec un gain de caméra modifié de la valeur par défaut 50 (4/5 réussites) à 90 ou 128, la politique de navigation a échoué dans 0/5 essais, en marchant en petit cercle.
  • L'augmentation par flou pour le rendu NeRF basse résolution est rapportée à un PSNR moyen d'environ 31,5 contre environ 35,4 sur des images mises de côté ; le NeRF à grille de hachage rend une image en 6 ms sur un GPU V100.

Limites

  • Les objets dynamiques sont toujours rendus devant la scène NeRF statique, donc les occultations ne sont pas gérées ; des scènes dynamiques plus complexes nécessiteraient un rendu NeRF composite.
  • Des étapes manuelles subsistent : choisir des points du sol dans Blender, aligner et mettre à l'échelle le maillage, et remplacer le sol mal texturé par un plan horizontal.
  • Passer d'une vidéo à une politique entraînée prend 1-2 jours (COLMAP environ 3-4 heures, entraînement de la politique environ 24 heures pour la navigation et deux fois plus pour la poussée de balle).
  • L'écart sim2real est plus important pour la tâche de poussée de balle riche en contacts, en particulier lorsque la balle part près d'un mur.
  • Le calcul embarqué (2 cœurs CPU, pas de GPU, 25 ms par pas) a limité les politiques à des images de 30x40 et 60x80, et l'amplitude d'inclinaison de la tête a été plafonnée car le plafond est mal capturé par le NeRF.

Impact sur le domaine

Finaliste du prix ICRA 2023 Outstanding Robot Learning Paper, avec 80 citations. L'article met à disposition un site web de projet avec des vidéos ; aucune publication de code n'est indiquée.

Résumé

Nous présentons un système permettant d'appliquer les approches sim2real à des scènes « in the wild » au rendu visuel réaliste, et à des politiques qui reposent sur une perception active à l'aide de caméras RVB. À partir d'une courte vidéo d'une scène statique recueillie avec un téléphone ordinaire, nous apprenons la géométrie de contact de la scène et une fonction de synthèse de vues nouvelles à l'aide d'un champ de radiance neuronal (NeRF). Nous enrichissons le rendu NeRF de la scène statique en y superposant le rendu d'autres objets dynamiques (par exemple le propre corps du robot, une balle). Une simulation est ensuite créée en utilisant ce moteur de rendu dans un simulateur physique qui calcule la dynamique de contact à partir de la géométrie de la scène statique (estimée à partir de la densité volumique du NeRF) ainsi que de la géométrie et des propriétés physiques des objets dynamiques (supposées connues). Nous montrons que nous pouvons utiliser cette simulation pour apprendre des politiques de navigation corps entier et de poussée de balle fondées sur la vision pour un robot humanoïde à 20 degrés de liberté doté d'une caméra RVB actionnée montée sur la tête, et nous transférons avec succès ces politiques à un robot réel. La vidéo du projet est disponible à l'adresse https://sites.google.com/view/nerf2real/home.

Liens

  • arXiv 2210.04932: https://arxiv.org/abs/2210.04932
  • DOI 10.1109/ICRA48891.2023.10161544: https://doi.org/10.1109/ICRA48891.2023.10161544
  • PDF: https://arxiv.org/pdf/2210.04932v1
  • Page du projet: https://sites.google.com/view/nerf2real/home

Ce site nécessite JavaScript. Veuillez activer JavaScript pour explorer nos projets de robotique open source.