FTH 3 · Corpo inteiro|INEMA.CLUB-PRO

Aula 6 · 15 min

Mãos: o problema que ainda não está resolvido

O corpo inteiro anda, equilibra e imita; na hora de pegar, tudo depende de uma mão com poucos graus de liberdade e quase nenhum tato. Nesta aula você conta as juntas da mão do G1 no modelo, compara com duas mãos de pesquisa e mede um aperto simulado, sabendo o que esse número é e o que não é.

Começar a aula
Mão robótica cinza escura de três dedos apertando um pequeno cilindro sobre a bancada, com cabos finos e luz lateral.

Nesta aula você vai

  1. 1A Dex3-1 do G1: 7 GDL por mão (polegar 3, indicador 2, médio 2)
  2. 2Torque declarado no MJCF e o que ele limita
  3. 3Um aperto simulado: força de contato por dedo
  4. 4Mãos de pesquisa (LEAP, Shadow) e as do mercado, com fonte

Objetivo: contar os graus de liberdade da mão do G1, comparar com outras mãos e medir um aperto simulado no modelo.

01Da junta ao objeto

Clique em cada bloco.

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

Poucos graus de liberdade e pouco tato: é aqui que as tarefas finas ainda falham.

02As mãos que você vai encontrar

Clique em cada grupo.

1. Nos humanoides

Unitree Dex3-1: 7 GDL, tátil opcional, no pacote do G1 EDU (fato, unitree.com/g1).

No modelo: as duas mãos do G1 do Menagerie, com limites e torque declarados.

03Contar as juntas e apertar um cilindro

O mao.py conta as juntas de cada mão no MJCF, lê o torque declarado e fecha a mão direita sobre um cilindro fixo de 4 cm, com a pelve no pórtico. Lê a força normal de contato de cada dedo depois de 2 s.

Terminal · a mão do G1
F=${FTH:-$HOME/fth}; cd $F/corpo-inteiro && . $F/.venv/bin/activate
python3 kit/mao.py; echo "saída: $?"
Trecho · kit/mao.py
FECHAR = {"right_hand_index_0_joint": 1.57, "right_hand_index_1_joint": 1.75,
          "right_hand_middle_0_joint": 1.57, "right_hand_middle_1_joint": 1.75,
          "right_hand_thumb_0_joint": 0.0, "right_hand_thumb_1_joint": -1.05, "right_hand_thumb_2_joint": -1.75}
Exemplo do repositório
modelo: unitree_g1/scene_with_hands.xml · nu=43
mão left: 7 GDL (polegar 3, indicador 2, médio 2)
mão right: 7 GDL (polegar 3, indicador 2, médio 2)
torque declarado por junta da mão: 1.40 a 2.45 N·m (actuatorfrcrange)
aperto simulado num cilindro fixo de 4 cm (mão direita, 2 s):
  polegar  :  18.6 N
  indicador:  53.0 N
  médio    :  81.4 N
dedos tocando o objeto: 3/3 · estimativa do modelo, não medida no robô
saída: 0

7 GDL por mão, como na ficha da Dex3-1. As forças são do modelo: o cilindro é fixo, o PD empurra até o limite de torque, e o médio pega perto da junta. Não é a força de preensão do robô, que a Unitree não publica na página lida.

04Duas mãos de pesquisa para comparar

Acrescenta as pastas da LEAP Hand e da Shadow Hand ao seu Menagerie (sparse-checkout add, sem baixar o resto) e conta as juntas.

Terminal · LEAP e Shadow
F=${FTH:-$HOME/fth}; cd $F/mujoco_menagerie && git sparse-checkout add leap_hand shadow_hand
cd $F/corpo-inteiro && . $F/.venv/bin/activate
for h in leap_hand/right_hand.xml shadow_hand/right_hand.xml; do python3 kit/mao.py --modelo $h | tail -1 | sed "s#^#$h: #"; done
Exemplo do repositório
leap_hand/right_hand.xml: mão avulsa: 16 GDL · 16 atuadores
shadow_hand/right_hand.xml: mão avulsa: 24 GDL · 20 atuadores

Na Shadow, 24 juntas para 20 atuadores: quatro juntas acompanham outras por acoplamento. Mais GDL não é o mesmo que mais motores.

05Prática

Contar, comparar, apertar.

E1 · A mão do G1

5 min

Rode o mao.py e confira os 7 GDL das duas mãos.

Pronto quando: python3 kit/mao.py | tail -1 → dedos tocando o objeto: 3/3 · estimativa do modelo, não medida no robô.

E2 · Só contar

3 min

Rode só a contagem, sem a simulação do aperto.

Pronto quando: python3 kit/mao.py --so-contar | grep -c "7 GDL" → 2.

E3 · Outra mão

10 min

Acrescente a wonik_allegro ao sparse-checkout e conte as juntas da mão direita dela.

Pronto quando: python3 kit/mao.py --modelo wonik_allegro/right_hand.xml | tail -1 → uma linha mão avulsa: [N] GDL · [N] atuadores.

06Teste da aula

A explicação aparece depois da sua resposta.

Pergunta 1 de 3

O kit mediu 81 N no dedo médio. Como esse número pode ir para uma ficha?competência

07Em três frases

7 GDLA Dex3-1 do G1 tem 7 juntas por mão, e o modelo também.
ForçaForça de aperto do simulador é estimativa do modelo, dita como tal.
GargaloPoucos GDL e pouco tato: é onde as tarefas finas ainda falham.

Para ir além

Aula anteriorPróxima aula