Está en la página 1de 11

CAPÍTULO 2: REPRESENTACIÓN DEL MOVIMIENTO EN

3D
Un requerimiento fundamental en robótica es representar la posición y orientación de los
objetos dentro de un entorno. Por eso la necesidad de representar la posición y orientación
del extremo del robot respecto a una base, entonces se debe estudiar el movimiento del
cuerpo rígido (es decir del movimiento euclidiano).

2.1.- ESPACIO EUCLIDIANO 3D (E3).


Está representado por una terna: x1, x2, x3:

 x1 
x   x2    x1 x3 
T
x2 ( 0)
 x3 
Es un caso especial la terna:(cuando x1, x2, x3 coinciden con X,Y,Z respectivamente)

X 
x   Y 
 Z 

u u1 u3  v v1 v3 
T T
u2 v2
En este espacio se definen vectores y y
operaciones:

a) Producto interno:
u  v  u1v1  u2 v2  u3 v3
u v   uX  v
b) Producto externo: con

 0 u3 u2 
 uX    u3 0 u1  ( 0)
 u2 u1 0 

Donde
 uX  es la matriz skew symmetric de u.

Nota 1.- Definición de matriz skew symmetric:

Matriz skew symmetric Ω es aquella que cumple con

  3x3
/    T  ( 0)

Algunas de sus propiedades:

1
det   u X    0
1.- Es una matriz singular, es decir: su determinante es cero: , es decir:

2.- Sus valores propios son: 0, ±αj.

Nota 2: en Matlab, el comando “skew()” entrega una matriz skew symmetric, “vex()”, devuelve
el vector que la creó.

Ejercicio 1

0 3 2 

A   3 0 7 
 2 7 0 
Probar la propiedad ( 0) en la matriz

Solución.

Se ve que esta matriz es de la forma ( 0), además se debe probar que AT   A :

 0 3 2   0 3 2 
AT   3 0 7    A   3 0 7 
 2 7 0   2 7 0 
Donde se comprueba que ambas matrices son iguales.

2.2.- MOVIMIENTO DEL CUERPO RÍGIDO.


No es necesario especificar el movimiento de todos los puntos del cuerpo, sinó solamente de
uno y de su sistema de coordenadas asociado.

Ejemplo:

z p
z d
0 x y q
x y

Figura 1

Existen dos requisitos de un cuerpo rígido:

1.- Si X(t) y Y(t) son coordenadas de dos puntos p, q, en el objeto respectivamente, la distancia
d entre ellos es constante:

X (t )  Y (t )  d  cte, t  

2
2.- Se requiere que el movimiento del cuerpo rígido, además de conservar distancias, preserve
orientaciones (es decir ángulos entre vectores). Esto es llamado el espacio euclidiano especial
(SE(3)).

2.3.- LOCALIZACIÓN DE UN CUERPO RÍGIDO.

w
w
tc XC
Rc
ZC

YC
Zw
Xc
0w Xw
Xw
Yw M

Figura 2

Cuando la cámara (cuerpo rígido) se mueve, también se mueve su sistema de coordenadas


X c , Yc , Z c (figura 2). La posición y orientación del sistema X c , Yc , Z c
(frame) asociado
w w
respecto a
X w , Yw , Z w está representado por t c , R c respectivamente.

Sea M un punto de coordenadas


Xc en el sistema de coordenadas de la cámara, sus

coordenadas
X w en el sistema de coordenadas del mundo, está dado por:

X w  w R c Xc  w t c ( 0)
Esta ecuación es la llamada ecuación de transformación rígida, donde

X w   xw zw  X c   xc zc 
T T
yw yc
y .

EJEMPLOS

1.- Hallar la nueva posición P1=(2,1,3) respecto a su base si su sistema de coordenadas


asociado ha girado 90° en el eje Y.
y

a) Solución gráfica:
z

(2,1,3)

