El problema de la cinemática inversa consiste en determinar las coordenadas articulares de un manipulador a partir de una posición u orientación deseada para su elemento terminal. A diferencia de la cinemática directa, en la que se conocen las coordenadas articulares y se calcula la pose resultante, aquí se parte de una tarea especificada en el espacio operacional para buscar una o más configuraciones que la satisfagan.
La cinemática inversa depende de la geometría del manipulador y de las restricciones impuestas a la tarea. Una misma pose puede alcanzarse con configuraciones distintas, no ser alcanzable o, en ciertas circunstancias, admitir infinitas configuraciones. Por ello, resolver el problema no consiste solamente en despejar incógnitas: también interesa determinar qué soluciones existen y cuáles son admisibles.
4.0.1Formulación del problema y tipos de solución¶
Para un manipulador serial de n articulaciones, representamos las coordenadas articulares mediante . Si se especifica una pose completa deseada, el problema se expresa como
donde es la transformación obtenida por cinemática directa y contiene la posición y orientación deseadas respecto del sistema base. Buscamos valores de dentro del conjunto de configuraciones admisibles que satisfagan esta igualdad.
No todas las tareas exigen una pose completa. Si únicamente se prescribe la posición del extremo, basta imponer
En otras aplicaciones se especifican la posición y una componente de orientación, como ocurre con ciertos manipuladores planos o con el robot SCARA. Las ecuaciones deben corresponder a las variables operacionales que realmente se desean controlar.
Aunque la igualdad entre dos transformaciones homogéneas puede escribirse comparando sus entradas, la pose espacial contiene seis parámetros independientes: tres de posición y tres de orientación. Las entradas de la matriz de rotación están relacionadas por las condiciones de ortogonalidad y determinante unitario; por tanto, no constituyen nueve restricciones independientes.
Según el objetivo y la geometría del robot, pueden presentarse distintas situaciones:
Sin solución: el objetivo es inalcanzable, ya sea por la geometría del mecanismo o por sus límites articulares.
Con una o varias soluciones discretas: distintas configuraciones articulares pueden producir la misma posición o pose, como sucede con las configuraciones de codo arriba y codo abajo.
Con infinitas soluciones: algunas tareas dejan grados de libertad sin determinar, como ocurre en ciertos manipuladores redundantes o en configuraciones geométricas especiales.
Las soluciones deben interpretarse teniendo en cuenta los límites articulares y, cuando corresponda, las singularidades. El hecho de encontrar una solución matemática no garantiza que sea una configuración físicamente admisible.
En estos apuntes distinguiremos dos familias de procedimientos:
Métodos de solución cerrada: emplean relaciones algebraicas, trigonométricas o construcciones geométricas para obtener expresiones de las coordenadas articulares. Estudiaremos por separado los enfoques algebraico y geométrico por su utilidad didáctica.
Métodos numéricos: buscan soluciones aproximadas mediante procedimientos iterativos. Su desarrollo se relaciona estrechamente con la cinemática diferencial, que estudiaremos posteriormente.
No existe un procedimiento de solución cerrada aplicable de manera general a cualquier manipulador. La elección del método depende de la estructura cinemática y de las características de la tarea.
4.0.2Método algebraico¶
En el enfoque algebraico partimos del modelo de cinemática directa y formulamos ecuaciones escalares a partir de las componentes de posición y, cuando sea necesario, de orientación. Por ejemplo, en una tarea de pose completa buscamos las coordenadas articulares que verifiquen la ecuación (1).
Las ecuaciones resultantes suelen ser no lineales y contener funciones trigonométricas. Para resolverlas podemos emplear identidades trigonométricas, eliminación de variables y funciones trigonométricas inversas. Es importante conservar los cuadrantes y considerar las distintas ramas de solución; por esa razón utilizaremos \atantwo{y}{x} cuando debamos reconstruir un ángulo a partir de sus componentes seno y coseno.
En manipuladores de pocos grados de libertad suele ser posible obtener fórmulas compactas. Los ejemplos siguientes ilustran primero una tarea de posición en un robot RR plano y después una tarea de posición y orientación en un robot RRR plano.
Ejemplo. Calcule la cinemática inversa del manipulador RR mostrado en la Figura Figure 1. Considere que se requiere que el extremo del manipulador se posicione en las coordenadas .
Figure 1:Manipulador RR
Solución:
Naturalmente, las longitudes de los eslabones ( y ) del robot son valores constantes y por lo tanto se asumen conocidos. Para resolver la cinemática inversa por el método analítico debemos primero calcular la matriz que describe la cinemática directa. En este caso está dada por:
Conocida , igualamos sus componentes de posición con las coordenadas deseadas . Obtenemos las ecuaciones:
Al elevar al cuadrado ambas ecuaciones y sumar, resulta
Aplicando la identidad :
Definimos
Como , obtenemos las dos ramas de solución:
Para que exista una solución real es necesario que , suponiendo . Esta condición es equivalente a que la distancia satisfaga
Para calcular , retomamos las ecuaciones (4) y (5). Al multiplicar en cruz las expresiones de posición obtenemos
Aplicando las identidades trigonométricas de suma de ángulos:
Agrupando los términos que dependen de y :
Para recuperar el ángulo sin perder información del cuadrante, utilizamos las dos cantidades
De las ecuaciones originales de posición se comprueba que
Por lo tanto, si , obtenemos la solución algebraica:
Una forma alternativa de interpretar el resultado. Si reescribimos las ecuaciones de posición como
observamos que el vector de posición resulta de rotar un ángulo el vector de componentes . Esta interpretación conduce a la expresión equivalente
Para cada valor de debe utilizarse el valor correspondiente de . En general, las dos ramas habituales coinciden geométricamente cuando . Existe un caso especial: si y , entonces , pero puede tomar cualquier valor; en ese caso no debemos evaluar ninguna de las expresiones anteriores con argumentos en la función arctan2.
Podemos comprobar cada solución sustituyéndola en las ecuaciones (4) y (5).
Ejemplo. Calcule la cinemática inversa del manipulador RRR de la Figura Figure 2. El extremo debe alcanzar la posición y el eje debe formar un ángulo orientado respecto de , medido alrededor del eje perpendicular al plano del manipulador.
Figure 2:Manipulador RRR plano
Solución:
La cinemática directa del manipulador está dada por
La posición deseada proporciona dos ecuaciones:
Como tenemos tres incógnitas articulares, la información de posición no basta para obtener una solución discreta. La orientación del extremo introduce la condición
de la cual se deduce, sin dividir por senos ni cosenos, que
Por tanto, y . Definimos el punto auxiliar , correspondiente al extremo del segundo eslabón:
Al sustituir en las ecuaciones de posición obtenemos
Estas expresiones son idénticas a las de un manipulador RR plano cuyo extremo debe alcanzar . Con
las ramas de solución, cuando , son
y finalmente
El signo elegido para determina la rama y debe mantenerse al calcular y . Como en el ejemplo RR, existen configuraciones degeneradas que requieren un tratamiento especial y las soluciones deben verificarse mediante la cinemática directa.
4.0.3Cinemática inversa de posición: método geométrico¶
En el método geométrico aprovechamos la disposición de los ejes articulares y las dimensiones conocidas de los eslabones para relacionar las variables articulares con la posición deseada. Es frecuente utilizar triángulos, proyecciones sobre planos y relaciones trigonométricas, como la ley de cosenos.
La elección del plano de proyección no sigue una regla universal basada únicamente en el tipo de articulación. Buscamos el plano en el que se aprecien mejor los movimientos y las longitudes relevantes. Por ejemplo, en un manipulador plano RR todas las articulaciones revolutas giran alrededor de ejes paralelos y podemos trabajar directamente en el plano de movimiento; en ciertos manipuladores espaciales conviene utilizar varias proyecciones.
Es recomendable construir diagramas en configuraciones suficientemente generales para distinguir longitudes y ángulos, pero no es incorrecto representar una configuración con ángulos múltiplos de o desplazamientos nulos. Lo importante es no confundir una posición elegida para dibujar el mecanismo con una restricción de su movimiento.
El enfoque geométrico permite obtener expresiones compactas cuando la arquitectura del robot favorece estas construcciones. Aunque aquí lo utilizaremos principalmente para cinemática inversa de posición, también puede ayudar a resolver aspectos de orientación y forma parte de los métodos de solución cerrada.
Ejemplo. Utilice el método geométrico para calcular la cinemática inversa del manipulador RR mostrado en la Figura Figure 1. Considere que el elemento terminal deberá alcanzar la posición dada por .
Solución:
Recordar que este manipulador lo habíamos resuelto con el método analítico. Primero, es importante comprender que el manipulador RR planar puede alcanzar un punto (, ) con alguna de las dos configuraciones que se muestran en la Figura Figure 3. Siempre que dicho punto sea alcanzable y no corresponda a una configuración degenerada. Las configuraciones se denominan codo arriba y codo abajo, por la obvia analogía de este manipulador con un brazo humano. A continuación desarrollaremos las dos ramas de solución, siguiendo la convención de signos de las figuras.
Figure 3:Dos posibles configuraciones para el manipulador RR
Solución para la configuración de codo abajo
Lo primero que debemos hacer es proyectar el manipulador en los planos que correspondan. Si queremos resolver para debemos proyectar en el plano . Para determinar debemos proyectar en el plano . Algo a considerar en este caso es que los planos y son planos paralelos entre sí, por lo tanto, tendremos la misma proyección resultante en ambos casos.
Figure 4:Proyección del manipulador RR (codo abajo)
Como se observa en la figura Figure 4 el manipulador RR se proyecta en el plano y se trazan los triángulos mostrados. De este diagrama se observa que el ángulo puede calcularse una vez conocidos los ángulos y mediante una simple diferencia:
El ángulo orientado se determina a partir de las coordenadas y sin perder información de cuadrante:
La longitud puede calcularse como:
El ángulo se determina aplicando ley de cosenos:
De forma similar a y utilizando el mismo triángulo se puede determinar aplicando ley de cosenos:
De lo cual se tiene que:
Solución para la configuración de codo arriba
Vamos a abordar ahora la otra posible solución para la cinemática inversa del manipulador RR, con la configuración de codo arriba. En la Figura Figure 5 se puede observar la proyección del manipulador en el plano .
Figure 5:Proyección del manipulador RR (codo arriba)
Del diagrama se puede notar rápidamente que el ángulo es la suma de los ángulos internos y , es decir:
El ángulo orientado se obtiene considerando el cuadrante del punto objetivo:
Para determinar podemos aplicar ley de cosenos en el triángulo obtusángulo:
En la expresión anterior es un valor no conocido, pero que podemos calcularlo aplicando el teorema de Pitágoras en el triángulo rectángulo:
Para calcular a podemos aplicar ley de cosenos en el triángulo obtusángulo:
Antes de establecer el resultado para , es importante mencionar que de acuerdo al diagrama de la proyección trazada, el ángulo debería ser negativo, por la manera en la cual se asume su medición (sentido horario) en el esquema. Entonces, es crucial que al resultado que se obtenga de despejar la expresión anterior, se le multiplique por -1, para garantizar lo ya mencionado; es decir:
Si y , la construcción geométrica de los triángulos deja de determinar : este es el caso especial de infinitas soluciones discutido en el método algebraico.
Ejemplo. Calcule la cinemática inversa del manipulador mostrado en la figura. Considere que el elemento terminal deberá alcanzar la posición dada por: .
Figure 6:Manipulador RRR
Solución:
De acuerdo con lo que sabemos, para calcular a debemos proyectar en el plano ; para calcular a en el plano y para en el plano . Estos dos últimos planos son paralelos. En la Figura Figure 7 se puede observar una representación tridimensional del manipulador RRR; del lado izquierdo se muestra en color rojizo el plano de proyección , y del lado derecho en color verde claro se muestra el plano de proyección .
Figure 7:Vista tridimensional de los planos de proyección del manipulador RRR
En la Figura Figure 8 se puede observar el esquema de la proyección del manipulador en el plano . Es sencillo notar que el valor de se puede calcular como sigue:
Además, el valor de la distancia sería:
Figure 8:Manipulador RRR, proyección en
En la Figura Figure 9 se puede observar la proyección del manipulador en el plano . La manera de proceder en este esquema es muy similar a lo que se hizo con el manipulador RR. Del esquema observamos que se tienen dos triángulos, los cuales denominaremos de la siguiente manera:
Triángulo 1: el triángulo rectángulo, cuyos catetos son y , y siendo la hipotenusa.
Triángulo 2: el triángulo obtusángulo, cuyos lados son , y .
Figure 9:Manipulador RRR, proyección en
Del esquema se puede observar que la variable articular corresponde a la diferencia de los ángulos internos y :
Utilizando el triángulo 1 podemos calcular el valor de y de la siguiente manera:
En el triángulo 2 podemos aplicar ley de cosenos para calcular a :
Utilizando el mismo triángulo 2 podemos ahora calcular el valor de , aplicando también ley de cosenos:
De esta manera obtenemos una rama de solución para el manipulador RRR. Cuando la geometría y los límites articulares lo permitan, el triángulo formado por , y también admite una configuración alternativa, que debe analizarse mediante los signos de y según la convención articular del diagrama. En ambos casos debemos comprobar la solución por cinemática directa.
4.0.4Desacoplo cinemático¶
La mayoría de manipuladores industriales de 6 grados de libertad, como el que se muestra en la Figura Figure 10, están conformados por una morfología base (RRR), a la cual se le adiciona un mecanismo de muñeca esférica (RRR). Para este tipo de manipuladores es posible aplicar una técnica conocida como desacoplo cinemático, la cual consiste en dividir el problema de la cinemática inversa en dos subproblemas: cinemática inversa de posición y cinemática inversa de orientación. La cinemática inversa de posición se suele abordar utilizando un enfoque geométrico y la cinemática inversa de orientación mediante un procedimiento analítico.

