rotacion, traslacion por matrices homogeneas 2

3
Introducci ´ on a Sagemath yL A T E X Tarea 02: Fundamentos de Rob´ otica 2014 - C´ alculo de matrices homog ´ eneas Rotaci ´ on y Traslaci´ on Gustavo Rodrigo L´ opez Mendoza [email protected] 1 Res ´ umen En este art´ ıculo se desarrollaran ejercicios de rotaci´ on y traslaci´ on usando Matrices de transformaci´ on homog´ enea para encontrar el vector posici´ on r xyz con respecto a un sistema fijo y un sistema m ´ ovil. Los ejercicios resueltos son los siguientes: 1. Obtener la matriz de transformaci´ on T a que representa las siguientes transformaciones sobre un sistema OXYZ fijo de referencia: traslaci´ on de un vector p xyz (-3,10,10); giro de -90 o sobre el eje OX del sistema fijo; y giro de 90 o sobre el eje OY del sistema fijo. 2. Aplicar la transformaci´ on T a a un vector con coordenadas r uvw (5,10,15) y obtener las coordenadas resultantes r xyz . 3. Obtener la matriz de transformaci´ on T b que representa las siguientes transformaciones sobre un sistema OXYZ fijo de referencia: traslaci´ on de un vector p xyz (-3, 10, 10); giro de -90 o sobre el eje O’U del sistema trasladado; y giro de 90 o sobre el eje O’V del sistema girado. 4. Aplicar la transformaci´ on T b a un vector con coordenadas r uvw (5,10,15) y obtener las coordenadas resultantes r xyz . 2 Introducci´ on A fin de simplificar y reducir espacio en un control autom´ atico de computador se pueden representar las rotaciones y traslaciones de sistemas coordenados o vectores en una sola matriz que contenga la informaci´ on de los movimientos que se requieran, esta matriz se llama Matriz de transformaci´ on homog´ enea. 3 etodos La Matriz de transformaci´ on homog´ enea consta de una ma- triz de rotaci ´ on 3x3 , una matriz de traslaci ´ on 3x1 , una matriz de perspectiva 1x3 y un escalar unitario 1x1 ; en lo que a nosotros nos compete y se usara en este documento ser´ a la matriz de rotaci´ on y de traslaci´ on. Sea T la matriz de transformaci´ on homog´ enea, igual a: T = rotaci ´ on 3x3 traslaci ´ on 3x1 perspectiva 1x3 escalar unitario 1x1 Donde la perspectiva se considerara como una matriz nula y el escalar unitario ser´ a 1, de la siguiente forma: T = rotaci ´ on 3x3 traslaci ´ on 3x1 0 1 Una matriz de transformacion homogenea se puede interpretar o aplicar de 3 formas diferentes: 1. Representar la posici´ on y orientaci´ on de un sistema girado y trasladado O’UVW con respecto a un sistema de referencia OXYZ. 2. Transformar un vector representado en el sistema O’UVW de coordenadas r uvw y expresarlo en el sistema OXYZ con coor- denadas r xyz de la forma: r x r y r z 1 = T r u r v r w 1 3. Rotar y trasladar un vector con respecto a un sistema de refer- encia fijo OXYZ, de la forma: r 0 x r 0 y r 0 z 1 = T r x r y r z 1 3.1 Traslaci´ on Si se desea trasladar el sistema OXYZ hasta el sistema OUVW que se encuentra a una p = p x ˆ i + p y ˆ j + p z ˆ k, la matriz homog´ enea se definir´ a de la siguiente forma: T ( p)= 1 0 0 p x 0 1 0 p y 0 0 1 p z 0 0 0 1 (1) denominada matriz b´ asica de traslaci ´ on. 3.2 Rotaci´ on Si se desea rotar el sistema OXYZ en torno a uno de sus ejes, resultando en un nuevo sistema OUVW la matriz T se definir´ a de tres formas diferentes, cada una representando la rotaci´ on en torno a uno de sus ejes. T (x, α)= 1 0 0 0 0 cos(α) -sin(α) 0 0 sin(α) cos(α) 0 0 0 0 1 (2) T (y , φ)= cos(φ) 0 sin(φ) 0 0 1 0 0 -sin(φ) 0 cos(φ) 0 0 0 0 1 (3) T (z, θ)= cos(θ) -sin(θ) 0 0 sin(θ) cos(θ) 0 0 0 0 1 0 0 0 0 1 (4)

Upload: gustavo-lopez

Post on 11-Aug-2015

106 views

Category:

Engineering


9 download

TRANSCRIPT

Page 1: Rotacion, traslacion por matrices homogeneas 2

Introduccion a Sagemath y LATEXTarea 02: Fundamentos de Robotica 2014 - Calculo de matrices homogeneas

