You are on page 1of 34

TEMA 3: HERRAMIENTAS Ingeniería de

Sistemas y
MATEMÁTICAS PARA LA Automática
Control de Robots y
LOCALIZACIÓN INDUSTRIAL Sistemas Sensoriales

Robótica Industrial
ISA.- Ingeniería de Sistemas y Automática
Herramientas matemáticas
para la localización espacial
Representación de la posición
Representación de la orientación
Matrices de transformación homogénea
Cuaternios
Relación y comparación entre métodos
Robotica Industrial- Herramientas Matemáticas 2
Localización espacial

Manipulación Movimiento
espacial
de
del extremo
piezas del robot

Necesidad de
herramientas matemáticas
para especificar
posición y orientación

Robotica Industrial- Herramientas Matemáticas 3


Representación de la posición
en coordenadas cartesianas
Z

p(x,y,z)

x a z Y
o
p(x,y) y
x
0 y
X X

2 dimensiones 3 dimensiones

Robotica Industrial- Herramientas Matemáticas 4


Representación de la posición
en coordenadas polares/cilíndricas
Z

Y
p(r,0,z)

p(r,0) z Y
O
r r
0
0
O X X

Polares Cilíndricas

Robotica Industrial- Herramientas Matemáticas 5


Representación de la posición
en coordenadas esféricas
Z

0 p(r,0,0)
r

O Y

0
X

Robotica Industrial- Herramientas Matemáticas 6


Representación de la orientación.
Matrices de Rotación 2D
Y Y

V
V
jy U
jv iu
α
O U O ix
X X

a) b)

[ ]
T
p xy = p x , p y = p x ⋅ i x + p y ⋅ jy px  pu
  = R 
p uv = [p u , p v ] = p u ⋅ i u + p v ⋅ j v
T
p y pv
 i x iu i x jv   cos α - sen α 
R=  R = 
 j y i u j y jv   sen α cos α 

• Una matriz de rotación es ortonormal: R-1=RT

Robotica Industrial- Herramientas Matemáticas 7


Representación de la orientación.
Matrices de Rotación 3D (I)
Z Z

W
W
α
V

V Y α Y
O α
U O
U
X X

 px 
a) b)
 pu 
puvw = [ pu , p v , p w ] = pu ⋅ i u + p v ⋅ jv + p w ⋅ k w
T    
p y  = R  pv 
pxyw = [ p x , p y , p z ]T = p x ⋅ i x + p y ⋅ j y + p z ⋅ k z p  p 
 z  w
 i x i u i x jv i x k w  1 0 0 
   
R =  j y i u jy jv j y k w  R( x ,α ) = 0 cos α - senα 
 k z i u k z jv k z k w  0 senα cos α 

Robotica Industrial- Herramientas Matemáticas 8


Representación de la orientación.
Matrices de Rotación 3D (II)
Z Z

φ W
W
θ
V
V Y Y
O O
θ
φ
θ
φ U
X U X
a) b)

 cos φ 0 sen φ  cos θ − sen θ 0


   
R( y ,φ ) =  0 1 0  R( z ,θ ) = sen θ cos θ 0
− sen φ 0 cos φ   0 0 1

Robotica Industrial- Herramientas Matemáticas 9


Representación de la orientación.
Composición de rotaciones
Orden de la composición:

❶ Rotación sobre OX
❷ Rotación sobre YO
❸ Rotación sobre OZ

Cθ − Sθ 0  Cφ 0 Sφ  1 0 0 
     
T = R( z ,θ ) R( y ,φ ) R( x ,α ) =  Sθ Cθ 0  0 1 0  0 Cα − Sα  =
 0 0 1 − Sφ 0 Cφ  0 Sα Cα 
CθCφ − SθCα + CθSφSα SθSα + CθSφCα 
 
=  SθCφ CθCα + SθSφSα − CθSα + SθSφCα 
 − Sφ CφSα CφCα 

Robotica Industrial- Herramientas Matemáticas 10


Representación de la orientación.
Angulos de Euler
❶ Girar el sistema OUVW un ángulo φ con respecto al eje OZ,
convirtiéndose así en el OU'V'W'.
❷ Girar el sistema OU'V'W' un ángulo θ con respecto al eje OU',
convirtiéndose así en el OU''V''W''.
❸ Girar el sistema OU''V''W'' un ángulo ψ respecto al eje OW''
convirtiéndose finalmente en el OU'''V'''W'''
Z W W'
W '' W '''
φ
ψ
θ V '''
ψ V ''
θ V'
O φ
Y V
φ ψ
θ
U '''
UX U ' U ''

