Contents — find the section you need

Los motores de un brazo robótico solo pueden rotar el ángulo de cada articulación; sin embargo, lo que realmente buscamos, casi siempre, es algo definido en el espacio de tareas: "mover la mano a esta posición y orientación". La cinemática es la rama matemática que conecta estos dos mundos —"qué hacen las articulaciones" y "qué queremos que haga la mano"— y constituye la base de todo el software que controla un brazo robótico. Este artículo analiza sistemáticamente la cinemática directa, que determina la postura de la mano a partir de los ángulos de las articulaciones; la cinemática inversa, que resuelve el problema inverso; y el jacobiano, que relaciona la "velocidad" entre ambos espacios, siguiendo las ecuaciones en todo momento.

Brazo robótico Universal Robots UR16e con su controlador y panel de programaciónUn brazo robótico colaborativo en funcionamiento

Imagen: UR16e brazo robótico (Auledas, CC BY-SA 4.0), Wikimedia Commons. Una estructura representativa de articulaciones y eslabones del tipo que describen las ecuaciones del artículo, no los parámetros cinemáticos de esta marca o modelo específico.

0. Contenido del artículo

  • Qué problema resuelve la cinemática del brazo robótico y por qué es necesaria.
  • La relación entre las entradas (ángulos articulares, pose objetivo) y las salidas (pose de la mano, ángulos articulares).
  • Cómo construir la cinemática directa con matrices de transformación homogéneas y parámetros DH.
  • Por qué la cinemática inversa "no necesariamente tiene una solución única" y la diferencia entre los métodos analíticos y numéricos.
  • Qué es el jacobiano y por qué puede relacionar la velocidad articular con la velocidad de la mano.
  • Qué sucede en una singularidad y por qué son útiles los grados de libertad redundantes.
  • Las diferencias entre los algoritmos representativos de cinemática inversa: CCD, FABRIK, Mínimos Cuadrados Amortiguados y otros.
  • Cómo difiere el uso de la cinemática en robots industriales, humanoides y animación por computadora.

1. Lo esencial: ¿Qué? Cinemática del brazo robótico

En una frase: La cinemática es el marco matemático que convierte entre dos representaciones diferentes de un brazo robótico: los ángulos de sus articulaciones (espacio articular) y la posición/orientación de su mano (espacio de trabajo), utilizando relaciones puramente geométricas, sin considerar la fuerza ni las características del motor.

La frase "relaciones puramente geométricas" es una restricción importante. La cinemática nunca aborda la dinámica: cuánto peso puede soportar el brazo, a qué velocidad pueden moverse los motores. Se ocupa únicamente de cuestiones puramente geométricas: "¿dónde está la mano cuando los ángulos de las articulaciones son θ?" y "¿cuáles deberían ser los ángulos de las articulaciones para colocar la mano en esta posición?". Solo una vez que se establece esta base geométrica podemos desarrollar discusiones sobre fuerza, torque y seguimiento de trayectoria.

2. ¿Por qué es necesaria la cinemática?

Los motores de un brazo robótico solo pueden rotar (o extender/retraer) cada articulación individualmente. Pero las instrucciones que un humano quiere dar a un robot se formulan, casi siempre, en términos de la posición y orientación de la mano (el efector final): «coloca esta pieza aquí», «lleva esta taza hasta allá». El conjunto de ángulos articulares (espacio articular) y la posición y postura de la mano (espacio de trabajo) parecen, intuitivamente, magnitudes completamente diferentes: para un brazo de 6 ejes, los ángulos articulares son un conjunto de 6 números, mientras que la postura de la mano se expresa como una posición 3D (x, y, z) más una orientación 3D (rotación), lo que da un total de 6 grados de libertad.

Sin una regla de conversión que vincule estos dos espacios, no hay forma de calcular «cuánto debe girar cada articulación para que la mano alcance la posición objetivo», y el brazo robótico simplemente no podría realizar el movimiento deseado. La cinemática se encarga de expresar, mediante ecuaciones explícitas, esta correspondencia geométrica entre el espacio articular y el espacio de trabajo, una correspondencia determinada por la estructura del robot (longitud de los eslabones, disposición de las articulaciones).

