Está en la página 1de 60

Capitulo HERRAMIENTAS MATEMATICAS PARA LA LOCALIZACION ESPACIAL

Herramientas matematicas 1

De pequena centella se levanta gran fuego. Refranero popular La manipulation de piezas Ilevada a cabo por un robot implica el movimiento espacial de su extremo. Asimismo, para que el robot pueda recoger una pieza, es necesario conocer la position y orientation de esta con respecto a la base del robot. Se aprecia entonces la necesidad de contar con una serie de herramientas matematicas que permitan especificar la position y orientation en el espacio de piezas, herramientas y, en general, de cualquier objeto. Estas herramientas han de ser lo suficienternente potentes como para permitir obtener de forma sencilla relaciones espaciales entre distintos objetos y en especial entre estos y el manipulador. Los siguientes epfgrafes introducen de forma progresiva estas herramientas, de especial importancia para la adecuada comprension de desarrollos en capitulos posteriores. Sin embargo, es necesario resaltar que estas son de aplicacion general para el tratamiento de problemas de localization espacial y que, por tanto, no son de aplicacion exclusiva en el campo de la robotica. Los dos primeros apartados presentan los distintos metodos existentes para la representation de la position y orientation espacial de un cuerpo rigido. Los conceptos se iran introduciendo por orden creciente de dificultad, comenzando con la representation en dos dimensiones, para seguidamente pasar al analisis en tres. En el siguiente epigrafe se introduce el concepto de matriz de transformation homogenea, necesaria para la representation conjunta de position y orientation, junto con sus propiedades y aplicaciones. Se trata de una herramienta muy util para representar transformaciones espaciales, estando su uso ampliamente extendido en diversos campos ademas del de la robotica, como por ejemplo en el de graficos por computador.

2 Fundamentos de robotica

Los denominados cuaternios, al tratarse de una herramienta de uso mas restringido, no son analizados con el suficienle detalle en la bibliograffa existente. Se trata de un metodo de gran economfa computational utilizado incluso por algunos robots comerciales para la representation de orientation, y por ello se ha incluido un apartado dedicado a su estudio. 3.1. REPRESENTACION DE LA POSICION Para localizar un cuerpo rigido en el espacio es necesario contar con una herramienta que permita la localization espacial de sus puntos. En un piano el posicionamiento tiene dos grados de libertad, y por tanto la position de un punto vendra definida por dos componentes independientes. En el caso de un espacio tridimensional sera necesario emplear tres componentes. La forma mas intuitiva y utilizada de especificar la position de un punto son coordenadas cartesianas. Existen ademas otros metodos, igualmente validos, y tambien ampliamente extendidos, como son las coordenadas polares para dos dimensiones, y las cih'ndricas y esfericas para espacios de tres dimensiones. 3.1.1. Sistema cartesiano de referenda Normalmente los sistemas de referencia se definen mediante ejes perpendiculares entre si con un origen definido. Estos se denominan sistemas cartesianos, y en el caso de trabajar en e! piano (2 dimensiones), z ik

Y

o
a)

b )

Figura 3.1. Representacion de un vector en coordenadas cartesianas en 2 y 3 dimensiones.

Herramientas matematicas 3

el sistema de referenda OXY correspondiente queda definido por dos vectores coordenados OX y OY perpendiculares entre si con un punto de intersection comun O. (Figura 3.1-a). Si se trabaja en el espacio (tres dimensiones), el sistema cartesiano OXYZ esta compuesto por una tema ortonormal de vectores coordenados OX, OY y OZ, tal y como se ve en la Figura 3.1-b. Se trata de una terna ortonormal a derechas. Coordenadas cartesianas Si se trabaja en un piano, con su sistema coordenado OXY de referencia asociado, un punto a vendra expresado por las componentes (x,;y) correspondientes a los ejes coordenados del sistema OXY. Este punto tiene asociado un vector p(x,>>), que va desde el origen O del sistema OXY hasta el punto a (ver Figura 3.1-a). Por tanto, la position del extremo del vector p esta caracterizado por las dos componentes (x,y), denominadas coordenadas cartesianas del vector y que son las proyecciones del vector p sobre los ejes OX y OY. En el caso de que se trabaje en tres dimensiones, un vector viene definido con respecto al sistema de referencia OXYZ mediante las coordenadas correspondientes a cada uno dc los ejes coordenados. En el caso de la Figura 3.1-b, el vector p estara definido por las componentes cartesianas (x,y,z). Coordenadas polares y cilindricas Para un piano, es posible tambien caracterizar la localization de un punto o vector p respecto a un sistema de ejes cartesianos de referencia OXY utilizando las denominadas coordenadas polares p(>,0) (Figura 3.2-a). En esta representacion, r representa la distancia desde el origen O del sistema hasta el

4 Fundamentos de robotica Figura 3. Representacion de a) coordenadas polares y b) cilindricas. .2.

