FTH 3 · Cuerpo completo|INEMA.CLUB-PRO

Clase 4 · 15 min

Una policy que imita cualquier movimiento

Tener el movimiento en el formato del robot no es hacerlo ejecutar. Si mandas solo los ángulos a los motores, imita por un segundo y se cae: nadie cuida el equilibrio. En esta clase reproduces el boxeo en MuJoCo con y sin pórtico, mides el error de cada articulación y ves qué resuelven BeyondMimic, GMT y SONIC.

Comenzar la clase
Robot humanoide de visor oscuro en guardia de boxeo en un laboratorio, con un puño en leve desenfoque de movimiento y un cable de seguridad arriba.

En esta clase vas a

  1. 1Reproducir una referencia con el PD de las articulaciones
  2. 2Error de seguimiento en grados, por articulación
  3. 3Por qué seguir ángulos no equilibra al robot
  4. 4BeyondMimic (hoy en mjlab), GMT y SONIC: qué hace cada uno

Objetivo: reproducir el movimiento en MuJoCo con y sin pórtico y explicar por qué hace falta una policy de motion tracking.

01De la referencia al robot de pie

Haz clic en cada bloque.

Haz clic en cada bloque del diagrama para ver qué hace.

Pórtico virtual = la base se recoloca en la pose de la referencia en cada paso, como un robot suspendido en la primera prueba.

02Quién resuelve el rastreo en 2026

Haz clic en cada uno. Todos entrenan en GPU; aquí se muestran, no se ejecutan.

1. BeyondMimic

Hace motion tracking de movimientos dinámicos (giro, carrera, estrella) y usa una policy de difusión guiada para tareas sin entrenamiento específico (arXiv 2508.08241, ago/2025). El repositorio whole_body_tracking fija Isaac Lab 2.1.0.

El 15/10/2026 el README de ese repositorio dice que fue retirado: el motion tracking de BeyondMimic continúa en mjlab, en la tarea Mjlab-Tracking-Flat-Unitree-G1.

03Replay con la pelvis en el pórtico

Las articulaciones reciben la referencia en cada paso de 2 ms; la base se recoloca en la pose de la referencia. El error es la diferencia entre el ángulo medido y el de la referencia en el paso siguiente.

Terminal · con pórtico
F=${FTH:-$HOME/fth}; cd $F/corpo-inteiro && . $F/.venv/bin/activate
python3 kit/reproduzir.py $F/movimentos/boxe_g1.npz; echo "saída: $?"
Fragmento · kit/reproduzir.py
        if a.modo == "portico":
            fth.portico(d, r[:7])
        d.ctrl[mot] = r[adr]
        mujoco.mj_step(m, d)
Ejemplo del repositorio
movimento: boxe_g1.npz · 1200 quadros a 120 Hz · 10.0 s · modo portico
passos de física: 4995 (2 ms cada)
erro médio de junta: 0.3° · pior junta: right_shoulder_roll_joint (1.9°)
queda: não
saída: 0

Error medio de 0,3°: con el cuerpo sostenido, el PD da abasto. El hombro derecho, que más se mueve en el boxeo, es el peor.

04Lo que se usa a escala (mostrado)

Comando del README de mjlab (commit 8bb2bc9, 18/10/2026). Pide una GPU NVIDIA y una cuenta en WandB para el registro de los movimientos; no se ejecutó aquí y no es un requisito previo del curso.

Mostrado · mjlab, motion tracking en el G1 (no ejecutado aquí)
# github.com/mujocolab/mjlab · README (commit 8bb2bc9, 18/10/2026)
uv run train Mjlab-Tracking-Flat-Unitree-G1 --registry-name your-org/motions/motion-name --env.scene.num-envs 4096
uv run play Mjlab-Tracking-Flat-Unitree-G1 --wandb-run-path your-org/mjlab/run-id

05Práctica

Medir con y sin pórtico.

E1 · Con pórtico

5 min

Ejecuta el replay del boxeo con la pelvis en el pórtico.

Listo cuando: python3 kit/reproduzir.py ~/fth/movimentos/boxe_g1.npz | tail -2 → erro médio de junta: 0.3° y queda: não.

E2 · Sin pórtico

5 min

Ejecútalo con --modo livre y anota el instante de la caída.

Listo cuando: python3 kit/reproduzir.py ~/fth/movimentos/boxe_g1.npz --modo livre | tail -1 → queda: sim, em t = 1.68 s.

E3 · El segundo fragmento

5 min

Si hiciste el E3 de la clase 3, reproduce boxe_trecho2.npz con pórtico y compara el error medio y la peor articulación.

Listo cuando: python3 kit/reproduzir.py ~/fth/movimentos/boxe_trecho2.npz | grep erro → erro médio de junta: 1.5°.

06Prueba de la clase

La explicación aparece después de tu respuesta.

Pregunta 1 de 3

Sin pórtico, el error de articulación es pequeño y aun así el G1 cae. ¿Por qué?competencia

07En tres frases

ReplaySeguir los ángulos funciona con el cuerpo sostenido y falla cuando está suelto.
PolicyLa policy de motion tracking mira el estado y la referencia futura, y se encarga del equilibrio.
Dónde entrenarmjlab (con el pipeline de BeyondMimic) o SONIC ya listo, en GPU.

Para ir más allá

Clase anteriorSiguiente clase