3. ¿Cuáles son las entradas?

Las entradas que maneja la cinemática dependen de la dirección en la que se esté resolviendo el problema.

  • Entradas para la cinemática directa (FK): un vector de articulaciones \boldsymbol{\theta} = (\theta_1, \theta_2, \ldots, \theta_n) que recoge el ángulo de cada articulación (para articulaciones rotatorias) o la cantidad de deslizamiento (para articulaciones prismáticas). Además, la información estructural del robot (longitud de cada eslabón, disposición de los ejes de cada articulación) se proporciona como un conjunto de constantes necesarias de antemano para construir el modelo cinemático.

  • Entradas para la cinemática inversa (IK): la pose objetivo \mathbf{x}_d que debe alcanzar la mano. Esta es un par formado por una posición objetivo \mathbf{p}_d \in \mathbb{R}^3 y una orientación objetivo (expresada como una matriz de rotación o un cuaternión) R_d; en muchos casos, especialmente con métodos numéricos, los ángulos actuales de las articulaciones \boldsymbol{\theta}_0 también se incluyen como entrada de valor inicial.

La información estructural del robot es un "modelo", no un dato que se proporciona en cada cálculo; sin embargo, si es inexacta, tanto la cinemática directa (FK) como la cinemática inversa (IK) producirán resultados que no coincidirán con la máquina real. Antes de trabajar con la cinemática de un brazo robótico, este modelo estructural debe calibrarse correctamente.

4. ¿Qué buscamos resolver? ¿Cuáles son los resultados?

El resultado de la FK es la pose de la mano \mathbf{x} = (\mathbf{p}, R) dadas las angulación de las articulaciones \boldsymbol{\theta}. Esta se determina de forma unívoca: una vez que se fijan todos los ángulos de las articulaciones, también se fijan las longitudes de los eslabones y la disposición de las articulaciones, por lo que la posición final de la mano se determina geométricamente como una única respuesta.

El resultado de la IK son las angulación de las articulaciones \boldsymbol{\theta}^{*} que dan como resultado una pose objetivo \mathbf{x}_d. Aquí es donde la IK difiere fundamentalmente de la FK: una solución de IK, en general, no es única. Puede haber varias maneras de flexionar el codo para alcanzar la misma posición de la mano (múltiples soluciones), o el objetivo puede simplemente estar fuera del rango de movimiento del robot (fuera del espacio de trabajo alcanzable), en cuyo caso no existe ninguna solución. Esta falta de unicidad es precisamente lo que hace que la cinemática inversa (IK) sea matemáticamente más compleja que la cinemática directa (FK).

También hay muchas situaciones en las que lo que buscamos no es la posición o la postura en sí, sino la relación entre velocidades: «si modifico los ángulos articulares actuales en esta cantidad, ¿cuánto se mueve la mano?». Este es el papel del jacobiano, que trataremos en detalle en la Sección 6.

5. Arquitectura básica

El procesamiento de la cinemática se puede organizar en torno a la estructura de cómo tres transformaciones —FK, IK y el jacobiano— conectan el espacio articular y el espacio de trabajo.

Diagram 1 · Use the button to switch views
Relationship among forward kinematics, inverse kinematics, and the Jacobian A diagram showing how forward kinematics (FK), inverse kinematics (IK), and the Jacobian each connect joint space and task space Joint space θ = (θ₁,…,θₙ) Forward Kinematics (FK) Task space Hand pose x = (p, R) Target pose x_d = (p_d, R_d) Inverse Kinematics (IK) Joint angles (solution) θ* (may be multiple) Joint angular velocity θ̇ Jacobian v = J(θ) θ̇ Task-space velocity v = (ṗ, ω)

Figura 1 — Adelante La cinemática directa (CD) determina de forma unívoca la postura de la mano a partir de los ángulos articulares. La cinemática inversa (CI) resuelve el problema en sentido contrario, pero puede haber múltiples soluciones o ninguna. El jacobiano relaciona las "velocidades" de ambos espacios mediante una relación lineal.