mientras que 0 es el angulo que forma el vector p con el eje OX.0.<|>). Las componentes r y 0 tienen el mismo significado que en el caso de coordenadas polares.Herram ientas matema ticas 5 pMi<M Y X Figura 3. la componente 0 es el angulo formado por la proyeccion del vector p sobre el piano . En el caso de trabajar en tres dimensiones. mediante las coordenadas cilindricas p(r. aplicado el razonamiento sobre el piano OXY.0. Coordenadas esfericas Tambien es posible utilizar coordenadas esfericas para realizar la localizacion de un vector en un espacio de tres dimensiones. 3. el vector p tendra como coordenadas esfericas (r. un vector p podra expresarse con respecto a un sistema de referencia OXYZ. mientras que la componente z expresa la proyeccion sobre el eje OZ del vector p. Representacion de un vector en coordenadas esfericas.1. donde la componente r es la distancia desde el origen O hasta el extremo del vector p.z) (Figura 3. Utilizando el sistema de referencia OXYZ.2-b).3.4. extremo del vector p.

2. para el caso de un solido.) 3. REPRESENTACION DE LA ORIENTACION Un punto queda totalmente definido en el espacio a traves de los datos de su posicion. es necesario ademas definir cual es su orientacion con respecto a un sistema de referencia. (Figura 3. y la componente (j> es el angulo formado por el vector p con el eje OZ. En el caso de un robot. no es suficiente con especificar cual debe ser la posicion de su .6 Fundamentos de robotica OXY con el eje OX.3. Sin embargo.

Para el analisis de los distintos metodos de representar orientaciones se supondra que ambos sistemas coinciden en el origen. Matrices de rotacion Las matrices de rotacion son el metodo mas extendido para la description de orientaciones. 3. 1] Ym V . jv. y que por tanto no existe cambio alguno de posicion entre ellos. Para poder describir de forma sencilla la orientacion de un objeto respecto a un sistema de referencia. Por ejemplo. no bastaria con especificar los puntos de la superficie para situar adecuadamente la herramienta. De forma general. mientras que los del sistema OUV son iu. Una orientacion en el espacio tridimensional viene definida por tres grados de libertad o tres componentes linealmente independientes. es tambien necesario indicar su orientacion.1. es habitual asignar solidariamente al objeto un nuevo sistema.Herramientas matematicas 7 extremo. Supongase que se tiene en el piano dos sistemas de referencia OXY y OUV con un mismo origen O. debido principalmente a la comodidad que proporciona el uso del algebra matricial. esta relation vendra dada por la posicion y orientacion del sistema asociado al objeto respecto al de referencia. siendo el sistema OXY el de referencia fijo y el sistema OUV el movil solidario al objeto (Figura 3.4-a). sino que sera necesario tambien conocer la orientacion con que la herramienta ha de realizar la operacion. jy. Un vector p del piano se puede representar en ambos sistemas como: [3.2. Los vectores unitarios de los ejes coordenados del sistema OXY son ix. sino que en general. y despues estudiar la relacion espacial existente entre los dos sistemas. en el caso de un robot que tenga que realizar sobre una pieza curva una operacion de pulido.

8 Fundamentos de robotica X a) Figura 3. Orientacion de un sistema OUV respecto a otro OXY en un piano. .4.

tras realizar los correspondientes productos escalares. Si se considera la posicion relativa del sistema OUV girado un angulo a sobre el OXY (Figura 3. Suponganse los sistemas OXYZ y OUVW. que define la orientacion del sistema OUV con respecto al sistema OXY. jv. En un espacio tridimensional. kw. Tambien recibe el nombre de matriz de cosenos directores. coincidentes en el origen.5-a). R Pv _ donde: Mu ixJv R = [3. Es facil de comprobar que se trata de una matriz ortonormal. en el que los ejes coordenados de ambos sistemas coinciden.Herramientas matematicas 9 Realizando una sencilla serie de transformaciones se puede llegar a la siguiente equivalencia: V Pu — fy. la orientacion viene definida por un unico parametro independiente. tal que R1 = RT En el caso de dos dimensiones. jy.2] [3. Los vectores unitarios del sistema OXYZ seran ix. mientras que los del OUVW seran iu. el razonamiento a seguir es similar. siendo el OXYZ el sistema de referencia fijo. la matriz R corresponded a la matriz unitaria.4] Para el caso en que a = 0.4-b).3] Jy Jy Jy es la llamada matriz de rotacion. y el OUVW el solidario al objeto cuya orientacion se desea definir. (Figura 3. kz. Un vector p del espacio podra ser referido a cualquiera de los sistemas de la siguiente manera: . y que sirve para transformar las coordenadas de un vector en un sistema a las del otro. la matriz R sera de la forma: R = cosa -sena sena cos a [3.

P.10 Fundamentos de robotica P„vw=[P„. .Pw]T=/Viu+P»-jv + /Vkw t . [3./'j =PX-U+Py-Jy+PI-kl Y al igual que en dos dimensiones. se puede obtener la siguiente equivalencia: p* Pu Py = R Pv _P z_ K.Pv.5] P*y» = [Px..

sena [3 0 sena cos a En la Figura 3. tal que la inversa de la matriz R es igual a su traspuesta: R"1 = RT.0 cos a . vendra representada mediante la matriz: 1 0 0 R(x.Herramientas matematicas 11 donde: ixkw R = Jy Ju jyjv Jy kziu kz jy kW kzkw ixiu ijv [3.5-b. En la Figura 3. La principal utilidad de esta matriz de rotacion corresponde a la representacion de la orientacion de sistemas girados unicamente sobre uno de los ejes principales del sistema de referencia.6-a. la orientacion del sistema OUVW. tambien recibe el nombre de matriz de cosenos directores y se trata de un matriz ortonormal.a) . . Al igual que en dos dimensiones.7] es la matriz de rotacion que define la orientacion del sistema OUVW con respecto al sistema OXYZ. con el eje OU coincidente con el eje OX. la orientacion del sistema OUVW. con el eje OV coincidente con el eje OY.

con el eje OW coincidente con cos0 -sen0 0 COS<|) 0 R(y><i>) 0 1 = . .6. seguida de una rotacion de angulo <j) sobre OY y de una rotacion de angulo 0 sobre OZ. [3.9] y [3.9] el eje OZ. Rotacion del sistema OUVW con respecto a los ejes OY y OZ. la orientacion del sistema OUVW. Composition de rotaciones Las matrices de rotacion pueden componerse para expresar la aplicacion continua de varias rotaciones. si al sistema OUVW se le aplica una rotacion de angulo a sobre OX.sen({) 0 sen<| ) 0 [3.G) = sen0 cos0 0 001 [3. ecuaciones [3.10]. Asi.8]. la rotacion global puede expresarse como: Figura 3.6-b.10] Estas tres matrices.12 Fundamentos de robotica vendra representada mediante la matriz: COS( {) En la Figura 3. se denominan matrices basicas de rotacion de un sistema espacial de tres dimensiones. vendra representada mediante la matriz: R(z.

para finalizar con otra rotacion de angulo a sobre OX.a)R(y.a = se ) 0 S<{ 1 0 0 > C0 0 0 0 Ca -Sa 01 C(t 0 Sa Ca >_ C0C<j -S0Ca + C0S(t)Sa S0Sa + C6S<()Ca ) sec<t> C0Ca + S0S(|)Sa -C0Sa + S0S<|)Ca -S(j) C(j)Sa C(()Ca C<j) 0 01 . aunque aplicado al caso mas general de matrices de transformacion homogenea. Este es el caso de los llamados angulos de Euler.<}>)R(x. Asf.2.Herramientas matematicas 13 o <r > 00 I = donde C0 expresa cos0 y S9 expresa sen0. existen otros metodos de definition de orientacion que hacen unicamente uso de tres componentes para su description. Todo sistema OUVW solidario al cuerpo cuya orientacion se quiere describir. Angulos de Euler Para ia representacion de orientacion en un espacio tridimensional mediante un matriz de rotacion es necesario definir nueve elementos.2. seguida de una rotacion de angulo 4s sobre OY. la rotacion global vendria expresada por: 100 C<|> 0 S0 C0 -se o R(x. 3.5. pues el producto de matrices no es conmutativo. como se vera en el siguiente epigrafe. puede = -©u o -eco 1 ' i i 00 -©o ce R(z. si la rotacion se hiciera primero un angulo 0 sobre OZ.3. Aunque la utilizacion de las matrices de rotacion presente multiples ventajas.0) = 0 Ca -Sa 010 S0 C0 0 0 Sa Ca 0 01 C(j>C0 -C(J)S0 S<t> SaS())C6 + CaS0 .SaS0S0 + CaC0 ~SaC(|) ~CaS())Ce + CaS(J)S0 + SaCG CaCt)) SaSe que como se aprecia difiere en gran medida de la anterior. Es importante considerar el orden en que se realizan las rotaciones.<j>)R(z. Un estudio mas detallado sobre la composicion de rotaciones.0)R(y. se puede encontrar en el epfgrafe 3.

por tan to. Es necesario.i|j. denominados angulos de Euler.14 Fundamentos de robotica definirse con respecto al sistema OXYZ mediante tres angulos: 4>. Girando sucesivamente el sistema OXYZ sobre unos ejes determinados de un triedro ortonormal los valores de se obtendra el sistema OUVW.0. conocer ademas de los valores de los .

pues las operaciones de . siendo las tres mas usuales las que se muestran a continuation: ZaWW" W"Wm A \ o* lS eV UX U'U" Figura 3. convirtiendose asi en e! OU"V"W". Girar el sistema OU'V'W' un angulo 0 con respecto al eje OUr. Existen diversas posibilidades (24 formalmente definidas).Herramientas matematicas 15 angulos.W"1. 3. (Figura 3. Angulos de Euler ZXZ. se puede colocar al sistema OUVW en cualquier orientacion siguiendo los siguientes pasos. Se le suele asociar con los movimientos basicos de un giroscopo.7. Angulos de Euler ZXZ Es una de las representaciones mas habituales entre las que realizan los giros sobre ejes previamente girados. Girar el sistema OU"V"W" un angulo ij. cuales son los ejes sobre los que se realizan los giros.) Girar el sistema OUVW un angulo 4> con respecto al eje OZ. Es importante que estas operaciones se realicen en la secuencia especificada.7. con respecto al eje OW" convirtiendose finalmente en el OU'"V". Si se parte de los sistemas OXYZ y OUVW. inicialmente coincidentes. convirtiendose asi en el OU'V'W'.

Si se .16 Fundamentos de robotica giros consecutivos sobre ejes no son conmutativas. Angulos de Euler ZYZ Es otra de las representaciones mas habituales entre las que realizan los giros sobre ejes previamente girados. Solo se diferencia del anterior en la election del eje sobre el que se realiza el segundo giro.

Herramientas matematicas 17

Figura 3.8. Angulos de Euler ZYZ. parte de los sistemas OXYZ y OUVW, inicialmente coincidentes, se puede colocar al sistema OUVW en cualquier orientacion siguiendo los siguientes pasos. (Figura 3.8.) Girar el sistema OUVW un angulo <j) con respecto al eje OZ, convirtiendose asi en el OU'V'W1. Girar el sistema OU'V'W' un angulo 0 con respecto al eje OV', convirtiendose asi en el sistema OU"V"W". Girar el sistema OU"V"W" un angulo con respecto al eje OW", convirtiendose finalmente en el OU'"V"'W". Como antes, es preciso considerar que el orden de los giros no es conmutativo. Roll, pitch and yaw (alabeo, cabeceo y guinada) Se trata de la representacion utilizada generalmente en aeronautica. Es tambien la mas habitual de entre las que se aplican a los giros sobre los ejes del sistema fijo. Si se parte de los sistemas OXYZ y OUVW, al igual que en el caso anterior, se puede colocar al sistema OUVW en cualquier orientacion siguiendo
1 Girar el sistema OUVW un angulo t|r con respecto al eje OX. Es el denominado Yaw o guinada. 2. Girar el sistema OUVW un angulo 0 con respecto al eje OY. Es el denominado Pitch o cabeceo. 3. Girar el sistema OUVW un angulo con respecto al eje OZ. Es el denominado Roll o alabeo.

