Está en la página 1de 33

DESCRIPCIONES Y TRANSFORMACIONES ESPACIALES

Descripciones y
Transformaciones
Espaciales

Andrs Jaramillo Botero, 2005

Tabla de Contenido
2.

MECNICA DE CUERPOS RGIDOS ........................................................... 6


1.1.

DESCRIPCIN DE UBICACIN ESPACIAL: SISTEMAS COORDENADOS,


POSICIONES Y ORIENTACIONES ................................................................................. 6
1.1.1. Descripcin de una posicin .................................................................. 7
1.1.2. Descripcin de una orientacin.............................................................. 7
1.1.3. Descripcin de un marco (sistema de coordenadas) .............................. 9
1.2. MATRICES DE ROTACIN ............................................................................. 10
1.1.1. Matrices de Rotaciones Bsicas ........................................................... 10
1.1.2. Rotaciones Compuestas ........................................................................ 13
1.1.3. Rotacin Sobre un Eje Arbitrario ......................................................... 17
1.1.3.1.

1.1.4.
1.1.5.
1.1.5.1.

ngulo y Eje de Rotacin Equivalente ...................................................................... 19

Operadores de Rotacin con ngulos de Euler y Cuaternios .............. 23


Cuaternios............................................................................................. 24
Propiedades de los Cuaternios ................................................................................... 24

1.1.6. Interpretacin Geomtrica de las Matrices de Rotacin [Fu] ............. 27


1.3. MATRICES DE TRANSFORMACIN HOMOGNEAS ....................................... 27
1.3.1. Transformaciones de Perspectiva......................................................... 28
1.3.2. La Transformacin de Escalado ........................................................... 30
REFERENCIAS ......................................................................................................... 31
GLOSARIO DE TRMINOS .................................................................................... 32
INDICE ....................................................................................................................... 33

DESCRIPCIONES Y TRANSFORMACIONES ESPACIALES

Lista de Ejemplos
EJEMPLO 1
EJEMPLO 2
EJEMPLO 3
EJEMPLO 4

ROTACIN BSICA SOBRE UN EJE PRINCIPAL ......................................................... 13


ROTACIN COMPUESTA.......................................................................................... 14
ROTACIN SOBRE UN EJE ARBITRARIO ................................................................... 18
DETERMINACIN DEL EJE Y NGULO DE ROTACIN EQUIVALENTES A PARTIR DE
UNA MATRIZ DE ROTACIN DADA. ................................................................................... 21
EJEMPLO 5 ROTACIONES EMPLEANDO CUATERNIOS ................................................................ 25
EJEMPLO 6 COMPOSICIN DE ROTACIONES CON TRASLACIONES .............................................. 25

Andrs Jaramillo Botero, 2005

Lista de Ejercicios
EJERCICIO 1 DADO UN VECTOR u = x
UN VECTOR

a i

bj

y z

TRANSFORMADO EN TRANSLACIN POR

c k ? ............................................................................................ 9

EJERCICIO 2 DADO UN PUNTO u = 3i + 4 j + 5k CUAL ES EL EFECTO DE ROTARLO 90o


ALREDEDOR DEL EJE Z HASTA UN NUEVO PUNTO V ? ........................................................ 13
EJERCICIO 3 ROTE EL PUNTO V ANTERIOR ALREDEDOR DEL EJE Y HASTA UN NUEVO PUNTO
W. DEFINA LA ROTACIN COMPUESTA, DE MANERA SIMBLICA, EN T............................. 13
EJERCICIO 4 APLIQUE UNA TRANSFORMACIN DE ROTACIN SOBRE EL RESULTADO ANTERIOR,
T, DE SOBRE SU PROPIO EJE Z, PARA DEFINIR SIMBLICAMENTE TN................................. 15
EJERCICIO 5 SUPONGA UN OBJETO SLIDO DE FORMA TRIANGULAR CON VRTICES INDICADOS
EN LA FIGURA 5. DEFINA LA TRANSFORMACIN COMPUESTA QUE REPRESENTE UNA
ROTACIN DE

90o

SOBRE EL EJE Z SEGUIDA DE UNA ROTACIN DE

90o

SOBRE EL EJE Y

SEGUIDA DE UNA TRANSLACIN DE 3 UNIDADES EN LA DIRECCIN X. ENCUENTRE LOS


VRTICES RESULTANTES DEL OBJETO TRANSFORMADO. ................................................... 15
EJERCICIO 6 SUPONIENDO QUE EL EFECTOR FINAL DE UN MANIPULADOR DEBE ATORNILLAR
T

r = 1 2 3 . ENCONTRAR LA
MATRIZ DE ROTACIN, R r , , QUE REPRESENTA LA ROTACIN EN RESPECTO DEL
UNA TUERCA SOBRE UN EJE DEFINIDO POR EL VECTOR

VECTOR . ........................................................................................................................... 19
EJERCICIO 7 DETERMINE EL EJE (K) Y NGULO DE ROTACIN ( ) EQUIVALENTES PARA LA
MATRIZ ............................................................................................................................. 22
EJERCICIO 8 DESARROLLE LAS TRADUCCIONES ENTRE TRANSFORMADA HOMOGNEA Y
NGULOS DE EULER (CONVENCIONES X, Y, Y RPY, TRANSFORMADAS HOMOGNEAS Y
CUATERNIOS, Y SUS CORRESPONDIENTES TRANSFORMACIONES INVERSAS ..................... 27

PENDIENTE POR INTEGRAR EL RESTO DE EJERCICIOS

DESCRIPCIONES Y TRANSFORMACIONES ESPACIALES

Lista de Figuras
FIGURA 1
FIGURA 2
FIGURA 3
FIGURA 4
FIGURA 5

POSICIN Y ORIENTACIN DE UN CUERPO RGIDO ...................................................... 7


ROTACIONES BSICAS RESPECTO DE LOS EJES X, Y, Z .............................................. 10
MATRIZ DE ROTACIN BSICA, RX,, ........................................................................ 12
SLIDO TRIANGULAR REFERIDO EN EJERCICIO 5...................................................... 15
ROTACIN RESPECTO DE UN EJE ARBITRARIO R ........................................................... 17

FIGURA 6 RANGOS DE LA FUNCIN ATAN2 ( , ) )........................................................... 20


