Robot Parkour Learning
Autores: Ziwen Zhuang, Zipeng Fu, Jianren Wang, Christopher Atkeson, Sören Schwertfeger, Chelsea Finn, Hang Zhao · CoRL 2023
Licencias
- Acceso abierto
- Artículo: CC BY 4.0
Todo lo que sigue se basa en el artículo completo bajo su licencia CC BY 4.0; su figura se muestra con crédito a los autores.
En resumen
Un RL en dos etapas (primero obstáculos penetrables, después colisiones reales) entrena cinco habilidades de parkour; DAgger las destila en una única política con imagen de profundidad que se ejecuta a bordo de los robots de bajo coste Unitree A1 y Go1.
Por qué importa
La política funciona solo con cómputo, detección de profundidad y alimentación a bordo en cuadrúpedos de bajo coste, sin datos de movimiento de referencia, y el mismo pipeline de entrenamiento controla dos robots (A1 y Go1). En las comparaciones de los autores, el preentrenamiento con restricciones blandas es lo que hizo posible aprender a trepar y a saltar.
Problema
El parkour exige que un robot perciba los obstáculos y elija entre diversas habilidades ágiles a gran velocidad, pero los métodos de aprendizaje anteriores dan habilidades diversas pero ciegas o basadas en visión pero especializadas, usando funciones de recompensa con muchos términos o datos de captura de movimiento de animales que no incluyen visión egocéntrica. Para robots pequeños de bajo coste, los obstáculos son grandes en relación con el tamaño del cuerpo, la percepción de profundidad a bordo se retrasa durante el movimiento rápido (0,2 s de retraso a 1 m/s suponen 0,2 m de error), y el parkour lleva los motores a sus límites.
Solución propuesta
Cada habilidad (trepar, saltar, arrastrarse, inclinarse, correr) se entrena en IsaacGym con PPO a partir de información privilegiada sobre los obstáculos y una sola recompensa por la velocidad de avance cercana a 1 m/s, la energía mecánica y seguir vivo. La primera etapa hace que los obstáculos sean penetrables y penaliza el volumen y la profundidad de penetración bajo un currículo automático (restricciones dinámicas blandas, inspiradas en la colocación directa); la segunda etapa hace un ajuste fino con colisiones reales. Después, DAgger destila los cinco especialistas en una sola política GRU que recibe propiocepción y una imagen de profundidad de 48×64, desplegada con un preprocesamiento de profundidad igualado y un recorte de par de 25 Nm.
Ideas clave
- Dejar que el robot atraviese los obstáculos al principio, con una penalización por penetración y un currículo automático, resuelve el problema de exploración: sin ello, y con el método de referencia de exploración RND, no se aprendió ni a trepar ni a saltar.
- Una sola recompensa formada por el avance hacia delante, la potencia mecánica al cuadrado y una bonificación por seguir vivo produjo las cinco habilidades sin ajustar la recompensa para cada habilidad ni datos de movimiento.
- La política necesita memoria: al trepar, las patas traseras deben actuar según las dimensiones del obstáculo vistas en imágenes de profundidad anteriores, por lo que la política GRU tiene éxito donde una política MLP falla.
- Destilar en el espacio de acciones con DAgger fusiona especialistas con distintos pesos de red en una sola política visual, algo que la destilación en el espacio latente al estilo RMA no puede hacer.
- Las imágenes de profundidad se igualaron entre la simulación (recorte, ruido gaussiano, artefactos aleatorios) y la cámara real (recorte, relleno de huecos, filtros espaciales y temporales); surgió, sin haberse programado, un comportamiento de reintento tras subidas fallidas.
Resultados principales
- Pruebas reales en interior con el A1, 10 ensayos por configuración: 80 % de éxito al trepar 0,40 m (1,53× la altura del robot), 80 % al saltar huecos de 0,60 m (1,5× la longitud del robot), 90 % al arrastrarse bajo 0,2 m (0,76× la altura del robot) y paso por rendijas de 0,28 m inclinándose; el mejor de todos los métodos comparados, incluido el controlador MPC integrado del A1.
- Éxito en simulación de la política de parkour destilada (100 ensayos × 3 semillas, obstáculos de prueba más difíciles que los de entrenamiento): trepar 86 %, saltar 80 %, arrastrarse 100 %, inclinarse 73 %, correr 100 %.
- Métodos de referencia en simulación: Blind 0 % al trepar, saltar e inclinarse y 13 % al arrastrarse; MLP 0 % al trepar y 1 % al saltar; No Distill 0 % al trepar, saltar e inclinarse; RMA, evaluado solo en inclinación, 74 %.
- Los oráculos especialistas entrenados con preentrenamiento de dinámica blanda alcanzaron alrededor de un 95 % de éxito medio en trepar, saltar, arrastrarse e inclinarse; sin él, 0 % al trepar y saltar.
- En exteriores, el robot saltó un hueco de 0,6 m entre dos taburetes de piedra, subió escalones sucesivos de 0,42 m y se arrastró bajo un carro de camping.
- Coste de entrenamiento: cada especialista 12 h con dinámica blanda más 6 h con dinámica dura en una máquina con una Nvidia 3090; la destilación, en cuatro máquinas con una 3090 cada una.
Limitaciones
- Los entornos de simulación se construyen a mano, por lo que solo se pueden aprender habilidades nuevas cuando se añaden nuevos entornos de obstáculos a la simulación (según los autores).
- La política usa solo profundidad; el entrenamiento a partir de RGB con información semántica queda para trabajo futuro (según los autores).
- La profundidad a bordo se actualiza solo a 10 Hz por el cómputo limitado a bordo, mientras que la política funciona a 50 Hz con el último embedding de profundidad disponible.
- Las pruebas cuantitativas en el mundo real se hicieron solo con el A1, con 10 ensayos por configuración; no se indica ninguna tasa de éxito real para la tarea de inclinación de 0,28 m.
Impacto en el campo
Finalista del CoRL 2023 Best Systems Paper Award y citado 356 veces. Los autores lo presentan como un sistema de código abierto para entrenar y desplegar políticas de locomoción ágil; la página del proyecto enlaza el repositorio de código.
Resumen
El parkour es un gran desafío para la locomoción con patas que exige a los robots superar rápidamente diversos obstáculos en entornos complejos. Los métodos existentes pueden generar habilidades de locomoción diversas pero ciegas, o habilidades basadas en visión pero especializadas, usando datos de referencia de animales o recompensas complejas. Sin embargo, el parkour autónomo requiere que los robots aprendan habilidades generalizables que sean a la vez basadas en visión y diversas para percibir y reaccionar ante distintos escenarios. En este trabajo proponemos un sistema para aprender una única política de parkour de extremo a extremo basada en visión, con diversas habilidades de parkour, usando una recompensa sencilla sin ningún dato de movimiento de referencia. Desarrollamos un método de aprendizaje por refuerzo inspirado en la colocación directa para generar habilidades de parkour, como trepar por encima de obstáculos altos, saltar sobre huecos grandes, arrastrarse bajo barreras bajas, pasar a través de rendijas estrechas y correr. Destilamos estas habilidades en una única política de parkour basada en visión y la transferimos a un robot cuadrúpedo usando su cámara de profundidad egocéntrica. Demostramos que nuestro sistema permite a dos robots de bajo coste distintos seleccionar y ejecutar de forma autónoma las habilidades de parkour adecuadas para atravesar entornos reales difíciles.
Enlaces
- 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 del proyecto: https://robot-parkour.github.io/