La escalera de despliegue: sim → sim2sim → suspenso → chão
Todo 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.
1Los cuatro niveles y lo que cada clase de este curso les entrega
2Criterio de paso en el formato comando → salida esperada
3La cola de niveles: si falla, vuelve un nivel
4Tu plan con fechas
Objetivo: escribir la escalera sim → sim2sim → suspenso → chão con criterio de paso y de parada en cada nivel y verificarla por script.
01 · Los cuatro niveles
Haz clic en cada nivel. Solo se sube cuando el criterio es verdadero.
Haz clic en cada bloque del diagrama para ver qué hace.
Si falla en un nivel, vuelve al anterior con lo que aprendió: nuevo parámetro identificado, nuevo rango de aleatorización, nuevo criterio.
02 · La cola de niveles
Ejecútalo, mira cómo falla un nivel y ejecútalo de nuevo. Es el ciclo de la escalera.
subiendo
en el nivel
pasó
volvió
Simulación ilustrativa en el navegador. La falla en el nivel "Suspendido" es intencional, para mostrar el retorno.
03 · Tu escalera en YAML
Copia el modelo a ~/fth/escada.yaml y cámbialo por tu robot y tus criterios. El conferir_escada.py exige los 4 niveles en orden, con onde, criterio (comando → salida) y cuándo parar.
Archivo · kit/escada-modelo.yaml
# escada.yaml — la escalera de despliegue de tu política (FTH 2, clase 8)
# Cada nivel: qué se ejecuta, el criterio para subir (comando → salida esperada) y cuándo parar y volver.
politica: unitree_rl_lab G1 29 GDL velocity v0 (ONNX)
robo: Unitree G1 EDU (29 GDL)
degraus:
- nome: sim
onde: MuJoCo 3.16 + G1 do Menagerie, com as faixas de randomização do treino
criterio: "python3 kit/randomizar.py --seeds 20 --faixa treino → sobreviveu: 20/20"
parar_se: qualquer queda dentro da faixa do treino
- nome: sim2sim
onde: outro MJCF (unitree_mujoco) e o caminho de mensagens do robô (DDS, rt/lowcmd e rt/lowstate)
criterio: "python3 kit/portao_sim2sim.py --passo 0.001 --dds → PORTÃO: passou (3 de 3 etapas)"
parar_se: queda, velocidade fora de ±0,15 m/s, pernas no limite de torque ou política abaixo de 45 Hz
- nome: suspenso
onde: robô no pórtico, pés fora do chão, elástico ou cabo de segurança
criterio: "ensaio de bancada + sysid → kp identificado e atraso medido; a política mexe as pernas sem bater no limite"
parar_se: junta batendo no limite, vibração, temperatura subindo, atraso maior que o simulado
- nome: chao
onde: piso plano, área isolada, cabo frouxo no pórtico, pessoa no botão de parada
criterio: "teste no chão → 10 s parado + 10 s a 0,3 m/s sem queda, três vezes seguidas"
parar_se: tropeço, queda, qualquer pessoa dentro da área
Al final del cursoGap medido, actuador identificado, compuerta (gate) superada y escalera escrita.
8 clases
Haz clic en un ejercicio para ver qué hacer y el "listo cuando".
1/5
Gap
El gap de una policy lista, medido, y la cobertura de la domain randomization del entrenamiento comparada con el mundo de afuera.
1/5
Gap
El gap de una policy lista, medido, y la cobertura de la domain randomization del entrenamiento comparada con el mundo de afuera.
2/5
Actuador
El actuador del "robot real" identificado en el pórtico y el retardo medido por nivel, con la compensación que hace caminar al "real".
3/5
Compuerta (gate)
El simulador corregido con datos y la policy pasando por otro modelo y por el DDS del fabricante.
4/5
Escalera
El gemelo digital y la prueba en la física, y la escalera con criterio para subir y para detenerse en cada nivel.
5/5
El curso completo
Cuatro entregas en secuencia. La escalera es lo que el curso 4 (operar) aplica al robot de verdad.
El orden importa: el criterio de cada nivel usa la salida de una clase anterior.
06 · Genera tu plan con fechas
Elige la fecha de inicio y cuánto tiempo tienes por semana. El plan lista las prácticas de cada clase.
plano.md
07 · Prueba de la clase
La explicación aparece después de tu respuesta.
Pregunta 1 de 3
¿En qué nivel se hacen el ensayo de banco, el sysid y la medición de retardo (latencia) en el robot real?competencia
Correcto
Colgado, el robot mueve las piernas sin carga y sin riesgo de caída: es el nivel para medir el actuador real.
No es esa
Colgado, el robot mueve las piernas sin carga y sin riesgo de caída: es el nivel para medir el actuador real.Repasar: Los cuatro niveles
Pregunta 2 de 3
¿Qué hace que un criterio de nivel sea verificable?
Correcto
Si otra persona ejecuta el mismo comando y ve la misma salida, el nivel pasó. "Parece estable" no es un criterio.
No es esa
Si otra persona ejecuta el mismo comando y ve la misma salida, el nivel pasó. "Parece estable" no es un criterio.Repasar: Tu escalera en YAML
Pregunta 3 de 3
Un nivel falló (el retardo (latencia) real es mayor que el simulado). ¿Qué indica la escalera que hagas?
Correcto
La vuelta lleva la información nueva hacia abajo: el retardo (latencia) medido entra en el simulador (y en la randomización), y la policy sube de nuevo por la escalera.
No es esa
La vuelta lleva la información nueva hacia abajo: el retardo (latencia) medido entra en el simulador (y en la randomización), y la policy sube de nuevo por la escalera.Repasar: La cola de niveles
Prueba completada
Acertaste {a} de {n}. Si aciertas todas, la clase se marca como completada.
Elige una alternativa. La explicación aparece después de tu intento.
08 · En tres frases
NivelesSim, sim2sim, suspendido y piso, en ese orden.
CriterioCada nivel tiene comando → salida para subir y un motivo medible para detenerse.
VueltaSi falla, vuelve un nivel con lo que mediste; el curso 4 aplica la escalera al robot.