Está en la página 1de 37

Cinemática Inversa

Relación entre el espacio articular y el espacio


cartesiano
𝐱 = 𝑓(𝐪)

Cinemática
Espacio directa Espacio
articular Cartesiano
𝐪 = (𝑞1 , ⋯ , 𝑞𝑛 ) 𝐱 = (𝑥, 𝑦, 𝑧, 𝛼, 𝛽, 𝛾)

• Cinemática directa
Dada una configuración articular (q), halla la posición/orientación (x) de alguna
parte del robot (ejm. efector final)

Dado 𝐪 = (𝑞1 , ⋯ , 𝑞𝑛 )

EncontrarH(𝐪) o 𝐱 = 𝑓(𝐪) Por ejemplo: 𝐱 = (𝑥, 𝑦, 𝑧, 𝛼, 𝛽, 𝛾)


Relación entre el espacio articular y el espacio
cartesiano
Espacio Espacio
articular Cartesiano
𝐪 = (𝑞1 , ⋯ , 𝑞𝑛 ) 𝐱 = (𝑥, 𝑦, 𝑧, 𝛼, 𝛽, 𝛾)
Cinemática
inversa

𝐪 = 𝑓 −1 (𝐱)

• Cinemática inversa
Halla la configuración articular (q) necesaria para alcanzar una posición /
orientación (x) de alguna parte del robot
Dado 0𝑇𝑛 (𝐪) o𝐱 = 𝑓(𝐪) para algún punto del robot (ejm. efector final)

Encontrar 𝐪 = (𝑞1 , ⋯ , 𝑞𝑛 )
Cinemática de un Robot de 2GDL
• Posición de un robot de 2 grados de libertad

𝐲
 Variables Variables
𝑦 cartesianas articulares
𝑥 𝐪
𝑙2 𝐱= 𝑦 𝑞1
= 𝑞
𝑞2 2
𝑙1 Considerando
solo posición
𝑞1
𝑥 𝐱

𝑥 𝑙1 cos( 𝑞1 ) + 𝑙2 cos( 𝑞1 + 𝑞2 )
Cinemática = Dado q, existe
𝑦 𝑙1 sin( 𝑞1 ) + 𝑙2 sin( 𝑞1 + 𝑞2 ) 𝐱 = 𝑓(𝐪)
directa un único x

𝑞1 ?
Cinemática 𝑞2 = ? 𝐪 = 𝑓 −1 (𝐱) = ? Dado x, ¿existe
inversa (un único) q?
Espacio de trabajo asociado
• Posición de un robot de 2 grados de libertad y
𝐲
Si l1 > l2
 l1+l2
𝑦
𝑥
𝐩= 𝑦
𝑙2
x
𝑙1 𝑞2

𝑞1
𝑥 𝐱

Espacio de trabajo
• Espacio de trabajo (l1 > l2) (Workspace: WS)

con q1 ∈ [0, 2π], q2 ∈ [0, 2π]

Si se limita los ángulos … ¿varía el espacio de trabajo?


Espacio de trabajo asociado
y Espacio de
• Posición de un robot de 2 grados de libertad trabajo
𝐲 Si l1 > l2 𝑥
𝐩= 𝑦

𝑦

x
𝑙2

𝑙1 𝑞2

𝑞1
𝑥 𝐱

• Si q1 ∈ [0, π], q2 ∈ [0, π], ¿cuál es el espacio de trabajo?


- El espacio de trabajo (WS) se reduce al añadir restricciones en los
ángulos
- Expresión analítica del espacio de trabajo (WS) es más complicada
Cinemática del manipulador Stanford
Efector final con respecto a la base:

Posición y
orientación

donde:
Cinemática del manipulador Stanford
Calcular los ángulos para que la posición y orientación del
efector final sean:
Matriz
numérica

Equivalentemente, resolver el sistema:

¡Sistema de ecuaciones
trigonométricas no lineales!
Cinemática Inversa
• Encontrar los ángulos
𝐪 = 𝑓 −1 (𝐱)

Dada una posición y orientación deseada para el efector final,


encontrar los valores de las variables articulares.
• Es un problema de síntesis (no tiene una resolución sistemática)
• Los datos de entrada (posición y orientación) tienen la forma
𝑅 𝑡 𝐱𝑝
𝑇= 𝐱= 𝐱
000 1 𝑟

Formulación clásica: Formulación generalizada:


Cinemática inversa para el efector final Cinemática inversa para variables de la tarea

