1. Introducci´on a Sagemath y LATEX
Tarea 02: Fundamentos de Rob´otica 2014 - C´alculo de matrices homog´eneas
Rotaci´on y Traslaci´on
Gustavo Rodrigo L´opez Mendoza
tavolopezmendoza@gmail.com
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 rxyz con respecto a un sistema fijo y un
sistema m´ovil. Los ejercicios resueltos son los siguientes:
1. Obtener la matriz de transformaci´on Ta que representa las
siguientes transformaciones sobre un sistema OXYZ fijo de
referencia: traslaci´on de un vector pxyz(-3,10,10); giro de
−90o sobre el eje OX del sistema fijo; y giro de 90o sobre
el eje OY del sistema fijo.
2. Aplicar la transformaci´on Ta a un vector con coordenadas
ruvw(5,10,15) y obtener las coordenadas resultantes rxyz.
3. Obtener la matriz de transformaci´on Tb que representa las
siguientes transformaciones sobre un sistema OXYZ fijo de
referencia: traslaci´on 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 transformaci´on Tb a un vector con coordenadas
ruvw(5,10,15) y obtener las coordenadas resultantes rxyz.
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 M´etodos
La Matriz de transformaci´on homog´enea consta de una ma-
triz de rotaci ´on3x3, una matriz de traslaci ´on3x1, una matriz de
perspectiva1x3 y un escalar unitario1x1; 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 ´on3x3 traslaci ´on3x1
perspectiva1x3 escalar unitario1x1
Donde la perspectiva se considerara como una matriz nula y el
escalar unitario ser´a 1, de la siguiente forma:
T =
rotaci ´on3x3 traslaci ´on3x1
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 ruvw y expresarlo en el sistema OXYZ con coor-
denadas rxyz de la forma:
rx
ry
rz
1
= T
ru
rv
rw
1
3. Rotar y trasladar un vector con respecto a un sistema de refer-
encia fijo OXYZ, de la forma:
rx
ry
rz
1
= T
rx
ry
rz
1
3.1 Traslaci´on
Si se desea trasladar el sistema OXYZ hasta el sistema OUVW
que se encuentra a una p = pxˆi + py ˆj + pz ˆk, la matriz homog´enea
se definir´a de la siguiente forma:
T(p) =
1 0 0 px
0 1 0 py
0 0 1 pz
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)
2. 3.3 Traslaci´on con rotaci´on
Las matrices homog´eneas permiten representar si-
mult´aneamente rotaci´on y traslaci´on, ya sea, de un vector o
un sistema en general usando la matriz de rotaci ´on3x3 y el vector
de traslaci ´on3x1 en una matriz de transformaci´on homog´enea.
Cabe la suma importancia de resaltar que no da lo mismo el
orden en que se efect´uan las operaciones de rotaci´on y traslaci´on,
ya que, el resultado difiere si se rota y luego traslada un sistema
o vector a que se traslade y luego se rote el vector o sistema. El
resultado de estas operaciones ser´an distintos, esto reside en la no
conmutatividad de las matrices, por esto se tendran distintas matri-
ces homogen´eas segun sea el orden de las operaciones realizadas.
3.3.1 Rotaci´on seguida de traslaci´on
Para realizar una rotaci´on sobre uno de los ejes del sistema
OXYZ seguida de una traslaci´on , por ejemplo; rotaci´on en el eje
OX seguida de una traslaci´on al vector pxyz la matriz homog´enea
ser´a de la siguiente forma:
T((x,α), p) =
1 0 0 px
0 cos(α) −sin(α) py
0 sin(α) cos(α) pz
0 0 0 1
3.3.2 Traslaci´on seguida de rotaci´on
Para realizar una traslaci´on seguida de una rotaci´on sobre uno
de los ejes del sistema OXYZ, por ejemplo; traslaci´on al vector
pxyz seguida de una rotaci´on en el eje OX la matriz homog´enea ser´a
de la siguiente forma:
T(p,(x,α)) =
1 0 0 px
0 cos(α) −sin(α) pycos(α)− pzsin(α)
0 sin(α) cos(α) pysin(α)+ pzcos(α)
0 0 0 1
3.4 Composici´on de matrices homog´eneas
Se ha descrito que las matrices homog´eneas representan la
rotaci´on y traslaci´on de un sistema de referencia, extendiendo el
uso de las matrices homog´eneas se pueden componer para que de-
scriban diversos giros y traslaciones consecutivas sobre un sistema
determinado. Una composici´on de matrices homog´eneas se realiza
multiplicando matrices b´asicas de rotaci´on y traslaci´on. Estas mul-
tiplicaciones deben llevar un orden determinado, debido a que el
producto de matrices no es conmutativo y el resultado representara
otra composici´on.
Para obtener la matriz de transformaci´on homog´enea 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 sistema
fijo se quiere trasladar, luego rotar en torno al eje OX y posterior-
mente girar entorno a su eje OY se debe iniciar la multiplicaci´on de
matrices b´asicas con la rotaci´on entorno al eje OY, luego la rotaci´on
entorno al eje OX y por ultimo la traslaci´on.
Si se desea efectuar la transformaci´on al sistema m´ovil se efec-
tuaran las multiplicaciones en orden sucesivos.
4 Resultados
1. Para obtener la matriz de transformaci´on Ta sobre el sistema
fijo OXYZ se tiene que multiplicar invirtiendo el orden de de
las operaciones. Primero se tendr´a la matriz b´asica de rotaci´on
T(y,φ) (3) con φ = 90o, seguida de la matriz b´asica de rotaci´on
T(x,α) (2) con α = −90o y por ´ultimo la matriz de traslaci´on
T(p) (1) con px = −3, py = 10 y pz = 10; obteniendo:
Ta = T(y,90o
)∗T(x,−90o
)∗T(p) =
0 −1 0 −10
0 0 1 10
−1 0 0 3
0 0 0 1
2. Usando Ta al vector ruvw = (5,10,15) obtenemos:
rx
ry
rz
1
=
0 −1 0 −10
0 0 1 10
−1 0 0 3
0 0 0 1
5
10
15
1
=
−20
25
−2
1
En la figura 1 se puede apreciar gr´aficamente el resultado.
3. Para obtener la matriz de transformaci´on Tb sobre el sistema
fijo OXYZ y luego sobre el sistema m´ovil OUVW se tiene
que multiplicar en orden sucesivo las operaciones. Primero se
tendr´a la matriz de traslaci´on T(p) (1) con px = −3, py = 10
y pz = 10, luego se tendr´a la matriz b´asica de rotaci´on T(u,α)
(2) con α = −90o, seguida de la matriz b´asica de rotaci´on
T(v,φ) (3) con φ = 90o; obteniendo:
Tb = T(p)∗T(u,−90o
)∗T(v,90o
) =
0 0 1 −3
−1 0 0 10
0 −1 0 10
0 0 0 1
4. Usando Tb al vector ruvw = (5,10,15) obtenemos:
rx
ry
rz
1
=
0 0 1 −3
−1 0 0 10
0 −1 0 10
0 0 0 1
5
10
15
1
=
12
2
0
1
En la figura 2 se puede apreciar gr´aficamente el resultado.
5 Discusiones
Esta extensi´on de las matrices b´asicas de rotaci´on permiten una
mayor capacidad de movimiento de los sistema de coordenadas o
vectores representados en ellos, teniendo en cuenta siempre si se
desea efectuar el giro o traslaci´on a un sistem fijo o a un sistema
m´ovil, ya que, el resultado ser´a representara movimientos distintos.
6 Conclusiones
Las matrices de transformaci´on homog´eneas mejoran a´un m´as
la representaci´on de movimientos, por ejemplo, entre un actuador y
su controlador; conociendo en cada vez que se efectue el c´alculo de
la matriz homog´enea se podr´a identificar su posici´on y describir el
siguiente movimiento que tendr´a que realizar dicho actuador. Pero
si ingresamos esto a un programa todav´ıa resulta ser un trabajo en-
gorroso hasta para una computador, que tendr´a que procesar una
gran cantidad de datos para mover o rotar un brazo o un proceso
automatizado.