PTENES
← Volver a la Ruta 2 MÓDULO 2.3

🌐 Simuladores: MuJoCo, Isaac Sim, Habitat

Los datos reales son costosos y peligrosos; la simulación es barata, segura y paralelizable en miles de entornos. Aquí comparas MuJoCo/MJX, Isaac Sim/Lab y Habitat, entiendes la brecha sim-real y mides la generalización en LIBERO y Meta-World.

6
Temas
45
Minutos
Inter.
Nivel
Práctica
Tipo

Contenido detallado

N entornos paralelos en la GPU → una política entorno 1 entorno 2 entorno 3 … env N Política batched rollout Update grad / RL
1

🔹 Por qué simular: barato, seguro, paralelo, reinicios infinitos

Cada demo real requiere una persona, un robot y tiempo de reloj. En simulación, un clúster genera millones de trayectorias de madrugada, sin desgaste mecánico ni colisiones costosas. Es crucial para RL, que necesita órdenes de magnitud más interacciones que la imitación.

📊 Las cuatro ventajas

  • Costo — sin desgaste del hardware ni un operador humano por trayectoria.
  • Seguridad — las políticas deficientes rompen píxeles, no actuadores.
  • Paralelismo — miles de entornos simultáneos en la GPU.
  • Reinicio infinito — ground truth del estado, aleatorización programática, replay.

⚡ Consejo práctico

Sim no sustituye lo real: lo complementa. La receta ganadora es sí para volumen + RL e real para el ajuste fino final con pocas demos. Intentar transferir el 100% de la simulación sin datos reales suele frustrar.

Costo

Datos casi gratis.

Seguridad

Falla sin daño físico.

Paralelismo

Miles de entornos.

Ground truth

Estado exacto disponible.

2

🔹 MuJoCo / MJX: contacto preciso y física diferenciable

MuJoCo (Multi-Joint dynamics with Contact, hoy open-source de DeepMind) es una referencia para la física del contacto y la fricción en manipulación. MJX reimplementa el solver en JAX, ejecutando miles de simulaciones en GPU/TPU con vmap y gradientes mediante grad — abriendo la optimización diferenciable de trayectorias.

pip install mujoco mujoco-mjx jax[cuda12]

import mujoco, mujoco.mjx as mjx, jax
model = mujoco.MjModel.from_xml_path("scene.xml")   # MJCF
mx = mjx.put_model(model)

@jax.vmap                       # 4096 mundos em paralelo
def step(state, ctrl):
    data = mjx.step(mx, state.replace(ctrl=ctrl))
    return data
# jax.grad(step) -> física diferenciável

⚡ Consejo práctico

Las escenas en MuJoCo son MJCF (XML). Empieza con los modelos de mujoco_menagerie (Franka, ALOHA, manos) en lugar de modelarlo desde cero: una geometría de colisión incorrecta es la causa nº 1 de una física inestable.

MuJoCo

Contacto preciso.

MJX

JAX, vmap en GPU.

Diferenciable

Gradiente de la dinámica.

MJCF

Escena en XML.

3

🔹 NVIDIA Isaac Sim / Isaac Lab: simulación GPU con RTX

Isaac Sim (sobre Omniverse/PhysX 5) ofrece física y renderizado RTX en la GPU; Isaac Lab es el framework de RL/aprendizaje encima de él, que ejecuta miles de entornos paralelos sin salir de la GPU: observaciones, física y política conviven en la misma VRAM, eliminando el cuello de botella CPU↔GPU.

📊 Por qué importa la escala

  • PhysX 5 en GPU — miles de entornos, sin viajes de ida y vuelta a la CPU.
  • RTX — la renderización fotorrealista es útil para sim-to-real visual.
  • USD/OpenUSD — formato de escena interoperable y modular.
  • Sensores — cámaras, LiDAR y RGB-D sintéticos listos.

✓ Hacer

  • ✓Usar Isaac Lab para RL masivo (locomoción, whole-body).
  • ✓Aprovechar RTX para la aleatorización visual del dominio.
  • ✓Verifica los requisitos de GPU NVIDIA + drivers antes de empezar.

✗ Evitar

  • ✗Esperar ejecutar Isaac Sim en hardware que no sea NVIDIA.
  • ✗Confundir el fotorrealismo con la fidelidad física.
  • ✗Ignorar el costo de configuración; MuJoCo es más ligero para prototipos.

Isaac Sim

Omniverse + PhysX 5.

Isaac Lab

Framework de RL.

RTX

Renderizado fotorrealista.

OpenUSD

Escena interoperable.

4

🔹 Habitat y compañía: navegación y embodied QA

