Cinemática inversa de manipuladores seriales

BE3027 - Robótica Médica

¿Qué tenemos hasta ahora?



cinemática directa

cinemática diferencial

cinemática diferencial
¿A qué queremos llegar?

cinemática inversa
especificación de la tarea
(se tiene)
referencias para los servos
(se quiere)
A pesar que el planteamiento es claro, se tiene un problema considerable
A pesar que el planteamiento es claro, se tiene un problema considerable
(en general) función extremadamente no lineal de la configuración
A pesar que el planteamiento es claro, se tiene un problema considerable
encontrar este mapeo resulta muy difícil y en muchos casos NO existe solución analítica
Ejemplo: cinemática inversa analítica

espacio de configuración
espacio de tarea
Ejemplo: cinemática inversa analítica

R
R
manipulador RR
empleando trigonometría y métodos algebráicos
empleando trigonometría y métodos algebráicos
arctan pero válida en (−π,π] (programación)
las expresiones trigonométricas muestran múltiples soluciones al problema


si bien hay casos en donde podemos encontrar la solución analítica, hacerlo no es tan buena idea
→ expresiones complejas e individuales, incluso para manipuladores triviales
→ solución dada en lazo abierto (no corrige errores)
¿Qué hacemos entonces?
emplear algoritmos basados en control (lazo cerrado) para encontrar la cinemática inversa de forma numérica
>> be3027_clase7_robotRR_ik.mlx
¿Cómo funciona el ikine de la Robotics Toolbox?








ikine
(en general)
NO necesariamente


ikine
(en general)
NO necesariamente
Para que el problema tenga solución y se acople a los GDL del robot, la Robotics Toolbox emplea la noción de máscaras


ikine
(en general)
NO necesariamente
>> be3027_clase7_p560ik.m
Obteniendo intuición detrás de los algoritmos
idea fundamental (prestando atención sólo a la posición)
idea fundamental (prestando atención sólo a la posición)
idea fundamental (prestando atención sólo a la posición)
pseudo-inversa del jacobiano >> pinv(Jv)
Td≡ meta
BTE(q)
efector final
el algoritmo debe llevar al efector final a la pose deseada o "meta"
Td≡ meta
BTE(q)
efector final
Nota 1: el robot sólo puede cambiar su configuración
Nota 2: por el momento nos interesa sólo la posición
configuración actual: q1
¿Cuál es la discrepancia entre la posición deseada y la posición actual?
configuración actual: q1
¿Cuál es la discrepancia entre la posición deseada y la posición actual?
configuración actual: q1
¿Cuál es la discrepancia entre la posición deseada y la posición actual?
configuración actual: q1
configuración actual: q1
¿Hacia dónde, potencialmente, puede moverse el robot?
¿Hacia dónde, potencialmente, puede moverse el robot?
configuración actual: q1
entonces el robot hace un movimiento pequeño tomando todo en consideración
configuración actual: q2
entonces el robot hace un movimiento pequeño tomando todo en consideración
configuración actual: q2
entonces el robot hace un movimiento pequeño tomando todo en consideración
configuración actual: q2
y se repite el proceso hasta que el error/discrepancia sea lo suficientemente pequeño
pueden obtenerse algoritmos similares pero para la orientación o la pose completa
Todo algoritmo de cinemática inversa cumple con la estructura
donde qk+1→qd conforme incrementa el número de iteraciones
BE3027 - Lecture 7 (2024)
By Miguel Enrique Zea Arenales
BE3027 - Lecture 7 (2024)
- 184