Esta publicación fue escrita en colaboración con Antoine Pirrone, Augustin Crampette, Matthieu Lapeyre, Coralie Deplanne, Anne-Charlotte Passanisi y Thomas Wolf.
TL;DR
Microduck es un nuevo robot bípedo de código abierto y asequible, recién lanzado por Pollen Robotics y Hugging Face. Y ahora puedes entrenar Microduck para caminar con Isaac Lab y Newton. Prueba la política, expórtala como ONNX y despliégala en el robot real. Compártela en el Hugging Face Hub o valídala para competir en Microduck Arena, y luego explora tareas más avanzadas con NVIDIA Isaac Lab.
Introducción
Una política de caminata entrenada en simulación también debe manejar la fricción, los retrasos y el juego mecánico de los servos de un robot real. NVIDIA Isaac Lab es un marco de código abierto para entrenar políticas a través de miles de simulaciones paralelas en GPU. Con Newton, el modelado de actuadores y la aleatorización de dominio, los desarrolladores pueden preparar políticas para hardware real. Microduck da vida a este flujo de trabajo: entrena una política de caminata en simulación, expórtala como ONNX y despliégala en un robot bípedo real.
Este tutorial te guía a través del entrenamiento y la evaluación de Microduck con Isaac Lab y Newton, y luego la exportación de la política para su despliegue. A partir de ahí, puedes compartir tu modelo en el Hugging Face Hub, probar su compatibilidad y competir en Microduck Arena, o ponerlo a trabajar en tu propio Microduck. Caminar es el punto de partida, con ejemplos enlazados que te ayudarán a explorar más de Isaac Lab 3.0.
1. Instala Isaac Lab y prepárate para el entrenamiento de Microduck
Para la parte de simulación y entrenamiento, necesitarás:
Una estación de trabajo Linux con una GPU y un controlador de NVIDIA compatibles. Consulta los requisitos.
Git y uv.
Para el despliegue, también necesitarás:
Un Microduck físico configurado.
Su software de robot a bordo está instalado y funcionando.
Una interfaz de control compatible, como un gamepad emparejado.
Instalación rápida
En Linux con una GPU y un controlador de NVIDIA compatibles, instala uv (omite las dos primeras líneas si ya está disponible), clona Isaac Lab e instala sus dependencias:
curl -LsSf https://astral.sh/uv/install.sh | sh
source "$HOME/.local/bin/env"
git clone --branch develop https://github.com/isaac-sim/IsaacLab.git
cd IsaacLab
uv sync
Confirma que las tareas y los preajustes de Microduck están disponibles:
uv run isaaclab list_envs --keyword MicroDuck --show_presets
2. Comprende el entorno de Microduck listo para entrenar
Isaac Lab ya proporciona el modelo del robot de Microduck, la escena, las observaciones, las acciones, las recompensas y la aleatorización de dominio. Comience con la tarea de caminar en terreno plano; la variante rugosa añade escaleras, pendientes y terreno irregular.
Figura 2. Entornos de Microduck uno al lado del otro: terreno plano (izquierda) y terreno irregular (derecha).
La política toma 61 valores de observación y produce 14 posiciones de articulaciones. Mantenga el orden de las observaciones, la normalización y el escalado de acciones consistentes al exportar y desplegar. Vea la configuración de la tarea Microduck para el detalle completo de las observaciones, las recompensas y los ajustes de simulación.
3. Acelere el entrenamiento de locomoción con entornos paralelos de Isaac Lab
Isaac Lab acelera el entrenamiento de locomoción de Microduck ejecutando entornos simulados en paralelo en la GPU. Isaac Lab también puede ejecutar entrenamiento distribuido entre varias GPU, por ejemplo, entrenar con 16 GPU para acelerar el entrenamiento y aumentar la robustez. En esta configuración, podemos alcanzar hasta 1.25M de pasos por segundo con terreno rugoso y juego mecánico (backlash) habilitado.
En este tutorial, usamos Newton con el solver MJWarp y Better Actuator Models (BAM), con sede en Newton para modelar la respuesta del servomotor, junto con el valor preestablecido de holgura mecánica (backlash) para convertir los objetivos de posición en pares realistas del servomotor mediante el modelado del controlador del firmware, los límites eléctricos del motor, la fricción y el retardo. Para permitir que la política se transfiera desde la simulación, utilizamos la aleatorización de dominios. En cada pato aleatorizamos la masa/centro de masa, la fricción del suelo, la inercia de las articulaciones, los desvíos de los codificadores, el voltaje/caída de tensión de la batería y la latencia de los comandos. También variamos el terreno y aplicamos empujones; así como la holgura mecánica (backlash) de forma independiente por articulación para representar el desgaste desigual.
La holgura (backlash) es el juego mecánico en una caja de cambios; cuando una articulación cambia de dirección, la transmisión puede moverse ligeramente antes de engranar. Modelar este efecto y variarlo entre articulaciones durante el entrenamiento expone la política a diferencias que puede encontrar en el robot real.
Ejecute este comando para iniciar el entrenamiento:
uv run isaaclab train \
--rl_library rsl_rl \
--task IsaacContrib-Velocity-Rough-MicroDuck \
--num_envs 4096 \
presets=backlash
Usamos el terreno accidentado para el despliegue, pero alternativamente puedes entrenar el entorno de terreno plano con este comando:
uv run isaaclab train \
--rl_library rsl_rl \
--task IsaacContrib-Velocity-Flat-MicroDuck \
--num_envs 4096 \
presets=backlash
4. Evaluar la política de caminata de Microduck y exportarla a ONNX
Para desplegar una política de Microduck en el robot físico, expórtala a ONNX después de evaluarla en simulación. El flujo de trabajo de reproducción de RSL-RL de Isaac Lab exporta automáticamente tanto los archivos TorchScript (policy.pt) como ONNX (policy.onnx). Usa policy.onnx con el runtime integrado de Microduck, manteniendo el orden de las observaciones, la normalización y el escalado de acciones coherentes con el entrenamiento.
Ejecuta el último checkpoint en el visualizador Newton:
uv run isaaclab play \
--rl_library rsl_rl \
--task IsaacContrib-Velocity-Rough-MicroDuck \
--checkpoint latest \
--num_envs 16 \
--viz newton_gl \
presets=backlash
Reemplazar latest con la ruta hacia un punto de control específico.
Figura 4. Microducks ejecutan una política de caminata sobre terreno irregular en simulación.
Exportar la política para Microduck
Para el despliegue usaremos la política para el entorno de terreno accidentado. La implementación actual de reproducción de RSL-RL exporta tanto archivos TorchScript como ONNX a un exported directorio asociado a la ejecución seleccionada:
exported/
├── policy.pt
└── policy.onnx
El runtime integrado de Microduck carga políticas ONNX. Use policy.onnx para la transferencia de hardware. La exportación automática está implementada en el Isaac Lab's Backend de reproducción de RSL-RL.
5. Comparte políticas en Hugging Face y evalúalas en Microduck Arena
Con policy.onnx exportado, puede:
Compárelo en Microduck Arena, un Hugging Face Space para probar políticas compatibles en desafíos compartidos y comparar resultados de clasificaciones. Arena acepta modelos con 61 valores de observación, 14 valores de acción y un tamaño máximo de 64 MiB. Sigue la guía de envío para comprobar la compatibilidad y participar en un desafío.
Ejecútelo en el Microduck real. Tras verificar la interfaz de observación y acción de la sección 4, use el archivo ONNX con el runtime integrado del robot; la sección 6 cubre la transferencia al hardware.
Compártelo en el Hugging Face Hub. Sube tu política para que otros puedan descubrirla y descargarla. Recomendamos añadir una breve model card que explique cómo usarla. También puedes incluir la configuración de entrenamiento para ayudar a otros a reproducir tus resultados.
6. Desplegar la política de locomoción ONNX en un Microduck real
Tras validar la política en simulación y comprobar su interfaz (sección 4), despliegue policy.onnx en un Microduck configurado:
- Copie la política desde su estación de trabajo, reemplazando ROBOT_HOST por el nombre de host o la dirección IP del robot:
scp exported/policy.onnx microduck@ROBOT_HOST:/home/microduck/my_walking.onnx
- Conéctese al robot e inspeccione sus políticas actuales:
ssh microduck@ROBOT_HOST
robotctl policy list
- Apoye el robot en su soporte y, a continuación, cargue la política de marcha. Si ya está caminando, la carga lo devuelve a su postura de inicio y reanuda el movimiento.
sudo robotctl policy load walk /home/microduck/my_walking.onnx
- Use los controles documentados para probar la postura de pie, la caminata lenta, el giro y la detención. Supervise su estado; restaure la política de marcha predeterminada si es necesario:
robotctl monitor
sudo robotctl policy reset walk
Siga la guía de carga de políticas de Microduck para la configuración y el comportamiento en tiempo de ejecución. La Figura 5 demuestra la robustez de la política desplegada frente a caídas: Microduck recupera el equilibrio y reanuda la marcha después de ser derribado.
Figura 5. Microduck real caminando con la política de locomoción entrenada en Isaac Lab.
7. Extienda el entrenamiento de Microduck a terreno accidentado y tareas de percepción con Isaac Lab
Isaac Lab 3.0 desbloquea el aprendizaje robótico en paralelo en GPU en locomoción, manipulación diestra y tareas basadas en visión, con entornos extensibles y backends de física y renderizado configurables. Explore estos ejemplos y herramientas:
Locomoción más compleja: Adapta la tarea de terreno accidentado de Microduck para escaleras, pendientes y suelo irregular, con un currículo que aumenta la dificultad del terreno.
Tareas de percepción y navegación: Amplía la política de marcha de Microduck con observaciones de profundidad de la cámara frontal y del estado del robot para explorar tareas basadas en la percepción en simulación. El GIF siguiente muestra el traversal de una rampa. Explora las observaciones basadas en cámara en los ejemplos de Kuka–Allegro para manipulación con visión.
Manipulación diestra: Prueba las tareas de elevación y reorientación de Kuka–Allegro para entrenar un brazo y una mano multifinger a manipular objetos.
Entornos personalizados: Usa el generador de proyectos para crear tu propia tarea, luego añade activos SimReady (listos para simulación) de la SimReady Central Libraryy adapta observaciones y recompensas a nuevos desafíos.
Figura 7. El entrenamiento paralelo en NVIDIA Isaac Lab permite que Microducks simulados practiquen el traversal de diferentes rampas y plataformas, mientras aprenden a mantener el equilibrio y evitar caídas
Figura 8. Tarea de percepción de Microduck en simulación, con una vista externa arriba y vistas RGB, de profundidad y de segmentación abajo.
Construye tu próxima política de marcha
Comienza con la tarea de Microduck en Isaac Lab, entrena tu primera política de marcha y comparte el modelo ONNX exportado en el Hugging Face Hub. Valídala en Microduck Arena, participa en un desafío y comprueba cómo se compara tu política. Luego construye sobre lo que aprendas: prueba terrenos más accidentados, añade percepción o crea tu propia tarea.
Recursos
Página principal de Microduck (pedidos, inicio rápido, instalación)
Agradecimientos
Este flujo de trabajo se basa en el hardware y software de Microduck de Pollen Robotics, el proyecto original de aprendizaje por refuerzo de Microduck, el trabajo de modelado del actuador BAM, y las integraciones de Isaac Lab y Newton.