Barkour Evaluando la agilidad animal a nivel robótico con robots cuadrúpedos

'Barkour Evaluating animal agility at a robotic level with quadruped robots.'

Escrito por Ken Caluwaerts y Atil Iscen, Científicos de Investigación de Google

Crear robots que exhiban capacidades de locomoción robustas y dinámicas, similares a las de los animales o humanos, ha sido un objetivo de larga data en la comunidad de la robótica. Además de completar tareas rápidamente y de manera eficiente, la agilidad permite que los robots con patas se muevan a través de entornos complejos que de otra manera serían difíciles de atravesar. Los investigadores de Google han estado persiguiendo la agilidad durante varios años y en diferentes formas. Sin embargo, aunque los investigadores han permitido que los robots caminen o salten sobre algunos obstáculos, todavía no hay un benchmark generalmente aceptado que mida de manera integral la agilidad o movilidad del robot. En contraste, los benchmarks son fuerzas impulsoras detrás del desarrollo del aprendizaje automático, como ImageNet para la visión por computadora y OpenAI Gym para el aprendizaje por refuerzo (RL).

En “Barkour: Benchmarking Animal-level Agility with Quadruped Robots”, presentamos el benchmark de agilidad Barkour para robots cuadrúpedos, junto con una política generalista de locomoción basada en Transformer. Inspirado en las competiciones de agilidad para perros, un robot con patas debe mostrar secuencialmente una variedad de habilidades, incluyendo moverse en diferentes direcciones, atravesar terrenos desiguales y saltar obstáculos en un lapso de tiempo limitado para completar con éxito el benchmark. Al proporcionar un curso de obstáculos diverso y desafiante, el benchmark Barkour anima a los investigadores a desarrollar controladores de locomoción que se muevan rápidamente de manera controlable y versátil. Además, al vincular la métrica de rendimiento con el rendimiento real de los perros, proporcionamos una métrica intuitiva para comprender el rendimiento del robot con respecto a sus contrapartes animales.

Invitamos a algunos dooglers a probar el curso de obstáculos para asegurarnos de que nuestros objetivos de agilidad fueran realistas y desafiantes. Los perros pequeños completan el curso de obstáculos en aproximadamente 10 segundos, mientras que el rendimiento típico de nuestro robot ronda los 20 segundos.

Benchmark Barkour

El sistema de puntuación de Barkour utiliza un tiempo objetivo por obstáculo y un tiempo objetivo general del curso basado en la velocidad objetivo de los perros pequeños en las competiciones de agilidad para principiantes (alrededor de 1,7 m/s). Las puntuaciones de Barkour van de 0 a 1, siendo 1 la correspondiente a que el robot atraviese con éxito todos los obstáculos a lo largo del curso dentro del tiempo asignado de aproximadamente 10 segundos, el tiempo promedio necesario para que un perro de tamaño similar atraviese el curso. El robot recibe penalizaciones por saltarse obstáculos, no superar obstáculos o moverse demasiado lentamente.

Nuestro curso estándar consta de cuatro obstáculos únicos en un área de 5m x 5m. Esta es una configuración más densa y pequeña que la típica en una competición de perros para permitir una fácil implementación en un laboratorio de robótica. Comenzando en la mesa de inicio, el robot debe tejer a través de un conjunto de postes, trepar un marco en forma de A, saltar un salto amplio de 0,5 m y luego subir a la mesa final. Elegimos este subconjunto de obstáculos porque prueban un conjunto diverso de habilidades mientras mantienen la configuración dentro de una huella pequeña. Al igual que en las competiciones de agilidad para perros reales, el benchmark Barkour se puede adaptar fácilmente a un área de curso más grande y puede incorporar un número variable de obstáculos y configuraciones de curso.

Resumen de la configuración de obstáculos del benchmark Barkour, que consta de postes, un marco en forma de A, un salto amplio y mesas de pausa. El mecanismo de puntuación intuitivo, inspirado en las competiciones de agilidad para perros, equilibra la velocidad, la agilidad y el rendimiento y se puede modificar fácilmente para incorporar otros tipos de obstáculos o configuraciones de curso.

Aprendiendo habilidades de locomoción ágiles

El benchmark Barkour presenta un conjunto diverso de obstáculos y un sistema de recompensa retrasado, lo que plantea un desafío significativo al entrenar una sola política que pueda completar todo el curso de obstáculos. Por lo tanto, para establecer una línea de base de rendimiento sólida y demostrar la efectividad del benchmark para la investigación de agilidad robótica, adoptamos un marco estudiante-maestro combinado con un enfoque sim-to-real sin disparo. En primer lugar, entrenamos habilidades de locomoción especialistas individuales (maestros) para diferentes obstáculos utilizando métodos RL on-policy. En particular, aprovechamos los avances recientes en simulación paralela a gran escala para equipar al robot con habilidades individuales, incluidas políticas de caminar, subir pendientes y saltar.

En primer lugar, entrenamos una política única (estudiante) que realiza todas las habilidades y transiciones entre ellas mediante el uso de un marco de trabajo estudiante-profesor, basado en las habilidades especializadas que entrenamos previamente. Utilizamos simulaciones para crear conjuntos de datos de pares estado-acción para cada una de las habilidades especializadas. Luego, destilamos este conjunto de datos en una única política generalista de locomoción basada en un transformador, que puede manejar varios terrenos y ajustar el paso del robot en función del entorno percibido y del estado del robot.

