E1 · Empurrão que derruba
3 minRode o bloco de 40 N e descreva o movimento lendo as colunas de CoP e pelve.
Pronto quando: python3 kit/equilibrio.py --empurrao 40 termina em CoM dentro do apoio: não · saiu em t = 0.73 s e queda: sim.
Aula 6 · 15 min
Um humanoide de pé é um pêndulo invertido sobre dois pés pequenos. Nesta aula você calcula o centro de massa, o polígono de apoio e o centro de pressão do G1 no próprio modelo, empurra o robô com forças diferentes e separa três coisas que costumam vir misturadas: sair do apoio, balançar e cair.
Começar a aula
Objetivo: empurrar o G1 e dizer, pela simulação, quando o centro de massa sai do polígono de apoio e se o robô cai.
Clique em cada bloco.
Parado, basta o CoM dentro do apoio. Em movimento, quem manda é o CoP e a velocidade.
Empurrão de 0,2 s para a frente no tronco, com o G1 só segurando a pose. Clique em cada faixa.
O CoM nunca sai do polígono: a margem não fica negativa em nenhum instante.
É o que qualquer pose rígida aguenta: o impulso é pequeno (3 N·s).
O robô sobe na ponta dos pés, o polígono vira uma linha e o CoM fica fora dela por um instante. Mesmo assim ele volta e termina de pé.
Sair do apoio não é cair: é começar a girar.
Com 40 N o CoM sai em t = 0,73 s; o robô balança para a frente, volta, passa do ponto e cai para trás, sem mexer um pé.
Um controlador de equilíbrio daria um passo ou mexeria quadril e tornozelo. Aqui não há controlador: é o limite do corpo sozinho.
Controladores clássicos planejam o ZMP para ficar dentro do apoio (modelos centroidais, MPC). A locomoção de humanoide em pesquisa hoje é treinada por RL em milhares de simulações paralelas (curso 1).
A pesquisa da formação não achou, até 10/2026, comparação independente que diga qual é melhor: os dois convivem.
O equilibrio.py aplica a força no tronco em t = 0,5 s e imprime a cada 0,25 s a margem do CoM (positiva = dentro do apoio), o CoP para a frente e a altura da pelve.
F=${FTH:-$HOME/fth}; cd $F/anatomia && . $F/.venv/bin/activate
python3 kit/equilibrio.py --empurrao 40F=${FTH:-$HOME/fth}; cd $F/anatomia && . $F/.venv/bin/activate
for n in 10 15 20 25 30 35 40; do
echo "$n N → $(python3 kit/equilibrio.py --empurrao $n | tail -2 | cut -d'(' -f1 | tr '\n' ' ')"
doneempurrão de 40 N por 0.2 s no tronco (t = 0.5 s) · impulso 8 N·s t (s) margem do CoM (cm) CoP x (cm) pelve z (m) 0.00 5.3 0.1 0.79 0.25 5.3 0.4 0.79 0.50 5.3 0.3 0.79 0.75 -8.1 12.0 0.79 1.00 -5.8 12.1 0.79 1.25 -8.1 12.2 0.79 1.50 -3.4 -4.8 0.79 1.75 -1.2 -4.8 0.79 2.00 -6.7 -4.8 0.79 2.25 -17.4 -4.7 0.76 2.50 -39.6 -4.5 0.64 2.75 -68.4 -8.4 0.15 3.00 -68.9 -11.4 0.06 CoM dentro do apoio: não · saiu em t = 0.73 s queda: sim (pelve a 0.06 m em t = 3 s)
O CoP vai a 12 cm (ponta dos pés), depois a -4,8 cm (calcanhar); a pelve só despenca depois de 2,25 s, quando o robô cai para trás.
10 N → CoM dentro do apoio: sim queda: não 15 N → CoM dentro do apoio: sim queda: não 20 N → CoM dentro do apoio: não · saiu em t = 1.40 s queda: não 25 N → CoM dentro do apoio: não · saiu em t = 1.35 s queda: não 30 N → CoM dentro do apoio: não · saiu em t = 0.81 s queda: não 35 N → CoM dentro do apoio: não · saiu em t = 0.76 s queda: sim 40 N → CoM dentro do apoio: não · saiu em t = 0.73 s queda: sim
De 20 a 30 N o CoM sai do apoio e o robô não cai. Quem mede equilíbrio só pela posição do CoM erra de 20 a 30 N; é preciso olhar também a velocidade e o que acontece depois.
Achar o limite do corpo sem controlador.
Rode o bloco de 40 N e descreva o movimento lendo as colunas de CoP e pelve.
Pronto quando: python3 kit/equilibrio.py --empurrao 40 termina em CoM dentro do apoio: não · saiu em t = 0.73 s e queda: sim.
Repita com 15 N.
Pronto quando: python3 kit/equilibrio.py --empurrao 15 | tail -2 → CoM dentro do apoio: sim (o tempo todo) e queda: não.
Rode 40 N por 0,1 s e 80 N por 0,1 s. Compare com 40 N por 0,2 s: o que importa é a força ou o produto força × tempo?
Pronto quando: --empurrao 40 --duracao 0.1 termina em queda: não e --empurrao 80 --duracao 0.1 em queda: sim; você escreveu os três impulsos (4, 8 e 8 N·s).
A explicação aparece depois da sua resposta.
Pergunta 1 de 3
Com 25 N o CoM saiu do polígono de apoio, mas o robô terminou de pé. Como explicar?competência
Pergunta 2 de 3
No chão plano, o que é o ZMP dos controladores clássicos?
Pergunta 3 de 3
40 N por 0,1 s não derruba; 40 N por 0,2 s derruba. O que isso ensina?
Escolha uma alternativa. A explicação aparece depois da sua tentativa.