La fila superior representa la CD, la fila central la CI y la fila inferior la relación de velocidad mediante el jacobiano. La CD siempre se puede calcular de forma unívoca (de izquierda a derecha), mientras que la CI (de derecha a izquierda) es un problema inverso geométrico que generalmente requiere múltiples técnicas de solución. Dado que el jacobiano vincula las "tasas de cambio" (velocidades) en lugar de las posiciones o posturas en sí mismas, dentro de un marco de álgebra lineal, es más fácil trabajar con él que con la CD o la CI; por eso, la mayoría de los métodos numéricos de CI se basan en él.

6. Algoritmos representativos

Matrices de transformación homogéneas y parámetros DH: Construcción de la cinemática directa

La operación básica de la cinemática directa consiste en conectar los sistemas de coordenadas de los eslabones adyacentes mediante una matriz de transformación homogénea, que combina rotación y traslación.

{}^{i-1}T_i = \begin{pmatrix} R_i & \mathbf{d}_i \\ \mathbf{0}^{\top} & 1 \end{pmatrix}

R_i representa la rotación desde el sistema de coordenadas del eslabón i al sistema de coordenadas del eslabón i-1, y \mathbf{d}_i representa la traslación. Para un brazo con n articulaciones, la transformación del sistema de coordenadas base al sistema de coordenadas de la mano es el producto de todas las transformaciones individuales de las articulaciones multiplicadas entre sí.

{}^{0}T_n(\boldsymbol{\theta}) = {}^{0}T_1(\theta_1)\, {}^{1}T_2(\theta_2)\, \cdots\, {}^{n-1}T_n(\theta_n)

Si estas matrices de transformación homogéneas n se escribieran desde cero con una definición diferente para cada eslabón, habría que reconstruir todo el conjunto de ecuaciones cada vez que el robot cambiara. Por eso, la notación estandarizada —los parámetros de Denavit-Hartenberg (DH)— es tan utilizada. Jacques Denavit y Richard Hartenberg propusieron esta notación en su artículo de 1955 «Una notación cinemática para mecanismos de pares inferiores basada en matrices», publicado en el ASME Journal of Applied Mechanics. Expresa la relación posicional entre dos ejes de articulación adyacentes utilizando solo cuatro parámetros: longitud del eslabón a_i, ángulo de torsión del eslabón \alpha_i, desplazamiento de la articulación d_i y ángulo de la articulación \theta_i, lo que permite ensamblar la matriz de transformación de cada articulación de forma unificada.

{}^{i-1}T_i = \text{Rot}_z(\theta_i)\, \text{Trans}_z(d_i)\, \text{Trans}_x(a_i)\, \text{Rot}_x(\alpha_i)

Con esta tabla de parámetros DH —tres constantes a_i, \alpha_i, d_i para cada articulación, más la variable \theta_i— las ecuaciones de cinemática directa para cualquier robot de eslabones en serie se pueden ensamblar mecánicamente siguiendo el mismo procedimiento. Por eso, los manuales de robótica industrial y muchos simuladores proporcionan las especificaciones del robot en este formato de parámetros DH.

Cinemática Inversa Analítica: Un Brazo Planar de 2 Eslabones

Veamos concretamente el concepto de cinemática inversa analítica, que resuelve las ecuaciones de cinemática directa construidas a partir de parámetros DH en sentido inverso, utilizando el ejemplo más sencillo posible: un brazo planar de 2 eslabones con longitudes de eslabón l_1, l_2.

Diagram 2 · Use the button to switch views
Geometría FK/IK de un brazo plano de 2 eslabones

Figura 2 — Un brazo plano de 2 eslabones. La posición de la mano E (x, y) está determinada por los ángulos θ₁, θ₂ de la articulación del hombro O y la articulación del codo J, y las longitudes de los eslabones l₁, l₂ (FK). Por el contrario, encontrar θ₁, θ₂ a partir de (x, y) es IK.

La cinemática directa se puede escribir simplemente sumando los vectores de los dos eslabones.

x = l_1 \cos\theta_1 + l_2 \cos(\theta_1 + \theta_2), \qquad y = l_1 \sin\theta_1 + l_2 \sin(\theta_1 + \theta_2)