• Es un problema no lineal:
• ¿Existe una solución? Respuesta: espacio de
• ¿Existe una única solución o múltiples soluciones? trabajo, redundancia
• ¿Cómo solucionarlo?
Multiplicidad de Soluciones
pA Configuración inicial para pA: qA
qA
pB
Configuraciones nuevas para pB: q1, q2
q2
¿Es mejor escoger q1 o q2? q2
q1

Distancia articular entre configuraciones:


𝑑1 = 𝐪1 − 𝐪𝐴
Menor distancia
es mejor
𝑑 2 = 𝐪2 − 𝐪𝐴

En general, si hay N configuraciones posibles para pB escoger:

𝐪𝑏 = argmin 𝐪 − 𝐪𝐴 para 𝐪 ∈ {𝐪1 , 𝐪2 , ⋯ , 𝐪𝑁 }


𝐪
Multiplicidad de Soluciones
Redundancia

n articulaciones: 𝐪 = (𝑞1 , ⋯ , 𝑞𝑛 )

m variables en el espacio de tarea:


𝐱 = (𝑥1 , 𝑥2 , ⋯ , 𝑥𝑚 )

Robot redundante con respecto a una tarea si:


n>m
Robot de 4 gdl en
el plano (3 gdl)

• Ejemplo
- Robot de 6 gdl es redundante si solo se
considera la posición (no orientación)
- Robot de 6 gdl no es redundante si se
considera posición y orientación (m=6)
Consideraciones a tomar en cuenta

Las 4 configuraciones llegan al


mismo punto (considerando
solo posición)

Multiplicidad de soluciones

• Elección que minimice los


movimientos desde la posición
actual
• Concepto de la solución más
cercana
• Mover los eslabones de menor peso
• Considerar los obstáculos
Cinemática Inversa - Problemas
• Las ecuaciones a resolver son no lineales
• Pueden existir:
• Una solución
• Múltiples soluciones
• Infinitas soluciones (cuando hay redundancia)
• Ninguna solución admisible
• ¿Cuándo se garantiza una solución para la posición?
• Cuando la posición (del efector final) pertenece al espacio alcanzable
(primario)
• ¿Cuándo se garantiza una solución para la posición y orientación?
• Cuando la posición y orientación (del efector final) pertenecen al espacio de
trabajo diestro (secundario)
Cinemática Inversa – Métodos de solución
• Solución analítica
• Es una solución exacta (descrita mediante ecuaciones)
• Es preferida cuando puede ser hallada
• Métodos
• Enfoque geométrico
• Enfoque algebraico (solución de ecuaciones polinomiales)
• Transformaciones inversas
• Desacople cinemático (método de Pieper): robots con 6 gdl

• Solución numérica
• Es una solución iterativa (es un algoritmo)
• Es necesaria cuando el robot es siempre redundante (siempre habrá más grados de libertad
que los necesarios para una tarea)
• Más fácil de obtener (puede ser más lento)
• Métodos usuales: Newton, descenso del gradiente, etc.
Soluciones Geométricas
• Tratan de encontrar los valores articulares q1, q2, …, qn analizando la geometría
(en el plano o espacio) del robot
• No es una solución genérica → depende del robot
• Pasos útiles (depende del caso):
• Proyectar en el plano (y analizar en el plano)
• Realizar “trazos” para encontrar triángulos rectángulos (y obtener tangentes)
• Utilizar la regla del coseno:
c
𝑐 2 = 𝑎2 + 𝑏 2 − 2𝑎𝑏 cos 𝛼
α b
a

• Aplicable a robots con pocos gdl (3 o menos) … ¿por qué?


• En robots de más gdl puede ser aplicable a los 3 primeros gdl (si los demás gdl
solo se usan para orientación)
Soluciones Geométricas
• Ejemplo: 𝐲

Encontrar la cinemática inversa para la posición del robot RR usando el 𝑦

enfoque geométrico
𝑙 𝑙2
Solución 𝑞2
𝑙1
 
𝑞1
𝑥 𝐱
Soluciones Geométricas
• Ejemplo: 𝐲

Encontrar la cinemática inversa para la posición del robot RR usando el 𝑦

enfoque geométrico
𝑙 𝑙2
Solución 𝑞2
𝑙1
Para q2 :  
𝑞1
- Usando la ley de cosenos: 𝑥 𝐱

𝑙2 = 𝑙12 + 𝑙22 − 2𝑙1 𝑙2 cos( 180 − 𝑞2 )


