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

Aula 4 · 15 min

Atuadores: o mapa do corpo

Joelho e punho não pedem o mesmo motor. Nesta aula você vê os quatro tipos de atuador que aparecem em humanoides e onde cada um costuma vencer, aprende como o MJCF descreve um motor e mede, por simulação, quanto torque o joelho do G1 faz para segurar o robô agachado.

Começar a aula
Três atuadores rotativos de robô desmontados lado a lado numa bancada escura, com torquímetro e chave Allen.

Nesta aula você vai

  1. 1QDD, harmônico, planetário e linear: o mapa do corpo
  2. 2position × motor no MJCF: kp, ctrlrange, forcerange, actuatorfrcrange
  3. 3Torque do joelho de 0° a 90° de agachamento
  4. 4Dois caminhos que têm de bater: simular parado e mj_inverse

Objetivo: medir o torque de cada junta do G1 agachado e comparar com o limite que o MJCF declara para ela.

01Cada tipo vence numa articulação

O setor não convergiu num atuador único, e sim num mapa do corpo (relatório da humanoid.guide, relatado). Clique em cada tipo.

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

Tudo neste mapa vem de relatório setorial e de fornecedores: é tendência, não especificação.

02Como o MJCF descreve um motor

Clique em cada atributo.

1. position

O G1 do Menagerie usa atuadores de posição: você manda o ângulo-alvo em ctrl e o MuJoCo aplica um controle proporcional com kp=500 e amortecimento crítico (dampratio=1).

É o mesmo esquema das políticas de RL de humanoide: a rede manda alvos de junta e um PD no robô vira isso em torque (curso 1 da formação).

03Quanto o joelho faz agachado

O torque_agachado.py parte da pose "stand", dobra o joelho (quadril e tornozelo dobram a metade, para o pé ficar plano), segura 2 s e lê o torque de cada junta. Depois confere o maior por dinâmica inversa.

Terminal · joelho a 90°
F=${FTH:-$HOME/fth}; cd $F/anatomia && . $F/.venv/bin/activate
python3 kit/torque_agachado.py --joelho 90
Terminal · de 0° a 120°
F=${FTH:-$HOME/fth}; cd $F/anatomia && . $F/.venv/bin/activate
for k in 0 30 60 90 120; do
  echo "joelho $k°: $(python3 kit/torque_agachado.py --joelho $k | grep -E '^joelhos|^ATENÇÃO' | tr '\n' ' ')"
done
Exemplo do repositório
joelho dobrado 90° · altura da pelve 0.59 m · 8 contatos com o chão
junta                         torque (N·m)  limite  % do limite
left_knee_joint                         31     139          22%
right_knee_joint                        31     139          22%
left_hip_pitch_joint                     2      88           2%
right_hip_pitch_joint                    2      88           2%
conferência mj_inverse (left_knee_joint): 31 N·m
joelhos: esquerdo 31 N·m · direito 31 N·m
maior torque: left_knee_joint 31 N·m

31 N·m em cada joelho, 22 % do teto do modelo. Simular parado e mj_inverse dão o mesmo valor: é o sinal de que a pose está em equilíbrio.

04Prática

Medir, varrer e comparar com o robô real.

E1 · Joelho a 90°

3 min

Rode o bloco "joelho a 90°" e confira se os dois caminhos (simulação parada e mj_inverse) concordam.

Pronto quando: python3 kit/torque_agachado.py --joelho 90 termina em maior torque: left_knee_joint 31 N·m, com conferência mj_inverse (left_knee_joint): 31 N·m.

E2 · A curva do joelho

5 min

Rode a varredura e anote numa tabela o torque do joelho em cada ângulo. Em que ângulo o robô deixa de agachar e cai?

Pronto quando: a varredura mostra joelho 60°: joelhos: esquerdo 21 N·m · direito 21 N·m e a linha de 120° mostra ATENÇÃO: o robô caiu.

E3 · Modelo × robô real

5 min

Revendas citam 90 N·m de pico no joelho do G1 base e 120 N·m no EDU (relatado). Calcule quanto os 31 N·m do agachamento representam em cada caso e diga se sobra margem para pular.

Pronto quando: você anotou três porcentagens (22 % do modelo, cerca de 34 % do base e 26 % do EDU) e uma frase sobre margem, citando que os números de revenda são relatados.

05Teste da aula

A explicação aparece depois da sua resposta.

Pergunta 1 de 4

Por que o G1 do Menagerie fica de pé sem nenhum controlador seu, e o H1 não?competência

06Em três frases

MapaQDD nas pernas, harmônico no braço, planetário no meio, linear em joelho grande.
MJCFposition manda ângulo, motor manda torque; actuatorfrcrange é o teto.
MedidaJoelho do G1 a 90°: 31 N·m, 22 % do teto do modelo.

Para ir além

Aula anteriorPróxima aula