rotacion, traslacion por matrices homogeneas 2
TRANSCRIPT
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)
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.
Figure 1. Resultado grafico.
Figure 2. Resultado grafico.