FIGURA 7 REPRESENTACIN GRFICA DE LOS NGULOS DE EULER (CONVENCIN X) ............. 23
FIGURA 8 TRANSFORMACIN DE PERSPECTIVA ........................................................................ 28

Andrs Jaramillo Botero, 2005

2. Mecnica de Cuerpos Rgidos


Un brazo manipulador puede modelarse como un sistema articulado de
cuerpos rgidos1; la localizacin de cada cuerpo rgido, ligado al manipulador
o dentro de su entorno de trabajo, se describe completamente por su
posicin y orientacin en el espacio respecto de un sistema de coordenadas
definido. As mismo, para representar la relacin espacial entre los cuerpos
que componen un manipulador y de stos con objetos en su ambiente de
trabajo, es necesario establecer descriptores espaciales y operadores de
transformacin sobre los mismos que permitan expresar el estado en
tiempo de las correspondientes posiciones y orientaciones. En este captulo
se presentan las herramientas matemticas ms utilizadas en el campo de la
robtica de los manipuladores, principalmente derivadas del lgebra lineal y
de la teora de tornillos2 [], para expresar la localizacin de un cuerpo y la
relacin espacial entre cuerpos en el espacio en funcin de las variables de
articulacin de un brazo manipulador.
1.1. Descripcin de ubicacin espacial: sistemas coordenados,
posiciones y orientaciones
El movimiento de un cuerpo rgido en el espacio se describe dando la
localizacin de un punto particular sobre el mismo en cada instante de
tiempo, en relacin con un sistema de coordenadas de referencia. Para la
descripcin de posicin y orientacin de las partes de un robot manipulador
u otros objetos dentro del espacio de trabajo se utilizan sistemas de
coordenadas. De manera concreta, se escoge como sistema de coordenadas un
conjunto de tres ejes ortogonales3 y se especifica la localizacin de cada punto
del cuerpo rgido mediante un vector de posicin utilizando la terna
( x , y ,z ) !3 , donde cada coordenada expresa la proyeccin de la
ubicacin del punto seleccionado sobre cada eje. En algunos casos, es
necesario definir ms de un sistema de coordenadas por lo cual cada vector
asociado a un punto en el espacio es etiquetado con informacin para
identificar el sistema de coordenadas dentro del cual est definido (ver
Figura 1). En su forma geomtrica, una flecha se utiliza para describir el
tamao y la orientacin de un vector.

Se entiende, idealmente, como cuerpo rgido aquel que no se deforma. En trminos ms


formales, es una coleccin de partculas organizadas de tal manera que la distancia entre stas
permanece fija, independiente de los movimientos o fuerzas ejercidas sobre el conjunto.
2 Los elementos de la teora de tornillo se remontan al trabajo de Chasles y Poinsot a
principios del siglo diecinueve (1800s).
3 Vectores cuyo producto punto sea cero, u v = 0 , se dicen ser vectores ortogonales (vectores
perpendiculares entre si), y si adems son unitarios se dicen ser ortonormales.
1

DESCRIPCIONES Y TRANSFORMACIONES ESPACIALES


1.1.1. Descripcin de una posicin

Figura 1 Posicin y orientacin de un cuerpo rgido

Una vez definido un sistema de coordenadas de referencia se localiza


cualquier punto respecto de ste por medio de un vector de posicin de
dimensin 3x1. Los componentes numricos de este vector indican la
proyeccin del mismo sobre los ejes principales del sistema de referencia.
La posicin de un objeto en el espacio se representa, de manera usual, por
las coordenadas de un punto arbitrario en el espacio. Asumiendo un
sistema de coordenadas de referencia Oxyz y un punto arbitrario O' fijado a
un cuerpo rgido, como se muestra en la Figura 1, la ubicacin de dicho
punto respecto del sistema de coordenadas de referencia est dada por el
vector columna

r
x
r = r y .

rz

(0.1)

1.1.2. Descripcin de una orientacin


Para describir la orientacin de un cuerpo en el espacio se asigna un sistema
de coordenadas ligado al cuerpo (fijo al mismo) y luego se describe la
relacin espacial entre dicho sistema de coordenadas y el sistema de
coordenadas de referencia. Una manera de describir el sistema de
coordenadas ligado al cuerpo, es escribir los vectores unitarios de sus ejes
principales en trminos del sistema de coordenadas de referencia; esto
resulta en un vector unitario de dimensin 3x1 para cada eje del sistema de
coordenadas ligado al cuerpo. De manera conveniente se pueden expresar
los tres vectores unitarios resultantes como las columnas de una matriz de
Andrs Jaramillo Botero, 2005

dimensin 3x3. Esta matriz se denomina matriz de rotacin porque describe


la relacin de orientacin entre un sistema de coordenadas relativo a otro
(en este caso el de referencia). Asumiendo, como se muestra en la Figura
1, un sistema de coordenadas de referencia dado por Oxyz, un sistema de
coordenadas ligado a un cuerpo en movimiento dado por Ouvw y los
vectores unitarios x', y' y z' apuntando en la direccin de los ejes
coordenados u, v, y w respectivamente; la matriz de rotacin que expresa la
orientacin del sistema Ouvw respecto del sistema Oxyz est dada por,

Oxuw

ROxyz

x '
x
= x ' y

x 'z

y 'x
y'y
y 'z

z 'x

z 'y .

z 'z

(0.2)

Dado que los componentes de cualquier vector unitario son simplemente


sus proyecciones sobre las direcciones unitarias del sistema de referencia
empleado, cada uno de estos puede escribirse como el producto punto de
un par de vectores unitarios. El producto punto de dos vectores unitarios
resulta en el coseno del ngulo entre estos, es por ello que los componentes
de una matriz de rotacin son referidos frecuentemente como cosenos de
direccin,

v 1 v 2 = cos ( a )

(0.3)

donde, v 1 y v 2 son vectores unitarios ! 31 con un mismo origen y a el


ngulo entre ellos.
Consecuentemente, los escalares, rij , en (0.2) pueden expresarse de la
siguiente manera,

Oxyz

RO' x ' y 'z '

x ' x

= x ' y
x 'z

y ' x z ' x

y ' y z ' y
y 'z z 'z

(0.4)

Se identifica cada vector columna de la matriz de rotacin en (0.4), como la