18 Fundamentos de robotica

los siguientes pasos. (Figura 3.9.)

Herramientas matematicas 19

W

Roll

C^>
Pitch

XU Figura 3.9. Angulos de Euler: roll, pitch y yaw. Al igual que en los casos anteriores, y en general siempre que se concatenan varios giros seguidos, es necesario considerar que no se trata de una transformation conmutativa, debiendose seguir una secuencia determinada de aplicacion de los mismos.

b) Figura 3.10. Representaci6n de orientacion por eje y angulo de giro (par de rotacion).

de tal forma que un vector pfoy. donde i.1.62 Fundamentos de robotica 3. Pero ninguno de estos metodos por si solo permite una representacion conjunta de la posicion y de la orientacion (localization).c. Para solventar este problema se introdujeron las denominadas coordenadas homogeneas. pues representan vectores de longitud infinita. donde w tiene un valor arbitrario y representa un factor de escala.0. Se define como matriz de transformation homogenea T a una matriz de dimension 4x4 que representa la transformation de un vector de coordenadas homogeneas de un . etc. el vector 2i + 3j + 4k se puede representar en coordenadas homogeneas como [2.-3]T. 16] se representa en coordenadas homogeneas mediante el vector columna: X aw a y bw b z w P= cw w c 1 Por ejemplo.0]T sirven para representar direcciones. o como [4.wy. Es decir.2]n o tambien como [-6. vectores unitarios de los ejes OX. MATRICES DE TRANSFORMACION HOMOGENEA En los epigrafes anteriores se ban estudiado distintos metodos de representar la posicion o la orientacion de un solido en el espacio. A partir de la definition de las coordenadas homogeneas surge inmediatamente el concepto de matriz de transformation homogenea.4. Los vectores de la forma [a.3.-9.-12.wz. Los vectores nulo se representan como [0. De forma general.8.w). j y k son los [3.6. Coordenadas y matrices homogeneas La representacion mediante coordenadas homogeneas de la localization de solidos en un espacio ndimensional se realiza a traves de coordenadas de un espacio (n+l)-dimensional. un vector p = al + bj + ck.b.1]T. 3. OY y OZ del sistema de referencia OXYZ.3.n]\ donde n es no-nulo. un espacio ndimensional se encuentra representado en coordenadas homogeneas por (n+1) dimensiones.0.3.z) vendra representado por p(wx.

_ f 1x3 — Perspectiv n Escalado [3 Wixi_ a .Herramientas matematicas 63 sistema de coordenadas a otro. R?X3 Rotacion Traslacio P3X.

3X3 que corresponde a una matriz de rotacion. aunque mas adelante se estudia su utilidad en otros campos. se considera la transformacion de perspectiva nula y el escalado global unitario. 3. la matriz homogenea T resultara ser de la siguiente forma: R 3X 3 P3X1 Rotacion Traslacion [3. Aplicacion de las matrices homogeneas Si como se ha mencionado. los vectores sobre los que se aplique deberan contar con 4 dimensiones. una submatriz p3Xi que corresponde al vector de traslacion. 19] fy rv =T rz 1 1 T= Tambien se puede utilizar para expresar la rotacion y traslacion de un vector respecto de un sistema de referencia fijo OXYZ.rw) en el sistema O'XYZ: rx ru [3. Al tratarse de una matriz 4x4. que seran las coordenadas homogeneas del vector tridimensional de que se trate. una submatriz f)x3 que representa una transformation de perspectiva. 18] que representa la orientacion y0posicion de un sistema O'UVW rotado y trasladado 1 0 1 con respecto al sistema de referencia OXYZ.2.3. 20] r'y ry =T r'z rz 1 I .ry. considerandose las componentes de fjx3 nulas y la de w(xi la unidad.Herramientas matematicas 64 Se puede considerar que una matriz homogenea se hay a compuesta por cuatro submatrices de distinto tamano: una submatriz R. de tal manera que un vector rxyz rotado segun R3x3 y trasladado segun P3xj se convierte en el vector r'xyz dado por: r\ rx [3.rz) del vector r en el sistema OXYZ a partir de sus coordenadas (ru. En robotica generalmente solo interesara conocer el valor de R3x3 y de p3Xl. Esta matriz sirve para conocer las coordenadas (rx. y una submatriz wlx. que representa un escalado global.rv.

una matriz de transformacion homogenea se puede aplicar para: .Herramientas matematicas 65 En resumen.

que es lo mismo que representar una rotacion y traslacion realizada sobre un sistema de referencia. matriz ~r» + ru P x ~ en el sistema O'UVW por ruvw. Se hace notar que se utilizan coordenadas homogeneas con factor de escalado la unidad. Rotar y trasladar un vector con respecto a un sistema de referencia fijo OXYZ.-3. Transformar un vector expresado en coordenadas con respecto a un sistema O'UVW. La matriz T entonces correspondera a una matriz homogenea de traslacion: Y a su vez. " denominada 1 0 0 P .1. A continuation se va a analizar con detalle el empleo de las matrices homogeneas como herramienta para representar la localization de objetos en el espacio tridimensional.z desplazado segun T tendra como componentes r'XiyjZ: r\ 10 0 Px rx r* + P>+ r'y 0 1 0 py ry ry Py que es la basica de traslacion. Traslacion Supongase que el sistema O'UVW unicamente se encuentra trasladado un vector p = pxi + p^ + pzk con respecto al sistema OXYZ. y que por tan to los vectores que intervienen en las transformaciones han de poseer cuatro componentes. a su expresion en coordenadas del sistema de referencia OXYZ.11 el sistema O'UVW esta trasladado un vector p(6.8) con respecto del siste- . Segun la Figura 3. Por comodidad.66 Fundamentos de robotica Representar la posicion y orientacion de un sistema girado y trasladado O'UVW con respecto a un sistema fijo de referencia OXYZ. asi como para realizar proyecciones y escalados. se elige el factor de escalado w = 1. un vector rx y. representado r vector con respecto al sistema rv OXYZ: rv + P y y rz o ^3 o 1 1 o o o 1 rw 1 r* + P z o o 1 r'z 1 0 0 1 pz 0001 rz 1 rz + Pz 1 Ejemplo 3. tendra como componentes del Un vector cualquiera r.

7.Herramientas matematicas 67 ma OXYZ. 1. ry.22] se obtiene: rx fy rz 1 0 10-3 0018 -2 7 3 . 1. Calcular las coordenadas (rx.3)- i o o On i Aplicando la ecuacion [3. 4 4 11 . i o o o .rz) del vector r cuyas coordenadas con respecto al sistema O'UVW son rUvW(-2.

