Leccion 3 Esp Config y Articular RIA_handout (1) PDF

Document Details

ExquisiteBay

Uploaded by ExquisiteBay

Universidad Pública de Navarra

Iñaki Arocena Elorza, José Basilio Galván Herrera

Tags

Robotics Industrial Automation Engineering

Summary

This document is a handout about robotics, industrial automation, and details about the configuration of technical procedures and descriptions of the cartesian and articular space in robotics. The document includes information about kinematics, models, and other technical aspects.

Full Transcript

Espacio cartesiano y espacio articular Robótica Industrial y Autómatas Grado en Inga . Eléctrica y Electrónica, 7o semestre Módulo de Tecnología Especifica de Electrónica Industrial (TEEI) Iñaki Arocena Elorza José Basilio Galván Herrera Dept. Automática y Computación Universidad Pública de Navarra...

Espacio cartesiano y espacio articular Robótica Industrial y Autómatas Grado en Inga . Eléctrica y Electrónica, 7o semestre Módulo de Tecnología Especifica de Electrónica Industrial (TEEI) Iñaki Arocena Elorza José Basilio Galván Herrera Dept. Automática y Computación Universidad Pública de Navarra 1 / 75 Espacio cartesiano y espacio articular Índice 1 Espacio cartesiano y espacio articular Descripción de la posición y de la orientación Matrices de rotación Ángulos de Euler Matrices de transformación homogéneas 2 / 75 Espacio cartesiano y espacio articular Descripción de la posición y de la orientación Cinemática Cinemática Establece la relación entre las variables de posición articulares y cartesianas (y sus derivadas) sin tener en consideración las fuerzas/pares que las generan. Dos descripciones espaciales: el espacio de configuración o cartesiano y el espacio articular El modelo cinemático establece la relación matemática entre ambos espacios. Necesario en sistemas de navegación por estima 4 / 75 Espacio cartesiano y espacio articular Descripción de la posición y de la orientación Cinemática Modelos cinemáticos Modelos cinemáticos directo e inverso. Parámetros cinemáticos q2 q1 Modelo cinemático directo q3 T p=[px,py,pz] R=[n,s,a] T q=[q1,q2,...,qn] z0 q5 q6 q4 Espacio articular o0 Modelo cinemático inverso x0 n p s o6 a y0 Espacio cartesiano/configuración 5 / 75 Espacio cartesiano y espacio articular Descripción de la posición y de la orientación Cinemática Modelos cinemáticos Dos tipos de modelos cinemáticos. Directo: resuelve la posición y orientación cartesianas en función de las variables articulares. Siempre tiene solución Inverso: resuelve las variables articulares q en función de la posición y orientación cartesianas. No siempre existe una solución El directo se utiliza principalmente para comprobar la existencia de una solución. El inverso es más utilizado pero más difícil de obtener. 6 / 75 Espacio cartesiano y espacio articular Descripción de la posición y de la orientación Cinemática ¿por qué necesitamos los modelos cinemáticos? La navegación por estima o “dead-reckoning” principal limitación del robot en cuanto a la precisión. No es posible controlar la posición espacial del efector final directamente. navegación por estima o “dead-reckoning” método indirecto que mediante un modelo cinemático que estima las variables articulares necesarias para cada configuración cartesiana. Es un método “a ciegas”. La precisión dependerá de la exactitud del modelo, de los sistemas de control y de la resolución de los sensores. 7 / 75 Espacio cartesiano y espacio articular Descripción de la posición y de la orientación Cinemática Espacio cartesiano Describe la configuración espacial del efector final del útil o herramienta del robot. Es el espacio afín al usuario Expresa la posición y orientación cartesianas del efector final del robot, su dimensión espacial será siempre m ≤ 6. La posición se define mediante un vector p ∈ IR3 , que puede expresarse en coordenadas cartesianas, cilíndricas o polares, aunque generalmente en cartesianas. La orientación puede expresarse de diversas formas: matricial, ángulos de Euler, cuaterniones, giro alrededor de un eje arbitrario. No debemos confundir los ángulos que definen la orientación espacial del efector final con las variables articulares. 8 / 75 Espacio cartesiano y espacio articular Descripción de la posición y de la orientación Cinemática Espacio cartesiano Descripción de espacial de la orientación Dos formas básicas: Representación no mínima: mediante matrices de rotación R = [n, s, a] ∈ IR3 . Representación mínima: mediante una secuencia de tres giros φ, θ y ψ, los ángulos de Euler, por ejemplo. Las orientaciones no pueden expresarse vectorialmente 9 / 75 Espacio cartesiano y espacio articular Descripción de la posición y de la orientación Cinemática Espacio articular Espacio vectorial que describe el conjunto de las variables articulares. Es el espacio afín al robot Sí pueden expresarse vectorialmente. Expresado mediante un vector n-dimensional, n: no de g.d.l. del robot: [q1 , q2 , . . . , qn ]T , Sus elementos son las variables articulares de la cadena cinemática donde qi = θi o di , i = 1 . . . n, según sea de giro o lineal. 10 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: repaso Obtención de las matrices de rotación Supongamos un punto p único expresado respecto a dos sistemas coordenados distintos, se desea obtener R tal que pxyz = Rpuvw p punto único pxyz = [px , py , pz ]T respecto a <o, x , y , z> puvw = [pu , pv , pw ]T respecto a < o, u, v , w > 12 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: repaso Obtención de las matrices de rotación Expresemos pxyz y puvw en función de sus vectores directores i, j y k respectivos pxyz = px ix + py jy + pz kz puvw = pu iu + pv jv + pw kw Mediante el producto escalar, expresamos los componentes de pxyz en función de puvw px = ix · puvw =ix · iu pu +ix · jv pv +ix · kw pw py = jy · puvw =jy · iu pu +jy · jv pv +jy · kw pw pz = kz · puvw =kz · iu pu +kz · jv pv +kz · kw pw 13 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: repaso Obtención de las matrices de rotación Expresado matricialmente    px ix · iu ix · jv    py  =  jy · iu jy · jv pz kz · iu kz · jv   ix · kw pu   jy · kw   pv  kz · kw pw De donde obtenemos que  ix · iu ix · jv  R =  jy · iu jy · jv kz · iu kz · jv  ix · kw  jy · kw  kz · kw Los elementos de R son los cosenos directores entre los ejes de ambos sistemas coordenados 14 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: repaso Obtengamos ahora la relación inversa puvw = R−1 pxyz intercambiando los subíndices x , y , z por u, v y w , respectivamente, pu = iu · pxyz =iu · ix px +iu · jy py +iu · kz pz pv = jv · pxyz =jv · ix px +jv · jy py +jv · kz pz pw = kw · pxyz =kw · ix px +kw · jy py +kw · kz pz Expresadas matricialmente, obtenemos que  R−1 iu · ix  =  jv · ix kw · ix iu · jy jv · jy kw · jy  iu · kz  jv · kz  kw · kz 15 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: repaso Comparando R con R−1 , observamos que R−1 = RT Las matrices que cumplen dicha propiedad se denominan matrices ortogonales, para ello: 1 2 Sus vectores columna/fila son ortogonales entre sí. Tienen módulo unitario. 16 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: propiedades Propiedad de ortogonalidad Si R−1 = RT , entonces RT R = RRT = I, donde I es la matriz 3 × 3 identitaria. Expresando R en función de los vectores columna ri ,   | | |   R = r1 r2 r3  | | |  — r1T  T R = — r2T — r3T  —  — — obtenemos  — r1T  — r2T — r3T     — | | | 1 0 0     — r1 r2 r3  = 0 1 0 . | | | 0 0 1 — 17 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: propiedades Expresadas matemáticamente, riT rj = 0 para i 6= j riT rj para i = j =1 La primera ecuación expresa la ortogonalidad entre columnas/filas La segunda, que todos los vectores columna/fila tienen norma unitaria Matrices que cumplen ambas condiciones se denominan ortonormales 18 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: propiedades Determinante de una matriz ortogonal Las matrices de rotación deberán cumplir además que su determinante |R| = +1 Esto se obtiene de |RT R| = |RRT | = |I|, que, por propiedad de los determinantes, es también |RT ||R| = |R||RT | = |I| Dado que |RT | = |R| |R||R| = |I| o|RT ||RT | = |I| De donde obtenemos que |R| = ±1 Un cambio de signo en el determinante indicaría una inversión de ejes, es decir, un cambio de sistema dextrógiro (mano derecha) a levógiro (mano izquierda), o viceversa. Imposible de realizar mediante rotaciones 19 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: propiedades Determinación de sistemas coordenados dextrógiros z z y y x (a) Regla de la mano derecha x (b) Regla del sacacorchos o tornillo 20 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: interpretación Interpretaciones de R La notación p0 = Rp admite tres interpretaciones diferentes Definición orientación: R por sí sola expresa la orientación de un sistema de referencia respecto de otro. Cambio de base: p0 expresa las coordenadas de un punto p único en coordenadas de otra base (dos bases, un vector). Transformación de un vector: p0 = Rp, R actúa como un operador que transforma un vector p en otro p0 ambos expresados en la base (dos vectores, una base). Las dos primeras interpretaciones son pasivas por cuanto no modifican ningún vector mientras que el tercero sería activo. 21 / 75 Espacio cartesiano y espacio articular Matrices de rotación Interpretaciones de R Movimientos aparentes Si en la transformación pasiva un giro (positivo) produce un “avance” en sentido antihorario del sistema rotado, en la activa se produce justo lo contrario y el nuevo vector p0 parecería “retroceder" respecto de p en sentido horario. Cambio de base: p único, dos bases. y0 y1 p f p¢ x1 Transformación de vector: operador que transforma p en p0 (misma base). f x0 22 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: propiedades ¿Es R una matriz de rotación? ¿Es la trasformación   −1 0 0   R =  0 −1 0  0 0 −1 Cumple la propiedad ortonormal sin embargo, |R| = −1 → inversión de ejes una matriz de rotación? El resultado de la transformación es una inversión de ejes transformando el sistema dextrógiro inicial en levógiro. Ningún movimiento ni cambio de orientación puede realizar tal transformación en un cuerpo rígido (robot). 23 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: propiedades Ejemplo de inversión de ejes z u R y v x w 24 / 75 Espacio cartesiano y espacio articular Matrices de rotación Ejercicio: matrices de rotación Ejercicio Obtengan por inspección la matriz de transformación S en cada caso y comprueben si es de rotación. z z w S y x v S y u v z u x S y v w x w u 25 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: Rotaciones Básicas Ejemplo Obtengan por inspección la matriz de rotación R que exprese la orientación de <o, u, v , w > respecto de <o, x , y , z> z π/6 es el ángulo formado entre los ejes x y u en el plano x -z (elipse oscura) u i u P/6 kw w y w permanece en el plano x -y (elipse clara) Respuesta: x v jv √  3/2 1/2 0   0 1 R= 0  √ 1/2 − 3/2 0 26 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: Rotaciones Básicas Matrices de rotación básicas Son las matrices de rotación más básicas, resultantes del giro respecto a uno de los ejes principales. Expresan rotaciones planarias Son las tres matrices representadas por: Rx ,α : Giro α alrededor del eje x Ry ,β : Giro β alrededor del eje y Rz,γ : Giro γ alrededor del eje z Toda orientación espacial puede obtenerse a partir de una secuencia de estas tres matrices Cada vector columna expresa las coordendas de un vector director del sistema rotado. 27 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: Rotaciones Básicas Rotación Rx ,α Giro α alrededor del eje x a cos(a) Introduciendo los componentes de iu , jv y kw , respectivamente, en cada columna, obtenemos z w kw a iu v  jv cos(a) a sin(a) y Rx ,α  1 0 0   = 0 cos α − sin α 0 sin α cos α x,u 28 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: Rotaciones Básicas Rotación Ry ,β Giro β alrededor del eje y z w Introduciendo los componentes de iu , jv y kw , respectivamente, en cada columna, obtenemos sin(b) b cos(b) kw cos(b) jv b x  b iu sin(b) y,v Ry ,β  cos β 0 sin β   1 0  = 0 − sin β 0 cos β u 29 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: Rotaciones Básicas Rotación Rz,γ Giro γ alrededor del eje z z w g v kw sin(g) cos(g) jv g iu x Introduciendo los componentes de iu , jv y kw , respectivamente, en cada columna, obtenemos  y Rz,γ  cos γ − sin γ 0   =  sin γ cos γ 0 0 0 1 g sin(g) u 30 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: Composición de rotaciones Secuencias de rotaciones Cualquier orientación puede modificarse o expresarse mediante una secuencia de rotaciones Podemos multiplicar matrices de rotación básicas entre sí para obtener una orientación cualquiera. El orden de la secuencia de giros no es conmutativo. La ley de composición de la secuencia dependerá del sistema coordenado tomado como referencia, pudiendo ser: Respecto al anterior sistema coordenado, expresado i−1Ri : <o, xi , yi , zi > gira respecto de {i − 1}. Respecto a cualquier otro sistema coordenado anterior a {i − 1}, expresado jRi , j < i − 1. Cada secuencia obtendrá una orientación final distinta. Las matrices de rotación no cambian. 31 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: Composición de rotaciones Ejemplo de una secuencia de rotaciones consecutivas Supongamos un punto p único y tres sistemas coordenados, <o, xi , yi , zi >, i = 0, 1, 2, inicialmente superpuestos: R = I Los sistemas coordenados 1 y 2 se separan de la base mediante dos rotaciones básicas: 1 2 0 R1 =Ry ,φ −→ giran conjuntamente los sistemas {1} y {2} respecto de <o, x0 , y0 , z0 >. 1 R2 =Rz,θ −→ gira el sistema {2} respecto de <o, x1 , y1 , z1 >. Se desea obtener la matriz de rotación 0R2 que relacione p0 con p2 , esto es: p0 = 0R2 p2 32 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: Composición de rotaciones Ejemplo de una secuencia de rotaciones consecutivas p0 , p1 y p2 , expresan a un mismo vector p respecto de sus sistemas de referencia, esto es: p0 = Ry ,φ p1 y p1 = Rz,θ p2 Sustituyendo p1 en la primera ecuación, obtenemos que p0 = 0R1 1R2 p2 Por tanto, 0R2 ≡ 0R1 1R2 En una rotación respecto al sistema coordenado último rotado las matrices de rotación se postmultiplican 33 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: Composición de rotaciones Ejemplo de una secuencia de rotaciones no consecutivas Retomamos el ejemplo anterior con dos rotaciones sucesivas La secuencia de rotaciones es la misma: Ry ,φ −→ giran 1 y 2 respecto a <o, x0 , y0 , z0 > Rz,θ −→ gira 2 esta vez respecto a <o, x0 , y0 , z0 > Cambia sin embargo la interpretación de la segunda, aunque las matrices de rotación son exactamente las mismas. Nuevamente tenemos las tres expresiones de p: p0 , p1 y p2 . Se desea obtener la matriz de rotación compuesta 0R2 tal que p0 = 0R2 p2 34 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: Composición de rotaciones Ejemplo de una secuencia de rotaciones no consecutivas 1 La primera transformación rota conjuntamente los sistemas {1} y {2} respecto de <o, x0 , y0 , z0 >, de forma que p0 = Ry ,φ p1 2 Sin embargo, con la segunda transformación, ya no es cierto que p1 = Rz,θ p2 ya que expresa una rotación respecto a <o, x1 , y1 , z1 > en lugar de <o, x0 , y0 , z0 >, como se desea. 35 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: Composición de rotaciones Ejemplo de una secuencia de rotaciones no consecutivas Dado que la segunda rotación toma como referencia el sistema <o, x0 , y0 , z0 >, deberemos confrontarlo a dicho sistema coordenado, para ello: 1 “Deshacemos” la rotación 0R1 , postmutiplicamos por Ry ,−φ (y = y0 ) para alinearlo con los ejes <o, x0 , y0 , z0 >. 2 Efectuamos la segunda rotación postmultiplicando por Rz,θ (z = z0 ). 3 Reinstauramos a continuación Ry ,φ (postmultiplicación). 36 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: Composición de rotaciones Ejemplo de una secuencia de rotaciones no consecutivas La secuencia resultante es: p0 = Ry ,φ Ry ,−φ Rz,θ Ry ,φ p2 Esto es: p0 = Rz,θ Ry ,φ p2 La operación a realizar es una premultiplicación. 37 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: Composición de rotaciones Regla general para secuencias no consecutivas Para el caso general jRi , j < i − 1: 1 Deshacer las secuencias realizadas hasta la j-ésima. 2 Efectuar jRi . 3 Reinstaurar toda la secuencia deshecha en el orden inverso al deshecho. 38 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: Composición de rotaciones Ejercicio Obtengan la matriz de rotación final 0R3 resultante de la siguiente secuencia: 1o : 0R1 respecto del sistema coordenado <o, x0 , y0 , z0 >. 2o : 1R2 respecto del sistema coordenado <o, x1 , y1 , z1 >. 3o : 0R3 respecto del sistema coordenado <o, x0 , y0 , z0 > 4o : 0R4 respecto del sistema coordenado <o, x0 , y0 , z0 > Respuesta: 0R4 = 0R4 0R3 0R1 1R2 39 / 75 Espacio cartesiano y espacio articular Matrices de rotación Matrices de rotación: Composición de rotaciones Ejercicio Obtengan la matriz 0R4 resultante de la siguiente secuencia: 1o : 0R1 respecto del sistema coordenado <o, x0 , y0 , z0 >. 2o : 1R2 respecto del sistema coordenado <o, x1 , y1 , z1 >. 3o : 2R3 respecto del sistema coordenado <o, x2 , y2 , z2 > 4o : 1R4 respecto del sistema coordenado <o, x1 , y1 , z1 > Las tres primeras rotaciones se postmultiplican, pero para la última “deshacemos” 1R2 2R3 multiplicando por su inversa, giramos 1R4 y volvemos a rehacer 1R2 2R3 :  0 R4 = 0R1 1R2 2R3 1R2 2R3 T 1  R4 1R2 2R3  0 R1 1R4 1R2 2R3 40 / 75 Espacio cartesiano y espacio articular Matrices de rotación Descripción matricial de la orientación Descripción típica de los ejes de la muñeca Los ejes del sistema coordenado del efector final reciben nombres específicos que definen los tres movimientos típicos de una mano o pinza. El eje-x ortogonal a la palma de la mano (pinza), expresado por el vector n. El eje-y en la direccion de apertura o cierre de la pinza, expresado por el vector s. El eje-z en la dirección de avance de la herramienta (o pinza), expresado por el vector a. La matriz [n, s, a] describe la orientación del sistema coordenado del efector final, respecto de la base 41 / 75 Espacio cartesiano y espacio articular Matrices de rotación Descripción matricial de la orientación Descripción típica de los ejes de la muñeca Normal: x6 −→ n (normal) Cierre: y6 −→ s (slide) Avance: z6 −→ a (approach) 42 / 75 Espacio cartesiano y espacio articular Ángulos de Euler Representación mínima de la orientación Ángulos de Euler Permiten expresar cualquier orientación mediante tres ángulos independientes asociados a una secuencia de tres giros Dados tres sistemas coordenados móviles <o, xi , yi , zi >, i = 1, . . . , 3, la secuencia de rotaciones podría ser arbitraria Los ángulos de Euler están definidos en torno a tres convenciones o secuencias de giro: Convención x : secuencia z0 → x1 → z2 sobre ejes consecutivos Convención y : secuencia z0 → y1 → z2 sobre ejes consecutivos Convención xyz: secuencia x0 → y0 → z0 sobre ejes no consecutivos No pueden expresarse vectorialmente Los ejes de rotación no forman una base ortogonal. 44 / 75 Espacio cartesiano y espacio articular Ángulos de Euler Representación mínima de la orientación Ángulos de Euler: convención x z0 fz z2 z0 q z0 q y2 y2 y1 y 1 y1 y0 y0 f f x0 1 y0 f x1 Rz,φ : giro de un ángulo φ alrededor del eje z0 . y x3 x1 x0 2 q x0 x1 x2 Rx ,θ : giro de un ángulo θ alrededor del eje x1 . 3 Rz,ψ : giro de un ángulo ψ alrededor del eje z2 . 45 / 75 Espacio cartesiano y espacio articular Ángulos de Euler Representación mínima de la orientación Ángulos de Euler: otras convenciones típicas La convención y sobre ejes girados y la secuencia xyz son otras de las secuencias utilizadas. La secuencia zyz es idéntica a la zxz salvo que toma el eje y1 , Ry ,θ , como segundo eje giro. La convención xyz toma como referencia el mismo sistema coordenado, x0 , y0 y z0 , para los tres giros: 1 2 3 giro sobre el eje x0 , Rx0 ,φ , es el alabeo o giro giro sobre el eje y0 , Ry0 ,θ , el cabeceo o elevación giro sobre el eje z0 , Rz,ψ , guiñada o desviación 46 / 75 Espacio cartesiano y espacio articular Ángulos de Euler Representación mínima de la orientación Imposibilidad de la representación vectorial El descripción mínima de la orientación no constituye un espacio vectorial y por tanto no puede expresarse vectorialmente. Supongamos que deseamos realizar dos rotaciones consecutivas. Asumimos a = [φa , θa , ψa ]T y b = [φb , θb , ψb ]T tales “vectores de orientación”. Mientras que A y B son las matrices de rotación equivalentes a a y b. Para cualificar como vectores los “objetos” a y b deben pertenecer a un espacio vectorial, Ello exige, entre otras, la propiedad conmutativa de la suma: a+b=b+a 47 / 75 Espacio cartesiano y espacio articular Ángulos de Euler Representación mínima de la orientación Imposibilidad de la representación vectorial La suma de vectores implicaría que la orientación final se alcanzaría con independencia de la secuencia elegida. Matricialmente la secuencia se expresa mediante un encadenamiento de pre o post multiplicaciones. Dicha operación es no conmutativa: AB 6= BA Significa esto que la orientación final sí depende del orden de la secuencia rotaciones. 48 / 75 Espacio cartesiano y espacio articular Ángulos de Euler Representación mínima de la orientación Ejemplo de ambigüedad de la representación vectorial Secuencia de una rotación de π/2 respecto al eje z0 seguido de otra de π/2 respecto a y1 π/2 respecto a z0 −→ π/2 respecto a y1 z0 z1 y2 y1 y0 z2 x1 x0 x2 π/2 respecto a y0 −→ π/2 respecto a z1 y2 z0 y0 x0 x2 y1 z1 z2 x1 Vectorialmente Ω = [0, π/2, π/2]T para ambas secuencias. 49 / 75 Espacio cartesiano y espacio articular Ángulos de Euler Representación matricial de los ángulos de Euler Matriz de Rotación equivalente a la convención-x Relación entre ángulos de Euler y matrices de rotación Rφ,θ,ψ se obtiene mediante la postmultiplicación de las matrices de rotación básicas Rφ,θ,ψ = Rz0 ,φ Rx1 ,θ Rz2 ,ψ , Sustituyendo las matrices,    obtenemos Rφ,θ,ψ  cos φ − sin φ 0 1 0 0 cos ψ =  sin φ cos φ 0 0 cos θ − sin θ  sin ψ 0 0 1 0 sin θ cos θ 0   cφ cψ − sφ cθ sψ −cφ sψ − sφ cθ cψ sφ sθ = sφ cψ + cφ cθ sψ −sφ sψ + cφ cθ cψ −cφ sθ  sθ sψ sθ cψ cθ − sin ψ cos ψ 0  0 0 1 donde cx ≡ cos x y sx ≡ sin x para x = φ, θ, ψ 50 / 75 Espacio cartesiano y espacio articular Ángulos de Euler Representación matricial de los ángulos de Euler Matriz de Rotación equivalente a la convención-y Rφ,θ,ψ se obtiene mediante la postmultiplicación de las matrices de rotación básicas Rφ,θ,ψ = Rz0 ,φ Ry1 ,θ Rz2 ,ψ , Sustituyendo las matrices, obtenemos   Rφ,θ,ψ  cos φ − sin φ 0 cos θ 0 sin θ cos ψ 1 0   sin ψ =  sin φ cos φ 0  0 0 0 1 − sin θ 0 cos θ 0   cφ cθ cψ − sφ sψ −cφ cθ sψ − sφ cψ cφ sθ = sφ cθ cψ + cφ sψ −sφ cθ sψ + cφ cψ sφ sθ  −sθ cψ sθ sψ cθ − sin ψ cos ψ 0  0 0 1 51 / 75 Espacio cartesiano y espacio articular Ángulos de Euler Representación matricial de los ángulos de Euler Matriz de Rotación equivalente a la convención-xyz Secuencia de rotaciones básicas respecto de cada eje del sistema coordenado de la base, < o,x0 ,y0 ,z0 > El orden de la secuencia puede variar, una de las más utilizadas es Rx0 ,ψ → Ry0 ,θ → Rz0 ,ψ 52 / 75 Espacio cartesiano y espacio articular Ángulos de Euler Representación matricial de los ángulos de Euler Matriz de Rotación equivalente a la convención-xyz premultiplicando las matrices en el orden de la secuencia. Todos los giros están referidos al sistema coordenado inicial la matriz resultante Rφ,θ,ψ se obtiene Rφ,θ,ψ = Rz0 ,ψ Ry0 ,θ Rx0 ,φ , Sustituyendo las matrices, obtenemos Rφ,θ,ψ    cos φ − sin φ 0 cos θ 0 sin θ 1 0 1 0  0 cos ψ =  sin φ cos φ 0  0 0 0 1 sin θ 0 cos θ 0 sin ψ   cφ cθ cφ sθ sψ − sφ cψ cφ sθ cψ + sφ sψ =  sφ cθ sφ sθ sψ + cφ cψ sφ sθ cψ − cφ sψ  −sθ cθ cψ cθ sψ  0 − sin ψ  cos ψ 53 / 75 Espacio cartesiano y espacio articular Ángulos de Euler Representación matricial de los ángulos de Euler Matriz de Rotación equivalente a la convención-xyz Para θ ≈ 0 los ejes z0 y z2 de las secuencias zxz y zyz están prácticamente alineados. Una baja resolución numérica afectaría adversamente. La convención-xyz resultaría ventajosa en estos casos. 54 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Matrices de transformación homogéneas Representación en coordenadas homogéneas Permiten expresar y operar de forma conjunta la posición y la orientación espaciales Se obtiene de la ampliación de la dimensión del vector de posición cartesiano p a p̂ ∈ IR4 El vector de posición en coordenadas homogéneas tiene la estructura " # p p̂ = w = [p̂x , p̂y , p̂z , w ]T 1 donde p = [px , py , pz ]T y w es el factor de escalado La operación inversa, p̂ → p, se obtiene diviendo p̂ por w , px = p̂x /w py = p̂y /w pz = p̂z /w 56 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Matrices de transformación homogéneas Matrices de transformación homogéneas Son las matrices de transformación T ∈ IR4×4 utilizados por los vectores en coordenadas homogéneas Encapsulan la orientación y posición y tienen la estructura     R3×3 | d3×1 rotación | traslación     | −−−  T = − − − | − − − =  − − − f1×3 | w1×1 perspectiva | escalado donde R ∈ IR3×3 es la matriz de orientación d3×1 es el vector posición f1×3 el vector de 1 × 3 de transformación de la perspectiva w es el factor de escalado de d3×1 57 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Matrices de transformación homogéneas Matrices de transformación homogéneas En robótica utilizaremos siempre forma que  R3×3  T = − − − [0, 0, 0] f1×3 = [0, 0, 0] y w = 1, de  | d3×1  | − − − | 1 La última fila se mantendrá siempre constante y no hará falta operar con ella. 58 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Matrices de transformación homogéneas Matrices de transformación homogéneas: interpretación Al igual que las matrices de rotación pueden expresar tres interpretaciones diferentes 1 Representación de la posición y orientación de un sistema coordenado 2 Cambio de base con rotación y traslación. 3 Transformación (rotación y traslación) de un vector 59 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Matrices de transformación homogéneas Representación de la posición y orientación de un sistema coordenado R = 0R1 : orientación de <o1 ,x1 ,y1 ,z1 > respecto de <o0 ,x0 ,y0 ,z0 > z1 y1 0d : 1 origen o1 respecto de <o0 ,x0 ,y0 ,z0 >   0R 0d | 1 1   0 T1 =  − − − | − − −  [0, 0, 0] | 1 z0 o1 0 d1 o0 x1 y0 x0 60 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Matrices de transformación homogéneas Cambio de base T expresa un operador que, actuando sobre un vector p único, expresa sus componentes respecto de otro sistema coordenado desplazado y rotado 0d desplazamiento 1 0R : orientación de 1 o1 z1 p̂0 y p̂1 expresan a p 0R y1 o1 0 d1  0d | 1   =  − − − | − − − p̂1 [0, 0, 0] | 1 1 p1 p0 z0 p̂0 = 0T1 p̂1  p 1 x1 o0 y0 x0 −→p0 = 0R1 p1 + 0d1 61 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Multiplicación de matrices por bloques: repaso Ejercicio Dado un producto matricial AB donde las estructuras matriciales de A y B pueden agruparse en submatrices que nos interesa mantener Para poder realizar dicha multiplicación las dimensiones de las submatrices han de ser compatibles (no columnas = no filas). El no de columnas de cada división vertical de A deberá corresponderse con el no de filas de las divisiones horizontales de B Si se cumple, podremos operar con las submatrices al igual que lo hacemos con los elementos 62 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Multiplicación de matrices por bloques: repaso Ejemplo de multiplicación de submatrices Dadas dos matrices A y B con las siguientes estructuras de bloques        Ap×q | Ap×r A11 | A12     A =  −− | −−  = −− | −− Au×q | Au×r A21 | A22 y  Bq×v  B =  −− Br ×v B11 | B12 | Bq×w    | −−  = −− | −− B21 | B22 | Br ×w 63 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Multiplicación de matrices por bloques: repaso Ejemplo de multiplicación de submatrices Supongamos que división de columnas de A con q y r columnas cada una, se corresponden con las división de filas de los bloques de B, entonces: " A11 A12 AB = A21 A22 #" B11 B12 B21 B22 #   A11 B11 + A12 B21 | A11 B12 + A12 B22   | −−−−−  = −−−−− A21 B11 + A22 B21 | A21 B12 + A22 B22 preservándose la estructura de submatrices. 64 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Matrices de transformación homogéneas Transformación de un vector T expresa un operador que, actuando sobre un vector p lo transforma en otro diferente p0 desplazado y rotado 0d desplazamiento 1 0R : orientación de 1 o1 0 R1p1 1 z0 p̂0 y p̂1 expresan a p 0 d1 p1 p0 p̂0 = 0T1 p̂1  0R o0  0d | 1   =  − − − | − − − p̂1 [0, 0, 0] | 1 1 y0 x0 −→p0 = 0R1 p1 + 0d1 65 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Matrices de transformación homogéneas Ejercicio Dado el ejemplo de la figura, obtengan el vector p0 mediante: 1 La suma geométrica de vectores en R3 2 Vectores en coordenadas homogéneas z1 p p1 p0 z0 y1 o1 0 d1 x1 o0 y0 x0 66 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Matrices de transformación homogéneas Ejercicio Mediante la suma de vectores, obtenemos: p0 = 0d1 + 0R1 p1 Aplicando matrices de transformación homogéneas: " 0R 0 p̂0 = T1 p̂1 = 1 0d 1 0 1 # p̂1 Aplicando la multiplicación de matrices por bloques " # p0 = 1 " 0R 0 1 0d 1 1 #" # p1 = 1 " 0R p 1 1 + 0d1 1 # Eliminando la última fila obtenemos el mismo resultado 67 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Matrices de transformación homogéneas Ejercicio Dado el ejemplo de la figura, con tres sistemas coordenados obtengan el vector p0 mediante: z2 p 1 La suma geométrica de vectores en R3 2 Vectores en coordenadas homogéneas p2 o2 x2 p1 1 d2 p0 z1 z0 0 d1 y2 y1 o1 x1 o0 y0 x0 68 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Matrices de transformación homogéneas Ejercicio: multiplicación por bloques Mediante la suma de vectores, obtenemos: p0 = 0d1 + 0R1 1d2 + 0R1 1R2 p2 y por aplicación de matrices de transformación homogéneas " 0 1 p̂0 = T1 T2 p̂2 = 0R 0d 1 1 0 #" 1R 1 2 1d 2 0 1 # p̂2 Aplicando la multiplicación de matrices por bloques " # p0 = 1 " 0R 1R 1 2 0 0d 1 + 0R1 1d2 1 #" # p2 = 1 " 0d 1 + 0R1 1d2 + 0R1 1R2 p2 1 # Eliminando la última fila obtenemos el mismo resultado 69 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Matrices de transformación homogéneas Matrices de transformación homogéneas básicas Expresan las mismas rotaciones básicas que en R 3 pero el formato 4 × 4, incluyendo además una transformación de traslación pura Rotación pura en torno al eje-x  Tx ,α 1 0 0 0 cos α − sin α  = 0 sin α cos α 0 0 0  0 0   0 1 Rotación pura en torno al eje-y  Ty ,β cos β  0  = − sin β 0 0 sin β 1 0 0 cos β 0 0  0 0   0 1 70 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Matrices de transformación homogéneas Matrices de transformación homogéneas básicas Rotación pura en torno al eje-z  Tz,γ cos γ − sin γ  sin γ cos γ  =  0 0 0 0 0 0 1 0  0 0   0 1 Traslación pura  Txyz 1 0  = 0 0 0 1 0 0  0 dx 0 dy    1 dz  0 1 71 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Matrices de transformación homogéneas Secuencia de matrices de transformación homogéneas () Una secuencia de M.T.H. se expresa mediante la multiplicación de matrices, operación que es no conmutativa. ¿Es la secuencia de M.T.H. básicas única en todos los casos? El producto matrices de traslación puras, esto es cuando no haya cambios de orientación, sí pueden intercambiarse, por ejemplo, Tuvw Txyz = Txyz Tuvw . El producto de una matríz de rotación pura y otra de traslación pura también, siempre y cuando ambas sean respecto del mismo eje, por ejemplo, Tz,γ Ttras,z = Ttras,z Tz,γ . Ninguna transformación puede efectuarse mediante suma M.T.H. La suma de M.T.H. no da lugar a otra M.T.H. 72 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Matrices de transformación homogéneas: inversa Inversa de la matriz de transformación homogénea La inversa de la matriz de transformación homogénea no es su traspuesta, es una estructura de submatrices cuya inversa deberán ser las inversas aplicadas de forma separada Dada una matriz de transformación homogénea tal que " i Tj = iR 0 j id # j 1 , su inversa, jTi , estaría compuesta por la inversa de i Rj es decir jRi y la de su vector de traslación jdi , por separado La última fila se mantiene siempre igual 73 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Matrices de transformación homogéneas: inversa Inversa de la matriz de transformación homogénea jd i se obtiene de la conversión de i dj mediante jRi i dj , mientras que el cambio de signo expresa el cambio de sentido del vector, que ahora apunta a oi en lugar de oj , j di = −jRi i dj , Por tanto la inversa de de forma que i Tj es " j ( i Rj ) T Ti = 0 # −(i Rj )T i dj . 1 74 / 75 Espacio cartesiano y espacio articular Matrices de transformación homogéneas Matrices de transformación homogéneas: inversa Comprobación Comprobaremos este resultado mediante la suma de vectores Por suma de vectores zj pi = i dj + i Rj pj , Invertimos premultiplicando ambos lados por jRi j pj pi zi i dj Ri pi = jRi i dj + jRi i Rj pj , Despejando pi teniendo en cuenta que jRi i Rj = I, obtenemos p yj oj xj oi yi xi pj = jRi pi − jRi i dj . 75 / 75

Use Quizgecko on...
Browser
Browser