FTH 0 · El cuerpo del humanoide|INEMA.CLUB-PRO

Clase 3 · 15 min

Grados de libertad, articulaciones y límites

"23 a 43 grados de libertad" es propaganda; el árbol de articulaciones del archivo es el cuerpo que va a comandar tu controlador. En esta clase listas las 29 articulaciones del G1 con límites en grados y torque máximo, entiendes por qué la pierna tiene seis y compruebas que el número coincide con los actuadores.

Comenzar la lección
Pierna de robot humanoide industrial sobre un banco de trabajo, con la cadera, la rodilla y el tobillo a la vista y un transportador de metal al lado.

En esta lección vas a

  1. 1El árbol de cuerpos: pelvis, piernas, cintura y brazos
  2. 2Por qué la pierna tiene 6 articulaciones y en qué orden
  3. 3Límite en radianes en el archivo, en grados en tu cabeza
  4. 4Grados de libertad del archivo × de la ficha del fabricante

Objetivo: listar las articulaciones del G1 con límites en grados y torque máximo y comprobar que el número de articulaciones articuladas coincide con nu.

01Las 29 articulaciones del G1 de Menagerie

Cada bloque es una rama del árbol que empieza en la pelvis. Haz clic para ver las articulaciones.

Haz clic en cada bloque del diagrama para ver qué hace.

12 en las piernas + 3 en la cintura + 14 en los brazos = 29 = nu.

02Cómo leer una línea del árbol

Haz clic en cada etapa.

1. Nombre

left_hip_roll_joint: pierna izquierda, cadera, rotación en roll (inclinar hacia el lado). Pitch dobla hacia adelante y hacia atrás; yaw gira en torno al eje vertical.

La sangría de la salida muestra quién cuelga de quién: el tobillo depende de la rodilla, que depende de la cadera.

03El árbol del G1

El juntas.py lee todo del MJCF e imprime una línea por articulación.

Terminal · listar las juntas
F=${FTH:-$HOME/fth}; cd $F/anatomia && . $F/.venv/bin/activate
python3 kit/juntas.py unitree_g1/scene.xml; echo "saída: $?"
Ejemplo del repositorio
unitree_g1/scene.xml · 29 juntas articuladas
junta                                        mín°   máx°  torque máx (N·m)
  left_hip_pitch_joint                       -145    165                88
    left_hip_roll_joint                       -30    170               139
      left_hip_yaw_joint                     -158    158                88
        left_knee_joint                        -5    165               139
          left_ankle_pitch_joint              -50     30                50
            left_ankle_roll_joint             -15     15                50
  right_hip_pitch_joint                      -145    165                88
    right_hip_roll_joint                     -170     30               139
      right_hip_yaw_joint                    -158    158                88
        right_knee_joint                       -5    165               139
          right_ankle_pitch_joint             -50     30                50
            right_ankle_roll_joint            -15     15                50
  waist_yaw_joint                            -150    150                88
    waist_roll_joint                          -30     30                50
      waist_pitch_joint                       -30     30                50
        left_shoulder_pitch_joint            -177    153                25
          left_shoulder_roll_joint            -91    129                25
            left_shoulder_yaw_joint          -150    150                25
              left_elbow_joint                -60    120                25
                left_wrist_roll_joint        -113    113                25
                  left_wrist_pitch_joint      -93     93                 5
                    left_wrist_yaw_joint      -93     93                 5
        right_shoulder_pitch_joint           -177    153                25
          right_shoulder_roll_joint          -129     91                25
            right_shoulder_yaw_joint         -150    150                25
              right_elbow_joint               -60    120                25
                right_wrist_roll_joint       -113    113                25
                  right_wrist_pitch_joint     -93     93                 5
                    right_wrist_yaw_joint     -93     93                 5
RESUMO: 29 juntas articuladas + 1 base flutuante · nu=29 · bate com nu: sim
saída: 0

04Práctica

Leer el árbol y sacar conclusiones de él.

E1 · El árbol del G1

5 min

Ejecuta el bloque "listar las juntas" y marca en la salida las 6 articulaciones de una pierna.

Listo cuando: la última línea es RESUMO: 29 juntas articuladas + 1 base flutuante · nu=29 · bate com nu: sim y saída: 0.

E2 · El árbol del H1

5 min

Ejecuta el mismo script en el H1 y compara: ¿cuántas articulaciones tiene su pierna y cuál es el mayor torque declarado?

Listo cuando: python3 kit/juntas.py unitree_h1/scene.xml | tail -1 → RESUMO: 19 juntas articuladas + 1 base flutuante · nu=19 · bate com nu: sim.

E3 · La articulación más limitada

5 min

Encuentra en el G1 la articulación de la pierna con el menor rango de movimiento y explica por qué es pequeño.

Listo cuando: python3 kit/juntas.py | grep ankle_roll muestra -15 15 en las dos líneas, y escribiste una frase sobre el porqué.

05Prueba de la clase

La explicación aparece después de tu respuesta.

Pregunta 1 de 3

El G1 de Menagerie tiene njnt=30 y nu=29. ¿De dónde viene la diferencia?competencia

06En tres frases

ÁrbolPelvis libre, 6 por pierna, 3 en la cintura, 7 por brazo en el G1 de Menagerie.
LímitesRango en radianes y torque en actuatorfrcrange, leídos del archivo.
VerificaciónArticuladas = nu; la base no cuenta.

Para ir más allá

Clase anteriorSiguiente clase