FTH 3 · Cuerpo completo|INEMA.CLUB-PRO

Clase 7 · 15 min

Cuando un VLA manda en el cuerpo entero

Un VLA ve la escena, entiende la petición y propone una acción, pocas veces por segundo. Quien convierte eso en movimiento seguro de 29 articulaciones, sin caerse, es el whole-body control. En esta clase le das comandos de alto nivel al G1 simulado y ves lo que ejecuta y lo que rechaza antes de moverse.

Comenzar la clase
Robot humanoide de visor oscuro colocando con cuidado una taza en una mesa, con un monitor desenfocado en primer plano.

En esta clase vas a

  1. 1Lo que el VLA entrega hacia abajo: objetivos, tokens o acciones
  2. 2WBC desacoplado: piernas por RL, brazos por IK
  3. 3La capa de abajo verifica antes de ejecutar
  4. 4El flujo VLA de punta a punta en el G1 (GR00T N1.7 + SONIC)

Objetivo: mandar comandos de alto nivel a un whole-body control simulado y ver cuáles ejecuta y cuáles rechaza.

01Del pedido al movimiento

Haz clic en cada bloque.

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

El VLA propone; el whole-body control revisa y ejecuta. La seguridad no puede depender solo del modelo de arriba.

02Cómo está armado esto en 2026

Haz clic en cada caso. Hechos con fuente; detalles del VLA en vla-v72.

1. Figure

Tres capas: S2 lento, S1 emitiendo objetivos de articulación a 200 Hz y S0 aprendido a 1 kHz, que reemplazó 109.504 líneas de C++ (27/01/2026).

El S0 se entrenó con más de 1.000 h de movimiento humano con retargeting y RL sim-to-real: las lecciones 2 a 4 de este curso a escala industrial.

03Cuatro comandos de alto nivel

El archivo de comandos hace el papel de la salida de un VLA. El comando_wbc.py revisa cada uno, ejecuta en 1 s (rampa + corrección en lazo cerrado a 50 Hz) y dice si la mano llegó.

Terminal · ejecutar comandos
F=${FTH:-$HOME/fth}; cd $F/corpo-inteiro && . $F/.venv/bin/activate
python3 kit/comando_wbc.py; echo "saída: $?"
Archivo · kit/comandos.json
{
  "descricao": "Salida de alto nivel, como la de un VLA a pocos Hz: el QUÉ hacer. Objetivos de la mano en metros, relativos a la pelvis (x hacia adelante, y hacia la izquierda, z hacia arriba).",
  "comandos": [
    {"acao": "alcancar", "mao": "direita", "alvo_m": [0.30, -0.20, 0.15]},
    {"acao": "girar_tronco", "graus": 20},
    {"acao": "alcancar", "mao": "esquerda", "alvo_m": [0.30, 0.25, 0.20]},
    {"acao": "voltar"}
  ]
}
Ejemplo del repositorio
comando 1 · alcancar direita (0.3, -0.2, 0.15) → executado: sim (mão a 1.1 cm do alvo)
comando 2 · girar_tronco 20° → executado: sim
comando 3 · alcancar esquerda (0.3, 0.25, 0.2) → executado: sim (mão a 1.0 cm do alvo)
comando 4 · voltar → executado: sim
robô de pé: sim · pelve a 0.79 m
executado: sim
saída: 0

Cuatro comandos, cuatro ejecuciones, mano a cerca de 1 cm de cada objetivo y el robot de pie al final.

04Práctica

Ejecutar, rechazar, escribir el tuyo.

E1 · Comandos del kit

5 min

Ejecuta los cuatro comandos del kit.

Listo cuando: python3 kit/comando_wbc.py; echo "saída: $?" → executado: sim y saída: 0.

E2 · Comandos malos

5 min

Ejecuta el archivo de comandos malos y lee el motivo de cada rechazo.

Listo cuando: python3 kit/comando_wbc.py --comandos kit/comandos-ruins.json | tail -1 → executado: não · 3 comando(s) recusado(s).

E3 · Tu secuencia

10 min

Escribe ~/fth/movimentos/meus-comandos.json con cinco comandos (las dos manos, un giro de tronco y volver) y ejecútalo. Si alguno es rechazado, el motivo dice la distancia hasta el hombro: el brazo alcanza 0,38 m hasta la muñeca.

Listo cuando: python3 kit/comando_wbc.py --comandos ~/fth/movimentos/meus-comandos.json | tail -1 → executado: sim.

05Prueba de la clase

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

Pregunta 1 de 3

El VLA manda alcanzar un punto a 92 cm del hombro. ¿Qué debe hacer la capa de abajo?competencia

06En tres frases

El qué × el cómoEl VLA dice el qué; el whole-body control decide el cómo.
ContratoLa interfaz (objetivos, tokens) es lo que conecta a uno con el otro.
RevisarLa capa de abajo rechaza lo que no se puede hacer, antes de moverse.

Para ir más allá

Clase anteriorSiguiente clase