¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Cinemática directa de un brazo de dos eslabones

Después de esta lección: Puedo calcular dónde está la mano de un brazo de dos eslabones a partir de sus ángulos.

Lección de 55 min1 comandoLaboratorio JupyterLab de ciencia de datos: pandas, Matplotlib y scikit-learn en el navegador

Dónde está la mano si conozco los ángulos

La cinemática directa es el cálculo que da la posición de la mano de un robot a partir de los ángulos de sus articulaciones. Con ella, un programa sabe dónde está la mano sin mirarla.

Aquí usarás un brazo plano de dos eslabones, simulado. Un eslabón es una barra rígida. Una articulación es el giro entre dos barras.

Al final de esta lección

Nota

Puedo calcular dónde está la mano de un brazo de dos eslabones a partir de sus ángulos.

Palabras clave

PalabraQué significa
Eslabónuna barra rígida del brazo
Articulaciónel giro que une dos eslabones
Manoel extremo del brazo, que se llama efector final
Cinemática directade los ángulos a la posición de la mano
Poseel conjunto de ángulos que tiene el brazo ahora

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

El brazo tiene dos barras y dos giros

El brazo se fija en el origen. El primer eslabón mide 10 cm y el segundo 6 cm. El ángulo 1 se mide desde el eje x hasta el primer eslabón.

El ángulo 2 se mide desde la dirección del primer eslabón. Por eso el segundo eslabón apunta con el ángulo 1 más el ángulo 2.

La mano se calcula en dos pasos

Primero calcula el codo: es el final del primer eslabón. Su x es 10 por el coseno de a1 y su y es 10 por el seno de a1.

Después suma el segundo eslabón. Su x es 6 por el coseno de a1 más a2 y su y es 6 por el seno de a1 más a2. La mano es la suma de los dos.

Ejemplo resuelto: cinco poses del mismo brazo

Ángulo 1Ángulo 2CodoMano
00(10, 0)(16, 0)
900(0, 10)(0, 16)
090(10, 0)(10, 6)
90-90(0, 10)(6, 10)
3060(8,66; 5)(8,66; 11)

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

La mano con 30 y 60 grados

Comando
docker exec jupyter python3 -c "import numpy as np; a = np.radians(30); b = np.radians(60); print(round(10 * np.cos(a) + 6 * np.cos(a + b), 2), round(10 * np.sin(a) + 6 * np.sin(a + b), 2))"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Un error muy común

Advertencia

Mucha gente usa solo el ángulo 2 para el segundo eslabón. El ángulo 2 se mide desde el primer eslabón, así que el segundo apunta a a1 más a2. Si no sumas a1, la mano queda en un sitio equivocado.

La mano en Python

Código: python
import math

def hand_position(l1, l2, a1, a2):
    r1 = math.radians(a1)
    r12 = math.radians(a1 + a2)
    x = l1 * math.cos(r1) + l2 * math.cos(r12)
    y = l1 * math.sin(r1) + l2 * math.sin(r12)
    return [x, y]

hand = hand_position(10, 6, 30, 60)
print("mano:", round(hand[0], 2), round(hand[1], 2))
# Cambia los ángulos a 90 y -90: la mano debe quedar en 6 y 10.

La mano nunca sale de un anillo

Con el brazo estirado, la mano llega a 10 más 6, es decir 16 cm. Con el codo del todo doblado, queda a 10 menos 6, es decir 4 cm.

Toda pose da una mano entre 4 y 16 cm del origen. Los puntos fuera de ese anillo no se alcanzan.

Ejemplo resuelto: a qué distancia llega la mano

Ángulo 2Qué hace el codoDistancia de la mano al origen
0Estirado16 cm
90En ángulo recto11,66 cm
180Doblado del todo4 cm

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Para ir más lejos: un brazo más largo

Cambia los eslabones a 12 y 8 cm. Calcula a mano la mano con los ángulos 0 y 0, y con 90 y 0.

Después calcula la distancia más corta y la más larga que puede alcanzar este brazo.

Sobre este laboratorio y su código: Laboratorio JupyterLab de ciencia de datos: pandas, Matplotlib y scikit-learn en el navegador

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.