Robotica Industrial- Herramientas Matemáticas 11


Representación de la orientación.
Roll, Pitch y Yaw
❶ Girar el sistema OUVW un ángulo ψ con respecto al eje OX. (Yaw)
❷ Girar el sistema OUVW un ángulo θ con respecto al eje OY. (Pitch)
❸ Girar el sistema OUVW un ángulo φ con respecto al eje OZ. (Roll)
Z W

φ R oll

P itch

O θ Y
Yaw
V

ψ
X U

Robotica Industrial- Herramientas Matemáticas 12


Representación de la orientación.
Par de rotación
■ Mediante la definición de un vector k (kx,ky.kz) y un ángulo de giro θ,
tal que el sistema OUVW corresponde al sistema OXYZ girado un
ángulo θ sobre el eje k
Z

W k
θ
kz
Y
O
kx
ky
X
U
b)

Rot( k ,θ ) p = p cos θ − ( k × p ) sen θ + k ( k ⋅ p )(1 − cos θ )

Robotica Industrial- Herramientas Matemáticas 13


Representación de la orientación.
Cuaternios
■ Alta eficiencia computacional
■ Utilizados por algunos fabricantes de robots (ABB)

Q = [ q 0 ,q 1 ,q 2 ,q 3 ] = [s, v ]

Giro de un ángulo 2 sobre el vector k:


 θ θ
Q = Rot( k ,θ ) =  cos , k sen 
 2 2

Robotica Industrial- Herramientas Matemáticas 14


Coordenadas homogéneas
■ Coordenadas de un espacio (n+1)-dimensional para
representar sólidos en el espacio n-dimensional
■ p(x,y,z) p(wx,wy,wz,w) con w=factor de escala
■ Vector en coordenadas homogéneas:
 x   aw   a 
 y   bw   b 
p= = = 
 z   cw   c 
     
w   w  1 

■ Ejemplo: 2i+3j+4k [4,6,8,2]T ó [-6,-9,-12,-3]T


■ Vector nulo:[0,0,0,n]T

Robotica Industrial- Herramientas Matemáticas 15


Matrices de transformación
homogénea
■ Matriz 4x4 que representa la transformación de un vector en
coordenadas homogéneas de un sistema de coordenadas a otro

 R 3x3 p3x1   Rotacion Traslacion 


T= = 
 f 1x3 w1x1   Perspectiva Escalado 

■ R3x3: matriz de rotación


■ p3x1: vector de traslación
■ f1x3: transformación de perspectiva
■ w1x1: escalado global (1)

Robotica Industrial- Herramientas Matemáticas 16


Aplicación de las matrices de
transformación homogénea
 R 3x3 p3x1  Rotacion Traslacion 
T= = 
 0 1  0 1 

❶ Representar la posición y orientación de un sistema girado y trasladado


O'UVW con respecto a un sistema fijo de referencia OXYZ., que es lo
mismo que representar una rotación y traslación realizada sobre un
sistema de referencia.
❷ Transformar un vector expresado en coordenadas con respecto a un
sistema O'UVW, a su expresión en coordenadas del sistema de
referencia OXYZ.
❸ Rotar y trasladar un vector con respecto a un sistema de referencia fijo
OXYZ

Robotica Industrial- Herramientas Matemáticas 17


Traslación con matrices
homogéneas
■ Matriz básica de traslación:
1 0 0 px 
 
0 1 0 py 
T( p ) =  
0 0 1 pz 
 
0 0 0 1

■ Cambio de sistema de coordenadas:

rx 1 0 0 px ru ru + px 


r  0   
1 0 py rv  rv + py
 y =  =
rz  0 p 
0 1 z rw rw + pz
 
      
 1  0 0 0 1  1  1 
Robotica Industrial- Herramientas Matemáticas 18
Ejemplo de traslación (I)
Según la figura el sistema O'UVW está trasladado un vector p(6,-3,8) con
respeto del sistema OXYZ. Calcular las coordenadas (rx , ry ,rz) del vector r
cuyas coordenadas con respecto al sistema O'UVW son ruvw(-2,7,3)

r x  1 0 0 6 − 2   4
r       
 y = 0 1 0 − 3  7 =  4
r z  0 0 1 8  3 11
       