Para q1 (usando la geometría de la figura)
𝑥 2 + 𝑦 2 = 𝑙12 + 𝑙22 + 2𝑙1 𝑙2 cos( 𝑞2 )
𝑞1 = 𝛼 − 𝛽
𝑥 2 + 𝑦 2 − (𝑙1 2 + 𝑙2 2 )
𝑐2 = 𝛼 = atan2(𝑦, 𝑥)
2𝑙1 𝑙2
𝛽 = atan2(𝑙2 𝑠2 , 𝑙1 + 𝑙2 𝑐2 )
- Usando una identidad trigonométrica:
𝑠22 + 𝑐22 = 1
Cinemática inversa:
𝑠2 = ± 1 − 𝑐22
𝑞1 = atan2(𝑦, 𝑥) − atan2(𝑙2 𝑠2 , 𝑙1 + 𝑙2 𝑐2 )

𝑞2 = atan2(𝑠2 , 𝑐2 ) 𝑞2 = atan2(𝑠2 , 𝑐2 )
Soluciones Algebraicas
• Tratan de encontrar los valores articulares q1, q2, …, qn manipulando
algebraicamente las ecuaciones de la cinemática directa
• Aplicable a robots con pocos grados de libertad
• Elementos útiles (depende del caso):
• Elevar al cuadrado para encontrar la identidad trigonométrica (permite eliminar algún
valor articular): sin2 𝜃 + cos𝜃 2 = 1
• Expandir expresiones del ángulo doble (a veces se pueden simplificar con otros sumandos)
sin( 𝛼 ± 𝛽) = sin 𝛼 cos 𝛽 ± sin 𝛽 cos 𝛼
cos( 𝛼 ± 𝛽) = cos 𝛼 cos 𝛽 ∓ sin 𝛼 sin 𝛽
• Encontrar el seno y coseno de forma matricial y reemplazarlo en atan2
𝑎 𝑏 cos 𝑞𝑖 𝑒 𝑞𝑖 = atan2(sin𝑞𝑖 , cos𝑞𝑖 )
= 𝑓
𝑐 𝑑 sin 𝑞𝑖
Soluciones Algebraicas
• Ejemplo 1
Encontrar la cinemática inversa para la posición de un robot RR usando el enfoque algebraico
Solución 𝐲

- Cinemática Directa: 𝑦

𝑥 = 𝑙1 c1 + 𝑙2 𝑐12 𝑦 = 𝑙1 s1 + 𝑙2 𝑠12
𝑙2
- Para q2 : 𝑙1
𝑞2

𝑞1
De x 2  l12 c12  l2 2 c12 2  2l1c1l2 c12
C.D. 𝑥 𝐱
y  l s  l2 s12  2l1s1l2 s12
2 2 2
1 1
2 2

𝑥 2 + 𝑦 2 = 𝑙1 2 + 𝑙2 2 + 2𝑙1 𝑙2 (𝑐1 𝑐12 + 𝑠1 𝑠12 )


𝑠22 + 𝑐22 = 1
𝑥 2 + 𝑦 2 = 𝑙1 2 + 𝑙2 2 + 2𝑙1 𝑙2 𝑐2
𝑠2 = ± 1 − 𝑐22
𝑥 2 + 𝑦 2 − (𝑙1 2 + 𝑙2 2 )
𝑐2 =
2𝑙1 𝑙2 𝑞2 = atan2(𝑠2 , 𝑐2 )
Soluciones Algebraicas
• Ejemplo 1
Encontrar la cinemática inversa para la posición de un robot RR usando el enfoque algebraico
Solución 𝐲

- Para q1 (expandiendo términos de cinemática directa): 𝑦


𝑥 = 𝑙1 𝑐1 + 𝑙2 (𝑐1 𝑐2 − 𝑠1 𝑠2 )
𝑙2
𝑦 = 𝑙1 𝑠1 + 𝑙2 (𝑠1 𝑐2 + 𝑐1 𝑠2 )
𝑙1
𝑞2
Ecuaciones son lineales en c1, s1: resolver
𝑥 = 𝑐1 (𝑙1 + 𝑙2 𝑐2 ) − 𝑠1 (𝑙2 𝑠2 ) 𝑞1
𝑥 𝐱
𝑦 = 𝑠1 (𝑙1 + 𝑙2 c1 ) + 𝑐1 (𝑙2 𝑠2 )

En forma matricial: 𝑦(𝑙1 + 𝑙2 𝑐2 ) − 𝑥𝑙2 𝑠2


