Geometría y Cinemática Control y Programación de Robots 1 Cinemática de un Robot Manipulador Cinemática directa Cinemática Inversa Matriz Jacobiana 2 Cinemática de un Robot Manipulador Cinemática del robot : Estudio de su movimiento con respecto a un sistema de referencia – Descripción analítica del movimiento espacial en función del tiempo – Relaciones: localización del extremo del robot-valores articulares Problema cinemático directo: Determinar la posición y orientación del extremo final del robot, con respecto a un sistema de coordenadas de referencia, conocidos los ángulos de las articulaciones y los parámetros geométricos de los elementos del robot Problema cinemático inverso: Determinar la configuración que debe adoptar el robot para una posición y orientación del extremo conocidas Modelo diferencial (matriz Jacobiana): Relaciones entre las velocidades de movimiento de las articulaciones y las del extremo del robot 3 Cinemática de un Robot Manipulador 4 Cinemática de un Robot Manipulador Resolución del problema cinemático directo con matrices de transformación homogéneas 5 Modelo directo qn p(x,y,z,α,β,γ) q2 q1 qn-1 Cálculo de la posición y orientación de cualquier punto del robot (Elemento Terminal) en función las variables articulares Procedimiento sistemático de Denavit-Hartemberg 6 Procedimiento de colocación de Ejes de Referencia 1. Identificar los Enlaces y Ejes de las articulaciones y trazar líneas imaginarias a lo largo de ellos. +1 +1 7 Procedimiento de colocación de Ejes de Referencia 2. Identificar la perpendicular común entre ejes consecutivos. El origen del SR i estará en la intersección del Eje i con la normal común entre los ejes i e i+1 +1 +1 8 Procedimiento de colocación de Ejes de Referencia 3. Colocar el eje Zi sobre el eje de la articulación i Zi Zi +1 +1 9 Procedimiento de colocación de Ejes de Referencia 4. Colocar el eje Xi sobre la perpendicular común, o si los ejes intersectan, sobre la normal al plano que forman los ejes Zi y Zi+1 Zi Zi Xi +1 +1 Xi 10 Procedimiento de colocación de Ejes de Referencia 5. Colocar el eje Yi completando un sistema de referencia dextrógiro Zi Zi Yi Xi Yi +1 +1 Xi 11 Parámetros D-H Parámetros de Denavit-Hartemberg (D-H) Cuatro Parámetros: – Dos ángulos (θi, αi-1) – Dos distancias (di, ai-1) 12 Parámetros D-H Definen el paso de un sistema de referencia asociado a una articulación al siguiente Sólo dependen de las características geométricas de cada eslabón y de las articulaciones que le unen con el anterior y siguiente (no dependen de la posición del robot) Definen las matrices A que permiten el paso de un sistema de referencia asociado a una articulación al siguiente y por tanto definen las matrices T Cuatro Parámetros: – Dos ángulos (θi, αi-1) – Dos distancias (di, ai-1) 13 Interpretación Parámetros D-H θi: Es el ángulo de xi-1 a xi medida sobre zi (utilizando la regla de la mano derecha). di: Es la distancia de xi-1 a xi medida a lo largo de zi ai: Es la distancia de zi a zi+1 medida a lo largo de xi αi: Es el ángulo de zi a zi+1 medida sobre xi (utilizando la regla de la mano derecha). 14 Matrices de transformación i −1 Ai = T ( x,αi−1 )T (ai−1,0,0)T ( z,θi )T (0,0, di ) 0 0 0⎤ ⎡1 0 0 ai −1 ⎤ ⎡cθi − sθi ⎡1 ⎢0 cα ⎥ ⎢0 1 0 0 ⎥ ⎢sθ cθ − 0 s α i − 1 i − 1 i i −1 ⎥⎢ ⎥⎢ i Ai = ⎢ ⎢0 sαi −1 cαi −1 0⎥ ⎢0 0 1 0 ⎥ ⎢ 0 0 ⎢ ⎥⎢ ⎥⎢ 0 0 0 1 0 0 0 1 0 ⎣ ⎦⎣ ⎦⎣ 0 − sθi ai−1 ⎤ 0 ⎡ cθi ⎢cα sθ cα cθ − sα ⎥ − d s α i − 1 i i − 1 i i − 1 i i − 1 ⎥ =⎢ ⎢sαi−1sθi sαi −1cθi cαi−1 di cαi −1 ⎥ ⎢ ⎥ 0 0 0 1 ⎣ ⎦ 0 0⎤ ⎡1 0 0⎥⎥ ⎢⎢0 1 0⎥ ⎢0 ⎥⎢ 0 1⎦ ⎣0 0 0 0⎤ 1 0 0 ⎥⎥ = 0 1 di ⎥ ⎥ 0 0 1⎦ 15 Matrices de transformación i −1 Ai = T ( x,αi−1 )T (ai−1,0,0)T ( z,θi )T (0,0, di ) 0 0 0⎤ ⎡1 0 0 ai −1 ⎤ ⎡cθi − sθi ⎡1 ⎢0 cα ⎥ ⎢0 1 0 0 ⎥ ⎢sθ cθ − 0 s α i − 1 i − 1 i i −1 ⎥⎢ ⎥⎢ i Ai = ⎢ ⎢0 sαi −1 cαi −1 0⎥ ⎢0 0 1 0 ⎥ ⎢ 0 0 ⎢ ⎥⎢ ⎥⎢ 0 0 0 1 0 0 0 1 0 ⎣ ⎦⎣ ⎦⎣ 0 − sθi ai−1 ⎤ 0 ⎡ cθi ⎢cα sθ cα cθ − sα ⎥ − d s α i − 1 i i − 1 i i − 1 i i − 1 ⎥ =⎢ ⎢sαi−1sθi sαi −1cθi cαi−1 di cαi −1 ⎥ ⎢ ⎥ 0 0 0 1 ⎣ ⎦ 0 0⎤ ⎡1 0 0⎥⎥ ⎢⎢0 1 0⎥ ⎢0 ⎥⎢ 0 1⎦ ⎣0 0 0 0⎤ 1 0 0 ⎥⎥ = 0 1 di ⎥ ⎥ 0 0 1⎦ 16 Matrices de transformación i −1 Ai = T ( x,αi−1 )T (ai−1,0,0)T ( z,θi )T (0,0, di ) 0 0 0⎤ ⎡1 0 0 ai −1 ⎤ ⎡cθi − sθi ⎡1 ⎢0 cα ⎥ ⎢0 1 0 0 ⎥ ⎢sθ cθ − 0 s α i − 1 i − 1 i i −1 ⎥⎢ ⎥⎢ i Ai = ⎢ ⎢0 sαi −1 cαi −1 0⎥ ⎢0 0 1 0 ⎥ ⎢ 0 0 ⎢ ⎥⎢ ⎥⎢ 0 0 0 1 0 0 0 1 0 ⎣ ⎦⎣ ⎦⎣ 0 − sθi ai−1 ⎤ 0 ⎡ cθi ⎢cα sθ cα cθ − sα ⎥ − d s α i − 1 i i − 1 i i − 1 i i − 1 ⎥ =⎢ ⎢sαi−1sθi sαi −1cθi cαi−1 di cαi −1 ⎥ ⎢ ⎥ 0 0 0 1 ⎣ ⎦ 0 0⎤ ⎡1 0 0⎥⎥ ⎢⎢0 1 0⎥ ⎢0 ⎥⎢ 0 1⎦ ⎣0 0 0 0⎤ 1 0 0 ⎥⎥ = 0 1 di ⎥ ⎥ 0 0 1⎦ 17 Matrices de transformación i −1 Ai = T ( x,αi−1 )T (ai−1,0,0)T ( z,θi )T (0,0, di ) 0 0 0⎤ ⎡1 0 0 ai −1 ⎤ ⎡cθi − sθi ⎡1 ⎢0 cα ⎥ ⎢0 1 0 0 ⎥ ⎢sθ cθ − 0 s α i − 1 i − 1 i i −1 ⎥⎢ ⎥⎢ i Ai = ⎢ ⎢0 sαi −1 cαi −1 0⎥ ⎢0 0 1 0 ⎥ ⎢ 0 0 ⎢ ⎥⎢ ⎥⎢ 0 0 0 1 0 0 0 1 0 ⎣ ⎦⎣ ⎦⎣ 0 − sθi ai−1 ⎤ 0 ⎡ cθi ⎢cα sθ cα cθ − sα ⎥ − d s α i − 1 i i − 1 i i − 1 i i − 1 ⎥ =⎢ ⎢sαi−1sθi sαi −1cθi cαi−1 di cαi −1 ⎥ ⎢ ⎥ 0 0 0 1 ⎣ ⎦ 0 0⎤ ⎡1 0 0⎥⎥ ⎢⎢0 1 0⎥ ⎢0 ⎥⎢ 0 1⎦ ⎣0 0 0 0⎤ 1 0 0 ⎥⎥ = 0 1 di ⎥ ⎥ 0 0 1⎦ 18 Matrices de transformación i −1 Ai = T ( x,αi−1 )T (ai−1,0,0)T ( z,θi )T (0,0, di ) 0 0 0⎤ ⎡1 0 0 ai −1 ⎤ ⎡cθi − sθi ⎡1 ⎢0 cα ⎥ ⎢0 1 0 0 ⎥ ⎢sθ cθ − 0 s α i − 1 i − 1 i i −1 ⎥⎢ ⎥⎢ i Ai = ⎢ ⎢0 sαi −1 cαi −1 0⎥ ⎢0 0 1 0 ⎥ ⎢ 0 0 ⎢ ⎥⎢ ⎥⎢ 0 0 0 1 0 0 0 1 0 ⎣ ⎦⎣ ⎦⎣ 0 − sθi ai−1 ⎤ 0 ⎡ cθi ⎢cα sθ cα cθ − sα ⎥ − d s α i − 1 i i − 1 i i − 1 i i − 1 ⎥ =⎢ ⎢sαi−1sθi sαi −1cθi cαi−1 di cαi −1 ⎥ ⎢ ⎥ 0 0 0 1 ⎣ ⎦ 0 0⎤ ⎡1 0 0⎥⎥ ⎢⎢0 1 0⎥ ⎢0 ⎥⎢ 0 1⎦ ⎣0 0 0 0⎤ 1 0 0 ⎥⎥ = 0 1 di ⎥ ⎥ 0 0 1⎦ 19 Cinemática de un Robot Planar 2GDL Ejemplo: X3 Z2 Z0 Z1 Y0 Y1 i 1 2 3 Z3 Y2 Y3 X0 X1 X2 a1 a2 αi-1 ai-1 di 0 0 0 0 a1 0 -90º a2 0 θi θ1 θ2 θ2 d3 20 Cinemática de un Robot Manipulador Ejemplo: Robot Industrial RM-10 21 Cinemática de un Robot Manipulador 22 Cinemática de un Robot Manipulador 23 Cinemática de un Robot Manipulador Matriz de Cambio para problema cinemático directo 24 Cinemática de un Robot Manipulador Matriz de Cambio para problema cinemático directo 25 Cinemática Inversa 26 Cinemática Inversa: Posibles Soluciones 27 Cinemática Inversa: Métodos 28 Cinemática Inversa: Método Geométrico Ejemplo de solución del problema cinemático Inverso por métodos geométricos 29 Cinemática Inversa: Método Geométrico Ejemplo de solución del problema cinemático Inverso por métodos geométricos (Múltiples soluciones) 30 Cinemática Inversa: Método Matrices Homogéneas Ejemplo de solución del problema cinemático Inverso mediante matrices de transformación homogéneas z3 Y3 x3 z1 z0 z2 Y1 Y2 x1 Y0 x0 i αi-1 ai-1 1 0 0 l1 q1 2 -90º 0 0 q2 3 0 0 q3 0 ⎡cq1 − sq1 x2 0 ⎢sq1 cq1 A1 = ⎢ ⎢0 0 ⎢ 0 ⎣0 di 0 0⎤ ⎡ cq2 − sq2 ⎢ 0 0 0⎥⎥ 1 0 A =⎢ 1 l1 ⎥ 2 ⎢− sq2 − cq2 ⎢ ⎥ 0 0 1⎦ ⎣ 0 ⎡1 ⎢0 2 A3 = ⎢ ⎢0 ⎢ ⎣0 θi 0 1 0 0 0⎤ 0⎥⎥ 0⎥ ⎥ 1⎦ 0 0 0⎤ 1 0 0 ⎥⎥ 0 1 q3 ⎥ ⎥ 0 0 1⎦ 31 Cinemática Inversa: Método Matrices Homogéneas Ejemplo de solución del problema cinemático Inverso mediante matrices de transformación homogéneas ⎡ Cq1 Sq1 ⎢− Sq Cq 1 1 ⎢ ⎢ 0 0 ⎢ 0 ⎣ 0 ⎡ cq2 − sq2 ⎢ 0 0 ⎢ ⎢− sq2 − cq2 ⎢ 0 ⎣ 0 Cq1 p x + Sq1 p y = 0 ⇒ q1 = arctan( q2 = arctan py px 0 0⎤ ⎡1 1 0⎥⎥ ⎢⎢0 0 0⎥ ⎢0 ⎥⎢ 0 1⎦ ⎣0 0⎤ 0 0 ⎥⎥ 1 − l1 ⎥ ⎥ 0 1⎦ 0 0 0 0 ⎤ ⎡ cq2 − sq2 1 0 0 ⎥⎥ ⎢⎢ 0 0 = 0 1 q3 ⎥ ⎢− sq2 − cq2 ⎥ ⎢ 0 0 1⎦ ⎣ 0 0 0 0⎤ 1 q3 ⎥⎥ 0 0⎥ ⎥ 0 1⎦ ) p x2 + p y2 l1 − pz q3 = Cq2 ( p x − 1) − Sq2 p x2 + p y2 32 Cinemática Inversa: Método de reducción polinómica Consiste en transformar las ecuaciones trascendentales obtenidas por métodos algebraicos o geométricos para que adopten forma polinómica, más fáciles en principio de resolver. u = tan θ 2 Algunas 2 u 1 − transformaciones cos θ = usuales 1+ u2 2u sin θ = 2 1+ u a cosθ + b sin θ = c solution) a (1 − u 2 ) + 2bu = c(1 + u 2 ) (a + c)u 2 − 2bu + (c − a) = 0 b ± b2 − a2 − c2 u= a+c 2 2 2 ⎛ −1 ⎜ b ± b − a − c ∴θ = 2 tan ⎜ a+c ⎝ ⎞ ⎟ ⎟ ⎠ 33 Cinemática Inversa: Desacoplamiento cinemático Es típico en robots de 6 GDL Se puede resolver de forma explícita los 3GDL que definen la orientación de la garra. 34 Cinemática Inversa: Desacoplamiento cinemático Es típico en robots de 6 GDL Ejes 4,5,6 se intersectan en un punto ⇒ Existe solución analítica por métodos algebraicos (Método de Pieper). 35 Cinemática Inversa: Consideraciones computacionales • Para seguimiento de trayectorias es necesario resolver el problema cinemático a gran velocidad (30 veces/seg o más). • Son preferibles las soluciones cerradas explícitas (si existen) a las iterativas. • Para acelerar cálculos generalmente se emplean tablas previamente calculadas (look-up tables) •El coste de calcular n soluciones, no es necesariamente n veces el de calcular una única solución. 36 Especificaciones del usuario y localizaciones estándar {W} {B} {T} {S} {G} • {S} Marco de referencia de la celda de trabajo • {B} Marco de referencia base del robot • {T} Marco de referencia de la herramienta • {G} Marco de referencia objetivo (Objeto a manipular) • {W} Marco de referencia del extremo terminal del robot (Sin herramienta) Objetivo: Planear secuencia de movimientos articulares para llevar {T} a {G} satisfaciendo las restricciones del problema 37 Velocidades Lineales y Rotacionales Transformación de velocidades lineales VP = VpORG + R VP + ΩB × R P A A A B B A A B BΩ C B {C} {B} Transformación de velocidades ZA angulares A {A} ΩC = ΩB + R ΩC A A B BP A ΩB AP ZB B AP ORG xA xB YB YA 38 Matriz Jacobiana 39 Matriz Jacobiana Relaciones Diferenciales 40 Matriz Jacobiana En Robótica la matriz Jacobiana describe las relaciones entre las velocidades articulares (θi) y las velocidades lineales y de rotación del efector final (xi) 41 Matriz Jacobiana en el dominio de las fuerzas Adicionalmente estamos interesados en conocer la relación entre los pares articulares que se ejercen sobre el robot (τi) y las fuerzas/momentos ejercidas por el efector final (Fi) Principio de los trabajos virtuales F T δX = τ T δθ 42 Matriz Jacobiana en el dominio de las fuerzas ∀δθ Definición de Jacobiano δX = Jδθ F Jδθ = τ δθ T T τ =J F T La Expresión anterior se puede expandir como 43 Matriz Jacobiana Ejemplo: Jacobiana de un robot Plano de 3GDL Calcular las relaciones que describen las siguientes igualdades 44 Matriz Jacobiana Ejemplo: Jacobiana de un robot Plano de 3GDL Parametros del efector final Cinemática Directa 45 Matriz Jacobiana Ejemplo: Jacobiana de un robot Plano de 3GDL d dt 46 Matriz Jacobiana En forma matricial tenemos 47 Matriz Jacobiana Jacobiana de un robot SCARA 48 Matriz Jacobiana Inversa 49 Matriz Jacobiana Inversa: Configuraciones Singulares 50