La rodilla y la muñeca no piden el mismo motor. En esta lección ves los cuatro tipos de actuador que aparecen en humanoides y dónde suele ganar cada uno, aprendes cómo el MJCF describe un motor y mides, por simulación, cuánto torque hace la rodilla del G1 para sostener al robot agachado.
1QDD, armónico, planetario y lineal: el mapa del cuerpo
2position × motor en el MJCF: kp, ctrlrange, forcerange, actuatorfrcrange
3Torque de la rodilla de 0° a 90° de agachamiento
4Dos caminos que tienen que coincidir: simular parado y mj_inverse
Objetivo: medir el torque de cada articulación del G1 agachado y compararlo con el límite que el MJCF declara para ella.
01 · Cada tipo gana en una articulación
El sector no convergió en un único actuador, sino en un mapa del cuerpo (informe de humanoid.guide, reportado). Haz clic en cada tipo.
Haz clic en cada bloque del diagrama para ver qué hace.
Todo en este mapa viene de informes del sector y de proveedores: es tendencia, no especificación.
02 · Cómo el MJCF describe un motor
Haz clic en cada atributo.
1. position
El G1 de Menagerie usa actuadores de posición: tú mandas el ángulo objetivo en ctrl y MuJoCo aplica un control proporcional con kp=500 y amortiguamiento crítico (dampratio=1).
Es el mismo esquema de las políticas de RL de humanoides: la red manda objetivos de articulación y un PD en el robot los convierte en torque (curso 1 de la formación).
2. motor
El H1 de Menagerie usa actuadores de torque: ctrl ya es el torque, de -200 a 200 N·m en la cadera y -300 a 300 en la rodilla.
Sin un controlador tuyo, el H1 se desploma en el primer segundo. El G1 se queda de pie solo porque los actuadores de posición sostienen la pose "stand".
3. ctrlrange
En un actuador de posición, inheritrange="1" copia el rango de la articulación al comando: el objetivo nunca sale del límite mecánico.
En un actuador de torque, el rango del comando es el rango de torque.
4. actuatorfrcrange
En el G1 el techo de torque está en la articulación (actuatorfrcrange="-139 139" en la rodilla). Aunque el proporcional pida más, MuJoCo corta ahí.
Ese es el número que el script usa para calcular el porcentaje del límite.
torque_agachado.py parte de la pose "stand", dobla la rodilla (la cadera y el tobillo se doblan la mitad, para que el pie quede plano), la mantiene 2 s y lee el torque de cada articulación. Después verifica el mayor con dinámica inversa.
Terminal · rodilla 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
Ejemplo del repositorio
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 en cada rodilla, 22 % del techo del modelo. Simular en reposo y mj_inverse dan el mismo valor: es la señal de que la pose está en equilibrio.
El torque sube casi en línea recta hasta 90°. A 120° el robot cayó sentado y el "torque" leído se desploma: un número de robot caído no es una medida. Por eso el script avisa cuando la pelvis queda por debajo de 0,4 m.
04 · Práctica
Medir, barrer y comparar con el robot real.
E1 · Rodilla a 90°
3 min
Ejecuta el bloque "joelho a 90°" y verifica que los dos caminos (simulación en reposo y mj_inverse) coincidan.
Listo cuando:python3 kit/torque_agachado.py --joelho 90 termina en maior torque: left_knee_joint 31 N·m, con conferência mj_inverse (left_knee_joint): 31 N·m.
E2 · La curva de la rodilla
5 min
Ejecuta el barrido y anota en una tabla el torque de la rodilla en cada ángulo. ¿En qué ángulo el robot deja de agacharse y cae?
Listo cuando: el barrido muestra joelho 60°: joelhos: esquerdo 21 N·m · direito 21 N·m y la línea de 120° muestra ATENÇÃO: o robô caiu.
E3 · Modelo × robot real
5 min
Los revendedores citan 90 N·m de pico en la rodilla del G1 base y 120 N·m en el EDU (reportado). Calcula cuánto representan los 31 N·m de la sentadilla en cada caso y di si sobra margen para saltar.
Listo cuando: anotaste tres porcentajes (22 % del modelo, cerca de 34 % del base y 26 % del EDU) y una frase sobre el margen, citando que los números de los revendedores son reportados.
05 · Prueba de la clase
La explicación aparece después de tu respuesta.
Pregunta 1 de 4
¿Por qué el G1 de Menagerie se queda de pie sin ningún controlador tuyo, y el H1 no?competencia
Correcto
Un actuador de posición con kp=500 ya es un controlador. En el H1, ctrl es torque: con cero, se desploma. El peso y los sensores no cambian eso.
No es esa
Un actuador de posición con kp=500 ya es un controlador. En el H1, ctrl es torque: con cero, se desploma. El peso y los sensores no cambian eso.Repasar: Cómo el MJCF describe un motor
Pregunta 2 de 4
¿Dónde suele aparecer el reductor armónico en un humanoide?
Correcto
El armónico es compacto y preciso; el choque repetido de una rodilla es el punto débil citado por los proveedores. Por eso el mapa del cuerpo lo coloca en el brazo.
No es esa
El armónico es compacto y preciso; el choque repetido de una rodilla es el punto débil citado por los proveedores. Por eso el mapa del cuerpo lo coloca en el brazo.Repasar: Cada tipo gana en una articulación
Pregunta 3 de 4
Simular en reposo dio 31 N·m en la rodilla y mj_inverse también. ¿Qué muestra esa concordancia?
Correcto
Con velocidad y aceleración cero, el torque de la dinámica inversa es el necesario para sostener la pose. Coincidir con la simulación muestra equilibrio, no fidelidad al robot real.
No es esa
Con velocidad y aceleración cero, el torque de la dinámica inversa es el necesario para sostener la pose. Coincidir con la simulación muestra equilibrio, no fidelidad al robot real.Repasar: Cuánto hace la rodilla en cuclillas
Pregunta 4 de 4
A 120° el script leyó 2 N·m en la rodilla. ¿Qué concluir?
Correcto
La pelvis quedó cerca del suelo: el robot se sentó. Antes de usar un número de simulación, confirma que el robot está en la situación que querías medir.
No es esa
La pelvis quedó cerca del suelo: el robot se sentó. Antes de usar un número de simulación, confirma que el robot está en la situación que querías medir.Repasar: Cuánto hace la rodilla en cuclillas
Prueba concluida
Acertaste {a} de {n}. Si aciertas todas, la clase se marca como concluida.
Elige una alternativa. La explicación aparece después de tu intento.
06 · En tres frases
MapaQDD en las piernas, armónico en el brazo, planetario en el medio, lineal en la rodilla grande.
MJCFposition manda ángulo, motor manda torque; actuatorfrcrange es el techo.
MedidaRodilla del G1 a 90°: 31 N·m, 22 % del techo del modelo.