FTH 2 · Do simulador ao chão|INEMA.CLUB-PRO

Aula 8 · 13 min

A escada de implantação: sim → sim2sim → suspenso → chão

Tudo deste curso vira um plano: quatro degraus, cada um com o que roda, o critério para subir e o motivo para parar e voltar. Nesta aula você escreve a sua escada num arquivo YAML, confere com um script e simula a fila de degraus com uma falha no meio. O procedimento de segurança com o robô ligado é do curso 4.

Começar a aula
Área de testes de um laboratório com um robô humanoide preso a um pórtico, piso demarcado por fita amarela e um botão vermelho de parada em primeiro plano.

Nesta aula você vai

  1. 1Os quatro degraus e o que cada aula deste curso entrega a eles
  2. 2Critério de passagem no formato comando → saída esperada
  3. 3A fila de degraus: falhou, volta um degrau
  4. 4O seu plano com datas

Objetivo: escrever a escada sim → sim2sim → suspenso → chão com critério de passagem e de parada em cada degrau e conferir por script.

01Os quatro degraus

Clique em cada degrau. Só sobe quando o critério é verdade.

Clique em cada bloco do diagrama para ver o que ele faz.

Falhou num degrau, volta ao anterior com o que aprendeu: novo parâmetro identificado, nova faixa de randomização, novo critério.

02A fila de degraus

Rode, veja um degrau falhar e rode de novo. É o ciclo da escada.

a subir

no degrau

passou

voltou

Simulação ilustrativa no navegador. A falha no degrau "Suspenso" é proposital, para mostrar a volta.

03A sua escada em YAML

Copie o modelo para ~/fth/escada.yaml e troque pelo seu robô e pelos seus critérios. O conferir_escada.py exige os 4 degraus na ordem, com onde, critério (comando → saída) e quando parar.

Arquivo · kit/escada-modelo.yaml
# escada.yaml — a escada de implantação da sua política (FTH 2, aula 8)
# Cada degrau: o que roda, o critério para subir (comando → saída esperada) e quando parar e voltar.
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: chão
    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
Terminal · conferir a escada
F=${FTH:-$HOME/fth}; cd $F/sim2real && . $F/.venv/bin/activate
[ -f $F/escada.yaml ] || cp kit/escada-modelo.yaml $F/escada.yaml
python3 kit/conferir_escada.py $F/escada.yaml; echo "saída: $?"
Terminal · escada sem critério de parada (erro comum)
F=${FTH:-$HOME/fth}; cd $F/sim2real && . $F/.venv/bin/activate
grep -v "parar_se: tropeço" kit/escada-modelo.yaml > $F/escada-incompleta.yaml
python3 kit/conferir_escada.py $F/escada-incompleta.yaml; echo "saída: $?"
Exemplo do repositório
4 degraus, 4 critérios · escada ok
saída: 0

Quatro degraus, quatro critérios, saída 0.

04Prática

O plano até o chão, verificável.

E1 · Escada conferida

15 min

Copie o modelo, troque robô, política e critérios pelos seus (use as saídas que você mesmo capturou nas aulas 2, 3 e 6) e confira.

Pronto quando: python3 kit/conferir_escada.py ~/fth/escada.yaml; echo "saída: $?" → 4 degraus, 4 critérios · escada ok e saída: 0.

E2 · O motivo de voltar

5 min

Para cada degrau, escreva no YAML um motivo de parada que você saberia medir (com o comando ou o instrumento).

Pronto quando: os 4 campos parar_se citam algo mensurável (queda, ms, %, N·m, temperatura).

E3 · Plano com datas

5 min

Gere o seu plano de estudo com o gerador abaixo e marque no calendário.

Pronto quando: o plano.md baixado lista as 8 aulas com a prática e o "pronto quando" de cada uma.

05O que você montou neste curso

Quatro entregas principais. Clique num degrau para ver o "pronto quando".

Aulas 1–2Gap

medido

3 exercícios

Queda em 2,3 s; 20/20 × 8/20.

Ver a aula
Aulas 3–4Atuador

kp, atraso

3 exercícios

kp a ±10 %; atraso de 22 ms.

Ver a aula
Aulas 5–6Portão

delta, DDS

3 exercícios

Erro sim × real em queda; portão 3 de 3.

Ver a aula
Aulas 7–8Escada

até o chão

3 exercícios

escada.yaml com 4 critérios.

Ver a aula
Ao final do cursoGap medido, atuador identificado, portão passado e escada escrita.
8 aulas
Clique num exercício para ver o que fazer e o "pronto quando".
  1. 1/5

    Gap

    O gap de uma política pronta medido e a cobertura da randomização do treino comparada com o mundo de fora.

  2. 2/5

    Atuador

    O atuador do "robô real" identificado no pórtico e o atraso medido por degrau, com a compensação que faz o "real" andar.

  3. 3/5

    Portão

    O simulador corrigido com dados e a política passando por outro modelo e pelo DDS do fabricante.

  4. 4/5

    Escada

    O gêmeo e a prova na física, e a escada com critério de subir e de parar em cada degrau.

  5. 5/5

    O curso inteiro

    Quatro entregas em sequência. A escada é o que o curso 4 (operar) aplica ao robô de verdade.

A ordem importa: o critério de cada degrau usa a saída de uma aula anterior.

06Gere o seu plano com datas

Escolha a data de início e quanto tempo você tem por semana. O plano lista as práticas de cada aula.

07Teste da aula

A explicação aparece depois da sua resposta.

Pergunta 1 de 3

Em que degrau se fazem o ensaio de bancada, o sysid e a medida de atraso no robô real?competência

08Em três frases

DegrausSim, sim2sim, suspenso e chão, nessa ordem.
CritérioCada degrau tem comando → saída para subir e um motivo mensurável para parar.
VoltaFalhou, volta um degrau com o que mediu; o curso 4 aplica a escada ao robô.

Para ir além

Aula anteriorVoltar ao início do curso