Forward e inverse kinematics
También disponible en: Català · English
Forward kinematics (FK)
Brazo de dos eslabones:
x = L1·cosθ1 + L2·cos(θ1+θ2)y = L1·sinθ1 + L2·sin(θ1+θ2)
Cada eslabón suma su vector, girado por todos los ángulos anteriores.
Inverse kinematics (IK)
Sabes dónde quieres la mano y buscas los ángulos. Para dos eslabones hay fórmula cerrada (ley de los cosenos):
cosθ2 = (x² + y² − L1² − L2²) / (2·L1·L2)θ1 = atan2(y, x) − atan2(L2·sinθ2, L1 + L2·cosθ2)
Soluciones: dos (codo arriba y abajo, signo de θ2), una en el borde del alcance, ninguna fuera. El alcance va de |L1 − L2| a L1 + L2; fuera, el coseno sale mayor que 1.
Ejemplo
L1 = L2 = 1, objetivo (1, 1): cosθ2 = (2 − 2) / 2 = 0 → θ2 = 90°, θ1 = 45° − 45° = 0°. Comprobación: (1, 0) + (0, 1) = (1, 1). La otra solución: θ2 = −90°, θ1 = 90°.
Con más articulaciones suele resolverse con métodos numéricos basados en el Jacobiano.
En la demo
Cambia de FK a IK, arrastra el objetivo, alterna el codo y sácalo del círculo de alcance para ver la advertencia.
Preguntas típicas
¿Por qué hay dos soluciones? Porque el codo puede doblarse hacia arriba o hacia abajo y la mano llega al mismo sitio, como tu brazo con la mano apoyada en la mesa.
Demo interactiva
Conceptos relacionados
Frames de coordenadas y transformaciones
Un punto solo tiene coordenadas respecto a un frame (origen + ejes). Para pasar del frame del robot al del mundo: p_world = R(θ) · p_robot + t.
El Jacobiano
El Jacobiano pasa velocidades de las articulaciones a velocidad de la mano (v = J·ω). Cuando su determinante es cero, el brazo está en una singularidad y pierde una dirección de movimiento.