Figure 10:Robot industrial ABB IRB 120
A continuación, vamos a describir una serie de pasos necesarios para realizar cinemática inversa de un manipulador de 6 grados de libertad utilizando la técnica de desacoplo cinemático. Para lo subsiguiente asumimos que se conoce de entrada la matriz de transformación homogénea que describe la posición y orientación deseada del extremo del manipulador.
Lo primero que hacemos es construir el diagrama cinemático del manipulador, basándonos en los manuales y esquemáticos del fabricante. Es importante identificar correctamente las distancias entre los ejes articulares. Con el diagrama ya realizado, procedemos a establecer los sistemas de referencia siguiendo la metodología de Denavit-Hartenberg. Obtenemos la tabla de parámetros y calculamos las matrices y . Es importante comprender que será una matriz que depende de los primeras tres variables articulares ( ), y que depende de las últimas tres .
Una vez hecho lo anterior, comenzamos a calcular las coordenadas del centro de la muñeca esférica, utilizando la siguiente ecuación:
Donde son las coordenadas de posición que deberá alcanzar el extremo del manipulador, la distancia entre los ejes y , medida en la dirección del eje , y la orientación del eje del sistema de referencia del elemento terminal con respecto al de la base. Los términos y se obtienen de la matriz , de manera específica:
Ahora procedemos a resolver la cinemática inversa de posición utilizando el método geométrico y referenciando todo el procedimiento a las coordenadas del centro de la muñeca esférica. Con esto calcularemos las tres primeras variables articulares (, y ).
Con los valores de , y ya calculados, procedemos a determinar de forma numérica la matriz de rotación , sustituyendo los valores numéricos calculados previamente.
De la cinemática directa sabemos que:
Lo cual implica que:
Donde es la submatriz de rotación de , la matriz numérica calculada previamente y la matriz de rotación en forma simbólica calculada al inicio del procedimiento. La expresión anterior define una ecuación matricial que deberemos resolver de manera analítica, y con lo cual calcularemos los valores para las tres variables articulares restantes (, y ). Esta parte es lo que corresponde a la cinemática inversa de orientación. Usualmente deberemos trabajar con las ecuaciones que resulten de igualar los elementos correspondientes a la tercera fila y a la tercera columna: , , , , ; dado que suelen quedar expresiones más sencillas de manipular.
Para comprobar los resultados podemos sustituir los valores calculados en la matriz de la cinemática directa y verificar que sea igual a la matriz .
Ejemplo. Calcula la cinemática inversa del manipulador industrial ABB IRB 140 (ver Figura Figure 11). Considera que se requiere que el extremo del robot esté posicionado y orientado de acuerdo con la siguiente matriz :
En la Figura Figure 11 se puede observar el diagrama cinemático del manipulador y los sistemas de referencia de Denavit-Hartenberg.
Figure 11:Diagrama cinemático del manipulador ABB IRB 140
En la siguiente tabla se muestran los parámetros de Denavit-Hartenberg correspondientes. Recuerda que este procedimiento de cinemática directa para el IRB 140 fue desarrollado en un ejemplo del capítulo de cinemática directa.
| 1 | 70 | 352 | ||
| 2 | 360 | 0 | ||
| 3 | 0 | 0 | ||
| 4 | 0 | 380 | ||
| 5 | 0 | 0 | ||
| 6 | 0 | 65 |
Con esta información podemos calcular las matrices y , las cuales se muestran enseguida:
Una vez calculadas las matrices y , procedemos a determinar las coordenadas del centro de la muñeca esférica, lo cual podemos hacer mediante la siguiente expresión:
Con las coordenadas del centro de la muñeca esférica ya conocidas, procedemos a realizar la cinemática inversa de posición utilizando el método geométrico, con la finalidad de calcular las primeras tres variables articulares (, , ). De acuerdo con lo que aprendimos en secciones previas, si queremos calcular a deberíamos proyectar en el plano . En la Figura Figure 12 se puede observar la proyección del manipulador IRB 140 en el plano . El valor de se puede determinar de forma sencilla de la siguiente manera:
El valor de la distancia se puede calcular mediante el teorema de Pitágoras:
Figure 12:Proyección en el plano del robot ABB IRB 140
Para calcular a debemos proyectar en , y para en el plano . Se puede verificar que estos planos son paralelos, y por lo tanto la proyección en nos bastaría para calcular a y . En la Figura Figure 13 se puede observar la proyección del manipulador en el plano .
Figure 13:Proyección en el plano del robot ABB IRB 140
Del esquema podemos notar que el valor de es la diferencia de los ángulos y :
Ahora debemos calcular cada uno de esos valores. Del triángulo rectángulo podemos calcular la distancia (hipotenusa) :
Y el ángulo :
El valor del ángulo se puede calcular aplicando ley de cosenos en el triángulo obtusángulo:
Entonces, el valor de sería:
Del esquema de la Figura Figure 13 se puede observar que el ángulo es el valor del ángulo más 90°, es decir:
Donde el ángulo podemos calcularlo utilizando ley de cosenos:
Por lo tanto:
Una vez calculados los valores de , y , procedemos a sustituir estos valores en la matriz , de lo cual resulta:
Ahora calculamos el producto :
La matriz que resulta la igualamos con para formar la ecuación matricial que nos servirá para calcular la cinemática inversa de orientación, es decir:
Para podemos resolver dividiendo los elementos de ambas matrices e igualando, es decir:
En el caso de podemos hacer e igualar:
El valor de podemos determinarlo igualando los elementos de ambas matrices:
Con esto quedan calculadas todas las posiciones articulares requeridas para que el robot ABB IRB 140 se posicione y oriente de acuerdo con la matriz . Podríamos sustituir todos los valores en la matriz de la cinemática directa y obtendríamos la matriz . Retomando todos los valores calculados podríamos escribir el vector de posiciones articulares de la siguiente manera:
Es importante comprender que esta solución obtenida no es única, existen múltiples soluciones para este problema de cinemática inversa. Por ejemplo, para la cinemática inversa de orientación podemos tomar la solución para dada por:
Y entonces, esto implicaría que estaría dado por:
Y para el caso de se tendría que:
Esto nos conduciría a una segunda posible solución de la cinemática inversa dada por :
De igual manera, en la cinemática inversa de posición el manipulador se podría dibujar en una configuración diferente a la planteada, y obtendríamos un conjunto solución diferente. Se recomienda al lector que se tome el tiempo de verificar que las soluciones calculadas son correctas, haciendo la sustitución descrita en párrafos anteriores. El trabajo de multiplicación matricial para obtener , aún cuando se haga de forma completamente numérica, puede llegar a resultar cuando menos tedioso, por lo cual se recomienda que estas operaciones se realicen con el auxilio de herramientas computacionales.
4.0.5Resolviendo la cinemática inversa de forma numérica¶
4.0.5.1Método de Newton¶
4.0.5.2Descenso del gradiente¶
4.1Problemas¶
Calcule la cinemática inversa del manipulador RRP mostrado en la Figura Figure 14, considere que es una longitud conocida. El elemento terminal deberá alcanzar la posición dada por:
Figure 14:Manipulador RRP
Calcule la cinemática inversa del manipulador RRP mostrado en la Figura Figure 14, considere que mm. El elemento terminal deberá alcanzar la posición dada por:
Calcule la cinemática inversa del manipulador RRP mostrado en la Figura Figure 14, considere que mm. El elemento terminal deberá alcanzar la posición dada por:
Calcula la cinemática inversa del manipulador RRR mostrado en la Figura Figure 2, considerando que el elemento terminal deberá alcanzar la posición dada por:
Y orientado de tal manera que el eje se encuentre alineado con . Se sabe que y .
En la Figura Figure 15 se muestra un manipulador PRR que deberá alcanzar dos objetos A y B, tal que sus posiciones y orientaciones están definidas mediante los sistemas de referencia y adheridos a estos. Se sabe que:
Calcule los valores articulares requeridos para alcanzar cada uno de los objetos. Considere que mm y mm.
Figure 15:Manipulador PRR
En la figura se muestra el esquema de un manipulador planar PPR que deberá realizar operaciones de soldadura a lo largo de la trayectoria compuesta, esquematizada mediante la línea discontinua. Los puntos A y B denotan el inicio y fin de la trayectoria, y el elemento terminal del manipulador deberá alcanzar estos puntos con la orientación dada por los sistemas y . La longitud es de 100 mm. Se sabe que:
Calcule los valores articulares requeridos para alcanzar los puntos y .
Calcula la cinemática inversa del manipulador RRP mostrado en la Figura Figure 17, considerando que el elemento terminal deberá alcanzar el punto .
Para el manipulador industrial mostrado en la Figura Figure 18, calcule la cinemática inversa de posición y orientación si el extremo del manipulador debe estar orientado y posicionado de acuerdo con:
Para el manipulador industrial mostrado en la Figura Figure 18, calcule la cinemática inversa de posición y orientación si el extremo del manipulador debe estar orientado y posicionado de acuerdo con:
Utiliza la técnica del desacoplo cinemático para calcular la cinemática inversa del robot FANUC LR Mate 200iC/5L.
4.1.1Problemas para resolver utilizando la computadora¶
Desarrolla una función denominada rr_planar_robot_ik que deberá calcular las dos soluciones (codo arriba y codo abajo) de la cinemática inversa del manipulador planar RR mostrado en la figura. La función deberá recibir como argumentos de entrada las coordenadas (, ) del punto que deberá alcanzar el manipulador, las longitudes de los eslabones: y , y un argumento denominado sol en el cual deberá indicarse la solución a calcular, se usará 'up' para la solución de codo arriba y 'down' para la solución de codo abajo. Enseguida se muestra una sugerencia de plantilla para la definición de la función, designación de los parámetros y de los valores a devolver.
def rr_planar_robot_ik(px, py, l1, l2, sol):
# hacer los cálculos aquí
return q1, q2Desarrolla una función denominada rrr_planar_robot_ik que calcule la cinemática inversa de un manipulador planar RRR mostrado en la Figura. La función debe recibir como argumentos de entrada las coordenadas del punto que deberá alcanzar el manipulador, el ángulo que describe la orientación, las longitudes de los eslabones: , y , y un argumento denominado sol en el cual deberá indicarse la solución a calcular, se usará 'up' para la solución de codo arriba y 'down' para la solución de codo abajo.
def rrr_planar_robot_ik(px, py, phi, l1, l2, l3, sol):
# hacer los cálculos aquí
return q1, q2, q3