La cinemática inversa encuentra \theta_1, \theta_2 a partir de un Posición objetivo (x, y). Primero, use la ley de los cosenos para hallar el ángulo del codo \theta_2.

\cos\theta_2 = \frac{x^2 + y^2 - l_1^2 - l_2^2}{2\, l_1\, l_2}

Existe una solución cuando el lado derecho de esta ecuación se encuentra dentro de [-1, 1], y \theta_2 = \pm\arccos(\cdots) proporciona dos soluciones, que difieren solo en el signo (doblando el codo hacia arriba o hacia abajo). Una vez que \theta_2 está fijo, \theta_1 se determina de forma única (para esa elección de \theta_2) a partir de la relación geométrica. Este procedimiento —«derivar las funciones trigonométricas inversas mediante manipulación algebraica pura»— es cinemática inversa analítica; puede escribirse como una expresión analítica para mecanismos simples con 2-3 grados de libertad, pero a medida que aumentan los grados de libertad o la disposición de las articulaciones se vuelve más compleja, encontrar una expresión analítica se vuelve, en general, más difícil. Difícil.

Cinemática Inversa Numérica: Una Solución Iterativa con el Jacobiano

Para robots con muchos grados de libertad o mecanismos sin solución analítica, se utiliza la cinemática inversa numérica, un cálculo iterativo que se aproxima gradualmente al objetivo desde los ángulos articulares actuales. Esta se basa en el jacobiano.

Al diferenciar la pose de la mano \mathbf{x}(\boldsymbol{\theta}) con respecto a los ángulos articulares, se obtiene una relación lineal entre la velocidad articular y la velocidad de la mano.

\mathbf{v} = J(\boldsymbol{\theta})\, \dot{\boldsymbol{\theta}}, \qquad J(\boldsymbol{\theta}) = \frac{\partial \mathbf{x}}{\partial \boldsymbol{\theta}}

J(\boldsymbol{\theta}) es el jacobiano del manipulador, una matriz m \times n (m representa los grados de libertad del espacio de trabajo y n el número de articulaciones). La dirección para actualizar los ángulos articulares y reducir el error \mathbf{e} = \mathbf{x}_d - \mathbf{x}(\boldsymbol{\theta}) con respecto a la pose objetivo se puede determinar mediante la inversa (o pseudoinversa) de la matriz. Jacobiano.

\Delta\boldsymbol{\theta} = J^{+} \mathbf{e}, \qquad J^{+} = J^{\top}(J J^{\top})^{-1}

Esta idea de actualización iterativa mediante la pseudoinversa jacobiana se remonta al artículo de Daniel E. Whitney de 1969, «Control de la velocidad de movimiento resuelto de manipuladores y prótesis humanas», que proponía un marco de control de velocidad que incluía la resolución de grados de libertad redundantes. Sin embargo, a medida que el robot se aproxima a una configuración singular (explicada en la Sección 7), J J^{\top} se vuelve casi singular (la inversa diverge) y esta actualización se vuelve inestable. El método de mínimos cuadrados amortiguados (DLS), presentado por Charles Wampler en un artículo de 1986, suprime esta inestabilidad añadiendo un término de amortiguación \lambda^2 I al cálculo de la inversa.

\Delta\boldsymbol{\theta} = J^{\top}\left(J J^{\top} + \lambda^2 I\right)^{-1} \mathbf{e}

Existe una compensación: cuanto mayor sea \lambda, mayor será la estabilidad numérica cerca de las singularidades, pero la convergencia será más lenta. (El error solo se puede reducir en una cantidad menor en cada iteración). Dado que esta fórmula permite ajustar la velocidad de convergencia y la estabilidad con un solo parámetro, \lambda, se utiliza ampliamente en solucionadores de cinemática inversa (IK) para robots industriales por su practicidad.

CCD y FABRIK: Heurísticas geométricas iterativas

También existen métodos que resuelven la IK repitiendo operaciones geométricas más intuitivas, sin utilizar el jacobiano. El método CCD (Descenso Cíclico de Coordenadas) avanza articulación por articulación, desde la más cercana a la mano hacia la articulación raíz, repitiendo la sencilla operación de "rotar solo esta articulación para acercar la mano lo máximo posible al objetivo". Es fácil de implementar y computacionalmente económico, pero como solo mueve una articulación a la vez, converge lentamente y tiende a producir trayectorias poco naturales.

