Robot Parkour Learning
Autores: Ziwen Zhuang, Zipeng Fu, Jianren Wang, Christopher Atkeson, Sören Schwertfeger, Chelsea Finn, Hang Zhao · CoRL 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 RL em duas etapas (primeiro obstáculos penetráveis, depois colisões reais) treina cinco habilidades de parkour; o DAgger as destila em uma única política com imagem de profundidade que roda embarcada nos robôs de baixo custo Unitree A1 e Go1.
Por que importa
A política roda usando apenas computação, sensoriamento de profundidade e energia embarcados em quadrúpedes de baixo custo, sem dados de movimento de referência, e o mesmo pipeline de treinamento controla dois robôs (A1 e Go1). Nas comparações dos autores, o pré-treinamento com restrições suaves foi o que tornou possível aprender a escalar e a saltar.
Problema
O parkour exige que um robô perceba obstáculos e escolha entre diversas habilidades ágeis em alta velocidade, mas os métodos de aprendizado anteriores geram habilidades diversas, mas cegas, ou baseadas em visão, mas especializadas, usando funções de recompensa com muitos termos ou dados de captura de movimento de animais sem visão egocêntrica. Para robôs pequenos de baixo custo, os obstáculos são grandes em relação ao tamanho do corpo, a percepção de profundidade embarcada atrasa durante movimentos rápidos (0,2 s de atraso a 1 m/s equivalem a 0,2 m de erro), e o parkour leva os motores aos seus limites.
Solução proposta
Cada habilidade (escalar, saltar, rastejar, inclinar, correr) é treinada no IsaacGym com PPO a partir de informação privilegiada sobre os obstáculos e uma única recompensa por velocidade de avanço próxima de 1 m/s, energia mecânica e continuar vivo. A primeira etapa torna os obstáculos penetráveis e penaliza o volume e a profundidade de penetração sob um currículo automático (restrições dinâmicas suaves, inspiradas na colocação direta); a segunda etapa faz ajuste fino com colisões reais. Em seguida, o DAgger destila os cinco especialistas em uma única política GRU que recebe propriocepção e uma imagem de profundidade de 48×64, implantada com pré-processamento de profundidade equiparado e um limite de torque de 25 Nm.
Principais ideias
- Deixar o robô atravessar os obstáculos no início, com uma penalidade por penetração e um currículo automático, resolve o problema de exploração: sem isso, e com a baseline de exploração RND, não se aprendeu a escalar nem a saltar.
- Uma única recompensa formada por progresso para frente, potência mecânica ao quadrado e um bônus por continuar vivo produziu as cinco habilidades sem ajuste de recompensa por habilidade nem dados de movimento.
- A política precisa de memória: ao escalar, as patas traseiras precisam agir com base nas dimensões do obstáculo vistas em imagens de profundidade anteriores, por isso a política GRU tem sucesso onde uma política MLP falha.
- Destilar no espaço de ações com DAgger funde especialistas com pesos de rede diferentes em uma única política visual, algo que a destilação no espaço latente no estilo RMA não consegue fazer.
- As imagens de profundidade foram equiparadas entre a simulação (recorte, ruído gaussiano, artefatos aleatórios) e a câmera real (recorte, preenchimento de buracos, filtros espaciais e temporais); um comportamento de nova tentativa após escaladas falhas surgiu sem ter sido programado.
Principais resultados
- Testes reais em ambiente interno com o A1, 10 ensaios por configuração: 80 % de sucesso ao escalar 0,40 m (1,53× a altura do robô), 80 % ao saltar vãos de 0,60 m (1,5× o comprimento do robô), 90 % ao rastejar sob 0,2 m (0,76× a altura do robô) e passagem por fendas de 0,28 m inclinando-se; o melhor de todos os métodos comparados, incluindo o controlador MPC embutido do A1.
- Sucesso em simulação da política de parkour destilada (100 ensaios × 3 sementes, obstáculos de teste mais difíceis que os de treinamento): escalar 86 %, saltar 80 %, rastejar 100 %, inclinar 73 %, correr 100 %.
- Baselines em simulação: Blind 0 % ao escalar, saltar e inclinar e 13 % ao rastejar; MLP 0 % ao escalar e 1 % ao saltar; No Distill 0 % ao escalar, saltar e inclinar; RMA, avaliado apenas na inclinação, 74 %.
- Oráculos especialistas treinados com pré-treinamento de dinâmica suave atingiram cerca de 95 % de sucesso médio em escalar, saltar, rastejar e inclinar; sem ele, 0 % ao escalar e saltar.
- Em ambiente externo, o robô saltou um vão de 0,6 m entre dois banquinhos de pedra, subiu degraus sucessivos de 0,42 m e rastejou sob um carrinho de camping.
- Custo de treinamento: cada especialista 12 h com dinâmica suave mais 6 h com dinâmica rígida em uma máquina com uma Nvidia 3090; a destilação, em quatro máquinas, cada uma com uma 3090.
Limitações
- Os ambientes de simulação são construídos à mão, então novas habilidades só podem ser aprendidas quando novos ambientes de obstáculos são adicionados à simulação (segundo os autores).
- A política usa apenas profundidade; o treinamento a partir de RGB com informação semântica fica para trabalho futuro (segundo os autores).
- A profundidade embarcada é atualizada a apenas 10 Hz por causa da computação embarcada limitada, enquanto a política roda a 50 Hz com o embedding de profundidade mais recente disponível.
- Os testes quantitativos no mundo real foram feitos apenas com o A1, com 10 ensaios por configuração; nenhuma taxa de sucesso real é informada para a tarefa de inclinação de 0,28 m.
Impacto na área
Finalista do CoRL 2023 Best Systems Paper Award e citado 356 vezes. Os autores o apresentam como um sistema de código aberto para treinar e implantar políticas de locomoção ágil; a página do projeto traz o link para o repositório de código.
Resumo
O parkour é um grande desafio para a locomoção com pernas que exige que os robôs superem rapidamente diversos obstáculos em ambientes complexos. Os métodos existentes conseguem gerar habilidades de locomoção diversas, mas cegas, ou habilidades baseadas em visão, mas especializadas, usando dados de referência de animais ou recompensas complexas. No entanto, o parkour autônomo exige que os robôs aprendam habilidades generalizáveis que sejam ao mesmo tempo baseadas em visão e diversas, para perceber e reagir a vários cenários. Neste trabalho, propomos um sistema para aprender uma única política de parkour de ponta a ponta baseada em visão, com diversas habilidades de parkour, usando uma recompensa simples sem nenhum dado de movimento de referência. Desenvolvemos um método de aprendizado por reforço inspirado na colocação direta para gerar habilidades de parkour, incluindo escalar obstáculos altos, saltar sobre vãos grandes, rastejar sob barreiras baixas, passar por fendas estreitas e correr. Destilamos essas habilidades em uma única política de parkour baseada em visão e a transferimos para um robô quadrúpede usando sua câmera de profundidade egocêntrica. Demonstramos que nosso sistema permite que dois robôs de baixo custo diferentes selecionem e executem de forma autônoma as habilidades de parkour adequadas para atravessar ambientes reais desafiadores.
Links
- arXiv 2309.05665: https://arxiv.org/abs/2309.05665
- DOI 10.48550/arXiv.2309.05665: https://doi.org/10.48550/arXiv.2309.05665
- PDF: https://proceedings.mlr.press/v229/zhuang23a/zhuang23a.pdf
- Código: https://github.com/ZiwenZhuang/parkour
- Página do projeto: https://robot-parkour.github.io/