Rotacion y Traslacion

Gustavo Rodrigo Lopez [email protected]

1 ResumenEn este artıculo se desarrollaran ejercicios de rotacion y

traslacion usando Matrices de transformacion homogenea paraencontrar el vector posicion rxyz con respecto a un sistema fijo y unsistema movil. Los ejercicios resueltos son los siguientes:

1. Obtener la matriz de transformacion Ta que representa lassiguientes transformaciones sobre un sistema OXYZ fijo dereferencia: traslacion de un vector pxyz(-3,10,10); giro de−90o sobre el eje OX del sistema fijo; y giro de 90o sobreel eje OY del sistema fijo.

2. Aplicar la transformacion Ta a un vector con coordenadasruvw(5,10,15) y obtener las coordenadas resultantes rxyz.

3. Obtener la matriz de transformacion Tb que representa lassiguientes transformaciones sobre un sistema OXYZ fijo dereferencia: traslacion de un vector pxyz(-3, 10, 10); giro de−90o sobre el eje O’U del sistema trasladado; y giro de 90o

sobre el eje O’V del sistema girado.

4. Aplicar la transformacion Tb a un vector con coordenadasruvw(5,10,15) y obtener las coordenadas resultantes rxyz.

2 IntroduccionA fin de simplificar y reducir espacio en un control automatico

de computador se pueden representar las rotaciones y traslacionesde sistemas coordenados o vectores en una sola matriz que contengala informacion de los movimientos que se requieran, esta matriz sellama Matriz de transformacion homogenea.

3 MetodosLa Matriz de transformacion homogenea consta de una ma-

triz de rotacion3x3, una matriz de traslacion3x1, una matriz deperspectiva1x3 y un escalar unitario1x1; en lo que a nosotros noscompete y se usara en este documento sera la matriz de rotacion yde traslacion. Sea T la matriz de transformacion homogenea, iguala:

T =

[rotacion3x3 traslacion3x1

perspectiva1x3 escalar unitario1x1

]Donde la perspectiva se considerara como una matriz nula y el

escalar unitario sera 1, de la siguiente forma:

T =

[rotacion3x3 traslacion3x1

0 1

]Una matriz de transformacion homogenea se puede interpretar

o aplicar de 3 formas diferentes:

1. Representar la posicion y orientacion de un sistema girado ytrasladado O’UVW con respecto a un sistema de referenciaOXYZ.

2. Transformar un vector representado en el sistema O’UVW decoordenadas ruvw y expresarlo en el sistema OXYZ con coor-denadas rxyz de la forma:rx

ryrz1

= T

rurvrw1

3. Rotar y trasladar un vector con respecto a un sistema de refer-

encia fijo OXYZ, de la forma:r′xr′yr′z1

= T

rxryrz1

3.1 Traslacion

Si se desea trasladar el sistema OXYZ hasta el sistema OUVWque se encuentra a una p = px i+ py j+ pzk, la matriz homogenease definira de la siguiente forma:

T (p) =

1 0 0 px0 1 0 py0 0 1 pz0 0 0 1

(1)

denominada matriz basica de traslacion.

3.2 RotacionSi se desea rotar el sistema OXYZ en torno a uno de sus ejes,

resultando en un nuevo sistema OUVW la matriz T se definira detres formas diferentes, cada una representando la rotacion en tornoa uno de sus ejes.

T (x,α) =

1 0 0 00 cos(α) −sin(α) 00 sin(α) cos(α) 00 0 0 1

(2)

T (y,φ) =

cos(φ) 0 sin(φ) 00 1 0 0

−sin(φ) 0 cos(φ) 00 0 0 1

(3)

T (z,θ) =

cos(θ) −sin(θ) 0 0sin(θ) cos(θ) 0 0

0 0 1 00 0 0 1

(4)

Page 2: Rotacion, traslacion por matrices homogeneas 2

3.3 Traslacion con rotacionLas matrices homogeneas permiten representar si-

multaneamente rotacion y traslacion, ya sea, de un vector oun sistema en general usando la matriz de rotacion3x3 y el vectorde traslacion3x1 en una matriz de transformacion homogenea.

Cabe la suma importancia de resaltar que no da lo mismo elorden en que se efectuan las operaciones de rotacion y traslacion,ya que, el resultado difiere si se rota y luego traslada un sistemao vector a que se traslade y luego se rote el vector o sistema. Elresultado de estas operaciones seran distintos, esto reside en la noconmutatividad de las matrices, por esto se tendran distintas matri-ces homogeneas segun sea el orden de las operaciones realizadas.

3.3.1 Rotacion seguida de traslacionPara realizar una rotacion sobre uno de los ejes del sistema