1 0 0 0 1  1  1

Robotica Industrial- Herramientas Matemáticas 19


Ejemplo de traslación (II)
■ Calcular el vector r’xyz resultante de trasladar al vector rxyz(4,4,11)
según la transformación T(p) con p(6,-3,8)

 r'x   1 0 0 6  4  10
 r'  0 1 0 − 3
    
 y =   4  =  1
 r'z  0 0 1 8 11 19 
       
 1  0 0 0 1  1  1

Robotica Industrial- Herramientas Matemáticas 20


Rotación con matrices homogéneas

■ Matrices de rotación básicas:

1 0 0 0  cos φ 0 sen φ 0 cos θ − sen θ 0 0


   0
0 cos α - senα 1 0 0 sen θ cos θ 0 0
T(y,φ ) =
0
T( x,α ) =    T( z,θ ) =  
0 senα cos α 0 − sen φ 0 cos φ 0  0 0 1 0
     
0 0 0 1  0 0 0 1  0 0 0 1

■ Cambio de sistema de coordenadas:

rx   ru 
   
r y  = T  rv 
rz  r w
   
1 1

Robotica Industrial- Herramientas Matemáticas 21


Ejemplo de rotación
■ Según la figura el sistema OUVW se encuentra girado -90º alrededor
del eje OZ con respecto al sistema OXYZ. Calcular las coordenadas
del vector rxyz si ruvw = [4,8,12]T

rx   0 1 0 0  4  8 
 r  - 1 0 0 0  8  - 4 
 y =    = 
 rz   0 0 1 0 12  12 
       
1  0 0 0 1  1  1 

Robotica Industrial- Herramientas Matemáticas 22


Combinación de rotaciones y
traslaciones (I)
■ Es posible combinar rotaciones y traslaciones
básicas multiplicando las matrices correspondientes
■ El producto no es conmutativo:
rotar y trasladar = trasladar y rotar

Robotica Industrial- Herramientas Matemáticas 23


Combinación de rotaciones y
traslaciones (II)
■ Rotación seguida de traslación:

1 0 0 px 
 p y
0 cosα − senα
T(( x ,α ) , p) =  
0 senα cosα pz 
 
0 0 0 1

■ Traslación seguida de rotación:

1 0 0 px 
 p y cosα − p z senα 
0 cosα − senα
T(p,( x ,α )) =  
0 senα cos α p y senα + p z cosα 
 
0 0 0 1 

Robotica Industrial- Herramientas Matemáticas 24


Ejemplo de combinación
traslación-rotación (I)
Un sistema OUVW ha sido girado 90º alrededor del eje OX y posteriormente
trasladado un vector p(8,-4,12) con respecto al sistema OXYZ. Calcular las
coordenadas (rx ,ry ,rz) del vector r con coordenadas ruvw (-3,4,-11)

 r x  1 0 0 8  −3 5 
 r  0 0 − 1 − 4  4  7 
 y =    = 
 r z  0 1 0 12  − 11 16 
       
 1  0 0 0 1   1  1

Robotica Industrial- Herramientas Matemáticas 25


Ejemplo de combinación
traslación-rotación (II)
Un sistema OUVW ha sido trasladado un vector p(8,-4,12) con respecto al
sistema OXYZ y girado 90º alrededor del eje OX. Calcular las coordenadas
(rx , ry , rz) del vector r de coordenadas ruvw (-3,4,-11)

 r x  1 0 0 8  −3  5 
 r  0 0 − 1 − 12  4  − 1
 y =   = 
 r z  0 1 0 − 4  − 11  0 
      
 1  0 0 0 1   1  1

Robotica Industrial- Herramientas Matemáticas 26


Significado geométrico de las
matrices homogéneas

 n x ox a x px 
 p y   n o a p
 n y oy a y =
T=
 n z oz a z p z   0 0 0 1
 
0 0 0 1

n,o,a terna ortonormal que representa la orientación


p vector que representa la posición
||n||=||o||=||a||=1
nxo=a
[n o a]-1=[n o a]T
Robotica Industrial- Herramientas Matemáticas 27
Inversa de una matriz de
transformación homogénea

n x ny nz − nT p
 
 ox oy oz − oT p 
T =
-1
ax ay az − aT p 
 
0 0 0 1 

r xyz = T r uvw T -1 r xyz = r uvw

Robotica Industrial- Herramientas Matemáticas 28


