Saltar al contenido
Biblioteca GKUn lugar para las mentes curiosas
Español

Cinemática inversa (Inverse Kinematics), del extremo del brazo a sus articulaciones

Cuando cogemos una taza de la mesa, no calculamos cuántos grados girar el hombro ni cuántos grados flexionar el codo. Basta con decidir llevar la mano hasta la taza para que las articulaciones ajusten sus ángulos por sí solas. Un robot tiene que hacerlo mediante cálculos. Ese cálculo que parte del lugar al que debe llegar el extremo del brazo y recorre el camino inverso para obtener los ángulos articulares se llama «cinemática inversa (Inverse Kinematics)».

Dicho de forma sencilla, la cinemática inversa consiste en determinar cuánto debe girar o extenderse cada articulación para que la mano o la herramienta montada en el extremo de un brazo robótico quede en la posición y con la orientación deseadas. El robot realiza su tarea en el extremo del brazo, pero los motores están montados en las articulaciones. La cinemática inversa relaciona ambos y por eso interviene en casi todos los procesos que ponen en movimiento un brazo robótico.

Veremos primero la diferencia entre cinemática directa e inversa, luego las dificultades que surgen cuando hay varias soluciones o ninguna y, por último, los métodos de resolución y sus aplicaciones prácticas.

La cinemática directa obtiene la posición y la orientación del extremo a partir de los ángulos articulares, mientras que la cinemática inversa obtiene los ángulos articulares a partir de la posición y la orientación objetivo. Un brazo plano de 2 articulaciones puede adoptar dos configuraciones para una misma posición del extremo. Si el objetivo queda fuera del alcance del brazo, no hay solución.
La cinemática inversa consiste en hallar la configuración de las articulaciones a partir de un objetivo. La comparación de abajo muestra un ejemplo plano de 2 articulaciones en el que solo se ajusta la posición del extremo. En los cálculos reales también se tienen en cuenta la orientación objetivo, los límites articulares y las colisiones. Fuente: Lynch y Park, Modern Robotics, capítulo 6.

El cálculo que convierte el objetivo del extremo del brazo en movimientos articulares

¿En qué se diferencian la cinemática directa y la inversa?

En un laboratorio luminoso, un brazo robótico blanco de 6 ejes extiende su pinza hacia una taza de cerámica sobre una mesa de madera. A su lado se ve el brazo de una persona.

Un brazo robótico tiene una estructura en cadena formada por barras rígidas llamadas eslabones (Link), unidas mediante articulaciones (Joint). La pieza situada al final de esa cadena que se encarga de sujetar objetos o soldar se llama efector final (End Effector).

(1) Cinemática directa (Forward Kinematics)
Es el cálculo que permite averiguar dónde está el extremo del brazo cuando se conocen todos los ángulos articulares. Basta con combinar sucesivamente las longitudes de los eslabones y los ángulos mediante funciones trigonométricas para obtener una única solución.

(2) Cinemática inversa (Inverse Kinematics)
El cálculo recorre el camino inverso. Se fijan la posición y la orientación que debe alcanzar el extremo del brazo y, a partir de ellas, se obtienen los ángulos articulares. Las órdenes que una persona da a un robot suelen referirse al extremo del brazo, como «colócate encima de este tornillo», así que en el trabajo real se usa mucho más la cinemática inversa.

Si tomamos como ejemplo el brazo humano, la cinemática directa pregunta «¿a dónde llega la mano si flexionamos el hombro 30 grados y el codo 90 grados?». La cinemática inversa pregunta «¿cuántos grados hay que flexionar el hombro y el codo para que la mano toque el asa de la taza?». En la cinemática directa basta con seguir los pasos del cálculo. La inversa es mucho más difícil porque exige resolver ecuaciones no lineales en las que intervienen varias articulaciones.


Un problema difícil con varias soluciones o ninguna

Sobre una mesa de trabajo bien iluminada, dos brazos robóticos de sobremesa idénticos tocan la misma bola metálica con sus pinzas. Uno tiene el codo elevado y el otro lo mantiene flexionado hacia abajo.

La dificultad de la cinemática inversa va más allá del volumen de cálculo. Para un mismo objetivo, el número de soluciones varía según la situación.

(1) Cuando hay varias soluciones
Para coger una misma taza se puede levantar o bajar el codo. Entre los robots industriales de 6 ejes, aquellos cuyos tres ejes articulares de la muñeca se cruzan en un mismo punto pueden tener hasta 8 soluciones para una misma pose.

(2) Cuando hay infinitas soluciones
Si hay más grados de libertad de los necesarios, como en un brazo robótico de 7 articulaciones, se pueden obtener infinitas soluciones, por ejemplo, girando solo el codo mientras se mantiene fijo el extremo del brazo. A estos robots se los llama robots redundantes (Redundant Robot).

