Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cinemática Inversa
El objetivo del problema cinemático inverso consiste en encontrar los valores que deben adoptar las
coordenadas articulares del robot q = [q1 q2…..qn], para que su extremo se posicione y oriente
según una determinada localización espacial. Así cómo es posible abordar el problema cinemático
directo de una manera sistemática a partir de la utilización de matrices de transformación
homogéneas, e independientemente de la configuración del robot, no ocurre lo mismo con el
problema cinemático inverso, siendo el procedimiento de obtención de las ecuaciones fuertemente
dependiente de la configuración del robot. Se han desarrollado algunos procedimientos genéricos
susceptibles de ser programados, de modo que un computador pueda, a partir del conocimiento de la
cinemática del robot (con sus parámetros de Denavit-Hartenberg, por ejemplo) obtener los valores
articulares que posicionan y orientan su extremo. El inconveniente de estos procedimientos es que
se trata de métodos numéricos iterativos, cuya velocidad de convergencia e incluso su convergencia
en sí no está siempre garantizada.
A la hora de resolver el problema cinemático inverso es mucho más adecuado encontrar una
solución cerrada. Esto es, encontrar una relación matemática explícita de la forma:
𝑞𝑘 = 𝑓𝑘(𝑥, 𝑦, 𝑧, ∅, 𝜃, 𝛾)
𝑘 = 1 … . 𝑛 (𝐺𝐷𝐿)
Como alternativa para resolver el mismo problema se puede recurrir a manipular directamente las
ecuaciones correspondientes al problema cinemático directo. Es decir, puesto que éste establece la
relación:
𝑛 𝑜 𝑎 𝑝
[ ] = [𝑡 ]
0 0 0 1 𝑖𝑗
donde los elementos 𝑡𝑖𝑗 son función de las coordenadas articulares [q1, ..., qn] T , es posible pensar
que mediante ciertas combinaciones de las ecuaciones, se puedan despejar las n variables articulares
qi en función de las componentes de los vectores n, o, a y p. Debe considerarse en este caso estas
responden a ecuaciones trigonométricas acopladas cuya resolución no es trivial. Para facilitar esta
solución se verá que se puede proceder de manera ordenada, despejando sucesivamente los grados
de libertad.
2
𝐶2 𝐶 = 2𝑙1+2 𝑟𝑦
= 𝑟𝑥 2 2 − 2 ∗ 𝑙1 ∗ 𝑙2 ∗
+ 𝑙2 Aplicando Pitágoras
𝑐𝑜𝑠𝐶
𝐶 + 𝑞2 = 180°
𝐶2 = 𝑟𝑥2 + 𝑟𝑦2
𝑟𝑥2+𝑟𝑦2−𝑙12−𝑙22
cos(𝑞2) = 2∗𝑙1∗𝑙2 =M
𝑠𝑒𝑛(𝑞2) = ±√1 − 𝑀2
𝑠𝑒𝑛(𝑞2)
tan(𝑞2) =
cos(𝑞2)
±√1−𝑀2
tan(𝑞2) =
𝑀
±√1 − 𝑀2
𝑞2 = atan( 𝑀 )
Al encontrar q2 el signo de la operación del arco tangente se obtiene dos soluciones un codo
arriba y otro codo abajo.
Imagen N°2: Soluciones cinemática inversa codo abajo (a) y codo arriba (b)
𝛼 = 𝑞1 + 𝛽
𝑟𝑦
𝑡𝑎𝑛(𝛼) =
𝑟𝑥
𝑟𝑦
𝛼 = 𝑎𝑡𝑎𝑛
𝑟𝑥
𝑦
tan(𝛽) =
𝑙1 + 𝑥
𝑙2 ∗ 𝑠𝑒𝑛(𝑞2)
tan(𝛽) =
𝑙1 + 𝑙2 ∗ cos(𝑞2)
𝑙2∗𝑠𝑒𝑛(𝑞2)
𝛽 = atan( )
𝑙1+𝑙2∗cos(𝑞2)
𝛼 = 𝑞1 + 𝛽
𝑞1 = 𝛼 − 𝛽
Utilizando Matlab se realiza un script de cinemática inversa planar como se muestra en la siguiente
imagen:
Ejemplo 1 problema cinemático inversa robot Planar RR, utilizando métodos algebraicos con
algoritmo de búsqueda de ángulos
Link 𝜽 d a 𝑎
l1 q1 0 l1 0
l1 q1 0 l2 0
Utilizando la sumatoria cosenos y senos cuadrados que es igual a uno se reduce la ecuación
a lo siguiente:
Determinamos lo siguiente:
cos 𝑞1 ∗ cos(𝑞1 + 𝑞2) + sin 𝑞1 ∗ sin(𝑞1 + 𝑞2)) = cos(𝑞1 − (𝑞1 + 𝑞2)) = cos(𝑞2)
𝑥2 + 𝑦2 − 𝑙12 − 𝑙22
cos 𝑞2 =
2 ∗ 𝑙1 ∗ 𝑙2
𝑥2 + 𝑦2 − 𝑙12 − 𝑙22
𝑞2 = 𝑐𝑜𝑠−1( 2 ∗ 𝑙1 ∗ 𝑙2 )
Al encontrar la ecuación del ángulo q2, se utiliza un algoritmo para encontrar un ángulo q1 del valor
que recorra la escala de 0 hasta 180°, con un incremento de 0.001 Rad