𝑠1 =
𝑑𝑒𝑡
𝑙1 + 𝑙2 𝑐2 −𝑙2 𝑠2 𝑐1 𝑥
= resolviendo
𝑙2 𝑠2 𝑙1 + 𝑙2 𝑐2 𝑠1 𝑦 𝑥(𝑙1 + 𝑙2 𝑐2 ) + 𝑦𝑙2 𝑠2
𝑐1 =
𝑑𝑒𝑡

𝑞1 = atan2(𝑠1 , 𝑐1 ) det = 𝑙12 + 𝑙22 + 2𝑙1 𝑙2 𝑐2


Soluciones Algebraicas
• Ejemplo 2
El efector de un robot de 3 gdl RPR, con respecto a su base está dado por

donde a3 y d1 son constantes. La configuración deseada del efector final es:

Encontrar la cinemática inversa (𝜃1 , 𝑞2 , 𝜃3 ) de este robot como una función de los elementos de Tdes.

Solución El procedimiento consiste en obtener relaciones entre ambas matrices, y aplicar


álgebra, para que el valor de cada articulación pueda despejarse.
Soluciones Algebraicas
• Ejemplo 2
- Para 𝜃1 :

- Para 𝜃3 :

- Para 𝑞2 :
Solución por Transformaciones Inversas
• Realiza multiplicaciones (a la derecha o izquierda) por las inversas de
transformaciones homogéneas
• Busca obtener expresiones “más simples” (menos variables)

• Se desea la transformación homogénea Tdes para el efector final:


Valores
numéricos

• Expresión analítica (posición/orientación) del efector final (cinemática directa)


0
𝑇𝑛 (𝑞1 , 𝑞2 , ⋯ , 𝑞𝑛 ) = 0𝑇1 (𝑞1 ) 1𝑇2 (𝑞2 ) ⋯ 𝑛−1𝑇𝑛 (𝑞𝑛 ) = Tdes

• Idea: (tratar de) encontrar expresiones más simples (términos que dependan de una sola
variable)
0
𝑇1 (𝑞1 )−1 𝑇𝑑𝑒𝑠 = 1𝑇2 (𝑞2 ) ⋯ 𝑛−1𝑇𝑛 (𝑞𝑛 )
0
𝑇1 (𝑞1 )−1 𝑇𝑑𝑒𝑠 𝑛−1𝑇𝑛 (𝑞𝑛 )−1 = 1𝑇2 (𝑞2 ) ⋯ 𝑛−2𝑇𝑛−1 (𝑞𝑛−1 )
Desacople Cinemático
• Condición suficiente (no necesaria) para la existencia de solución analítica para
un robot de 6 grados de libertad:
• El robot tiene 3 articulaciones de revolución consecutivas que se intersecan en un punto común (muñeca esférica), o
• El robot tiene 3 articulaciones de revolución consecutivas que son paralelas

• Se le conoce como el método de Pieper: se aplica a muñecas esféricas

Bastantes robots industriales


tienen muñecas esféricas

• Idea: separar el problema en 2 subproblemas


• Cinemática Inversa para la posición (de la muñeca [“wrist”])
• Cinemática inversa para la orientación (del efector final con respecto a la muñeca)
Desacople Cinemático
• Robot con 6 grados de libertad:
y6
W {6}
z6

d6
Posición y orientación
deseadas para el
efector final {6} con
respecto a la base

𝑝𝑥 − 𝑑6 𝑎𝑥
• Posición de la muñeca: 𝑝𝑤 = 𝑝𝑦 − 𝑑6 𝑎𝑦 Valor
𝑝𝑧 − 𝑑6 𝑎𝑧 numérico

• Orientación del efector final con respecto a la muñeca:


Desacople Cinemático
• Procedimiento
1. Se obtiene la posición deseada de la muñeca (a partir de Hdes)
𝑝𝑥 − 𝑑6 𝑎𝑥
𝑝𝑤 = 𝑝𝑦 − 𝑑6 𝑎𝑦
𝑝𝑧 − 𝑑6 𝑎𝑧
y su expresión analítica a partir de 0H3(q1, q2, q3). Relacionando ambos, se obtiene los ángulos q1, q2,
q3

2. Con los valores de q1, q2, q3 se calcula la rotación 0R3 y la transformación


homogénea 0H3
3. Se obtiene q4, q5, q6 despejando 𝑇𝑑𝑒𝑠 = 𝑇3 3𝑇6 (𝑞4 , 𝑞5 , 𝑞6 ) que
0
lleva a:
3 −1
𝑇6 (𝑞4 , 𝑞5 , 𝑞6 ) = 0𝑇3 𝑇𝑑𝑒𝑠