proyeccin de los ejes principales del sistema de coordenadas en
movimiento O'x'y'z' sobre cada uno de los ejes principales del sistema de
referencia Oxyz. Por inspeccin de la ecuacin (0.4) se evidencia que los
vectores fila de la matriz de rotacin equivalen a los vectores unitarios de
Oxyz expresados en O'x'y'z'. Entonces, la descripcin del marco Oxyz con
relacin al marco O'x'y'z' est dada por la traspuesta de (0.4). Es decir,
O' x ' y 'z '

ROxyz =

Oxyz

RO'T x ' y 'z '

(0.5)

Esto sugiere que la inversa de una matriz de rotacin bsica es igual a su


traspuesta, O' x ' y 'z ' ROxyz = Oxyz RO'1x ' y 'z ' = Oxyz RO'T x ' y 'z ' , hecho que puede
verificarse tericamente del lgebra lineal dado que la inversa de una matriz

DESCRIPCIONES Y TRANSFORMACIONES ESPACIALES


con columnas/filas ortonormales es igual a su traspuesta. Esto se verifica
fcilmente como,
O' x ' y 'z '

ROxyz Oxyz RO' x ' y 'z ' = U 33 ,

(0.6)

donde U 33 ! 33 corresponde a la matriz de identidad.


Como se ver posteriormente, existen otro tipo de representaciones para
describir la orientacin de un cuerpo en el espacio.
1.1.3. Descripcin de un marco (sistema de coordenadas)
Debido a que la informacin requerida para describir completamente la
ubicacin de la mano (o cualquier otro elemento) de un manipulador debe
incluir necesariamente un trmino de posicin y otro de orientacin, se
define por conveniencia una entidad denominada marco que es
simplemente un sistema de coordenadas asociado con cada cuerpo rgido
que permite expresar dicha informacin. El punto dentro del cuerpo que se
escoger en adelante para describir la posicin de un cuerpo ser, tambin
por conveniencia, el origen del sistema de coordenadas ligado a dicho
cuerpo.
Sin embargo, comnmente se integran ambas operaciones en un solo
operador. Para ello se utilizan matrices de transformacin homogneas de
4x4 que incluyen operaciones de rotacin y traslacin del sistema de
coordenadas ligado al cuerpo.
Una matriz de rotacin de 3x3 no da la posibilidad simultnea de traslacin
y escalado, por lo tanto se introduce una cuarta coordenada o componente
al vector de posicin p=(px,py,pz)T en un espacio tridimensional que lo

transforma en p = (wpx , wp y , wpz , w )T donde p se expresa en coordenadas


homogneas de la siguiente manera,

px =

wp y
wpz
wpx
, py =
, pz =
.
w
w
w

(0.7)

En general la representacin de un vector de n componentes con un vector


de n+1 componentes se denomina representacin en coordenadas
homogneas.
Ejercicio 1 Dado un vector
por un vector

a i

bj

Andrs Jaramillo Botero, 2005

u = x

y z

c k ?

cual es el vector k transformado en translacin

1.2. Matrices de Rotacin

z
cubo
unitario

wy

p
v

vz

vy

wz

Plano y-z

x
z

z
cubo
unitario

wz

uz

wx

ux

Plano x-z

x
z
w

cubo
unitario
p

vy

vx

ux

uy

Figura 2 Rotaciones bsicas respecto de los ejes x, y, z

1.1.1. Matrices de Rotaciones Bsicas


Suponiendo dos sistemas de coordenadas de orgenes coincidentes, OUVW
y OXYZ, y asumiendo que el sistema OUVW se mueve rotacionalmente
con respecto al sistema de referencia OXYZ. Se define una matriz de
rotacin como un operador que expresa la diferencia de orientacin entre el
sistema de coordenadas en movimiento (OUVW) y el sistema de referencia
10

DESCRIPCIONES Y TRANSFORMACIONES ESPACIALES


fijo (OXYZ). Por simplicidad ilustrativa, suponga la presencia de un
cuerpo slido ligado por uno de sus vrtices al sistema OUVW en
movimiento, es decir, se mueve con l (Figura 2). Representando cualquier
punto del cuerpo como un vector p respecto del sistema OUVW, se define
entonces la matriz de rotacin como aquella que opera sobre p y transforma
sus coordenadas expresadas en el sistema de coordenadas rotado OUVW
en el sistema de coordenadas de referencia OXYZ.
Es de inters encontrar una matriz que transforme las coordenadas de un
punto cualquiera p, ligado a un sistema de coordenadas en movimiento
OUVW, a las coordenadas expresadas con respecto al sistema de
coordenadas de OXYZ, despus de que el sistema de coordenadas OUVW
ha sido girado. Es decir, la siguiente transformacin ortogonal (ortonormal
ya que sus componentes son vectores unitarios):

pxyz = Rpuvw

(0.8)

Otra posibilidad es la de expresar un punto ligado al sistema de


coordenadas OXYZ en trminos del sistema de coordenadas en
movimiento OUVW. Esta transformacin se expresa de la siguiente
manera,

puvw = Qpxyz

(0.9)

Como
los
productos
escalares
son
conmutativos,
T
1
QR = R R = R R = U 33 (donde U es una matriz de identidad de 3x3),
siendo Q = R 1 = R T .
Definicin de los componentes de un vector :

puvw = pu i u + pv iv + pw kw

(0.10)

donde pu , pv y pw son las proyecciones de p sobre los ejes principales del


sistema de coordenadas OUVW e iu , jv , kw son vectores unitarios sobre los
ejes de OUVW.
Utilizando la definicin del producto escalar entre dos vectores a y b y el
ngulo que los separa, a b = a b cos (o a b = cos cuando a y b
son vectores unitarios) y la ecuacin (0.10),

px = i x p = i x i u pu + i x j v pv + i x kw pw
p y = j y p = j y i u pu + j y j v pv + j y kw pw
pz = kz p = kz i u pu + kz j v pv + kz kw pw
Por propiedad, el producto escalar es conmutativo, es decir a b = b a , por
lo tanto reescribiendo las ecuaciones anteriores de forma matricial
Andrs Jaramillo Botero, 2005

11

w
kz kw
=cos
jy kw =sen
x=u

kz jv =sen

jy jv =cos

i i
x u
R
=
j y iu
y

kz i u

i x kw

j y kw ,

kz kw

ix jv
j y jv
kz j v