12.2.-3. De igual forma que se hacta alii. Aplicando la ecuacion [3. OY y OZ del sistema de referencia OXYZ: r O o 0 1 i o o o 1 "4 4 11 . y se corresponde al tipo matriz de rotacion presentada en el epigrafe 3.2. Calcular el vector r'xyz resultante de trasladar al vector rxyz(4.1. 1. se pueden definir tres matrices homogeneas basicas de rotacion segun se real ice esta segun cada uno de los tres ejes coordenados OX.4.l 1) segun la transformacion T(p) con p(6.8) (ver Figura 3. Figura del Ejemplo 3. Figura 3.12).2.23] se obtiene: r'x r'y 0 10-3 r'z 1 0018 Rotacion Supongase ahora que el sistema O'UVW solo se encuentra rotado con respecto al sistema OXYZ. La submatriz de rotacion sera la que defina la rotacion. "1 0 1 19 _ 1 .66 Fundamentos de robotica Ejemplo 3.

ry. 24] [3. 28] T(z.e) = sen0 0 [3.a) = 0 1 0 coscj) 0 sen(j> 0 0 10 0 T(y.y>z rotado segun T vendra expresado por r'x>y z segun: r\ rx r'y r\ 1 =T ry r7.4>) = -sen<|) 0 cos<j> 0 0 00 1 cos0 -senG cos0 [3.Herramien tas matematic as 69 1 0 0 0 0 cosa . 1 [3.sena 0 0 sena cosa 0 0 T(x. rz) en el sistema OXYZ las siguientes: rx rv ry ry =T [3. representado en el sistema girado O'UVW por ruvw. 25] 00 0 0 0 1 0 Un vector cualquiera r. 27] rz rw \ 1 Y a su vez un vector rx. tendra 0 0 01 como componentes {h. 26] .

.

pues se trata de transformaciones espaciales no conmutativas. En cambio.sena py [3. Si primero se rota y despues se traslada se obtiene un sistema final O'U'V'W'. Se parte de un sistema OUVW coincidente con OXYZ al que se va a aplicar una traslacion segun un vector px. que representa una localization totalmente distinta a la del sistema final anterior. En la Figura 3. si se quiere expresar la posicion y orientacion de un sistema O'UVW. las matrices homogeneas seran las que a continuation se expresan: Rotacion de un angulo a sobre el eje OX seguido de un traslacion de vector px y z: 10 0 P.Herramientas matematicas 69 Z W" W' Figura 3. Rotacion seguida de traslacion Para el caso de realizar primero una rotacion sobre uno de los ejes coordenados del sistema OXYZ seguida de una traslacion. matrices homogeneas distintas segun se realice una traslacion seguida de rotacion o una rotacion seguida de traslacion. Por lo tanto.14 se demuestra esta no conmutatividad de forma grafica.y>z y una rotacion de 180° alrededor del eje OZ.14. Se tendra. habra que tener en cuenta si primero se ha realizado la rotacion y despues la traslacion o viceversa. 29] . por tanto. Distintos sistemas finales segun el orden de las transformaciones. La traslacion y la rotacion son transformaciones que se realizan en relacion a un sistema de referencia. originalmente coincidente con el de referencia y que ha sido rotado y trasladado segun este. si primero se traslada y despues se rota se obtiene otro sistema final 0"U"V"W". 0 cosa .

70 Fundamentos de robotica 0 sena cosa pz 0001 .

sen<|> 0 cos<|) pz Rotacion de un angulo (j) sobre el eje OY seguido de una traslacion de vector Px. 1 0 0 P* 0 cosa .pz ) sen0 0 1 0 Py 0 COS pz cos(|) .(y.sen0 0 Px sen0 cos0 0 Py 0 0 1 Pz 0 0 0 1 Traslacion seguida de rotacion Para el caso de realizar primero una traslacion seguida de una rotacion sobre los ejes coordenados del sistema OXYZ.px sen(j) sen<J) 0 0 <{) 0 1 T(p.sena py cosa . 30] Rotacion de un angulo 0 sobre el eje OZ seguido de una traslacion de vector px y>z: cos0 .y.p) = cos<|) 0 sen<|) px 0 10 py .pz sena 0 sena cos a Py sena + pz cosa 0 0 0 1 Traslacion de vector px.<|>)) = [3. COS(J 0 sen(() px cos<)) h.0).y>z seguida de rotacion de un angulo 4> sobre el eje OY.Herramientas matematicas 71 T((y. 33] . las matrices homogeneas resultantes son las siguientes: Traslacion de vector px y z seguida de rotacion de un angulo a sobre el eje OX.*: 0 00 1 [3.

72 Fundamentos de robotica .

y. sen0 + pv 0 0 1 cosO Pz 0 0 0 a 1y Ejemplo 3. Calcular las coordenadas (rx. Utilizando la matriz de la expresion [3.4.15).py sen0 sen0 cos0 0 p.rz) del vector r con coordenadas ruvw (-3.-11).ry.12) con respecto al sistema OXYZ (Figura 3.sen0 0 px cos0 .29] se tendra: rx r i y -3 4 -11 1 5 7 16 1 o o 010 000 o ! rz 1 o .z seguida de rotacion de un angulo 0 sobre el eje OZ.-4. Un sistema OUVW ha sido girado 90° alrededor del eje OX y posteriormente trasladado un vector p(8.Herramientas matematicas 73 Traslacion de vector px.4. cos0 .

72 Fundamentos de robotica Ejemplo 3.16. rz) del vector r de coordenadas ruvw (-3.32] se obtiene: rx 1 0 0 ry 0 0 -1 rz 0 1 0 1 0 0 0 Perspectiva y escalado Las matrices homogeneas tambien se pueden aplicar para la realization de un escalado de las componentes de un vector.5. Figura 3. Bastara utilizar una matriz T del tipo: .12) con respecto al sistema OXYZ y girado 90° alrededor del eje OX (Figura 3. Un sistema OUVW ha sido trasladado un vector p(8. ry. Situacion de los sistemas de referencia del Ejemplo 3. Utilizando la matriz de la expresion [3.-11).4.16). Calcular las coordenadas (rx.-4.5.

17).z) puede ser transformado en un vector r(x/s.Herramientas matematicas 75 a 0 0 0 0 b 0 0 0 0 c 0 0 0 0 1 Cualquier vector r(jt. Supongase una lente situada sobre el piano OXZ con distancia focal f situada sobre el eje OY (Figura 3.cz). matriz homogenea del tipo [Fu-88]: V" 0 00 f y _/ — -f y=o z= 1puede [3. Se puede comprobar que el punto r(x.by.y. . 36] a traves de la cual.z) puede ser transformado en el vector r(ax. utilizando la definition de coordenadas homogeneas. 38] 0 1 0 z Para las aplicaciones en robotica de las matrices homogeneas. denominada de perspectiva. cualquier vector r(x.y.z) se ve en el piano de la lente como un punto r'(jt'. 37] realizarse a traves de una 0 0 0 [3.z/s).z') cuyas coordenadas vienen dadas por la siguiente expresion: x=• Esta transformacion.y/s.y. se supone que no 1 0 -1 / f 0 1 existe ninguna transformacion de perspectiva y que el escalado es siempre unitario. Una aplicacion mas de las matrices homogeneas es la transformacion de perspectiva.y. Tambien se puede realizar un escalado global de las tres componentes mediante la matriz: 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 s T = [3.

3. Transformacion de perspectiva. 39] 0001 Lo o o i donde n.3. .17. La matriz T de transformacion se suele escribir de la siguiente forma: «x Ox ax px T= ny oy ay py noap nz oz az pz [3.76 Fundamentos de robotica Figura 3. y en definitiva sirve para expresar la orientacion y posicion de un sistema de referencia O'UVW con respecto a otro fijo OXYZ. a su expresion en las coordenadas del sistema de referencia OXYZ. una matriz homogenea sirve para transformar un vector expresado en coordenadas homogeneas con respecto a un sistema O'UVW.a es una terna ortonormal que representa la orientacion y p es un vector que representa la posicion. Tambien se puede utilizar para rotar y girar un vector referido a un sistema de referencia fijo. Significado geometrico de las matrices homogeneas Como ya se ha descrito.o. 3.

a] corresponde a una matriz ortonormal.0. se tendra: fx «x n 0001 [3. el vector director del eje coordenado O'U del sistema O'UVW. o y a definen una terna ortonormal a derechas.1]T. 40] ox Oy Cly IT «x P X 0 ny [3.0. Por tanto. es decir. el vector columna n representa las coordenadas 1 1 [r O'UVW con 0 0 0 fy y Oz dz respecto del sistema OXYZ. "0 " >x" noap L 0 0 Py Pz xyz " que coincide con el vector columna p de T. se considera el vector de coordenadas homogeneas [1.Herramientas matematicas 77 Si se considera un vector ruvw = [0. que cumple que: [n o a]' = [n o a] [3. si se realiza la transformacion de los vectores [0.1.41] fz n 0 z Pv n z del eje O'U del sistema Es decir. es decir.1 ]T con respecto del sistema OUVW. este vector columna 1 1 representa la posicion del origen de O'UVW con respecto del sistema OXYZ. y suponiendo el vector p de traslacion nulo. el origen del sistema O'UVW.0. la submatriz de rotacion [n.0. Consecuentemente.43] . se obtiene que el vector columna o representa las coordenadas del eje OY del sistema O'UVW con respecto del sistema OXYZ. de igual manera.1. se obtiene rXV2.1 ]T y [0. Si.1 ]T referidos al sistema O'UVW. y que el vector columna a representa las coordenadas del eje O'W del sistema O'UVW con respecto del sistema OXYZ.0.o. los vectores n. De igual forma.0. lo que significa Ml = l°l = la|| = 1 p42] nxo = a Como ya se vio cuando se explico la matriz de rotacion. la aplicacion de la matriz T que representa la transformacion (traslacion + rotacion) de O'UVW con respecto a OXYZ.

seguido de un giro de angulo <J) sobre el eje OY y de un giro de un angulo 0 sobre el eje OZ. Es decir.4. los vectores fila de la matriz [n o a] representan otra terna ortonormal a derechas. reaiizando el mismo proceso que se hizo anteriormente. Esta utilidad de las matrices homogeneas cobra aun mas importancia cuando se componen las matrices homogeneas para describir diversos giros y traslaciones consecutivos sobre un sistema de referencia determinado.yz = r„™ [3. Composition de matrices homogeneas Anteriormente se ha mencionado que una matriz de transformacion homogenea sirve. puede obtenerse por la composition de las matrices basicas de rotacion: C<j > 0 S<| 0 > 0 Sty 01 1 0 0 0 C4 0 > 1 0 0 1 0 0 0 0 Ca -Sa 0 0 Sa Ca 0 0 0 0 1 . Por ejemplo. una matriz que representa un giro de un angulo a sobre el eje OX. se deduce que los vectores fila de la submatriz de rotacion de la matriz T (vectores columna de la submatriz de rotacion de T1).78 Fundamentos de robotica La matriz inversa de la matriz homogenea de transformacion T es facilmente obtenible. y corresponde a la siguiente expresion: ny nz -nTp ox Oy oz -oTp fly flz -aTp 0 0 0 1 Si se tiene la relacion rxy2= T ruvw y se multiplica en ambos miembros por Tse tiene: T1 r. De esta forma. una transformacion compleja podra descomponerse en la aplicacion consecutiva de transformaciones simples (giros basicos y traslaciones). para representar el giro y la traslacion realizados sobre un sistema de referencia.45] por lo que.3. 3. representan los ejes principales del sistema de coordenadas de referencia OXYZ con respecto a OUVW. entre otras cosas.

a) = ce -se o o se ce o o o 0 10 o 0 0 1 c<t>ce -seca + ces<|)sa [3.cesa + SeS(j)Ca 0 CaC<j> 0 T = T(z.6)T(y. 46] .Herramientas matematicas 79 sesa + ces<]>ca 0' sec(j> -s<i> o C<J)Sa 0 ceca+ses^sa .(())T(x.