Composición de matrices
homogéneas
■ Una transformación compleja puede descomponerse en la aplicación
consecutiva de transformaciones simples (giros básicos y traslaciones)
■ Una matriz que representa un giro de un ángulo α sobre el eje OX,
seguido de un giro de ángulo φ sobre el eje OY y de un giro de un
ángulo θ sobre el eje OZ, puede obtenerse por la composición de las
matrices básicas de rotación

C θ − Sθ 0 0   Cφ 0 Sφ 0  1 0 0 0
 Sθ Cθ 0 0  0 1 0 0  0 Cα − Sα 0
T = T( z ,θ ) T( y ,φ ) T( x ,α ) =    =
0 0 1 0  − Sφ 0 Cφ 0  0 Sα Cα 0
   
0 0 0 1  0 0 0 1  0 0 0 1
 Cφ C θ − SθCα + CθSφSα SθSα + CθSφCα 0
 SθCφ CθCα + SθSφSα − CθSα + SθSφCα 0
= 
 − Sφ CφSα CαCφ 0
 
 0 0 0 1

Robotica Industrial- Herramientas Matemáticas 29


Criterios de composición de matrices
homogéneas
❶ Si el sistema fijo OXYZ y el sistema transformado O'UVW son
coincidentes, la matriz homogénea de transformación será la matriz 4 x
4 unidad, I4

❷ Si el sistema O'UVW se obtiene mediante rotaciones y traslaciones


definidas con respecto al sistema fijo OXYZ, la matriz homogénea que
representa cada transformación se deberá premultiplicar sobre las
matrices de las transformaciones previas.

❸ Si el sistema O'UVW se obtiene mediante rotaciones y traslaciones


definidas con respecto al sistema móvil, la matriz homogénea que
representa cada transformación se deberá postmultiplicar sobre las
matrices de las transformaciones previas.

Robotica Industrial- Herramientas Matemáticas 30


Ejemplo de composición de matrices
homogéneas (I)
PREMULTIPLICACIÓN

■ Obtener la matriz de transformación que representa al sistema O'UVW


obtenido a partir del sistema OXYZ mediante un giro de ángulo -90º
alrededor del eje OX, de una traslación de vector pxyz(5,5,10) y un giro
de 90º sobre el eje OZ
0 − 1 0 0 1 0 0 5  1 0 0 0  0 0 − 1 − 5 
1 0 0 0 0 1 0 5  0 0 1 0  1 0 0 5 
T = T( z ,90 ) T( p ) T( x ,-90 ) = 
o o    = 
0 0 1 0 0 0 1 10  0 − 1 0 0  0 − 1 0 10 
      
0 0 0 1 0 0 0 1  0 0 0 1  0 0 0 1 

Robotica Industrial- Herramientas Matemáticas 31


Ejemplo de composición de matrices
homogéneas (II)
POSMULTIPLICACIÖN

■ Obtener la matriz de transformación que representa las siguientes


transformaciones sobre un sistena OXYZ fijo de referencia: traslación
de un vector pxyz(-3,10,10); giro de -90º sobre el eje O'U del sistema
trasladado y giro de 90º sobre el eje O'V del sistema girado

1 0 0 − 3 1 0 0 0 0 0 1 0 0 0 1 − 3
0 1 0 10  0 0 1 0 0 1 0 0 − 1 0 0 10 
T = T(p ) T( u ,-90º ) T( v ,90º ) =      =  
0 0 1 10  0 − 1 0 0 − 1 0 0 0  0 −1 0 10 
       
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1

Robotica Industrial- Herramientas Matemáticas 32


Gráficos de transformación

( M TO )−1 M
TR R
TE E
TH = O
TH

TH ( O TH )
−1
R
TO = R
TE E

TO = ( T R)
R M −1 M
TO

Robotica Industrial- Herramientas Matemáticas 33


Comparación entre métodos de
localización espacial
Método Ventajas Inconvenientes
Matrices de • Posición y orientación • Alto nivel de redundancia
transformación de forma conjunta (12 compon. para 6 gdl)
homogénea • Comodidad • Coste computacional
Angulos de • Notación compacta • Sólo orientación
Euler • Dificultad de manejo
para composición
Par de • Notación compacta • Sólo orientación
rotación • Dificultad de manejo
para composición
Cuaternios • Composición simple y • Sólo orientación relativa
eficiente de rotaciones y
traslaciones

Robotica Industrial- Herramientas Matemáticas 34

You might also like