FTH 2 · Del simulador al suelo|INEMA.CLUB-PRO

FTH — Formación Tecnológica en Humanoides · curso 2 de 5 · 8 clases

Del simulador al suelo: sim-to-real en humanoides

Una policy de marcha que camina en el simulador y se cae en el robot. En ocho clases mides esa brecha, pruebas la domain randomization, identificas el actuador, mides el retardo (latencia), corriges el simulador con datos, pasas la policy por una compuerta (gate) sim2sim con DDS y armas la escalera hasta el suelo. Todo en CPU, sin robot.

Robot humanoide industrial de pie sobre el suelo de un laboratorio oscuro, sujeto a un pórtico por un cable flojo, con un monitor de simulación al fondo y el título Del simulador al suelo.
  • 8clases
  • 125minutos de clase
  • 24ejercicios con "listo cuando"
  • 3pasos en la compuerta (gate) sim2sim (con DDS)

Las clases

De la brecha medida a la escalera de despliegue: randomización, identificación de sistemas, retardo (latencia) del actuador, corrección con datos, sim2sim, real-to-sim y el plan hasta el suelo.

  1. Clase 1 · 16 minDónde miente el simulador en un humanoideUna política que camina en el simulador y se cae en el robot: ese es el problema del curso. En esta clase montas el banco de pruebas, ejecutas la política de marcha lista del Unitree G1 en el "sim" y en un "real simulado" con parámetros ocultos, y descubres que ninguna diferencia sola la tumba; la suma de ellas, sí.
  2. Clase 2 · 16 minDomain randomization: entrenar para el mundo variadoSi el simulador nunca acierta con el mundo, se entrena la política en muchos mundos sorteados. En esta clase lees los rangos que la propia Unitree randomizó en el entrenamiento de la política, sorteas 20 mundos dentro de ellos y 20 fuera, y mides la diferencia. La política aguanta lo que vio en el entrenamiento y falla justo después.
  3. Clase 3 · 17 minIdentificación de sistemas: medir para modelarRandomizar cubre lo que no sabes; identificar reduce lo que no sabes. En esta clase cuelgas el "robot real" del pórtico, haces que la pierna se balancee en un barrido de frecuencia, grabas los encoders y usas el toolbox de identificación de sistemas del propio MuJoCo para descubrir el kp y el kd que el motor entrega de verdad.
  4. Clase 4 · 16 minEl actuador de verdad: retardo, límite de torque y actuator networkEntre que la política decide y el motor gira hay red, bucle del controlador y PD del motor. En esta clase mides el retardo (latencia) del "robot real" con un escalón en la rodilla, cuentas las caídas que causan 20 y 40 ms bajo empujón y compensas el kp identificado en la clase 3.
  5. Clase 5 · 15 minCorregir con datos del robot: delta action y similaresA veces el gap no cabe en dos parámetros. La idea de ASAP (RSS 2025) es aprender la acción que falta: un modelo que, sumado al comando dentro del simulador, hace que repita lo que hizo el robot real. En esta clase ajustas una versión mínima de esa idea con el log del ensayo de banco y mides el error del simulador antes y después.
  6. Clase 6 · 18 minSim2sim como compuerta (gate) antes del robotAntes de cualquier robot, la policy tiene que pasar por un segundo simulador y por el mismo camino de mensajes que usa el robot. Es el flujo oficial de unitree_rl_lab: entrenar en Isaac Lab, validar en unitree_mujoco y solo después el G1. En esta clase armas esa compuerta (gate) en tres etapas, con DDS de verdad, y ves el error que más derriba policies en esa travesía.
  7. Clase 7 · 14 minReal-to-sim: llevar el mundo real al simuladorHasta aquí el camino fue del simulador al robot. El camino inverso también existe: fotografiar el lugar real y montar un gemelo digital donde el robot entrena y se prueba antes. En esta clase corres el gemelo del proyecto robotica-real2sim (un brazo, no un humanoide) en el venv del curso, pruebas un plan en la física y ves dónde está esto para humanoides en 2026.
  8. Clase 8 · 13 minLa escalera de despliegue: sim → sim2sim → suspenso → chãoTodo lo de este curso se convierte en un plan: cuatro niveles, cada uno con lo que corre, el criterio para subir y el motivo para parar y volver. En esta clase escribes tu escalera en un archivo YAML, la verificas con un script y simulas la cola de niveles con una falla en el medio. El procedimiento de seguridad con el robot encendido es del curso 4.

Para quién es

  1. 1Para quien programa en Python, ya vio ROS 2 (o hizo el curso robot) y quiere llevar una policy de humanoide al robot.
  2. 2Para quien no tiene humanoide: el "robot real" de las prácticas es un MuJoCo con parámetros ocultos, dicho como tal.
  3. 3Para quien hizo el curso 0 (banco ~/fth) y el curso 1 (locomoción por RL), o quiere empezar con una policy ya lista.

Lo que sabrás hacer al final

  1. 1Medir la brecha de una policy ya lista y encontrar qué parámetros la derriban.
  2. 2Leer los rangos de randomización de un entrenamiento real y probar dentro y fuera de ellos.
  3. 3Identificar el kp del actuador con el toolbox mujoco.sysid y medir el retardo (latencia) en el banco.
  4. 4Pasar la policy por una compuerta (gate) sim2sim con otro modelo y DDS, y escribir la escalera hasta el suelo.