distinto: 1 0 ce -se o o Cty 0 Sty 0 0 o i0o o se c 00 T = T(x. en la siguiente ecuacion : 0 0 . de una traslacion de vector pxyz(5. .Sty 0 Cty 0 0 0 Ca . tampoco lo es la composition de transformaciones. Para ello bastara unicamente con ir concatenando matrices en orden inverso.10) y un giro de 90° sobre el eje OZ. el resultado es.C<1>S0 Sty 0 c<t>ce Ejemplo 3.CaS<|>C9 + SaSe 0 0 1 del sistema OXYZ 0 mediante un giro de angulo -90° alrededor del eje OX.80 Fundamentos de robotica Debido a que el producto de matrices no es conmutativo.6) = 1 0Ca 0 . 47] l j L o 0 00 .-90") = 0 " 0 1 0 0 0 -1 -1 0 0 -5 5 10 1 0 En los ejemplos vistos anteriormente sobre los que se realizaban 0 0 los ejes 000 1 0 0 las 0 1 1 0 operaciones 0 0 0 correspondian al sistema fijo de referencia OXYZ.a) T(y. logicamente.1 0 10 0 10 5 001 0 5 10 1 0 0 0 T = T(z.90") T(p) T(x. Si se invierte el orden de aplicacion de las transformaciones.5. Tambien es posible componer 1 0 1 0 0 matrices de 000 1 operaciones esten 0 transformacion de manera que las referidas en todo momento al 001 sistema que este moviendose. Para ello bastara multiplicar en el orden adecuado las diferentes matrices basicas: 0 .6. Por ejemplo.<j>)T(z.SaS(j)S0 + CaCO -SaCty 0 SaS(])C0 + Case Se quiere obtener la matriz de transformacion que representa CaS(j)Se + SaCe CaCty 0 al sistema O'UVW obtenido a partir .Sa 0 e o i o o o 0 Sa o [3.

48] 0 0 0 iJL o 0 .10. < J >)T(w. I4.S a 0 0 1 0 Ca 0 -S(J) 0 S<|> 0' C0 -S0 0 0 0 C<> 0 S(l) 0 T = T(x.7.-90°) T(v. giro de -90° sobre el eje O'U del sistema trasladado y giro de 90° sobre el eje O'V del sistema girado. la matriz homogenea que representa cada transformacion se .C(j)S0 -SaS<})S0 + CaCe 0 1 0 -SaC(|) 0 c<j>ce SaS(j)C0 + CaS0 CaS(J)S0 + SaC0 CaC(J) 0 se muestra una matriz -cecovso+sase que representa un giro de angulo a sobre el eje OX del sistema 0 0 1 fijo OXYZ. Ejemplo 3. Obtener la matriz de transformacion que representa las siguientes transformaciones sobre un sistena OXYZ fijo de referencia: traslacion de un vector pxy2(-3.10). que representa las mismas transformaciones referidas a los ejes de un sistema OXYZ fijo de referencia. Se escogen las matrices basicas correspondientes y se componen en orden inverso al ejemplo anterior.Herramientas matematicas 81 1 0 0 Ol [" C<|) 0 . 1 0 0 0 0 0 1 0 0 0 1 -3 T = T(p) T( 11.46].a)T(v. Si el sistema O'UVW se obtiene mediante rotaciones y traslaciones definidas con respecto al sistema fijo OXYZ. Comparar con la matriz de la ecuacion [3.90°) = 0 0 1 0 0 1 0 0 -1 0 0 10 0 -] 0 0 -1 0 0 0 0 -1 0 10 0 0 0 1 0 0 0 1 0 0 0 1 10 0 -3 01 0 10 00 1 10 00 0 1 De forma general. se han de tener en cuenta los siguientes criterios: Si el sistema fijo OXYZ y el sistema transformado O'UVW son coincidentes.0) = 0 Ca Sa so ce o o 0 0 0 001 0 [3. 0 seguido de un giro de valor <$> sobre el eje OV y un giro de angulo 0 sobre el eje OW del sistema en movimiento OUVW. la matriz homogenea de transformacion sera la matriz 4x4 identidad. a la hora de componer diversas transformaciones mediante matrices homogeneas.