FABRIK (Cinemática Inversa de Alcance Hacia Adelante y Hacia Atrás), un método publicado por Andreas Aristidou y Joan Lasenby en Graphical. Los modelos de 2011 no manejan ángulos de rotación; en su lugar, resuelven la cinemática inversa (IK) reposicionando repetidamente la posición de cada articulación como "un punto en la línea recta hacia el objetivo, a una distancia que conserva la longitud del eslabón", moviéndose de la mano a la raíz y luego de la raíz de vuelta a la mano. Debido a que evita el cálculo de ángulos, es computacionalmente ligero y tiende a converger a poses de aspecto natural en pocas iteraciones, razón por la cual se usa ampliamente para el movimiento de brazos y piernas en animación por computadora y personajes de videojuegos.

7. Diferencias entre algoritmos

Método Principio Precisión Costo computacional Robustez cerca de singularidades Dificultad de implementación
Parámetros DH + transformaciones homogéneas (FK) Cadenas de matrices de transformación eslabón por eslabón Exacto (sin error si el modelo es correcto) Bajo (solo productos de matrices) No aplicable (FK no tiene singularidades) Bajo
IK analítica Deriva una solución de forma cerrada mediante álgebra trigonométrica Exacta (la solución verdadera, si existe) Muy baja Se maneja enumerando las ramas de la solución Baja para pocos grados de libertad, muy alta a medida que aumentan los grados de libertad
Pseudoinversa jacobiana Linealiza el error y se actualiza iterativamente Depende del número de iteraciones; alta precisión una vez convergente Moderada (operaciones matriciales repetidas) Baja (propensa a divergir cerca de singularidades) Moderada
Mínimos cuadrados amortiguados Agrega un término de amortiguación a la pseudoinversa Depende del número de iteraciones y de \lambda Moderada Alta (estable incluso cerca de singularidades) Moderada
CCD Rota una articulación a la vez hacia el objetivo de la mano Depende del número de iteraciones; puede caer en mínimos locales Baja Alta (no se necesita inversión de matriz) Baja
FABRIK Mueve las posiciones articulares a lo largo de una línea manteniendo la longitud del enlace Depende del número de iteraciones; tiende a converger a soluciones visualmente naturales Bajo Alto Bajo

La cinemática inversa analítica es "la más rápida y precisa cuando es resoluble", pero a medida que aumentan los grados de libertad, derivar las ecuaciones se vuelve difícil. Los métodos numéricos (basados en el jacobiano, CCD, FABRIK) se pueden usar de forma genérica independientemente de los grados de libertad o el mecanismo, pero al ser iterativos, no pueden evitar las compensaciones entre la velocidad de convergencia, los mínimos locales y el coste computacional.

8. Dónde presenta dificultades / Entornos difíciles

Las dificultades inherentes a la cinemática se pueden organizar en tres categorías principales.

Singularidades: en ciertas configuraciones articulares, el rango del jacobiano J disminuye, creando una dirección en la que la mano simplemente no se puede mover, sin importar qué. Por ejemplo, con el brazo completamente extendido, no hay ninguna combinación de velocidades articulares que pueda mover la mano. La mano no se desplaza más hacia afuera. En este estado, J J^{\top} se aproxima a una matriz singular, y las leyes de control que utilizan la pseudoinversa provocan que las velocidades articulares ordenadas diverjan. El índice de manipulabilidad w = \sqrt{\det(J J^{\top})}, propuesto por Tsuneo Yoshikawa en 1985, se utiliza ampliamente para cuantificar la proximidad a una singularidad: cuanto más cerca esté w de cero, más cerca estará la configuración de una singularidad.

Múltiples soluciones y alcanzabilidad: la cinemática inversa (IK) generalmente puede tener múltiples soluciones (diferentes formas de flexionar el codo, por ejemplo), y también hay casos en los que la pose objetivo es físicamente inalcanzable dadas las longitudes de los eslabones del robot y las restricciones de rango de movimiento. A menos que un método numérico diseñe explícitamente una condición de parada para este caso de "sin solución", seguirá iterando sin converger jamás.