Habitat (Meta) se enfoca en entornos 3D fotorrealistas para navegación e preguntas y respuestas sobre el mundo físico — el agente se desplaza por escenas escaneadas (HM3D, Matterport) respondiendo «¿dónde está la llave?». Está en otro punto del espectro: menos manipulación por contacto, más percepción espacial y exploración.

📊 Espectro de simuladores

  • MuJoCo — contacto y manipulación, física de alta precisión.
  • Isaac Sim — escala + RTX, locomoción y manipulación.
  • Habitat — navegación, EQA, escenas reales escaneadas.
  • Genesis / SAPIEN — nuevas opciones 2024-26, velocidad y articulados.
import habitat_sim
cfg = habitat_sim.SimulatorConfiguration()
cfg.scene_id = "data/scene_datasets/hm3d/00800-TEEsavR23oF.glb"
sim = habitat_sim.Simulator(habitat_sim.Configuration(cfg, [agent_cfg]))
obs = sim.step("move_forward")   # navegação em cena escaneada real
obs["rgb"], obs["depth"]         # sensores sintéticos

Habitat

Navegación 3D.

EQA

Preguntas incorporadas.

HM3D

Escenas escaneadas.

SAPIEN

Objetos articulados.

5

🔹 La brecha de física y renderizado (sim ≠ real)

Ningún simulador es el mundo. El brecha entre la simulación y la realidad aparece con la fricción mal modelada, los objetos deformables y los líquidos, el ruido y la latencia de los sensores, y el dominio visual (iluminación, texturas). Una policy que acierta el 95% en sim puede desplomarse en el entorno real: es un tema central de la Trilha 3.

1

Física

La fricción, el contacto, los materiales deformables y los fluidos son aproximaciones; los objetos rígidos son fáciles, las telas no.

2

Sensores

El RGB-D real tiene ruido, huecos y latencia que el renderizado perfecto ignora.

3

Apariencia

La distribución visual difiere; la aleatorización de dominio lo mitiga (Trilha 3).

⚡ Consejo práctico

Evalúa en el mundo real (o en una simulación diferente de la de entrenamiento). Reportar solo el success rate en la simulación de entrenamiento es la forma más común de engañarse sobre una policy.

Brecha de realidad

Sim ≠ real.

Deformables

Telas/fluido difíciles.

Ruido del sensor

RGB-D imperfecto.

Eval honesta

Medir la transferencia al mundo real.

✓ Hacer

  • ✓Aleatorizar la física/lo visual durante el entrenamiento para cerrar la brecha.
  • ✓Reservar una simulación o escenario de evaluación separado del de entrenamiento.
  • ✓Validar en el robot real antes de declarar el éxito.

✗ Evitar

  • ✗Reportar la tasa de éxito solo en la simulación de entrenamiento.
  • ✗Modelar objetos deformables y fluidos como rígidos y confiar en el resultado.
  • ✗Ignorar el ruido y la latencia de sensores reales en el pipeline.
6

🔹 Benchmarks: LIBERO, Meta-World, RoboSuite

Los benchmarks estandarizan la comparación. LIBERO mide el aprendizaje continuo y la transferencia de conocimiento en manipulación (LIBERO-Spatial, Object, Goal, Long); Meta-World ofrece 50 tareas para meta/multi-task RL; RoboSuite (MuJoCo) es una suite modular de manipulación muy utilizada en papers de VLA.

⚡ Consejo práctico

Reporta el benchmark completo, no solo la suite donde tu modelo destaca. Elegir cuidadosamente una sola suite LIBERO es el «p-hacking» de la robótica: revisores y la comunidad esperan las cuatro suites más el promedio.

# avaliar OpenVLA fine-tunado em LIBERO (suites padrão)
python run_libero_eval.py \
  --model_path outputs/openvla-libero \
  --task_suite_name libero_spatial \
  --num_trials_per_task 50
# reporta success rate médio por suite -> número comparável entre papers

📊 Qué mide cada uno

  • LIBERO — lifelong learning, 4 suites de transferencia.
  • Meta-World — 50 tareas, ML1/ML10/ML45 para generalización.
  • RoboSuite — manipulación modular, base de muchos VLAs.

LIBERO

Aprendizaje permanente / transferencia.

Meta-World

50 tareas multi-task.

RoboSuite

Manipulación modular.

Tasa de éxito

Métrica comparable.

✅ Resumen del módulo

✓
Simular — barato, seguro, paralelo y con reinicio infinito.
✓
MuJoCo/MJX — contacto preciso y física diferenciable en JAX.
✓
Isaac Sim/Lab — escala de GPU y RTX para RL masivo.
✓
Brecha de realidad — sim ≠ real; evalúa con honestidad.
✓
Benchmarks — LIBERO, Meta-World, RoboSuite comparan policies.

Próximo módulo

2.4 — ROS2: el middleware que lleva tu policy del simulador al brazo real, con tf2, MoveIt2 y tiempo real.