Open Source Robotics

Uma coleção selecionada de projetos, ferramentas e software de robótica de código aberto de alta qualidade.

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

Autores: Arunkumar Byravan, Jan Humplik, Leonard Hasenclever, Arthur Brussee, Francesco Nori, Tuomas Haarnoja, Ben Moran, Steven Bohez, Fereshteh Sadeghi, Bojan Vujatovic, Nicolas Heess · ICRA 2023

Licenças

  • Acesso aberto
  • Artigo: CC BY 4.0

Tudo o que segue se baseia no artigo completo sob a licença CC BY 4.0; sua figura é mostrada com crédito aos autores.

Em resumo

Um NeRF treinado com um vídeo de celular de 5-6 minutos fornece o visual e a malha de colisão para uma simulação no MuJoCo; políticas de humanoide só com RGB treinadas ali se transferem zero-shot para um robô real.

Por que importa

O pipeline precisa apenas de um vídeo de um celular comum para recriar uma cena visualmente realista com geometria de contato utilizável, e treina o controle bípede de corpo inteiro somente a partir de imagens RGB, sem localização nem um controlador de baixo nível separado. Na tarefa de navegação, o sucesso e o tempo até o objetivo no robô real ficaram muito próximos da simulação.

Problema

O treinamento sim2real precisa de simulações que correspondam a como um robô vê e toca uma cena real, mas modelar a geometria e a aparência de cenas não estruturadas é lento e geralmente depende de equipamentos especializados de escaneamento 3D que funcionam mal ao ar livre. Câmeras RGB têm uma grande lacuna sim2real, por isso trabalhos anteriores de transferência de navegação visual se apoiavam em sensores de profundidade ou LiDAR, localização e controladores de baixo nível existentes.

Solução proposta

Um vídeo curto de celular é dividido em cerca de 1000 quadros-chave, localizado com o COLMAP e usado para treinar um NeRF; o NeRF renderiza a vista da câmera do robô e sua ocupação é convertida em uma malha de colisão com marching cubes, escalada e alinhada ao simulador, com o piso substituído por uma superfície plana. O MuJoCo simula o robô e os objetos dinâmicos conhecidos (uma bola), cujas renderizações são sobrepostas à imagem do NeRF, e o DMPO treina políticas recorrentes de visão e propriocepção com um crítico assimétrico, aleatorização de domínio e aumento de imagens.

Principais ideias

  • Um único NeRF fornece tanto a renderização fotorrealista quanto a geometria de contato estática para uma simulação física, de modo que um único vídeo de celular basta para construir uma cena de treinamento.
  • Sobrepor à imagem do NeRF renderizações do simulador de objetos dinâmicos conhecidos (corpo do robô, bola) basta para as tarefas testadas, ao custo de não tratar oclusões.
  • Modelos precisos de sensores e atuadores, mais uma aleatorização de domínio limitada (empurrões, latência, massa adicionada, deslocamento da IMU), foram suficientes para a marcha se transferir.
  • O aumento de imagens não substitui a calibração da câmera: a política de navegação era altamente sensível à configuração de ganho da câmera.
  • Políticas treinadas de ponta a ponta ainda mantiveram uma marcha estável quando a cena mudou ou a câmera foi bloqueada, o que sugere que a locomoção e a compreensão da cena estavam parcialmente separadas.

Principais resultados

  • Navegação, entrada 60x80: 87±5 % de sucesso no robô real (47/54 episódios) contra 86±2 % em simulação; tempo mediano de 11,2±0,4 s no real contra 10,8±0,1 s na simulação.
  • Navegação, entrada 30x40: 69±6 % de sucesso no robô real (37/54 episódios) contra 73±3 % em simulação; tempo mediano de 10,3±0,4 s no real contra 10,3±0,3 s na simulação.
  • Erro mediano de localização da estimativa de pose da política: 0,24±0,01 m e 0,27±0,04 m no robô real contra 0,17±0,01 m e 0,19±0,004 m em simulação (30x40 e 60x80).
  • Empurrar a bola, entrada 30x40: 78±7 % de sucesso real com a bola começando no centro e 43±14 % com ela perto de uma parede, contra 99 % e 100 % em simulação.
  • Com o ganho da câmera alterado do padrão 50 (4/5 sucessos) para 90 ou 128, a política de navegação falhou em 0/5 tentativas, andando em um pequeno círculo.
  • O aumento por desfoque para renderização NeRF de baixa resolução é relatado com PSNR médio de cerca de 31,5 contra cerca de 35,4 em imagens reservadas; o NeRF com hash-grid renderiza um quadro em 6 ms em uma GPU V100.

Limitações

  • Objetos dinâmicos são sempre renderizados na frente da cena NeRF estática, portanto oclusões não são tratadas; cenas dinâmicas mais complexas exigiriam renderização NeRF composta.
  • Restam etapas manuais: escolher pontos do piso no Blender, alinhar e escalar a malha e substituir o piso, mal texturizado, por uma superfície plana.
  • Ir de um vídeo a uma política treinada leva 1-2 dias (COLMAP cerca de 3-4 horas, treinamento da política cerca de 24 horas para navegação e o dobro para empurrar a bola).
  • A lacuna sim2real é maior na tarefa de empurrar a bola, rica em contato, especialmente quando a bola começa perto de uma parede.
  • A computação embarcada (2 núcleos de CPU, sem GPU, 25 ms por passo) limitou as políticas a imagens de 30x40 e 60x80, e a faixa de inclinação da cabeça foi limitada porque o teto é mal capturado pelo NeRF.

Impacto na área

Finalista do prêmio ICRA 2023 Outstanding Robot Learning Paper, com 80 citações. O artigo disponibiliza um site do projeto com vídeos; nenhuma liberação de código é mencionada.

Resumo

Apresentamos um sistema para aplicar abordagens sim2real a cenas “em ambientes reais” com visual realista, e a políticas que dependem de percepção ativa usando câmeras RGB. Dado um vídeo curto de uma cena estática gravado com um celular genérico, aprendemos a geometria de contato da cena e uma função de síntese de novas vistas usando um campo de radiância neural (Neural Radiance Field, NeRF). Aumentamos a renderização NeRF da cena estática sobrepondo a renderização de outros objetos dinâmicos (p. ex., o próprio corpo do robô, uma bola). Em seguida, cria-se uma simulação usando o motor de renderização em um simulador físico que calcula a dinâmica de contato a partir da geometria da cena estática (estimada a partir da densidade volumétrica do NeRF) e da geometria e das propriedades físicas dos objetos dinâmicos (assumidas como conhecidas). Demonstramos que podemos usar essa simulação para aprender políticas de navegação de corpo inteiro baseadas em visão e de empurrar uma bola para um robô humanoide de 20 graus de liberdade com uma câmera RGB atuada montada na cabeça, e transferimos com sucesso essas políticas para um robô real. O vídeo do projeto está disponível em https://sites.google.com/view/nerf2real/home.

Links

  • 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
  • Página do projeto: https://sites.google.com/view/nerf2real/home

Este site requer JavaScript. Por favor, habilite o JavaScript para explorar nossos projetos de robótica.