OXYZ seguida de una traslacion , por ejemplo; rotacion en el ejeOX seguida de una traslacion al vector pxyz la matriz homogeneasera de la siguiente forma:

T ((x,α), p) =

1 0 0 px0 cos(α) −sin(α) py0 sin(α) cos(α) pz0 0 0 1

3.3.2 Traslacion seguida de rotacionPara realizar una traslacion seguida de una rotacion sobre uno

de los ejes del sistema OXYZ, por ejemplo; traslacion al vectorpxyz seguida de una rotacion en el eje OX la matriz homogenea serade la siguiente forma:

T (p,(x,α)) =

1 0 0 px0 cos(α) −sin(α) pycos(α)− pzsin(α)0 sin(α) cos(α) pysin(α)+ pzcos(α)0 0 0 1

3.4 Composicion de matrices homogeneas

Se ha descrito que las matrices homogeneas representan larotacion y traslacion de un sistema de referencia, extendiendo eluso de las matrices homogeneas se pueden componer para que de-scriban diversos giros y traslaciones consecutivas sobre un sistemadeterminado. Una composicion de matrices homogeneas se realizamultiplicando matrices basicas de rotacion y traslacion. Estas mul-tiplicaciones deben llevar un orden determinado, debido a que elproducto de matrices no es conmutativo y el resultado representaraotra composicion.

Para obtener la matriz de transformacion homogenea de un sis-tema fijo de referencia, basta con invertir el orden de las opera-ciones que se desea aplicar al sistema, por ejemplo; si el sistemafijo se quiere trasladar, luego rotar en torno al eje OX y posterior-mente girar entorno a su eje OY se debe iniciar la multiplicacion dematrices basicas con la rotacion entorno al eje OY, luego la rotacionentorno al eje OX y por ultimo la traslacion.

Si se desea efectuar la transformacion al sistema movil se efec-tuaran las multiplicaciones en orden sucesivos.

4 Resultados1. Para obtener la matriz de transformacion Ta sobre el sistema

fijo OXYZ se tiene que multiplicar invirtiendo el orden de delas operaciones. Primero se tendra la matriz basica de rotacionT(y,φ) (3) con φ= 90o, seguida de la matriz basica de rotacionT(x,α) (2) con α =−90o y por ultimo la matriz de traslacion

T(p) (1) con px =−3, py = 10 y pz = 10; obteniendo:

Ta = T (y,90o)∗T (x,−90o)∗T (p) =

0 −1 0 −100 0 1 10−1 0 0 30 0 0 1

2. Usando Ta al vector ruvw = (5,10,15) obtenemos:rx

ryrz1

=

0 −1 0 −100 0 1 10−1 0 0 30 0 0 1

5

10151

=

−2025−21

En la figura 1 se puede apreciar graficamente el resultado.

3. Para obtener la matriz de transformacion Tb sobre el sistemafijo OXYZ y luego sobre el sistema movil OUVW se tieneque multiplicar en orden sucesivo las operaciones. Primero setendra la matriz de traslacion T(p) (1) con px = −3, py = 10y pz = 10, luego se tendra la matriz basica de rotacion T(u,α)(2) con α = −90o, seguida de la matriz basica de rotacionT(v,φ) (3) con φ = 90o; obteniendo:

Tb = T (p)∗T (u,−90o)∗T (v,90o) =

0 0 1 −3−1 0 0 100 −1 0 100 0 0 1

4. Usando Tb al vector ruvw = (5,10,15) obtenemos:rx

ryrz1

=

0 0 1 −3−1 0 0 100 −1 0 100 0 0 1

5

10151

=

12201

En la figura 2 se puede apreciar graficamente el resultado.

5 DiscusionesEsta extension de las matrices basicas de rotacion permiten una

mayor capacidad de movimiento de los sistema de coordenadas ovectores representados en ellos, teniendo en cuenta siempre si sedesea efectuar el giro o traslacion a un sistem fijo o a un sistemamovil, ya que, el resultado sera representara movimientos distintos.

6 ConclusionesLas matrices de transformacion homogeneas mejoran aun mas

la representacion de movimientos, por ejemplo, entre un actuador ysu controlador; conociendo en cada vez que se efectue el calculo dela matriz homogenea se podra identificar su posicion y describir elsiguiente movimiento que tendra que realizar dicho actuador. Perosi ingresamos esto a un programa todavıa resulta ser un trabajo en-gorroso hasta para una computador, que tendra que procesar unagran cantidad de datos para mover o rotar un brazo o un procesoautomatizado.

Page 3: Rotacion, traslacion por matrices homogeneas 2

Figure 1. Resultado grafico.

Figure 2. Resultado grafico.