82 Fundamentos de robotica debera premultiplicar sobre las matrices de las transformaciones previas. .

j Siguiendo estas indicaciones. O tambien puede verse como una rotacion a sobre el eje OU. la transformacion: T = T(x. . Figura 3. seguida de una rotacion 0 sobre el eje OW y de una rotacion 4) sobre el eje OV del sistema que esta siendo transformado. Ejemplo de aplicacion de diversas transformaciones para localizar un objeto.0)T(y.a)T(z. cualquier composition de matrices homogeneas puede estudiarse como J. Si el sistema O'UVW se obtiene mediante rotaciones y traslaciones definidas con respecto al [ sistema movil.<t>) [3.Herramientas matematicas 83 3. seguida de una rotacion 0 sobre OZ y de una rotacion a sobre OX del sistema fijo.49] puede verse como una rotacion de (J) sobre OY. si se realiza cada transformacion con respecto al sistema fijo o se realiza cada transformacion con f respecto al sistema movil. la matriz homogenea que representa cada transformacion se debera postmultiplij car sobre las matrices de las transformaciones previas. | Por ejemplo.18.

De tal manera que si se quiere obtener la relacion entre el objeto y la herramienta bastara multiplicar ambos miembros de la ecuacion anterior por MT0'' obteniendose: ( MTo)"' mTr rTe eth= °t„ [3. Para ello se ira desde el objeto inicial al final multiplicando las matrices de transformacion correspondiente a los arcos del grafico.50] Esta relacion se puede representar mediante un grafico de transformacion como el de la Figura 3. y considerando que de recorrerse estos en el sentido inverso a las flechas debera utilizarse una matriz inversa. A su vez. y por ultimo. Se observa que el final de la herramienta puede ser referido con respecto al sistema OXYZ de dos maneras distintas: a traves del manipulador y a traves del objeto. De tal manera que se puede escribir: mTr rTe eTh= mTo °T„ [3. Asi la relacion entre la base del robot y el objeto vendra dada por: RT0 = RTe ETh(°T„)"' .84 Fundamentos de robotica 3. un objeto esta referido con respecto al sistema OXYZ mediante la transformacion MT0.51] Cualquier otra relacion puede ser obtenida facilmente a partir del grafico. En la Figura 3. A su vez. Graficos de transformacion Es frecuente encontrar situaciones en las que la localization espacial de un objeto o de su sistema de referencia asociado.18 se tiene un manipulador cuya base esta referida al sistema del mundo OXYZ mediante la transformacion MTR. pueda realizarse a traves de la composition de diversas transformaciones distintas. El extremo de la herramienta esta referido con respecto al extremo del manipulador por la transformacion ETH.5.19 [Paul-81]. para pasar de la base del manipulador a su extremo se utiliza la transformacion RTE. el extremo de la herramienta esta referido con respecto al objeto a traves de la transformacion °TH.3.

Herramientas matematicas 85 o bien por: RTo = (MTRr mTo 3. Algebra de cuaternios Un cuaternio esta formado por cuatro componentes (qo. .4 se definio de forma generica lo que es un cuaternio.1.ij.✓ 3.52] Sobre los elementos de la base se define una ley de composition interna o (producto) segun se muestra en la Tabla 3.v) [3. Ley de composicion interna de los cuaternios o e i j k e e i j k i i -e -k j j j k -e -i k k ■j i -e Cuaternio conjugado A todo cuaternio Q se le puede asociar su conjugado Q*.q-2>qi) que representan las coordenadas del cuaternio en una base {e. De este modo los cuaternios forman un grupo ciclico de orden cuatro.k}. Tabla 3. Q = <7oe + 4. APLICACION DE LOS CUATERNIOS En el epigrafe 3.4. A continuation se describe el algebra de cuaternios y las aplicaciones en las que la utilization de cuaternios supone una ventaja sustancial sobre otros metodos de description espacial.2.i + ?2j + 43k = (s. en el que se mantiene el signo de la parte escalar y se invierte el de la vectorial.q\.1.4. A continuacion se describen algunas propiedades utiles de los cuaternios a la hora de su utilization para realizar transformaciones. .1.

puede decucirse de la Tabla 3.53] siempre y cuando se trate de un cuaternio no nulo.??] = (s-*) [3. El producto de dos cuaternios Q] y Q2.) [3.h .v. que va a ser muy util para la composition de transformaciones. v 2) = (a s2.1.56] mientras que el producto por un escalar es: Q3 = a Q2 = a(s2.vj. x v2 +s.v2) = (si + s2.86 Fundamentos de robotica Operaciones algebraicas Se definen tres operaciones algebraicas sobre los cuaternios: producto. .vl)°(s2.v. +s2v.1v1) + (s2.. + Q2 = (s. El inverso de un cuaternio puede hallarse mediante la expresion: q'"H 135.°Q2 = (s1.58] Al numero real (qo2 + q2 + qj + q-?)m se le denomina norma de q y se representa por |q|| .1 Q' = [?0 -11 .v. y viene dado por: Q3 = Q. 55] #33 = #10 #23 + #13 #20 + #11 #22 ~ #12 #21 La suma de dos cuaternios Qi y Q2 se define como: Q3 = Q.57] El producto de cuaternios es por tanto asociativo aunque no conmutativo. suma y producto con un escalar. Norma e inverso Segun la definition del cuaternio conjugado y la del producto de cuaternios. a v 2) [3.54] Se observa que no se trata de un producto conmutativo. + v2) [3. se deduce que: Q ° Q* = {ql + q] + q\ + #')e [3.v2) = (s1s2 — v. Si se expresa componente a componente: #30 = #10 #20 ~ (#11 #21 + #12#22 + #13 #23) #31 = #10#2I ~^~ # 11 #20 #12#23 # 13 #22 #32 ~ #10 #22 + #12 #20 + #13 #21 — #11 #23 [3.

60] Q = Rot(k.5. obtenido por la expresion: \ . primeramente se define aquel cuaternio que represente un giro de valor 0 sobre un eje k como: 00 [3.61] se obtiene el vector r': V2 a/2 V2 V5' 2*2'2'2 \/ V2 V2 V2 V2 r de = rotaciones con cuaternios o(0.3 2 '"2 2 ' 2 En segundo lugar.-6)o La composition resulta tan como multiplicar 3 2 ~sencilla 2 cuaternios entre si. Rot(k.r)»Q* [3.k sen— Ejemplo 3. para posteriormente rotar segun Q2.90°) donde k(3.4. vendra definida por el producto: Qo(0.l). es el mismo que el de rotar segun Q3.Herramientas matematicas 87 r 3. Q = Rot(k.61] Ejemplo 3. Utilization de los cuaternios Las propiedades expuestas propician el uso de los cuaternios para la representacion y composition de rotaciones.2.0) = | cos—. Aplicando la ecuacion [3.9. Para ello.-2.60]: V2 V2 4i -Ji 2 . Obtener el cuaternio que representa una rotacion de 90° sobre el eje k(3. sobre el vector r(5.8.8.l).-2.90°) = Obtener el vector r' resultante de aplicar la misma rotacion del Ejemplo 3.2. Aplicando la ecuacion [3. la aplicacion de la rotacion expresada por el cuaternio Q a un vector r. De tal forma que el resultado de rotar segun el cuaternio Q].-6).2.

5. Asi.rxyz) = Qo(0.r)oQ-+(0. Cada uno de ellos presenta una serie de caracteristicas que le hacen mas o menos apto para una determinada aplicacion. el producto de cuaternios no es conmutativo. tal y como se vera en la comparacion de los distintos metodos.rsyz) = Qo(0.r') =Qo(0. pues como se ha mencionado.p) [3. algunos solo sirven .ruvw)oQ*+(0.64] Si se mantiene el sistema OXYZ fijo y se traslada el vector r segun p y luego se le rota segun Q se obtendra el vector r' de coordenadas: (0. conocidas en OUVW.63] El resultado de primero rotar y luego trasladar al sistema vendra dado por: (0.r„w+p)oQ* [3. 3. Esta es su principal ventaja. es un nuevo sistema OUVW. lo que corresponde a una expresion de productos y sumas muy simple. RELACION Y COMPARACION ENTRE LOS DISTINTOS METODOS DE LOCALIZACION ESPACIAL En los epigrafes anteriores se han explicado una serie de metodos para poder realizar la localization espacial de un solido y de su sistema de referencia asociado.r') = Q = (0. tal que las coordenadas de un vector r en el sistema OXYZ. este se convertira en el r* a traves de la expresion: (0.66] Se observa que el empleo de cuaternios para la composition de rotaciones es un metodo computacionalmente muy practico.88 Fundamentos de robotica Q3 =Q2°Qi [3.62] Es importante tener en cuenta el orden de multiplication.r + p)oQ* [3. seran: (0. pues basta multiplicar cuaternios entre si. En el caso de componer rotaciones con traslaciones se procede como sigue: el resultado de aplicar una traslacion de vector p seguida de una rotacion Q al sistema OXYZ.r) [3.65] Y si se aplica primero el giro y despues la traslacion p al vector r.

cuya algebra es extensamente : conocida.Herramientas matematicas 89 para la representacion de orientacion. Para ello bastara unicamente multiplicar. En este apartado se analizan las ventajas e inconvenientes de cada uno de el los. la aplicacion de una transformacion sobre un vector referido a un sistema fijo unicamente multiplicando la matriz de transformacion correspondiente por el vector. Capacidad de representacion conjunta de posicion y orientacion. La comparacion se realiza fundamentalmente en razon a su capacidad para la realization de cuatro cuestiones basicas de toda transformacion. 3. cuando este es posible. solo son capaces de . Los angulos de Euler. Esto dificulta su implementation en computador. son especialmente utiles para la composicion de rotaciones. es capaz de realizar las cuatro cuestiones apuntadas anteriormente. Transformar un vector expresado en coordenadas con respecto a un sistema O'UVW. Se trata del metodo mas popular. Es posible. por ejemplo. Representar la posicion y orientacion de un sistema rotado y trasladado O'UVW con respecto a un sistema fijo de referencia OXYZ. pero dependiendo del uso que se vaya a hacer. las matrices de transformacion correspondientes. de uno a otro. Rotar y trasiadar un vector con respecto a un sistema de referencia fijo OXYZ. en el orden adecuado.5. en cualquiera de sus modalidades. ademas de estudiar como se puede realizar el paso. sera mas adecuado emplear un procedimiento u otro. a su expresion en coordenadas del sistema de referencia OXYZ. Comparacion de metodos de localization espacial En un principio todos los metodos expuestos son equivalentes. Matrices de transformacion homogenea Sus principales ventajas residen en su capacidad de representacion conjunta de posicion y orientacion y en la comodidad con la que se puede realizar la composicion de transformaciones.1. pues ademas de trabajar con matrices. Como principal inconveniente presenta su alto nivel de redundancia (necesita definir 12 componentes para solo 6 grados de libertad). mientras otros. Que es lo mismo que representar una rotacion y traslacion realizada sobre un sistema de referencia. ademas. Angulos de Euler .

lo que limita su utilization practica en algunas aplicaciones. son dificiles de manejar para la > composicion de rotaciones y para su aplicacion sobre un vector. . Sin embargo. Se puede aplicar para la | rotacion de un vector r un angulo 0 alrededor del eje k.90 Fundamentos de robotica representar orientacion. y j aunque permiten una notation compacta (solo tres numeros reales). pues unicamente usa ' 4 parametros para la definition de orientacion de un sistema con respecto a otro. S Par de rotacion S El par de rotacion solo sirve para la representacion de orientaciones. la composicion de rotaciones j presenta una expresion complicada. Es compacto.

2. segun el epigrafe 3. expresan lo mismo de forma distinta. Por ello. como se ha visto en 3.0)T(w.2.Herramientas matematicas 91 Cuaternios El cuaternio.67] Tzxz = T(z. A continuacion se muestran las relaciones de paso que se utilizan mas frecuentemente.4.(j>)T(u. como tal. unicamente quedara definida la submatriz de rotacion R3X> Relacion directa La obtencion de la matriz homogenea correspondiente a cada conjunto de angulos de Euler es inmediata. a la hora de obtener la matriz homogenea equivalente a un conjunto de angulos de Euler dados. 3. es posible componer rotaciones junto con traslaciones de forma bastante simple y computacionalmente economica. Puede aplicarse tambien para la transformacion de un vector tanto en traslacion como en rotacion.5. a la composicion de la siguiente secuencia de rotaciones: [3.\|/) que desarrollado en forma matricial: C(J) -S<}> 0 01 f 1 0 0 OlfC\j/ -S\\f 0 0 S<> C(J) 0 0 0 ce -se 0 Sy Cy o o looseceoo o . solo es capaz de representar la orientacion relativa de un sistema O'UVW con respecto a otro.2. bastara con componer las matrices que representan las rotaciones que definen los propios angulos: • Sistema ZXZ Este sistema responde. debera existir un modo de pasar de un tipo de representacion a otro. aunque en algunos casos sea mas comodo utilizar una representacion auxiliar intermedia. a traves del uso de cuatro componentes. A traves de ellas es posible pasar de una representacion a cualquier otra. Sin embargo.2. es decir. Angulos de Euler: Matriz de transformacion homogenea Ya se ha mencionado en varias ocasiones que los angulos de Euler solo son capaces de realizar una representacion de la orientacion. Relacion entre los distintos metodos de localization espacial Ya que los metodos vistos para la representacion espacial son equivalentes.

\)/) = 0 o 1 o [3.e)T(w.c<j)Sv .68] o1 .s^ecy s<j>se o" s<j>c\j/ + c<j)cesv -s<j>s\|/ + c<i>cec\|/ c<j)se o ses\|t secy ce o o o 01 T = T(z.92 Fundamentos de robotica o o o ij[o o o lj|_ o o c«>c\|/-s<i>ces\|/ .<t>)T(u.