(0.11)

y utilizando las identidades relacionadas con la naturaleza peridica del seno


y el coseno para simplificar el valor angular,

sen ( ) = sen ( ) = cos + 90o = cos 90o

cos ( ) = cos ( ) = sen + 90 = sen 90


o

(0.12)

se puede entonces derivar las matrices de rotacin con respecto a cada eje
rotado, de la siguiente manera: P xyz = R x, P uvw , donde Rx, corresponde
a una rotacin respecto del eje x en un ngulo . En este caso se observa
que i x i u ya que no cambian despus de la rotacin (ver Figura 3).

Figura 3 Matriz de rotacin bsica, Rx,,

R x ,

i i
x u
= j y iu

kz i u

ix jv
j y jv
kz j v

i x kw 1
0
0

j y kw = 0 cos ( ) sen ( ) .

kz kw 0 sen ( ) cos ( )

(0.13)

i x kw cos ( ) 0 sen ( )

j y kw = 0
1
0 ,

kz kw sen ( ) 0 cos ( )

(0.14)

i x kw cos ( ) sen ( ) 0

j y kw = sen ( ) cos ( ) 0 .

0
1
kz kw 0

(0.15)

Igualmente,

R y ,

Rz ,

i i
x u
= j y iu

kz i u
i i
x u
= j y iu

kz i u

ix jv
j y jv
kz j v
ix jv
j y jv
kz j v

12

DESCRIPCIONES Y TRANSFORMACIONES ESPACIALES


Estas son las matrices de rotaciones bsicas. Pueden ser multiplicadas entre
si para representar una secuencia de rotacin finita respecto al sistema de
referencia; pero como la multiplicacin de matrices no conmuta es
importante el orden de realizacin de las rotaciones.
Las matrices representadas en (0.13), (0.14) y (0.15) pueden deducirse
fcilmente a partir de la
Figura 2. El componente proyectado de un vector unitario (de magnitud 1)
equivale al coseno o seno del ngulo en cuestin, a partir de la definicin de
los mismos, cara opuesta = 1 cos() y cara adyacente = 1 sen().
Ejemplo 1 Rotacin bsica sobre un eje principal
T

Suponiendo un punto poxyz = 1 2 3 expresado con respecto del


sistema OXYZ y asumiendo que el sistema de coordenadas OUVW ha sido
rotado con respecto del eje X un ngulo de 30, el mismo punto expresado
en trminos del sistema de coordenadas OUVW estara dado por:

pouvw = R x ,300 T poxyz


1
p ouvw

0
1
.
.
.
0 cos( 30 grd ) sen( 30 grd ) 2
0 sen( 30 .grd ) cos( 30 .grd )
3
1

p ouvw = 3.232
1.598
fin Ejemplo 1

Ejercicio 2 Dado un punto

u = 3i + 4 j + 5k cual es el efecto de rotarlo 90o alrededor del eje z

hasta un nuevo punto v ?

Ejercicio 3 Rote el punto v anterior alrededor del eje y


compuesta, de manera simblica, en T.

hasta un nuevo punto w. Defina la rotacin

1.1.2. Rotaciones Compuestas


Para representar una secuencia finita de rotaciones se pueden multiplicar las
matrices de rotacin bsica entre s, observando cuidadosamente el orden o
secuencia de realizacin de las rotaciones. Este orden es importante dado
que la multiplicacin de matrices no es conmutativa. Cada matriz de
rotacin dentro de la secuencia puede expresar una transformacin
Andrs Jaramillo Botero, 2005

13

rotacional respecto del sistema de coordenadas de referencia fijo (en los


casos anteriores denominado OXYZ) o respecto de alguno de los ejes del
sistema de coordenadas en movimiento (OUVW). Para obtener un orden
adecuado en la secuencia de multiplicaciones partiendo de la coincidencia
entre ambos sistemas de coordenadas observe las siguientes reglas:
1.

Defina una matriz identidad de 3x3 para representar la


coincidencia entre los dos sistemas de coordenadas.

2.

Si el sistema de coordenadas en movimiento (OUVW) se


gira respecto de uno de los ejes principales del sistema de
referencia (OXYZ), entonces premultiplicar la matriz de
rotacin previa resultante por la matriz de rotacin bsica
correspondiente a dicho giro.

3.

Si el sistema de coordenadas en movimiento (OUVW) se


gira respecto de alguno de sus ejes, entonces
postmultiplique la matriz de rotacin previa resultante por
la matriz de rotacin bsica correspondiente a dicho giro.

Ejemplo 2 Rotacin compuesta

Encontrar la matriz de rotacin resultante que representa la siguiente


secuencia de giros:
1.

Giro de 80 respecto del eje OX

2.

Giro de 35 respecto del eje OZ

3.

Giro de 15 respecto del eje OU

4.

Giro de 30 respecto del eje OY

14

z
{-1,0,2,1}
{1,0,2,1}
{1,0,0,1}
Plano x-y
x

{-1,0,0,1}

DESCRIPCIONES Y TRANSFORMACIONES ESPACIALES

{-1,4,0,1}
{1,4,0,1}

y
1
R xu ( )

0 cos ( )

sen ( )

0 sen ( ) cos ( )
cos ( ) 0 sen ( )
R yv ( )

sen ( ) 0 cos ( )
cos ( )
R zw( )

sen ( ) 0

sen ( ) cos ( ) 0
0

0.709 0.541 0.451


.
.
.
.
.
.
.
R yv ( 30 grd ) R zw( 35 grd ) R xu ( 80 grd ) R xu ( 15 grd ) = 0.574 0.071 0.816
0.41 0.838

0.361

Para comprobar que la secuencia es importante, se verifica a continuacin


como cambia el resultado si no se tuviese en cuenta la no-conmutabilidad
en la multiplicacin de matrices,
0.635

0.554 0.538

R xu ( 80 .grd ) .R zw( 35 .grd ) .R xu ( 15 .grd ) .R yv ( 30 .grd ) = 0.58

0.117

0.806

0.51

0.824

0.247

Ejercicio 4 Aplique una transformacin de rotacin sobre el resultado anterior, T, de sobre su propio eje z,
para definir simblicamente Tn.

Ejercicio 5 Suponga un objeto slido de forma triangular con vrtices indicados en la Figura 5. Defina la
transformacin compuesta que represente una rotacin de