Tiene la estructura de
ángulos de Euler ZYZ o ZXZ

• Nota: en los pasos 1 y 3 se requiere análisis algebraico y/o geométrico


Cinemática Inversa
<Ejercicios>
David Loza Matovelle
Cinemática Inversa
<Métodos de Solución>
• Solución analítica (exacta)
• Es preferida cuando puede ser hallada
• Métodos:
• Enfoque geométrico (robots específicos)
• Enfoque algebraico (resolución de sistemas en H)
• Desacople cinemático (robots con 6 GDL)
• Solución numérica (iterativa)
• Necesaria cuando hay redundancia
• Más fácil de obtener (¿ejecución más lenta?)
• Utiliza la matriz Jacobiana de la cinemática directa
• Métodos usuales: Newton, gradiente, etc.
Cinemática Inversa
<Métodos de Solución>
• Solución analítica (exacta)
• Es preferida cuando puede ser hallada
• Métodos:
• Enfoque geométrico (robots específicos)
• Enfoque algebraico (resolución de sistemas en H)
• Desacople cinemático (robots con 6 GDL)
• Solución numérica (iterativa)
• Necesaria cuando hay redundancia
• Más fácil de obtener (¿ejecución más lenta?)
• Utiliza la matriz Jacobiana de la cinemática directa
• Métodos usuales: Newton, gradiente, etc.
Cinemática Inversa
<Enfoque Geométrico>

<Robot Scara>
Cinemática Inversa
<Métodos de Solución>
• Solución analítica (exacta)
• Es preferida cuando puede ser hallada
• Métodos:
• Enfoque geométrico (robots específicos)
• Enfoque algebraico (resolución de sistemas en H)
• Desacople cinemático (robots con 6 GDL)
• Solución numérica (iterativa)
• Necesaria cuando hay redundancia
• Más fácil de obtener (¿ejecución más lenta?)
• Utiliza la matriz Jacobiana de la cinemática directa
• Métodos usuales: Newton, gradiente, etc.
Cinemática Inversa
<Enfoque Algebraico>
Cinemática Inversa
<Métodos de Solución>
• Solución analítica (exacta)
• Es preferida cuando puede ser hallada
• Métodos:
• Enfoque geométrico (robots específicos)
• Enfoque algebraico (resolución de sistemas en H)
• Desacople cinemático (robots con 6 GDL)
• Solución numérica (iterativa)
• Necesaria cuando hay redundancia
• Más fácil de obtener (¿ejecución más lenta?)
• Utiliza la matriz Jacobiana de la cinemática directa
• Métodos usuales: Newton, gradiente, etc.
Cinemática Inversa
<Desacople Cinemático - Posición>
Se desea encontrar O0c , R03 y R36 donde los datos son
𝑅60 (orientación total) y 𝑂60 (posición total)

0
𝑂60 = 𝑂𝑐0 + 𝑑6 𝑅60 0
1
𝑂𝑥 0
𝑂𝑐0 = 𝑂𝑦 − 𝑑6 𝑅60 0
𝑂𝑧 1

𝑋𝑐 𝑂𝑥 − 𝑑6 𝑟13
𝑌𝑐 = 𝑂𝑦 − 𝑑6 𝑟23 ⇒ 𝑞1 , 𝑞2 , 𝑞3
𝑍𝑐 𝑂𝑧 − 𝑑6 𝑟33
Cinemática Inversa
<Desacople Cinemático - Orientación>

𝑋𝑐
Al tener 𝑌𝑐 se puede obtener R03
𝑍𝑐

𝑆𝑖 𝑠𝑒 𝑡𝑖𝑒𝑛𝑒 𝑒𝑛 𝑐𝑢𝑒𝑛𝑡𝑎 𝑞𝑢𝑒:


𝑅60 = 𝑅30 𝑅63

𝑅63 = (𝑅30 )𝑇 𝑅60 ⇒ 𝑞4 , 𝑞5 , 𝑞6


Cinemática Inversa
<Ejercicio> 1m

0 −1 0 1m
𝑅60 = −1 0 0 (orientación total)
0 0 −1

2
𝑂60 = 0 (posición total)
0.5 1m
𝑧0 𝑦0

𝑥0
Se pide calcular la cinemática inversa del manipulador propuesto, a través del desacople cinemático.

1 0 0
𝑅60 = 0 0 1 (orientación total)
0 −1 0

0
𝑂60 = 2 (posición total)
2

También podría gustarte