\y) = 0 0 1 0 0 0 1 0 -se o ce o 0 0 01 0 0 0 1 0001 [3. 72] .0)T(w.<J)) T(v.6)T(w. el paso del sistema fijo al girado se hace realizando la siguiente secuencia de rotaciones: t = t(z.S(j)Cy c<|)se o s<t>cecy + c<t>sy .se cesy cecy o 0 0 0 1 T = T(z.Herramientas matematicas 93 • Sistema ZYZ Segun el epigrafe 3.ctjjcesy .0)T(x.<|))t(v.2.$)T(y.s<t>ces\j/ c<> -s<j> o o]|"ce o se o + c^y s^se o -secy sesy ce o S(J> C<t> 0 0 0 1 0 0 o o i o -se o ce 0 0 o 0 1 o o o lj [ o 001 c^ce C(j>sesy .\|/) [3.s<{>c\j/ c<{)secv/ + s(i)s\|/ o' s<j)ce s(j)ses\|/ + c<$>c\\i s^socy c<j>s\|/ o .69] que desarrollado en forma matricial: c<j) .V) = 1 0 0 0 C\|/ -S y 0 S \|/ Cy 0 0 0 0 0 0 1 [3. 70] c<t>cec\}/-s<i>sy .s<> o o ce o se o C\|/ -S\|/ 0 0 S\|/ 0 0 s<|) C<t> 0 0 0 1 0 0 C\|f T = T(Z.2.

