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