Durante la implementación, emparejamos la política de transformador de locomoción que es capaz de realizar múltiples habilidades con un controlador de navegación que proporciona comandos de velocidad en función de la posición del robot. Nuestra política entrenada controla el robot en función del entorno del robot representado como un mapa de elevación, comandos de velocidad e información sensorial a bordo proporcionada por el robot.

Pipeline de implementación para la arquitectura de transformador de locomoción. En el momento de la implementación, un controlador de navegación de alto nivel guía al robot real a través del curso de obstáculos enviando comandos a la política de transformador de locomoción.

La robustez y la repetibilidad son difíciles de conseguir cuando apuntamos al rendimiento máximo y la máxima velocidad. A veces, el robot puede fallar al superar un obstáculo de manera ágil. Para manejar los fallos, entrenamos una política de recuperación que pone rápidamente al robot de nuevo en pie, permitiéndole continuar el episodio.

Evaluación

Evaluamos la política generalista de locomoción basada en un transformador utilizando robots cuadrúpedos construidos a medida y mostramos que al optimizar para el criterio propuesto, obtenemos habilidades ágiles, robustas y versátiles para nuestro robot en el mundo real. Además, proporcionamos un análisis de varias opciones de diseño en nuestro sistema y su impacto en el rendimiento del sistema.

Modelo de los robots construidos a medida utilizados para la evaluación.

Implementamos tanto las políticas especializadas como las generalistas en hardware (de simulación a real). La trayectoria objetivo del robot se proporciona mediante un conjunto de puntos de referencia a lo largo de los diversos obstáculos. En el caso de las políticas especializadas, cambiamos entre políticas especializadas utilizando un mecanismo de cambio de política ajustado a mano que selecciona la política más adecuada dada la posición del robot.

Rendimiento típico de nuestras políticas ágiles de locomoción en el criterio de Barkour. Nuestro robot cuadrúpedo construido a medida navega de manera robusta por los obstáculos del terreno aprovechando varias habilidades aprendidas mediante RL en simulación.

Descubrimos que con mucha frecuencia nuestras políticas pueden manejar eventos inesperados o incluso la degradación del hardware, lo que resulta en un buen rendimiento promedio, pero los fallos siguen siendo posibles. Como se ilustra en la imagen a continuación, en caso de fallos, nuestra política de recuperación pone rápidamente al robot de nuevo en pie, permitiéndole continuar el episodio. Al combinar la política de recuperación con una simple política de volver al inicio, podemos realizar experimentos repetidos con una intervención humana mínima para medir la robustez.

Ejemplo cualitativo de comportamientos robustos y de recuperación. El robot tropieza y se voltea después de bajar por la estructura en forma de A. Esto activa la política de recuperación, que permite al robot levantarse y continuar el curso.

Descubrimos que, en un gran número de evaluaciones, la única política transformadora de locomoción generalista y las políticas especializadas con el mecanismo de cambio de política alcanzan un rendimiento similar. La política transformadora de locomoción tiene una puntuación Barkour promedio ligeramente más baja, pero exhibe transiciones más suaves entre comportamientos y pasos.

Medición de la robustez de las diferentes políticas en un gran número de ejecuciones en el benchmark de Barkour.
Histograma de las puntuaciones de agilidad para la política transformadora de locomoción. Las puntuaciones más altas que se muestran en azul (0,75-0,9) representan las ejecuciones en las que el robot completa con éxito todos los obstáculos.

Conclusión

Creemos que el desarrollo de un benchmark para la robótica con patas es un primer paso importante para cuantificar el progreso hacia la agilidad a nivel animal. Para establecer una base sólida, investigamos un enfoque sim-to-real de cero disparo, aprovechando la simulación en paralelo a gran escala y los avances recientes en la capacitación de arquitecturas basadas en Transformers. Nuestros hallazgos demuestran que Barkour es un benchmark desafiante que puede ser fácilmente personalizado, y que nuestro método de aprendizaje para resolver el benchmark proporciona a un robot cuadrúpedo una sola política de bajo nivel que puede realizar una variedad de habilidades ágiles de bajo nivel.

Agradecimientos

Los autores de esta publicación forman ahora parte de Google DeepMind. Nos gustaría agradecer a nuestros coautores en Google DeepMind y nuestros colaboradores en Google Research: Wenhao Yu, J. Chase Kew, Tingnan Zhang, Daniel Freeman, Kuang-Hei Lee, Lisa Lee, Stefano Saliceti, Vincent Zhuang, Nathan Batchelor, Steven Bohez, Federico Casarini, Jose Enrique Chen, Omar Cortes, Erwin Coumans, Adil Dostmohamed, Gabriel Dulac-Arnold, Alejandro Escontrela, Erik Frey, Roland Hafner, Deepali Jain, Yuheng Kuang, Edward Lee, Linda Luu, Ofir Nachum, Ken Oslund, Jason Powell, Diego Reyes, Francesco Romano, Feresteh Sadeghi, Ron Sloat, Baruch Tabanpour, Daniel Zheng, Michael Neunert, Raia Hadsell, Nicolas Heess, Francesco Nori, Jeff Seto, Carolina Parada, Vikas Sindhwani, Vincent Vanhoucke y Jie Tan. También nos gustaría agradecer a Marissa Giustina, Ben Jyenis, Gus Kouretas, Nubby Lee, James Lubin, Sherry Moore, Thinh Nguyen, Krista Reymann, Satoshi Kataoka, Trish Blazina y a los miembros del equipo de robótica de Google DeepMind por sus contribuciones al proyecto. Gracias a John Guilyard por crear las animaciones en esta publicación.