ky.20. Relacion directa Se quiere descomponer el giro de un angulo 0 alrededor del eje k(kx.p)T(z.^ de la matriz homogenea de transformacion.e) = T(x .-p)T(x.-a)T(y.e)T(y.a) Y k/i o/ a[ J \K •w . mediante un eje y angulo de rotacion solo es posible representar orientacion. Viendo la Figura 3. de ahi que unicamente quede definida la submatriz de rotacion R. Par de rotacion: Matriz de transformacion homogenea Al igual que en ei caso de los angulos de Euler. por ejemplo el [3. Esto se consigue realizando una serie de rotaciones para alinear el eje k con uno de los ejes coordenados.94 Fundamentos de robotica Relacion inversa El paso de la representacion mediante matriz homogenea a cualquiera de los conjuntos de angulos de Euler vistos no es trivial. pues se necesita resoiver una serie de ecuaciones trigonometricas acopladas. 73] OZ. esto se consigue mediante la siguiente composicion: T(k.kz) en la composicion de rotaciones basicas que se puedan expresar mediante matrices basicas de rotacion. girar el angulo 0 con respecto a ei y deshacer las rotaciones previas hasta tener el vector k en su posicion inicial.

71] . Angulo y eje de rotacion.\|r) y de forma matricial: [3. estos angulos de Euler se pueden representar mediante la concatenation de las siguientes rotaciones: T = T(z.0)T(y.Herramientas matematicas 95 /p\1 Figura 3.20.0)T(x. : y 2x k* 2 Roll-Pitch-Yaw De igual forma que en los casos anteriores.

V9 + C0 k x k y V Q .73] se tiene la matriz homogenea que expresa la rotacion alrededor del eje k de un angulo 0: k .-"J2+("y-°J {n* + oy + a z-l) tge = [3. 77] . se puede llegar a las siguientes expresiones tanto para el angulo 0 como para las componentes del vector: -j(0»-ay) +(a.75] [3.76] y [3. 74] cosp =^ky + kz sen(3 = k x Expresandolo en forma matricial y sustituyendo en la ecuacion [3.6) = kl V0 + C0 kxkzwe-k kykz ve + verseno &XS0 yse donde V representa el termino definido como VO = 1 . [3. 76] Se podran igualar las realizar una equivalencia componente a componente.96 Fundamentos de robotica Teniendo en cuenta las siguientes relaciones: k sena = cosa = [3.k z se k x k z V6 + £y S0 kykz vQ-kx se k x k y V6 + k z S0 k ] V0 + C0 * A T(k.C0. 75] 0 0 0 Relacion inversa Se quiere obtener un eje k y un angulo 0 de rotacion equivalente a la representacion de una rotacion mediante la matriz homogenea de rotacion: "x ox 0 ny Oy ay 0 «z 0Z az 0 0 0 0 1 Rot = matrices de las expresiones [3. Considerando el angulo 0 como positivo entre 0° y 180°.

Par de rotacion: Cuaternios Relacion directa Por la propia definition de cuaternios dada en el epigrafe 3. [3.. A continuacion se expresan las relaciones finales. = kx sen- 0 [3. 1. obviando los desarrollos intermedios que se pueden encontrar en [Hamilton-69].l/2 0-<7o) (l-90) (l-9o) Cuaternios: Matriz de transformacion homogenea El paso de cuaternios a la matriz de transformacion homogenea.79] 0 q2=k s&ri. se pueden deducir facilmente utilizando como representacion auxiliar intermedia el eje y angulo de rotacion. en estos casos es necesario realizar otro tipo de aproximacion. Por ello. 78} y componente a componente: q 0 — cos~ 0 0 q.2. y viceversa.q2 = kz sen— Relacion inversa La relacion inversa se obtiene facilmente de las anteriores expresiones: 0 = 2 arcos(<?0) 1. h . . un cuaternio Q se puede expresar como: Q /ee cos— .80] — /( 2 x 1/2 y — 2 \ 1/2 .ksen— [3.Herramientas matematicas 97 Cuando el angulo 0 se acerca a 0° o a 180° aparecen problemas de indeterminacion en las ecuaciones anteriores. „2-. Esta se describe con detalle en [Paul-81].4.

98 Fundamentos de robotica Relacion directa La representacion de la matriz de transformacion T en funcion de las componentes de un cuaternio Q viene dada por la siguiente matriz [Beggs-83]: 221 q° + q\~2 #1*2 #3*0 *] #3 + *2*0 0 221 [3.72] [3.70] [3.79] [3. = ^("*-0.80] CN 11 H .81] W 2 + <h% <7O + *2*3"*i*o 0 <72"2 221 *1*3 "*2*0 *2 *3+ *1*0 0 *o + *3"0 0 0 1 Relacion inversa La relacion inversa se puede obtener facilmente igualando la traza y los elementos de la diagonal principal de la matriz [3.82] [3.-^+1) 1n v I3'821 q2=2\\n* + °y~a' + l) <?3 = iV(~"*~°' + a>+1) Matriz Par de Cuaternios homogenea rotacidn Matriz [3.77] homogenea Cuaternios Par de rotacion Euler ZXZ Euler ZYZ Euler RPY [3.81] [3.81 ] con la de la matriz [3.75] [3.76}: <7.68] [3.

Herramientas matematicas 99 1 0 0 .0 00 10 01 00 p. Py pz 1 .

100 Fundamentos de robotica .