Volver a Blog

Comenzando con NVIDIA Isaac Lab para la formación en política de robots

Guía práctica de configuración de Isaac Lab <unk> instalación, entornos incorporados, entrenamiento de RL, consejos de rendimiento y exportación sim-to-real.

[← Blog] T1)

Isaac Lab es el camino más rápido para la capacitación de políticas de robots paralelas a GPU en 2025.

¿Qué es Isaac Lab?

Isaac Lab es el marco de simulación y aprendizaje de robots acelerado por GPU de NVIDIA, basado en Isaac Sim 4.0 (basado en el Omniverso). Suporta hasta 4.000 entornos paralelos en un solo A100, lo que permite la capacitación de políticas de RL que tardaría semanas en completarse en horas en simuladores basados en CPU. Está licenciado por el MIT, lo que significa que no hay restricciones en el uso comercial una ventaja significativa sobre algunas plataformas competidoras.

Isaac Lab no es principalmente un simulador de física delega la simulación al backend PhysX de Isaac Sim. Es un marco de entrenamiento: administra la vectorización del entorno, las definiciones de espacio de observación / acción, la computación de recompensas y la interfaz de bucle de entrenamiento con bibliotecas RL estándar (RSL-RL, RL-Games, Baselines estables3).

Instalación

Requisitos previos: Ubuntu 22.04, CUDA 12.1+, controlador NVIDIA ≥530. GPU mínimo: RTX 3090 (24 GB VRAM) para experimentos a pequeña escala; A100 80 GB para entrenamientos de producción.

  • ** Paso 1:** Instalar Isaac Sim 4.0 a través de pip: **pip instalar isaacsim==4.0.0 --extra-index-url T12 Esto extrae aproximadamente 15 GB de paquetes.
  • ** Paso 2:** Clone Isaac Lab y ejecuta el instalador: git clone T13 && cd IsaacLab && ./isaaclab.sh --install. Esto crea un entorno virtual con todas las dependencias y ejecuta una prueba de verificación.
  • ** Paso 3:** Verifique con una prueba sin cabeza: ./isaaclab.sh -p fuente/estándal/tutoriales/00_sim/crear_empty.py --headless. Tiempo total de configuración: aproximadamente 3045 minutos en una máquina nueva con Internet rápido.

Encuentros incorporados

Category Environment Robot Task
Manipulación Isaac-Alcance-Franka-v0 Franka Research 3 End-effector reach to target pose
Manipulación Isaac-Lift-Cube-Franka-v0 Franka Research 3 Grasp and lift cube
Manipulación Isaac-Open-Drawer-Franka-v0 Franka Research 3 Pull drawer open to target position
Locomotion Isaac-Velocity-Rough-Anymal-C-v0 ANYmal C Velocity tracking on rough terrain
Locomotion Isaac-Walk-Unitree-G1-v0 Unitree G1 Forward walking velocity tracking
Navigation Isaac-Navigation-Flat-v0 Generic diff-drive Goal-conditioned navigation

Caminar por el entrenamiento de RL

Formación de una política de cubos de elevación desde cero con PPO en 2.048 entornos paralelos:

  • Comando: ./isaaclab.sh -p fuente/autónomo/flujos de trabajo/rsl_rl/train.py --tarefa Isaac-Lift-Cube-Franka-v0 --num_envs 2048 --headless
  • Tiempo de ejecución esperado: Aproximadamente 8 horas en un solo A100 de 80 GB para alcanzar un 80% de éxito.
  • ** Qué ver:** El promedio de seguimiento del episodio (debería aumentar monótono después de 500K pasos), la tasa de éxito (el objetivo > 70% antes de la exportación) y la pérdida de valor (debería estabilizarse; si se desvía, reducir la tasa de aprendizaje).

Las hiperparámetros clave

Parameter Default Value Effect of Increasing
num_envs 2048 Better gradient estimates, higher GPU memory use
learning_rate 1e-3 Faster early learning, instability risk
gamma (discount) 0.99 Longer horizon planning, slower propagation
clip_param (PPO) 0.2 Less conservative updates, instability risk
num_mini_batches 4 Smaller batches, noisier gradients

Importar su propio robot (URDF/USD)

Isaac Lab admite la importación de modelos personalizados de robots en formato URDF (Formatos de Descripción de Robot Universal) o USD (Descripción de Escenas Universal). Para la mayoría de los equipos, el flujo de trabajo es: exportar URDF desde su herramienta CAD o paquete ROS, convertirlo en USD y registrarse como un activo de Isaac Lab.

# Convert URDF to USD using Isaac Sim's converter
./isaaclab.sh -p source/standalone/tools/convert_urdf.py \
  --input_path /path/to/your_robot.urdf \
  --output_path /path/to/your_robot.usd \
  --fix_base  # Set True for fixed-base arms, False for mobile robots

# Verify the import visually
./isaaclab.sh -p source/standalone/tutorials/00_sim/spawn_usd.py \
  --asset_path /path/to/your_robot.usd

Enfermedades comunes en la importación de URDF: desajustes de escala de malla (URDF utiliza medidores, algunas herramientas CAD exportan en milímetros), límites articulares incorrectos (PhysX aplica los límites articulares estrictamente - asegúrese de que coinciden con su robot real), y redes de colisión faltantes (Isaac Lab requiere geometría de colisión separada de geometría visual para la simulación física). El equipo de RCSV ha validado las importaciones de URDF para OpenArm, UR5e, Franka FR3, Kinova Gen3 y Unitree G1 - póngase en contacto con nosotros si necesita un activo USD preconfigurado para estas plataformas.