90o sobre el eje z seguida de una rotacin de

90o sobre el eje y seguida de una translacin de 3 unidades en la direccin x. Encuentre los vrtices
resultantes del objeto transformado.

Figura 4 Slido triangular referido en Ejercicio 5

Andrs Jaramillo Botero, 2005

15

fin Ejemplo 2

16

DESCRIPCIONES Y TRANSFORMACIONES ESPACIALES

rz

1.1.3.
Rotacin Sobre un Eje Arbitrario
r

En
algunos casos se hace necesario representar giros del sistema de
coordenadas en movimiento OUVW sobre ejes arbitrarios. Por ejemplo,
se quiere mover la mano de un robot manipulador sobre
rx suponiendo rque
y
un eje arbitrario dentro de su volumen de trabajo (espacio de trabajo
alcanzable por el manipulador) con el propsito de insertar una tuerca en
y eje de giro de rosca del tornillo como el eje
un tornillo. Se define el
arbitrario y se representa este por medio de un vector unitario con

componentes r = rx , r y , rz

) que pasa por el mismo origen del sistema de

coordenadas de la mano del robot.


Para derivar la matriz de rotacin compuesta resultante se puede llevar a
coincidencia cualquiera de los ejes principales del sistema de coordenadas
OUVW con el vector r a travs de una secuencia de rotaciones sobre los
ejes principales del sistema de coordenadas OXYZ, luego se gira con
respecto al mismo eje llevado a coincidencia (o r) en un ngulo
correspondiente al giro requerido respecto de r y finalmente se regresa a la
posicin original el sistema de coordenadas girado. Matemticamente esto
se puede expresar de la siguiente manera a partir de un ejemplo.

Figura 5 Rotacin respecto de un eje arbitrario r

( u , v , w ) , ( rx, ry , rz)

El primer paso es definir el eje que se llevar a coincidencia con r.


Arbitrariamente se escoge el eje z (podra ser cualquiera de los otros). De la
Figura 5 se deduce que,

Andrs Jaramillo Botero, 2005

17

sen ( ) =

sen ( ) =

ry

rz

cos ( ) =

r y2 + rz2

rx
rx2 + r y2 + rz2

r y2 + rz2

r 2 rx2

cos ( ) =

rx2 + r y2 + rz2

r y2 + rz2
rx2 + r y2 + rz2

El siguiente paso es definir la secuencia de giros que llevarn a coincidencia


los vectores unitarios r y OZ.

R r , = R x , R y , Rz , R y , R x ,
La matriz de rotacin compuesta resultante puede expresarse en trminos
del vector r as,

R r ,

c r 2 + r 2 + r 2
y
z
x

r r r V + s r 2 r
x y
z
=
3

r r r V s r 2 r
y
xz
3

rx r y r V s r rz

c rx2 + rz2 + r y2
r

2
2

r y rz r V + s r rx
r

()

rx rz r V + s r r y

2
r y rz r V s r rx

2
2
2
c rx + r y + rz

()

donde, c = cos , s = sen , V = 1 cos ( ) y el vector r no


requiere ser expresado como vector unitario.
Simplificando los trminos diagonales,

R r ,

r 2V + r 2 c
x
1
= 2 rx r yV + s r rz
r
rx rzV s r r y

rx r yV s r rz
2

r y2V + r c
r y rzV + s r rx

rx rzV + s r r y

r y rzV s r rx

2
2
rz V + r c

(0.16)

Donde
Ejemplo 3 Rotacin sobre un eje arbitrario

Gire un cuerpo ligado al sistema OUVW en un ngulo de 35 respecto de


un vector roxyz = (1,1,1) .
Aplicando la ecuacin (0.16) para un vector r y un ngulo de rotacin de 35
grados,
18

DESCRIPCIONES Y TRANSFORMACIONES ESPACIALES


0.879

0.271 0.391

R x( 35 .grd , r ) = 0.391

0.879

0.271

0.271 0.391

0.879

fin Ejemplo 3

La ecuacin (0.16) representa una transformacin muy til que ser utilizada
posteriormente.
Ejercicio 6 Suponiendo que el efector final de un manipulador debe atornillar una tuerca sobre un eje
definido por el vector
rotacin en

r = 1 2 3 . Encontrar la matriz de rotacin, R r , , que representa la

respecto del vector .

1.1.3.1. ngulo y Eje de Rotacin Equivalente

Dada una transformacin rotacional arbitraria, se puede utilizar la ecuacin


(0.16) para obtener el eje sobre el cual una rotacin equivalente de se
lleva a cabo.
Dada una transformacin rotacional R expresada
simblicamente por los ejes ortogonales en movimiento (vectores columna)
sobre los ejes principales xyz (vectores fila):

n
x
R = n y

nz

ox
oy
oz

ax

ay

a z

Se iguala R con R r , en la ecuacin (0.16) para encontrar relaciones


trigonomtricas que permitan deducir a partir de funciones seno y
coseno.

r 2V + r 2 c r r V s r r r r V + s r r
n o a
x
x y
z
x z
y

x
x x
1
2
2
r y V + r c r y rzV s r rx
n y o y a y = 2 rx r yV + s r rz

(0.17)

r
2
2
n
o
a
z
z
z
rz V + r c

rx rzV s r r y r y rzV + s r rx
De este procedimiento, y asumiendo una rotacin positiva alrededor del
vector r de tal forma que 0 , se encuentra que el ngulo de rotacin
est definido de manera nica como:

) (o a ) + (a

= atan2 n x + o y + a z 1 ,

Andrs Jaramillo Botero, 2005

19

nz

) + (n
2

ox

) .
2

(0.18)

Donde la funcin atan2 corresponde a la tangente inversa con rango


ampliado entre , ) (ver Figura 6).

Figura 6 Rangos de la funcin atan2 (


, ) )

Este resultado se obtiene a partir de la ecuacin (0.17) sumando los


elementos diagonales para determinar una expresin cos ( ) y de la
diferencia entre los trminos simtricos respecto a la diagonal elevados al
cuadrado para determinar la expresin sen ( ) . Es decir,

c =

s =

1
2

n x + o y + az 1