Grados de libertad redundantes: para robots con más articulaciones que grados de libertad del espacio de trabajo (normalmente 6) — Por ejemplo, en brazos robóticos de 7 ejes, existen infinitas combinaciones de ángulos articulares que permiten lograr la misma postura de la mano. Este exceso de grados de libertad no representa una ambigüedad problemática, sino un recurso que puede utilizarse activamente para objetivos secundarios como la evitación de obstáculos, la prevención de singularidades o el mantenimiento de las articulaciones cerca del punto medio de su rango de movimiento. La cinemática inversa (CI) para robots redundantes se diseña proyectando el gradiente de un objetivo secundario en el espacio nulo del jacobiano (la dirección de las velocidades articulares que no afectan la postura de la mano).

9. Opciones prácticas

La implementación de la cinemática depende de los grados de libertad del robot, su aplicación y los requisitos en tiempo real.

  • **Brazos robóticos industriales (soldadura, ensamblaje, etc., generalmente de 6 ejes): con 6 grados de libertad, muchos mecanismos admiten una solución de CI analítica y, en la práctica, muchos controladores de fabricantes implementan la CI analítica directamente en el firmware. Al no requerir cálculos iterativos, este método es rápido y eficiente. Predeciblemente.

  • Brazos robóticos con grados de libertad redundantes (7 o más ejes, robots colaborativos o brazos humanoides): la resolución analítica es difícil o produce múltiples soluciones difíciles de manejar, por lo que la cinemática inversa numérica basada en el jacobiano (como los mínimos cuadrados amortiguados) es común. También facilita el diseño simultáneo de la evitación de obstáculos y singularidades en el espacio nulo.

  • Animación CG, personajes de videojuegos, avatares de RV/RA: la naturalidad visual y el bajo coste computacional suelen priorizarse sobre la precisión física, favoreciendo heurísticas geométricas ligeras como CCD o FABRIK.

  • Manipuladores móviles (base móvil + brazo) o humanoides de cuerpo completo: es necesario manejar no solo la cinemática inversa del brazo, sino también los grados de libertad redundantes de todo el cuerpo, incluyendo piernas y torso, de forma integrada, a menudo utilizando un marco que extiende los métodos basados en el jacobiano a la cinemática de cuerpo completo (cinemática inversa de cuerpo completo).

En todas las aplicaciones, la cinemática nunca es un problema. Tecnología autónoma por sí sola: un brazo robótico logra el movimiento deseado solo cuando se combina con el bucle de control que genera las órdenes de velocidad y torque de las articulaciones (Introducción a LQR, Introducción a MPC) y la Introducción a la Generación de Trayectorias, que diseña la trayectoria que la mano debe seguir a lo largo del eje temporal.

10. Resumen (Resumen en tres líneas)

  • La cinemática directa determina de forma unívoca la pose de la mano a partir de los ángulos de las articulaciones; la cinemática inversa resuelve el problema inverso, pero puede haber múltiples soluciones o ninguna.

  • El jacobiano conecta linealmente la velocidad de las articulaciones con la velocidad de la mano, y es la base de la cinemática inversa numérica mediante la pseudoinversa o el método de mínimos cuadrados amortiguados.

  • La forma en que se abordan las tres dificultades de singularidades, múltiples soluciones y grados de libertad redundantes determina si... La cinemática inversa analítica o numérica es la opción correcta.

Comprueba tu comprensión
¿Existe una única configuración de articulación para la posición del efector final?

Puede haber múltiples soluciones o redundancia, y algunos puntos son inalcanzables. Selecciona soluciones utilizando límites de articulación, singularidades y restricciones de colisión.

Referencias

What to read next

Review the backgroundNav2 tiene una ruta pero no se moverá: un flujo de trabajo de diagnósticoContinue the seriesIntroducción al control de fuerza y al control de impedancia: Construyendo un robot que pueda tocar.Explore another aspect of this fieldPor qué falla ICP: inicialización, valores atípicos y geometría simétrica