Configuración de la asignación aleatoria de dominio

La aleatorización de dominio es la técnica principal para reducir la brecha entre sim y real. Al aleatorizar las propiedades visuales y físicas durante el entrenamiento, la política aprende a ser robusta a las variaciones que se encontrarán en el robot real. Isaac Lab proporciona un marco de aleatorización incorporado con distribuciones configurables para cada parámetro.

Parámetros clave para la aleatorización y sus rangos recomendados:

Parameter Range Distribution Impact on Transfer
Object mass 0.5x-2x nominal Log-uniform High
Friction coefficient 0.3-1.2 Uniform High (contact tasks)
Joint damping 0.8x-1.5x nominal Uniform Medium
Actuador strength 0.7x-1.3x nominal Uniform High (locomotion)
Observation noise Gaussian, sigma 0.01-0.05 Gaussian Medium
Action delay 0-3 timesteps Uniform integer High (real-time control)
Gravity direction +/- 5 degrees from vertical Uniform Low-medium

Comience con rangos de aleatorización conservadores y ampliá-los gradualmente. La aleatorización demasiado agresiva hace que el entrenamiento sea más difícil sin mejorar la transferencia. Una buena heurística: si su política de sim logra menos del 60% de éxito con la aleatorización habilitada, los rangos son demasiado amplios. Reduzca los hasta que el rendimiento de sim alcance el 80% +, luego ampliá-los gradualmente mientras monitoreas el rendimiento en el mundo real.

Desempeño de la GPU: A100 vs RTX 4090 vs RTX 3090

GPU VRAM Max Envs (6-DOF arm) Steps/sec (PPO) Time to 80% (Lift-Cube) Cloud Cost/hr
A100 80GB 80 GB 4,096 ~180K 6-8 hr $3.50-4.50
RTX 4090 24 GB 1,024 ~120K 16-22 hr $1.00-1.50
RTX 3090 24 GB 512 ~65K 28-36 hr $0.60-0.80
H100 80GB 80 GB 4,096+ ~250K 4-6 hr $5.00-8.00

El punto de ventaja de la eficiencia en costes depende de los requisitos de velocidad de iteración. Para la investigación con frecuentes barridos de hiperparámetros, las instancias de nube A100 o H100 ahorran tiempo en el calendario a pesar del mayor costo por hora. Para las carreras de entrenamiento de producción donde se sabe que la configuración funciona, RTX 4090 ofrece el mejor costo por carrera de entrenamiento. El servicio de RCSV incluye computación de GPU. Contacte con nosotros para obtener precios de entrenamiento en masa.

Isaac Lab vs. Otros marcos de simulación

Feature Isaac Lab MuJoCo + Gymnasium RoboCasa (AI2)
GPU parallelism Native (4000+ envs) MJX (limited), CPU otherwise Limited (MuJoCo backend)
Rendering quality RTX path tracing Basic OpenGL MuJoCo renderer
Contact physics PhysX (fast, approximate) MuJoCo (accurate, slower) MuJoCo
License MIT Apache 2.0 MIT
RL integration RSL-RL, RL-Games, SB3 SB3, CleanRL, any Gym-compatible SB3, robosuite API
Best for High-speed RL training, sim-to-real Contact-rich tasks, research Home/kitchen environments

Isaac Lab es la opción correcta cuando la velocidad de entrenamiento es el cuello de botella, lo que es el caso de la mayoría de las tareas de manipulación y locomoción basadas en RL. MuJoCo es preferido cuando la precisión de física de contacto es crítica (objetos deformables, tareas de inserción apretadas) y los tamaños de los conjuntos de datos son manejables en la CPU. Para los equipos que necesitan ambos, RCSV recomienda el prototipo de funciones de recompensa en MuJoCo (iteración más rápida en el diseño de recompensa) y la escala a Isaac Lab para la capacitación de producción (convergencia más rápida del reloj de la pared).

Exportación sim-real

Isaac Lab admite la exportación de ONNX para políticas entrenadas: ./isaaclab.sh -p fuente/standalone/workflows/rsl_rl/export.py --task Isaac-Lift-Cube-Franka-v0 --checkpoint path/to/model.pth. El modelo ONNX exportado puede convertirse a TensorRT para su implementación en Jetson AGX Orin utilizando la herramienta trtexec de TensorRT.

La latencia de inferencia típica en Jetson AGX Orin después de la conversión de TensorRT: 515ms para políticas de hasta 10M parámetros bien dentro de los requisitos de control en tiempo real.

Comparación de rendimiento

Simulator Max Parallel Envs (A100 80GB) Physics Accuracy RL Training Speed
Isaac Lab (PhysX) 4,000+ Medium-high Fastest
MuJoCo (CPU) 50–100 High (contact) Slowest
PyBullet 10–20 Medium Slow
IsaacGym (legacy) 8,192 Medium Fast (deprecated)

RCSV proporciona entornos preconfigurados de Isaac Lab para tareas de manipulación personalizadas como parte de nuestros servicios de simulación.

Lectura relacionada

Entornos de RL preconfigurados

RCSV proporciona entornos de Isaac Lab preconfigurados para tareas de manipulación personalizadas con funciones de recompensa validadas.

[Explorar los entornos de RL]