(o a ) + (a
2

(0.19)

nz

) + (n
2

ox

(0.20)

Los componentes de r pueden obtenerse de igual manera como

rx =

ry =

rz =

oz a y

2sen ( )
a x nz

2sen ( )
n y ox

2sen ( )

(0.21)

(0.22)

(0.23)

Cuando el ngulo de rotacin es muy pequeo, el eje de rotacin no est


fsicamente bien definido debido a la magnitud de los denominadores y
numeradores en las ecuaciones (0.21)-(0.23). Cuando el ngulo de rotacin
se acerca a 180o el vector r tampoco est bien definido debido a la
magnitud del seno.

20

DESCRIPCIONES Y TRANSFORMACIONES ESPACIALES


Para ngulos mayores de 90o se procede de manera diferente a encontrar el
vector r, igualando los elementos diagonales de la ecuacin (0.17) para
encontrar el elemento ms grande de r. Se presume que la matriz de
rotacin est normalizada y su determinante es +1 para sistemas dextrogiro
(regla de la mano derecha - RMD) o -1 para sistemas levogiro.
(Mirar forma de 0.16)

rx = signo oz a y

r y = signo a x nz

rz = signo n y ox

n x cos ( )
1 cos ( )

o y cos ( )
1 cos ( )

a z cos ( )
1 cos ( )

(0.24)

(0.25)

(0.26)

Si rx es el ms grande,

ry =

rz =

n y + ox
2rxV
a x + nz
2rxV

(0.27)

(0.28)

Si r y es el ms grande,

rx =

rz =

n y + ox
2r yV
oz + a y
2r yV

(0.29)

(0.30)

Si rz es el ms grande,

rx =

ry =

a x + nz
2rzV
oz + a y
2rzV

(0.31)

(0.32)

Ejemplo 4 Determinacin del eje y ngulo de rotacin equivalentes a partir de una matriz de rotacin dada.

Andrs Jaramillo Botero, 2005

21

Determine el eje (k) y ngulo de rotacin ( ) equivalentes para la matriz.

R y ,90 Rz ,90

0 0 1

= 1 0 0
0 1 0

De la ecuacin (0.18) encontramos

3
2 = 120o
= atan2
-1
2
Siendo > 90o se determina el componente ms grande de k
correspondiente al elemento ms grande de la diagonal.

kx =

1/ 2
= 1
3/ 2
3

Entonces,

ky =
kz =

1
3
1
3

Es decir, R y ,90o Rz ,90o = R k,120o donde k =

1
3

i+

1
3

j+

1
3

fin Ejemplo 4

Ejercicio 7 Determine el eje (k) y ngulo de rotacin ( ) equivalentes para la matriz

Rz ,90 R y ,90

0 1 0 0

0 0 1 0
=
1 0 0 0

0 0 0 1

22

z,z1

DESCRIPCIONES Y TRANSFORMACIONES ESPACIALES


y1
y

1.1.4.
x1 Operadores de Rotacin con ngulos de Euler y Cuaternios
z,z1

z2

y2

z2,z3

x 1,
X2
z,z1 y3

y2

y
x3

x1,x2

Figura 7 Representacin grfica de los ngulos de Euler (convencin x)

Las matrices de rotacin bsicas expresadas por los operadores (0.13),


(0.14) y (0.15) requieren de nueve elementos para describir parcialmente la
orientacin de un cuerpo rgido rotante respecto de un sistema de
coordenadas de referencia.
Adems, individualmente no conducen
directamente a un conjunto completo de coordenadas generalizadas.
Tal conjunto de coordenadas generalizadas pueden ser proporcionados por
los denominados ngulos de Euler , y .
Existen mltiples secuencias de rotacin posibles con estos tres ngulos, sin
embargo, en la prctica se utilizan con mayor frecuencia las convenciones
RPY (Roll-Pitch-Yaw), X y Y (para la cuales la rotacin intermedia se da
sobre el eje respectivo mencionado). A continuacin se presentan las
matrices correspondientes a dichas convenciones,

Rz , R y , R x ,

c c

= s c
s

Andrs Jaramillo Botero, 2005

c s s sc
s s s + cc
c s
23

c s c + s s

s s c c s

c c

(0.33)

Rz , R x ', Rz ',

cc sc s

= sc + cc s

s s

sc c c s
cc c s s
s c

s s

c s
c

(0.34)

Rz , R y ', Rz ',

s s cc c

= c s + sc c

s c

cc s sc
sc s + cc
s s

c s

s s
c

(0.35)

1.1.5. Cuaternios
Uno de los problemas en el uso de los ngulos de Euler es que conducen a
singularidades cuando el movimiento angular se acerca a 00 o a 1800. Sin
embargo, empleando cuaternios y lgebra de cuaternios es factible evitar
dichas singularidades. Los cuaternios, definidos por Hamilton [HAM1843],
pueden ser empleados para representar transformaciones de giros y
orientaciones. Un cuaternio est constituido por cuatro componentes
variables ( q 0 , q1 , q 2 , q 3 ) que representan sus coordenadas en una base

{h, i , j , k} .

El cuaternio se constituye de un trmino escalar, h, y tres que

conforman una parte vectorial, {i , j , k} . De este modo un cuaternio puede


representarse como:

Q = ( q 0 , q1 , q 2 , q 3 ) = ( s ,v )

(0.36)

donde, s corresponde a un valor escalar y v a un vector.


1.1.5.1. Propiedades de los Cuaternios

El conjugado de Q Q * se define mantiendo el signo de s e invirtiendo el


de v.
Q * = ( q 0 , q1 , q 2 , q 3 ) = ( s , v )
(0.37)
El producto de dos cuaternios Q1 Q2 est dado por,

Q3 = Q1 Q2 = ( s 1 ,v 1 ) ( s 2 ,v 2 ) = s 1s 2 v 1T v 2 ,v 1 v 2 + s 1v 2 + s 2v 1

(0.38)

Es de notar que el producto entre cuaternios no es generalmente


conmutativo.
La suma de dos cuaternios Q1 + Q2 se define como,

Q3 = Q1 + Q2 = ( s 1 ,v 1 ) + ( s 2 ,v 2 ) = ( s 1 + s 2 ,v 1 + v 2 )

(0.39)

El producto por un escalar Q2 = aQ1 se define como,

Q2 = aQ1 = a ( s 1 ,v 1 ) = ( as 1 , av 1 )
24

(0.40)

DESCRIPCIONES Y TRANSFORMACIONES ESPACIALES


La norma Q est dada por,

Q Q* =

q 02 + q12 + q 22 + q 32 h

(0.41)

El inverso para un cuaternio Q , no nulo, se define por,

Q*
Q

Q 1 =

(0.42)

La composicin de rotaciones utilizando cuaternios resulta de la


multiplicacin entre cuaternios.
El cuaternio que representa una rotacin de valor sobre un eje r est
dada por,



Q = R ( r , ) = cos , r sen
2
2

(0.43)

Ejemplo 5 Rotaciones empleando cuaternios

El cuaternio que representa una rotacin de 900 sobre un eje ( 4, 2, 1) est


dada por,

2 4 2 2 2 2
Q = R r , 900 =
,
,
,

2
2
2
2

Para aplicar dicha rotacin sobre otro vector l se evala el producto


Q ( 0, l ) Q * .
fin Ejemplo 5

Rotaciones compuestas pueden expresarse fcilmente por medio del


producto entre cuaternios,

Q3 = Q2 Q1

(0.44)

Ejemplo 6 Composicin de rotaciones con traslaciones

PONER EJEMPLOS NUMERICOS


El resultado de trasladar por un vector p seguido por rotar Q el sistema
OXYZ es un nuevo sistema OUVW, donde las coordenadas del vector r en
el sistema OXYZ, definidas en OUVW, son,

(0, r ) = Q (0, r ) Q + (0, p )


*

oxyz

Andrs Jaramillo Botero, 2005

ouvw

25

(0.45)

Aplicando primero el giro y despus la traslacin,

(0, r ) = Q (0, r
oxyz

+ p) Q*

ouvw

(0.46)

Manteniendo el sistema OXYZ fijo y trasladando r un vector p, seguido de


una rotacin Q, se obtiene r de coordenadas,

(0, r ' ) = Q (0, r


oxyz

oxyz

+ p Q*

(0.47)

Mientras la operacin de rotacin seguida de la traslacin resulta en,

(0, r ) = Q (0, r ) Q + (0, p )


*

oxyz

oxyz

(0.48)

fin Ejemplo 6

Estas cuatro variables expresadas en trminos de los ngulos de Euler se


denominan cuaternios y estn dadas por,


q 0 = sen cos
2
2

(0.49)


q1 = sen sen
2
2

(0.50)

+
q 2 = cos sen
2
2

(0.51)

+
q 3 = cos cos
2
2

(0.52)

Donde la condicin de normalizacin est dada por,


3

2
n

=1

(0.53)

n=0

La relacin entre los cuaternios y la matriz de orientacin R est dada por,

R ii = q 32 + q i2 q 2j

(0.54)

j i

R ij = 2q i q j + ijk q 3q k
Donde i=0,1,2.
En forma matricial,

26

i j

(0.55)

DESCRIPCIONES Y TRANSFORMACIONES ESPACIALES


q x2 q 2y qz2 + q 32

R = 2q x q y 2q 3qz

2q x qz + 2q 3q y

2q x q y + 2q 3qz
q x2 + q 2y qz2 + q 32
2q y qz 2q 3q x

2q y qz + 2q 3q x

q x2 q 2y + qz2 + q 32
2q x qz 2q 3q y

(0.56)

Ejercicio 8 Desarrolle las traducciones entre Transformada Homognea y ngulos de Euler (convenciones
X, Y, y RPY, Transformadas Homogneas y Cuaternios, y sus correspondientes transformaciones inversas
FALTA INCLUIR TRANSFORMACIONES EQUIVALENTES!!

1.1.6. Interpretacin Geomtrica de las Matrices de Rotacin [Fu]


Falta Enunciado !

Cada vector columna es una representacin del vector


unitario del eje rotado expresado en trminos de los
vectores unitarios de los ejes del sistema de referencia, y
cada vector fila es una representacin del vector unitario
de los ejes de referencia expresado en funcin de los
vectores unitarios de los ejes rotados del sistema OUVW.

Como cada fila y columna es una representacin de un


vector unitario, la magnitud de cada una de ellas debera
ser igual a 1 (Sistema de coordenadas ortonormal). El
determinante de una matriz de rotacin es +1 para un
sistema dextrogiro (RMD) y -1 para un levogiro (sentido
opuesto a RMD).

Como cada fila es una representacin vectorial de vectores


ortonomales, el producto interno (producto escalar) de
cada fila por cualquier otra fila es igual a cero. Lo anterior
se cumple de manera anloga para el producto interno
entre columnas.

La inversa de una matriz de rotacin es la traspuesta de s


misma. Esto se deduce a partir de las primeras dos
observaciones anteriores.

1.3. Matrices de Transformacin Homogneas


Las matrices de rotacin nicamente permiten representar cambios de
orientacin entre dos sistemas de coordenadas diferentes. En robtica de
manipuladores es evidente la necesidad de representar cambios
traslacionales, adems de los rotacionales. Para ello se definen las matrices
de transformacin homognea.
Una matriz de transformacin homognea es un operador que soporta
ambas transformaciones de manera integrada, adems de escalado y
perspectiva. Son matrices de 4x4 que transforman un vector expresado en
Andrs Jaramillo Botero, 2005

27

z
x,y,z
f
x,y,z
x

y
coordenadas homogneas desde un sistema de coordenadas hasta otro
sistema de coordenadas. Consisten de 4 submatrices.

Rotacion 3x 3
T =
perspectiva1x 3

Posicion 3x 1

escalado1x 1

(0.57)

La submatriz superior derecha tiene el efecto de trasladar el sistema de


coordenadas OUVW que tiene ejes paralelos al sistema de referencia
OXYZ, pero cuyo origen est en el punto Posicin3x1. La submatriz superior
izquierda corresponde al operador de rotacin que relaciona la orientacin
entre dos sistemas de coordenadas. La submatriz inferior izquierda se
emplea para variaciones en la perspectiva visual de los elementos y la
submatriz inferior derecha corresponde a un parmetro de escalado (ambos
empleados en aplicaciones de simulacin y modelado).
1.3.1. Transformaciones de Perspectiva

Figura 8 Transformacin de Perspectiva

Suponiendo la imagen formada de un objeto visto a travs de un lente, un


punto del objeto x, y, z se visualiza en las coordenadas x, y, z si el lente
tiene una distancia focal f positiva. y representa la distancia de imagen y
vara de acuerdo con la distancia del objeto y. Si dibujamos puntos en un
plano perpendicular al eje y localizado en y (como el plano de filmacin de
una cmara), se forma entonces una imagen en perspectiva.
Un rayo que pase por el centro del lente no se desva, por lo tanto, se puede
escribir,

z z'
=
y y'

(0.58)

x x'
=
y y'

(0.59)

Un rayo pasante y paralelo al lente pasa a travs del punto focal f, por lo
tanto,

z
z'
=
f
y '+ f
28

(0.60)

DESCRIPCIONES Y TRANSFORMACIONES ESPACIALES


x
x'
=
f
y '+ f

(0.61)

Ntese que x, y, y z son negativos y f es positivo. Eliminando y entre las


ecuaciones (0.58) y (0.60) se obtiene,

z
z'
=
f z' y
z +

(0.62)

y resolviendo por z se obtiene,

z'=

z
1 y f

(0.63)

A partir de las ecuaciones (0.59) y (0.61) se obtiene,

x'=

x
1 y f

(0.64)

Para obtener la distancia y se reescriben las ecuaciones (0.58) y (0.60) de la


siguiente manera,

z
y
=
z' y'

(0.65)

z
f
=
z ' y '+ f

(0.66)

y
f
=
y ' y '+ f

(0.67)

y
1 y f

(0.68)

Por lo tanto,

y'=

La transformacin homognea que produce el mismo efecto es,

1 0

0 1
P = 0 0

0 1

f
Andrs Jaramillo Botero, 2005

29

0 0

0 0
1 0

0 1

(0.69)

Dado que cualquier punto x i + y j + z k

se transforma de la siguiente

manera,

x 1 0


y 0 1
z = 0 0


1 y 0 1

f
f

0 0
x
0 0
y
1 0
z

0 1 1

(0.70)

el punto de la imagen x, y, z obtenido dividiendo por el factor de peso


(1 y / f ) , es

x
y
z
i+
j+
k
(1 y / f ) (1 y / f ) (1 y / f )

(0.71)

Una transformada similar a P pero con 1/f en la posicin 4,1 o 4,3


produce una transformacin en perspectiva a lo largo del eje x o a lo largo
del eje z, respectivamente.
1.3.2. La Transformacin de Escalado
Esta transformacin es til, en modelado y simulacin, para representar
deformaciones. Sin embargo, no son comunes. Para representar escalado
heterogneo a lo largo de cada uno de los ejes principales se empleara la
siguiente transformacin,

0
T =
0

0
b
0
0

0
0
c
0

0
0

(0.72)

Donde, a, b, c representan los factores de escalado en x, y, z


respectivamente. Para escalado homogneo de un objeto por un factor s,
s = a = b = c en (0.72).

30

DESCRIPCIONES Y TRANSFORMACIONES ESPACIALES

Referencias
1. B. Roth, Performance Evaluation of Manipulators from a Kinematic
Viewpoint, Performance Evaluation of Manipulators, National Bureau
of Standards, special publication, 1975.
2. D. Pieper, The Kinematics of Manipulators Under Computer
Control Unpublished Ph.D. thesis, Stanford University, 1968.
3. H.Y., Lee y C.G., Liang, Displacement Analysis of the General Spatial
7-Link 7R Mechanism. Mechanism and Machine Theory, 23, 219-226,
1998.
4. R.G., Selfridge, Analysis of 6-Link Revolute Arms, Mechanism and
Machine Theory, 24 (1), 1-8, 1989.
5. C., Mavroidis, y B., Roth, Structural Parameters Which Reduce the
Number of Manipulator Configurations, Journal of Mechanical
Design, 116, 3-10, 1994.
6. J., Duffy, Analysis of Mechanisms and Manipulators, John Wiley &
Sons, 1980.
7. M., Raghavan y B., Roth, Inverse kinematics of Manipulators Under
Computer Control, Proceedings 2nd International Congress for the
Theory of Machines and Mechanisms, Zakopane, Poland. Vol. 2. 159168. 1993.
8. R.P., Paul, Robot Manipulators: Mathematics, Programming and
Control, MIT Press, 1981.
9. D.E. Whitney, Resolved Motion Rate Control of Manipulators and
Human Prosthesis, IEEE Transactions on Man-Machine Systems,
10(2), 47-53, 1969.
10. R.M. Murray, Z. Li, y S.S. Sastry, A Mathematical Introduction to
Robotic Manipulation, London: CRC Press, 1994.
11. S. Y., Nof, Handbook of Industrial Robotics, 2nd Ed., John Wiley &
Sons, New York, 1999.
12. R.C. Dorf, S. Y., Nof, International Encyclopedia of Robotics:
Applications and Automation, Vol. 1-3, John Wiley & Sons, New
York, 1988.
13. K.S. Fu, R.C. Gonzlez y C.S.G. Lee, Robtica: Control, Deteccin,
Visin e Inteligencia, McGraw-Hill, Espaa, 1988.
14. Barrientos, L.F. Pein, C. Balaguer, R. Aracil, Fundamentos de
Robtica, McGraw-Hill, Espaa, 1998.

Andrs Jaramillo Botero, 2005

31

Glosario de Trminos

32

DESCRIPCIONES Y TRANSFORMACIONES ESPACIALES

Indice

atan2, 20

sistema de coordenadas, 6, 7, 8, 9, 10, 11, 13,


14, 17, 23, 28

cosenos de direccin, 8

Transformaciones Espaciales
ngulos de Euler, 23
Cuaternios, 23, 24, 25, 26
Conjugado de, 24
Inverso de, 25
Norma de, 25
Producto de, 24
Producto por un escalar, 24
Suma de, 24
Escalado, 30
Matrices de rotacin bsica, 10
matriz de transformacin homognea, 27
Perspectiva, 28
Rotacin, 10, 13, 14, 17, 18, 19, 23, 27

L
localizacin, 6

M
matriz de rotacin, 8

O
ortogonales, 6, 19

relacin espacial, 6, 7
Robot Stanford, 31
Rotaciones Compuestas, 13

Andrs Jaramillo Botero, 2005

vector, 6, 7, 8, 9, 11, 13, 17, 18, 19, 21, 24, 25,


26, 27
vector de posicin, 7

33

También podría gustarte