3
x
Figura 3.- Ubicación de (2,1,3) en el frame base

x
z

3)z (3,1,-
2)
(2,1,
z
x

Figura 4.- Ubicación de (2,1,3) en el frame base luego de rotar 90° en Y

b.- Solución matemática

 0 0 1 0 
rot ( y,90)  R1   0 1 0 
0 0
t1   0 
 1 0 0   0 
,

p '  0 R1p  0 t1

 3   0 0 1   2 0
 1    0 1 0  1   0
      
 2   1 0 0   3   0 

Ejemplo 2.- Extender el ejemplo 1 para el caso en que el sistema asociado se ha trasladado
(2,0,0) y luego ha rotado 90° sobre el eje Y en el sistema resultante.

4
y

y
z

(4,1,3
(2,1,3
)

x
)

Figura 5.-Sistema asociado desplazado (2,0,0)


y

y
z

x
(2,1,3
(5,1,-
x

2)
)
z

Figura 6.- Rotación de 90° luego de trasladar (2,0,0)

Solución matemática:

p ''  0 R1p  0 t1

5
 5   0 0 1  2 2
 1    0 1 0  1   0 
      
 2   1 0 0   3   0 

2.4.- MOVIMIENTO ROTACIONAL Y SU REPRESENTACIÓN.


Está representado por una matriz ortonormal R de orden 3x3:

 r11 r12 r13 


R   r21 r23   SO (3)
( 0)
r22
 r31 r32 r33 
Donde SO(3) es el grupo especial ortogonal, describe la orientación mutua de dos sistemas de
coordenadas. Cumple con:

-
det( R )  1 , (sistema dextrógiro), se interpreta como: “un vector multiplicado por R,
no cambia de longitud”
- R 1  RT , como consecuencia: RT R  RRT  I donde I es la matriz identidad
(rotación nula). Nota: en Matlab: “eye(3)”.
- Las columnas y filas de R tienen longitud 1 y son mutuamente ortogonales (son
R   r1 r2 r3  r1 , r2 , r3 : vectores
vectores ortonormales). O sea que si (
columna), se cumple con:

r1T r1  r2T r2  r3T r3  1


( 0)
r r r r r r 0
T
1 2
T
2 3
T
2 3

 r1  r2  r3 ;  r2  r3  r1;  r3  r1  r2
Las relaciones ( 0) también se cumplen si se considera a R formado por vectores fila
r1 , r2 , r3 :

 r1 
R   r2 
 r3 
Y

2.4.1.- RELACIÓN ENTRE FRAMES.


(iA , j A , k A ) ) como frame
jB

Si se considera el frame A (representado por sus vectores unitarios


kB

(iB , jB , k B ) como frame final (Figura 7).


Z

inicial, y el frame B
0B

iB
X
RB

6
A

A
k
Z

0A

iA
X
Figura 7.- Relación entre los frames A y B a través de la rotación R
A
RB se entiende como: “el sistema A ha rotado hasta alcanzar la orientación del sistema B”,
o “Rotación del sistema B respecto al sistema A”, que en función de sus respectivos vectores
unitarios, se puede considerar:

 iA  iB i A  jB iA  k B 
R B   j A  iB j A  k B 
( 0)
A
j A  jB
 k A  iB k A  jB k A  k B 

2.4.2.- ROTACIONES BÁSICAS.


a) Rotación del sistema B un ángulo  alrededor del eje Z sobre un sistema A:

Los ejes Z de ambos sistemas coinciden, una vista horizontal del plano XY se vería como en la
Figura 8:
XB

XA

iA
iB
YA

jA

B
kA k

jB
YB

Figura 8.- vista horizontal del giro del sistema B sobre el sistema A

Aplicando la expresión ( 0) y desarrollando cada uno de sus elementos:

k A  kB  1

k A  iB  k A  j B  i A  k B  j A  k B  0

iA  iB  iA iB cos( )  cos( )