(3) Cuando no hay solución
Por mucho que se calcule, no hay solución si el objetivo está demasiado lejos para que el brazo lo alcance o si exige una orientación que las articulaciones no pueden adoptar. El espacio que puede alcanzar el extremo del brazo se llama espacio de trabajo (Workspace).

  • Singularidad (Singularity). En configuraciones como aquellas en las que el brazo está totalmente extendido o los ejes de dos articulaciones quedan sobre una misma recta, el extremo del brazo pierde la capacidad de moverse en una dirección determinada. Cerca de esas configuraciones, incluso un pequeño desplazamiento exige que las articulaciones giren muy rápido.

Dos formas de resolver la cinemática inversa

En un laboratorio universitario luminoso, un especialista en robótica ajusta un brazo robótico pequeño. En la pantalla del portátil que tiene al lado se ven un modelo de líneas en 3 dimensiones del brazo, con las articulaciones representadas por esferas de colores, y una trayectoria curva.

Los métodos para resolver la cinemática inversa se dividen, a grandes rasgos, entre los que obtienen la solución directamente mediante fórmulas y los que se acercan a ella paso a paso.

(1) Método analítico (Analytical Method)
Se aprovecha la geometría del robot para obtener directamente los ángulos articulares mediante fórmulas. En 1968, Donald L. Pieper, de la Universidad de Stanford, en Estados Unidos, demostró que, en un robot de 6 ejes cuyos tres ejes de la muñeca se cruzan en un mismo punto, se pueden resolver por separado, mediante fórmulas, la posición de la muñeca y la orientación de la mano. Por eso muchos robots industriales tienen una muñeca con este diseño.

(2) Método numérico (Numerical Method)
Se parte de una configuración inicial estimada y se va reduciendo poco a poco la diferencia con respecto al objetivo. Un procedimiento habitual consiste en realizar cálculos iterativos con la matriz jacobiana (Jacobian Matrix), que indica cuánto se desplaza el extremo del brazo cuando las articulaciones se mueven un poco. Su ventaja es que puede aplicarse a robots de cualquier estructura. Sin embargo, según la configuración inicial, se puede llegar a soluciones distintas, y el cálculo tiende a volverse inestable cerca de las singularidades. Por eso se usan técnicas complementarias como el método de mínimos cuadrados amortiguados (Damped Least Squares), que reduce ligeramente el movimiento de forma deliberada para estabilizar el cálculo.

  • Método heurístico (Heuristic Method). Se repiten reglas sencillas para obtener rápidamente una solución aproximada. Dos ejemplos son el descenso cíclico por coordenadas (Cyclic Coordinate Descent), que gira las articulaciones una por una para ajustar la posición, y FABRIK (Forward And Backward Reaching Inverse Kinematics), presentado en 2011.

La cinemática inversa en la práctica

En un camino de grava al aire libre y bien iluminado, un robot cuadrúpedo levanta una pata con la rodilla y el tobillo flexionados para apoyar el pie sobre una piedra plana.

La cinemática inversa se usa dondequiera que haga falta colocar con precisión el extremo de un brazo o un pie, desde las fábricas hasta los personajes en pantalla.

  • Robot industrial (Industrial Robot). Cuando se define una línea de soldadura o una trayectoria de pintado mediante las coordenadas del extremo del brazo, el controlador convierte esas coordenadas en ángulos articulares en cada instante para accionar los motores.
  • Robot con patas (Legged Robot). Primero se determina dónde se apoyará el pie en el siguiente paso y luego se calculan los ángulos de la rodilla y del tobillo mediante cinemática inversa para caminar por terreno irregular.
  • Robot quirúrgico (Surgical Robot). Los movimientos que el cirujano hace con la mano en el dispositivo de control se traducen en posiciones objetivo para la punta de un instrumento delgado introducido en el cuerpo. Los ángulos articulares necesarios para alcanzar esas posiciones se calculan en tiempo real.
  • Animación por computadora (Computer Animation). Cuando un personaje de videojuego sube una escalera, se ajusta la punta del pie a la superficie de apoyo y se calcula automáticamente la configuración de las articulaciones de la pierna para evitar que el pie atraviese el suelo o quede suspendido en el aire.

La cinemática inversa es el cálculo que parte del objetivo al que debe llegar el extremo del brazo y recorre el camino inverso para hallar los ángulos articulares. Puede haber varias soluciones o ninguna y también pueden surgir dificultades en las singularidades. Gracias a las fórmulas que aprovechan la geometría y a los cálculos iterativos, hoy pueden moverse con naturalidad tanto los brazos robóticos y los robots con patas como los personajes en pantalla.

El primer paso para que un robot se mueva con precisión es definir con claridad el objetivo que debe alcanzar el extremo del brazo antes de ocuparse de cada articulación.

Guarda este artículo en PDF

Compra la edición en el idioma que has seleccionado del artículo que estás leyendo.

US$1.00
Idioma seleccionado: Español

US$1.00 · 1 artículo · 1 idioma

Una vez realizada la compra, puedes volver a descargar la edición que compraste iniciando sesión con la misma cuenta.

Ver una muestra del PDF ↗Puedes leer el artículo completo gratis. La muestra te permite ver la tipografía y la estructura del archivo.