FTH 0 · O corpo do humanoide|INEMA.CLUB-PRO

Aula 7 · 15 min

Cérebro e bateria: o que roda onde

Um humanoide roda várias camadas de controle ao mesmo tempo, cada uma num ritmo, e carrega a própria energia. Nesta aula você vê o que vem de fábrica no G1, no H2 e no K1, o tempo que cada camada tem por ciclo e faz a conta de autonomia a partir da ficha, separando o que é dado do fabricante do que é conta derivada.

Começar a aula
Tronco aberto de robô humanoide numa bancada, com placa de computador, pacote de bateria e multímetro ao lado.

Nesta aula você vai

  1. 1As camadas: motor, PD, política e VLA, cada uma no seu ritmo
  2. 2CPU do fabricante, Orin opcional e Thor: o que vem em cada robô
  3. 3Orçamento de laço: 1 kHz dá 1 ms por ciclo
  4. 4Wh = V × Ah e a autonomia sem reserva

Objetivo: calcular a autonomia e o orçamento de tempo de cada camada de controle de um humanoide a partir da ficha do fabricante.

01Quatro ritmos num corpo só

De cima (lento, pensa) para baixo (rápido, segura o corpo). Clique em cada camada.

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

Quanto mais baixo, mais rápido e mais perto do motor. Uma camada lenta nunca pode segurar o corpo sozinha.

02Computação e bateria, com fonte

Clique em cada item.

1. O que vem de fábrica

O G1 vem com CPU de 8 núcleos; o módulo de alta computação (Orin e afins) é opcional e só no EDU. O H2 traz um Intel i5 e, no EDU, um segundo PC com i7. O Booster K1 anuncia 117 TOPS (unitree.com, booster.tech, lidos em 19/10/2026).

Jetson Thor de catálogo, por enquanto, só no Booster T2 (relatado, 07/2026).

03As contas no terminal

O autonomia.py faz a conta do pack (quando a ficha não dá Wh), a autonomia e o orçamento de cada frequência.

Terminal · G1, H2 e orçamento de laço
F=${FTH:-$HOME/fth}; cd $F/anatomia && . $F/.venv/bin/activate
python3 kit/autonomia.py --pack-s 13 --ah 9 --w 216     # G1: 9.000 mAh, 13S, ~2 h (unitree.com/g1)
python3 kit/autonomia.py --wh 972 --w 324               # H2: 0,972 kWh (unitree.com/H2)
python3 kit/autonomia.py --hz 1000 500 200 50 10        # orçamento de cada camada de controle
Exemplo do repositório
pack 13S × 3.7 V = 48.1 V nominal · 48.1 V × 9 Ah = 433 Wh (conta derivada)
energia 433 Wh · potência média 216 W
autonomia: 120 min (2.0 h), sem reserva
energia 972 Wh · potência média 324 W
autonomia: 180 min (3.0 h), sem reserva
   1000 Hz →    1.0 ms por ciclo
    500 Hz →    2.0 ms por ciclo
    200 Hz →    5.0 ms por ciclo
     50 Hz →   20.0 ms por ciclo
     10 Hz →  100.0 ms por ciclo

A política a 50 Hz tem 20 ms para ler sensores, rodar a rede e mandar alvos. O PD a 1 kHz tem 1 ms: por isso ele roda no robô, perto do motor.

04Prática

Contas com a ficha na mão.

E1 · A autonomia do G1

3 min

Rode a conta do G1 com os números da ficha e confira com o "cerca de 2 h" que a Unitree publica.

Pronto quando: python3 kit/autonomia.py --pack-s 13 --ah 9 --w 216 → autonomia: 120 min (2.0 h), sem reserva.

E2 · O H2

3 min

Faça a mesma conta com a energia que a Unitree publica para o H2.

Pronto quando: python3 kit/autonomia.py --wh 972 --w 324 → autonomia: 180 min (3.0 h), sem reserva.

E3 · O orçamento do seu controlador

5 min

Uma política sua leva 12 ms para rodar na CPU. Em que frequência ela cabe? Use o --hz com 50, 100 e 200.

Pronto quando: python3 kit/autonomia.py --hz 50 100 200 mostra 20.0, 10.0 e 5.0 ms por ciclo, e você concluiu que 12 ms só cabe a 50 Hz.

05Teste da aula

A explicação aparece depois da sua resposta.

Pergunta 1 de 3

Por que o controle PD de junta roda no robô e não num servidor na rede?competência

06Em três frases

CamadasVLA 5–10 Hz, política ~50 Hz, PD 500 Hz–1 kHz, motor ainda mais rápido.
BordoG1 com CPU de 8 núcleos e Orin opcional no EDU; Thor só no T2 (relatado).
BateriaWh = V × Ah; conta derivada se diz derivada; autonomia real é menor.

Para ir além

Aula anteriorPróxima aula