j A  jB  j A jB cos( )  cos( )

iA  jB  iA jB cos(  90)   sin( )

7
j A  iB  j A iB cos(  90)  sin( )
Reemplazando resultados en la matriz de rotación:

 cos( )  sin( ) 0 
R B   sin( ) cos( ) 0 
A
( 0)

 0 0 1 
Del mismo modo se puede deducir las rotaciones sobre los ejes X e Y, que se resumen en la
siguiente tabla:

Tabla 1.- Expresión de R según el eje de rotación

Eje de rotación
X Y Z
1 0 0   cos( ) 0 sin( )   cos( )  sin( ) 0 
R=  0 cos( )  sin( )   0 1 0   sin( ) cos( ) 0 
    
 0 sin( ) cos( )    sin( ) 0 cos( )   0 0 1 

2.4.3.- INTERPRETACIÓN GRÁFICA Y MATEMÁTICA DE UNA ROTACIÓN


BÁSICA.
La rotación R de un ángulo de 90° alrededor del eje X está dado por:

1 0 0  ( 0)

rot ( x,90)  R   0 0 1


Y'

0 1 0 
X'

Y representado gráficamente por la Figura 9:


Z'
R

Y
Z

Figura 9

Donde las columnas de R se interpretan como:


X

8
1 
0 
 
0 
El nuevo eje X en mismo eje X anterior.

0 
0 
 
1 
El nuevo eje Y en eje Z anterior.

0
 1
 
 0 
El nuevo eje Z en la dirección opuesta del eje Y anterior.

2.5.- MATRICES Y COORDENADAS HOMOGÉNEAS.


2.5.1.- MATRICES HOMOGÉNEAS.
Herramienta útil para transformaciones espaciales, representa una rotación y una traslación
de manera conjunta. Es una matriz 4x4 que pertenece al grupo euclídeo especial (
H  SE (3) ) y se construye de la siguiente manera:

R t ( 0)
H T
0 1
0   0 0 0
T

Donde es el vector nulo.

H representa una traslación seguida de una rotación en el sistema resultante. El vector de


traslación queda como un vector 4x1 en el sistema euclídeo tridimensional:

t x 
t 
t   y 
tz 
 
1
2.5.2.- COORDENADAS HOMOGÉNEAS.
p  x z
T
y
Definición: son coordenadas homogéneas de , el vector:

 wx 
 wy  ( 0)
p   
 wz 
 
w
Donde en robótica, w=1.

9
Propiedad: Si
p es homogéneo, entonces se cumple que p   p con 0
La ecuación de transformación rígida ( 0) en coordenadas homogéneas queda:

 w Rc w
tc   ( 0)
Xw   T
  Xc
 0 1 
X w   xw zw 1 Xc   xc zc 1
T T
yw yc
Con y

La inversa de una matriz homogénea es:

RT
1 RT t  ( 0)
H  T 
0 1 

2.5.3.- MOVIMIENTO DE TRASLACIÓN PURA


En este caso la rotación es una rotación nula:

1 0 0 tx  ( 0)
0 1 0 t y 
H
0 0 1 tz 
 
0 0 0 1

2.5.4.- MOVIMIENTO DE ROTACIÓN PURA


Para rotaciones básicas, se muestra su expresión para cada uno de los ejes en la siguiente
Tabla 2:

Tabla 2.- Expresión de H según el eje de rotación

Eje de rotación
X Y Z
1 0 0 0  cos( ) 0 sin( ) 0  cos( )  sin( ) 0 0
H  0 cos( )  sin( ) 0   0 1 0 0   sin( ) cos( ) 0 0 
  
 0 sin( ) cos( ) 0   sin( ) 0 cos( ) 0   0 0 1 0
     
0 0 0 1  0 0 0 1  0 0 0 1

Figura 10

( 0)

( 0)

10
( 0)

11

También podría gustarte