Tema01 Representaciones Espaciales II

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 62

Fundamentos de Robótica: 2017-I

Representaciones Espaciales
de Cuerpos Rígidos (Parte II)
Prof. Oscar E. Ramos, Ph.D.
https://youtu.be/tutEm9d-46c

2
Objetivos

• Extender la representación de la orientación a


orientaciones alrededor de ejes arbitrarios

• Usar otras representaciones (diferentes a la matriz de


rotación) para describir la orientación

• Comprender lo que es una matriz de transformación


homogénea y sus aplicaciones

3
Temas

1. Coordenadas Exponenciales

2. Parametrizaciones de la Rotación
2.1. Ángulos de Euler

2.2. Ángulos Roll, Pitch, Yaw

2.3. Cuaterniones

3. Representación de Posición y Orientación

4
Coordenadas Exponenciales
Introducción

• Dado un cuerpo rígido


ω
Nota: todos los puntos de un
v mismo cuerpo rígido poseen la
P misma velocidad angular

- (variación de) posición → velocidad lineal v


- (variación de) orientación → velocidad angular ω

• Coordenadas exponenciales relacionan:


- Matriz de rotación con velocidad angular
- Matriz de rotación con ángulo de giro alrededor de un eje arbitrario
(parametrización eje/ángulo)

5
Coordenadas Exponenciales
Velocidad Lineal y Angular

• Consideremos un sistema {F} fijo (inamovible) ω


- Sea una velocidad angular ω
- Un punto P en el cuerpo rígido
P
- La velocidad lineal de P es: {F }

• Consideremos un sistema {B} tal que:


→ Tiene el mismo origen que {F}
→ Rota junto con el cuerpo rígido

- Punto P del sistema {B} al sistema {F}:


- Derivada temporal:

6
Coordenadas Exponenciales
Velocidad Lineal y Angular

• Se tiene las equivalencias

con

Velocidad
angular Matriz antisimétrica
(skew-symmetric matrix)

• En resumen:
- La matriz surge de

es la matriz antisimétrica que


representa la velocidad angular ω

7
Coordenadas Exponenciales
Velocidad Lineal y Angular

Ejercicio
La velocidad angular del punto P2 en un cuerpo rígido es ω = (1, ω
3, 2) con respecto a un sistema de referencia. Con respecto al P2
mismo sistema, la posición del punto P1 es (5, 4, 6). Calcular la v
velocidad lineal del punto P1 P1
a) Usando el producto cruz con la velocidad angular

i j k
 
v  ω  p1  (1,3, 2)  (5, 4, 6)  1 3 2   10i  4 j  11k
5 4 6 

b) Usando la matriz antisimétrica ( ) de velocidad angular

 0 2 3   5   10 
ˆ 1   2 0 1  4    4 
v  ωp     
 3 1 0   6   11

8
Coordenadas Exponenciales
Derivada de la Matriz de Rotación

• Para toda matriz de rotación

• Tomando la derivada

• Matriz antisimétrica

definición

• Derivada de la matriz de rotación (ecuación fundamental del movimiento de rotación):

• Solución de la ecuación diferencial cuando

9
Coordenadas Exponenciales
Derivada de la Matriz de Rotación

Ejercicios:
a) Dada una matriz de rotación de un ángulo θ alrededor del eje x, calcular la
matriz antisimétrica de velocidad angular asociada

0 0 0  1 0 0  0 0 0   
  Velocidad
 T  0  sin 
ˆ  RR  cos   0 cos  sin    0 0      0  angular

0  cos   sin   0  sin  cos   0  0  0 en x
 

b) Se tiene la matriz de rotación R(to) en el tiempo inicial. Encontrar una


aproximación de R para el tiempo t = to+Δt
R (t0  t )  R (t0 )  t R (t0 )  R (t0 )  t ˆ (t0 ) R (t0 ) 
  I  t ˆ (t0 )  R (t0 )

c) Encontrar la aproximación cuando R(to) = I

R(t0  t )  I  t ˆ (t0 )
“espacio tangente” en
la identidad
10
Coordenadas Exponenciales
Exponencial de una Matriz

• Objetivo: calcular
• Expansión de Taylor:

• Usando las propiedades:

• Usando la expansión de Taylor del seno y coseno:

Propiedades:

(prueba: expandiendo términos)


11
Coordenadas Exponenciales
Exponencial de una Matriz

Ejercicio
Dado un vector de velocidad angular ω = (2, 1, 3) y un valor de t = 1, calcular la
matriz
 0 3 1   10 2 6
2
ˆ   3 0 2  ˆ   2 13 3 

2 2 2
Elementos previos:   2  1  3  14 2

 1 2 0   6 3 5
Cálculo:
sin   t  1  cos   t 
eˆ t  I  ˆ  2
ˆ 2
 

1 0 0  sin 14
 0 1 0  
   03 3
0
1
2  
1 cos 
14t  10 2 6
 2 13 3 
14  14  
0 0 1   1 2 0   6 3 5

 0.3 0.71 0.63


  0.19 0.69 0.69  Verificar que es una matriz de rotación
 0.93 0.09 0.35
12
Coordenadas Exponenciales
Exponencial de una Matriz

• Exponencial genérica:

- Interpretación:
• Rotación durante un tiempo t con velocidad angular ω
• Rotación un ángulo alrededor del eje unitario

• Simplificación:
- Usar velocidad angular unitaria: =1
- Desplazamiento angular total: θ = t

Fórmula de Rodrigues (forma exponencial)

- Es una forma eficiente de calcular una matriz de rotación genérica dados:


• Ángulo θ
• Eje unitario ω

13
Coordenadas Exponenciales
Exponencial de una Matriz

Ejercicio
Determinar la matriz de rotación asociada con un giro de un ángulo θ alrededor
de un eje de giro (1, 0, 0) usando la fórmula de Rodrigues
0 0 0  0 0 0 
Elementos previos: ˆ  0 0 1 ˆ 2  0 1 0 
0 1 0  0 0 1
Cálculo:
eˆ t  I  ˆ sin   ˆ 2 1  cos  

1 0 0   0 0 0  0 0 0 
 0 1 0   0 0 1 sin   0 1 0  1  cos  
0 0 1  0 1 0  0 0 1

1 0 0   0 0 0  0 0 0  1 0 0 
  sin  
 0 1 0   0 0  sin    0 cos   1 0   0 cos 
0 0 1  0 sin  0  0 0 cos   1 0 sin  cos  
14
Coordenadas Exponenciales
Exponencial de una Matriz

Ejercicio
Determinar la matriz de rotación que representa una rotación de 30° alrededor
de un eje de giro (2, 1, 2) usando la fórmula de Rodrigues
 2 / 3  0 2 / 3 1/ 3   5 / 9 2 / 9 4 / 9 
Elementos previos:   1/ 3  ˆ   2 / 3 0 2 / 3 ˆ 2   2 / 9 8 / 9 2 / 9 
 2 / 3  1/ 3 2 / 3 0   4 / 9 2 / 9 5 / 9 

Cálculo:
eˆ t  I  ˆ sin   ˆ 2 1  cos  
1 0 0   0 2 / 3 1/ 3   5 / 9 2 / 9 4 / 9 
 0 1 0    2 / 3 0 2 / 3 sin 30   2 / 9 8 / 9 2 / 9  1  cos 30 
0 0 1   1/ 3 2 / 3 0   4 / 9 2 / 9 5 / 9 

 0.926 0.304 0.226 


  0.363 0.881 0.304  Verificar que es una matriz de rotación
 0.107 0.363 0.926 
15
Coordenadas Exponenciales
Rotación usando la Fórmula de Rodrigues

• Objetivo:
Obtener la rotación de un vector v un ángulo θ alrededor de un eje unitario
arbitrario ω

• Usando la fórmula de Rodrigues (forma exponencial):

Fórmula de Rodrigues (forma vectorial)

16
Coordenadas Exponenciales
Rotación usando la Fórmula de Rodrigues

Ejercicio
Se tiene un vector posición dado por p = (3, 1, 1).
a) Determinar el vector posición resultante luego de aplicar una rotación de 30°
alrededor del eje (2, 1, 2) usando la forma vectorial de la fórmula de Rodrigues
p f  p cos 30  ˆ p sin 30   ( T p)(1  cos 30)

3   0 2 / 3 1/ 3  3  2 / 3   3 
 
 1 cos 30   2 / 3 0 2 / 3 1 sin 30  1/ 3    2 / 3 1/ 3 2 / 3 1  (1  cos 30)
1  1/ 3 2 / 3 0  1  2 / 3  1 

3   1/ 3  2 / 3  2.699 
 1 cos 30   4 / 3  sin 30   1/ 3  3(1  cos 30)  1.667 
 
1  1/ 3  2 / 3 0.967 

b) Verificar el resultado con la matriz de rotación obtenida anteriormente

 0.926 0.304 0.226  3  2.7 


p f   0.363 0.881 0.304  1  1.666 
 0.107 0.363 0.926  1 0.968
17
Coordenadas Exponenciales
Eje y Ángulo de una Matriz de Rotación

• Objetivo:
Dada la matriz ¿qué eje y ángulo representa?

• Desarrollando la fórmula de Rodrigues

• Comparando términos:

Ángulo: Eje:

Recomendable:
usar atan2

18
Coordenadas Exponenciales
Eje y Ángulo de una Matriz de Rotación

• Singularidades de la representación
- La expresión para el eje (ω) solo tiene sentido cuando sin θ ≠ 0.
- Singularidad cuando sin θ = 0: θ = 0, ±π
- Cuando θ = 0, el eje es arbitrario

• Notas:
- La representación eje/ángulo no es única:
R( ,  )  R( ,  )
- ¿Cuántos valores usa la representación eje/ángulo?
• ¿4?: 3 valores para ω, 1 para θ
• Restricción: + + =1
• Se puede usar solo 3 valores:
r   x ,  y ,  z 

19
Coordenadas Exponenciales
Eje y Ángulo de una Matriz de Rotación

Ejercicio
Calcular el eje y ángulo asociados con la siguiente matriz de rotación
 0.926 0.304 0.226 
R   0.363 0.881 0.304 
 0.107 0.363 0.926 

  (0.363  0.304) 2  (0.107  0.226) 2  (0.363  0.304) 2 0.926  0.881  0.926  1 


  atan2  , 
 2 2 
 
 1 1.733 
  atan2   , 
 2 2 

- Usando la raíz positiva: - Usando la raíz negativa:

  30   30
 0.363  0.304   0.667   0.363  0.304   0.667 
1 0.226  0.107    0.333 1 0.226  0.107    0.333
 
2sin 30     2sin  30     
 0.363  0.304   0.667   0.363  0.304   0.667 

20
Coordenadas Exponenciales
Álgebra de Lie: so(3)

• El Grupo de Lie de rotación SO(3) (que define a las matrices de rotación)


tiene asociado el álgebra de Lie so(3)

• El álgebra de Lie so(3):


- Es el espacio tangente de SO(3) en el elemento identidad
- Representa la velocidad angular
- Está dado por las matrices antisimétricas (skew-symmetric)

• Definición de so(3):

21
Temas

1. Coordenadas Exponenciales

2. Parametrizaciones de la Rotación
2.1. Ángulos de Euler

2.2. Ángulos Roll, Pitch, Yaw

2.3. Cuaterniones

3. Representación de Posición y Orientación

22
Parametrizaciones de la Rotación

• En SO(3) solo hay 3 grados de libertad (de rotación)


• Matriz de rotación tiene 9 elementos es redundante

• Parametrización:
- Representar una rotación arbitraria usando menos de 9 elementos
- Se busca ser menos redundante

• Parametrizaciones comunes:
- Representación eje/ángulo (3 elementos) coordenadas exponenciales
- Ángulos de Euler (3 ángulos)
- Ángulos roll, pitch, yaw (3 ángulos)
- Cuaterniones (4 elementos)

• Cuando hay 3 elementos se denomina: representación mínima


- Problema: presentan singularidades (casos mal definidos)

23
Temas

1. Coordenadas Exponenciales

2. Parametrizaciones de la Rotación
2.1. Ángulos de Euler

2.2. Ángulos Roll, Pitch, Yaw

2.3. Cuaterniones

3. Representación de Posición y Orientación

24
Ángulos de Euler

• Representan la rotación (orientación) usando 3 ángulos

• Los ángulos surgen de 3 rotaciones sucesivas alrededor de ejes


actuales (móviles)

• Combinaciones posibles de rotaciones:


XYZ XZY XZX XYX
YXZ YZX YXY YZY 12 en total
ZXY ZYZ ZXZ ZYX
- Nota: no puede haber dos rotaciones sucesivas sobre ejes paralelos

• Ángulos de Euler más utilizados:


- ZYZ
- ZXZ
- ZYX (ángulos de Fick)
- YZX (ángulos de Helmholtz)

25
Ángulos de Euler
Ángulos de Euler ZYZ

• Se compone de:
1. Rotación de ángulo ϕ1 alrededor del eje z
2. Rotación del sistema obtenido un ángulo ϕ2 alrededor del eje y’ (eje actual)
3. Rotación del sistema obtenido un ángulo ϕ3 alrededor del eje z’’ (eje actual)

z z' z ''
z' zf
1 z '' 3
y' yf
y ''
y y' y ''
2
x x' x ''
x' x '' xf

• Matriz de rotación equivalente:

26
Ángulos de Euler
Ángulos de Euler ZYZ

• Problema inverso
- Dada una matriz determinar los ángulos de Euler

- Usando la matriz anterior:


X X
X X

- Comparando y despejando:
+ si ϕ2 de 0 a π
– si ϕ2 de -π a 0

sin ϕ2 ≠ 0

Nota: siempre 2 soluciones distintas


27
Ángulos de Euler
Ángulos de Euler ZYZ

• Singularidades (de la representación)

- Se dan cuando sin ϕ2= 0: ϕ2= 0, π, 2π, ...


- Cuando sin ϕ2= 0 y cos ϕ2= 1:

Solo se puede recuperar ϕ1 + ϕ3

- Cuando sin ϕ2= 0 y cos ϕ2= -1:

Solo se puede recuperar ϕ3 - ϕ1

28
Ángulos de Euler
Ángulos de Euler ZYZ

Ejemplo
a) Encontrar la matriz de rotación resultante para los ángulos de Euler ZYZ
(30°, 50°, 90°)

 0.5 0.557 0.663


R  Rz (30°)Rx (50°)Rz (90°)  0.866 0.321 0.383
 0 0.766 0.643

b) Encontrar la matriz de rotación resultante para los ángulos de Euler ZYZ


(-150°, -50°, -90°)
 0.5 0.557 0.663
R  Rz (150°)Rx (50°)Rz (90°)  0.866 0.321 0.383
 0 0.766 0.643

c) Dada la matriz anterior, encontrar los dos posibles ángulos de Euler ZYZ

29
Temas

1. Coordenadas Exponenciales

2. Parametrizaciones de la Rotación
2.1. Ángulos de Euler

2.2. Ángulos Roll, Pitch, Yaw

2.3. Cuaterniones

3. Representación de Posición y Orientación

30
Ángulos de Roll, Pitch, Yaw

• Se compone de:
1. Rotación de un ángulo ϕy alrededor del eje x fijo (yaw)
2. Rotación de un ángulo ϕp alrededor del eje y fijo (pitch)
3. Rotación de un ángulo ϕr alrededor del eje z fijo (roll)

z
r
p
y y
x
https://www.grc.nasa.gov/www/k-12/airplane/Images/rotations.gif
• Matriz de rotación equivalente:

31
Ángulos de Roll, Pitch, Yaw

• Problema inverso
- Dada una matriz determinar los ángulos de RPY

- Usando la matriz anterior:

X X
X X

- Comparando y despejando:

+ si ϕp de - π/2 a π/2
– si ϕp de π/2 a 3π/2

cos ϕp ≠ 0

Nota: siempre 2 soluciones distintas


32
Ángulos de Roll, Pitch, Yaw

• Singularidades (de la representación):


- Se dan cuando cos ϕp= 0: ϕp= -π/2, π/2
- Cuando cos ϕp= 0 y sin ϕp= 1:

Solo se puede recuperar ϕr - ϕy

- Cuando cos ϕp= 0 y sin ϕp= -1:

Solo se puede recuperar ϕr + ϕy

33
Ángulos de Roll, Pitch, Yaw

Ejemplo
Dada la siguiente matriz de rotación, encontrar los dos posibles conjuntos de
ángulos Roll, Pitch, Yaw
 0.5 0.557 0.663
R  0.866 0.321 0.383
 0 0.766 0.643

 p  atan2(0, 0.7662  0.6432 )  0  p  atan2(0,  0.7662  0.6432 )  180

 0.866 0.5   0.866 0.5 


r  atan2  ,   120 r  atan2  ,   60
 1 1   1 1 

 0.766 0.643   0.766 0.643 


 y  atan2  ,   50  y  atan2  ,   130
 1 1   1 1 

34
Temas

1. Coordenadas Exponenciales

2. Parametrizaciones de la Rotación
2.1. Ángulos de Euler

2.2. Ángulos Roll, Pitch, Yaw

2.3. Cuaterniones

3. Representación de Posición y Orientación

35
Cuaterniones
Introducción

- En 2D: el número z = a + bi, con |z|=1 representa rotación


- En 3D: ¿cuál es el equivalente?

• William R. Hamilton:
- Intentó usar álgebra de 3 elementos: z = a + bi + cj sin éxito
- Luego usó álgebra de 4 elementos

That is to say, I then and there felt the


galvanic circuit of thought close; and the
sparks which fell from it were the
fundamental equations between i, j, k; exactly
such as I have used them ever since:
i2 = j2 = k2 = ijk = -1
Placa de cuaternión en Brougham
Bridge, Dublin

• Cuaterniones: son una generalización de los números complejos


36
Cuaterniones

• Cuaternión:
Tupla de 4 elementos reales (w, εx, εy, εz) con operaciones de adición
(+) y multiplicación (o), representado como

Q  w  x i  y j  z k

- Componente escalar: w
- Componente vectorial:   (x , y , z )
Representación
Q  ( w, ) alternativa

• Ecuaciones fundamentales de cuaterniones

37
Cuaterniones

Ejercicio
Se tiene dos cuaterniones: Q1  ( w1  x1  y1  z1 ) y Q2  ( w2  x2  y2  z2 ).
Usando las ecuaciones fundamentales de cuaterniones, determinar el producto
de estos dos cuaterniones: Q1 o Q2

Q1  Q2  ( w1  x1 i  y1 j  z1 k )  ( w2  x2 i  y2 j  z2 k )


 ( w1w2  w1x2 i  w1y2 j  w1z2 k )  ( w2x1 i  x1 x2 i  i  x1 y2 i  j  x1 z2 i  k ) 
( w2y1 j  y1 x2 j  i  y1 y2 j  j  y1 z2 j  k )  ( w2z1 k  z1 x2 k  i  z1 y2 k  j  z1 z2 k  k )

 ( w1w2  w1x2 i  w1y2 j  w1z2 k )  ( w2x1 i  x1 x2  x1 y2 k  x1 z2 j) 
( w2y1 j  y1 x2 k  y1 y2  y1 z2 i )  ( w2z1 k  z1 x2 j  z1 y2 i  z1 z2 )

 ( w1w2  x1 x2  y1 y2  z1 z2 )  ( w1x2  w2x1  z1 y2  y1 z2 )i
( w1y2  w2y1  z1 x2  x1 z2 ) j  ( w1z2  w2z1  y1 x2  x1 y2 )k

 ( w1w2  x1 x2  y1 y2  z1 z2 )  ( w1x2  w2x1  y1 z2  z1 y2 )i
( w1y2  w2y1  z1 x2  x1 z2 ) j  ( w1z2  w2z1  x1 y2  y1 x2 )k

38
Cuaterniones
Operaciones con Cuaterniones

• Suma:
Asociativa y conmutativa

• Producto:
Asociativa y no
conmutativa
- Alternativamente:

• Conjugada:

Cuaterniones:
39
Cuaterniones
Operaciones con Cuaterniones

• Norma:

• Inversa:

• Producto interno:

• Producto escalar:

• Nota:
Con estas operaciones, los cuaterniones forman un álgebra lineal y un campo

Cuaterniones:
40
Cuaterniones
• Ejercicio:
Dado el cuaternión (2, 1, 1, 1), donde el primer término es el término escalar,
calcular su norma, conjugada, inversa

- Cuaternión: Q  (2,1,1,1)
2
- Norma: Q  22  12  12  12  7

- Conjugada: Q*  (2, 1, 1, 1)


1 2 1 1 1
- Inversa: Q 1  (2, 1, 1, 1)   ,  ,  ,  
7 7 7 7 7

Verificar que el producto del cuaternión con su inversa da como resultado la


identidad (1, 0, 0, 0)

41
Cuaterniones
Cuaterniones Unitarios

• Tienen magnitud unitaria:

• Propiedades importantes:

• Relación con la rotación:


Cuaternión asociado a una rotación de θ alrededor de un eje unitario r

• Rotación de un vector v:
1. Convertir el vector en cuaternión:
2. Aplicar la transformación
3. Recuperar el vector rotado de:

42
Cuaterniones
Cuaterniones Unitarios

Ejemplo:
a) Encontrar el cuaternión unitario que representa una rotación de 60° alrededor
del eje (2, 0, 0)
  60   60  
Q   cos   ,sin   (1, 0, 0)    0.866, 0.5, 0, 0 
  2   2  

b) Calcular la conjugada y la inversa del cuaternión

Q*  Q 1   0.866, -0.5, 0, 0 

c) Encontrar el cuaternión que representa una rotación arbitraria alrededor del


eje x, alrededor del eje y, alrededor del eje z

Rotación en x:   2  , sin  2  , 0, 0
Q  cos 

Rotación en y : Q   cos   , 0, sin   , 0 


2 2

Rotación en z : Q   cos   , 0, 0, sin   


2 2
43
Cuaterniones
Cuaterniones Unitarios

Ejemplo:
d) Dado un punto p = (3, 5, 2), calcular la rotación de dicho punto 60° alrededor
del eje (2, 0, 0) usando cuaterniones. Verificar usando una matriz de rotación
p   0, 3, 5, 2 

p rot  Q   0, 3, 5, 2   Q *

  0.866, 0.5, 0, 0    0, 3, 5, 2    0.866, -0.5, 0, 0 

  1.5, 2.6, 3.33, 4.23   0.866, -0.5, 0, 0 

  0, 3, 0.768, 5.33 prot   3, 0.768, 5.33

Usando una matriz de rotación:

1 0 0   3  3 
prot   0 cos 60  sin 60   5    0.768
 0 sin 60 cos 60   2   5.33 

44
Cuaterniones
Cuaterniones Unitarios

• Composición de rotaciones

• Rotación dado un cuaternión


- Dado
- La rotación correspondiente es:

- Es más eficiente:

• Matriz de rotación equivalente a un cuaternión:

(Se puede obtener a partir del desarrollo de vrot)


45
Cuaterniones
Cuaterniones Unitarios

• Cuaternión dada una rotación


- Dada la matriz

- El cuaternión asociado tiene componentes:

46
Cuaterniones
Cuaterniones Unitarios

Ejemplo:
Encontrar el cuaternión unitario equivalente a la siguiente matriz de rotación
 1 3
 0  
 2 2 
R 0 1 0 
 
 3 0 1 
 2 2 

47
Temas

1. Coordenadas Exponenciales

2. Parametrizaciones de la Rotación
2.1. Ángulos de Euler

2.2. Ángulos Roll, Pitch, Yaw

2.3. Cuaterniones

3. Representación de Posición y Orientación

48
Representación de Posición y Orientación
Transformación Homogénea

P zB
B
p yB
zA
A
p
A
tB
xB
yA A
t B : Origen del sist B con
respecto al sist A
xA

A
• Punto P del sistema {B} al sistema {A}: p  At B  A RB B p
• En forma más compacta:

 A p   A RB A
tB   B p  A
p
    B
p
Coordenadas
homogéneas
1   0 1  1 
A
p A
TB
B
p
Matriz de transformación
homogénea 49
Representación de Posición y Orientación
Transformación Homogénea

Ejemplo:
Dados los sistemas {A} y {B} mostrados, el punto P en el sistema {B} está dado
por (2, 0, 1). Calcular sus coordenadas con respecto al sistema {A} usando una
matriz de transformación homogénea
P zB

zA xB

4
yB
6
yA
xA

0 1 0 4   2   4 
 4 
 A p   A RB A
tB   B p   A p   1 0 0 6   0   4 
       A
p   4 
1   0 1  1  1  0 0 1 0 1 1
  
      1 
0 0 0 1  1   1 
50
Representación de Posición y Orientación
Transformación Homogénea

• Representa una relación lineal:


A
p  ATB B
p
• Utiliza coordenadas homogéneas (representadas con ~)
• Describe posición + orientación
• Tiene componentes de rotación y traslación. De forma genérica:

 r11 r12 r13 t x 


r r22 r23 t y   R t 
T   21 
 r31 r32 r33 t z   0 1
 
0 0 0 1

• Formalmente pertenece al grupo SE(3): ℝ × (3)

Notas: - en inglés se denomina “pose” a la posición + la orientación


- SE = Special Euclidean 51
Representación de Posición y Orientación
Transformación Homogénea

• Composición de transformaciones homogéneas:


- Si es con respecto del sistema fijo se pre-multiplica
- Si es con respecto del sistema móvil (actual, nuevo) se post-multiplica

• Componentes de una transformación homogénea:

 R t   I t   R 0
T      0 1
 0 1   0 1 
traslación rotación
t R
- Interpretación 1:
1. Primero se traslada el sistema t unidades
2. Luego se aplica una rotación R con respecto al nuevo sistema

- Interpretación 2:
1. Primero se aplica una rotación R al sistema
2. Luego se traslada t unidades con respecto al sistema fijo (inicial)
52
Representación de Posición y Orientación
Transformaciones Homogéneas Básicas

Rotaciones puras: Traslaciones puras:

1 0 0 0 1 0 0 d
0 cos   sin  0  0 1 0 0 
Rot x ( )   Trasx ( d )  
0 sin  cos  0 0 0 1 0
   
0 0 0 1 0 0 0 1

 cos  0 sin  0 1 0 0 0
 0 1 0 0  0 1 0 d 
Rot y ( )   Tras y ( d )  
  sin  0 cos  0 0 0 1 0
   
 0 0 0 1 0 0 0 1

 cos   sin  0 0 1 0 0 0
 sin  cos  0 0  0 1 0 0 
Rot z ( )   Trasz (d )  
 0 0 1 0 0 0 1 d
   
 0 0 0 1 0 0 0 1

53
Representación de Posición y Orientación
Ejemplo
a) Un sistema {A} se rota 90° alrededor del eje x, y luego se traslada un
vector (6, -2, 10) con respecto al sistema fijo (inicial). Se tiene un punto con
coordenadas (-5, 2, -12) con respecto al nuevo sistema obtenido ({B}).
Calcular las coordenadas de dicho punto con respecto al sistema inicial

A
- Transf homogénea: TB  Tras (6, 2,10) Rot x (90)
1 0 0 6  1 0 0 0  1 0 06
0  
1 0 2  0 cos 90  sin 90 0  0 0 1 2 
 
0 0 1 10  0 sin 90 cos 90 0  0 1 0 10 
    
0 0 0 1  0 0 0 1  0 0 0 1

- Punto transformado: p  TB p
A A B

1 0 0 6   5   1 
0 0 1 2   2  10 
 
0 1 0 10   12  12 
    
0 0 0 1  1  1 

54
Representación de Posición y Orientación
Ejemplo
b) Un sistema {A} se traslada un vector (6, -2, 10) y luego se rota 90°
alrededor del eje x del sistema fijo (inicial). Se tiene un punto con
coordenadas (-5, 2, -12) con respecto al nuevo sistema obtenido ({B}).
Calcular las coordenadas de dicho punto con respecto al sistema inicial

A
- Transf homogénea: TB  Rot x (90)Tras (6, 2,10)
1 0 0 0  1 0 0 6  1 0 0 6 
0 cos 90  sin 90 0  0 1 0 2  0 0 1 10 
 
0 sin 90 cos 90 0 0 0 1 10  0 1 0 2 
    
0 0 0 1  0 0 0 1  0 0 0 1 

- Punto transformado: p  TB p
A A B

1 0 0 6   5   1 
0 0 1 10   2   2 
 
0 1 0 2   12   0 
    
0 0 0 1   1  1 

55
Representación de Posición y Orientación
Ejemplo
c) Encontrar la matriz de transformación homogénea que representa una
rotación de un ángulo α alrededor del eje x, seguido de una traslación de b
unidades a lo largo del nuevo eje x, seguido de una traslación de d
unidades a lo largo del nuevo eje z, seguido de una rotación de un ángulo θ
alrededor del nuevo eje z

A
TB  Rot x ( )Trasx (b)Trasz (d ) Rot z ( )

 cos   sin  0 b 
cos  sin  cos  cos   sin   d sin  

 sin  sin  sin  cos  cos  d cos  
 
 0 0 0 1 

56
Representación de Posición y Orientación
Transformación Homogénea: Propiedades

• Inversa de una transformación homogénea:


T
R t  R  RT t 
T   T 1   
 0 1 0 1 
- ¿Por qué?
A
p  At B  A RB B p B
p   A RBT At B  A RBT B p
A
p  ATB B
p
B
p  ATB1 A
p  BTA A
p

• Producto de transformaciones homogéneas:

R t  R t2  R R R1t 2  t1 
T1   1 1  T2   2 T1T2   1 2
 0 1 0 1   0 1 
¡No es conmutativo!

57
Representación de Posición y Orientación
Ejemplo: Se conoce la transformación de la faja y de la base del robot con respecto a
un sistema de referencia {W}. Asimismo se conoce la transformación del objeto a
manipular con respecto a la faja, y del efector final con respecto a la base del robot.
a) Calcular la posición/orientación del objeto con respecto a la base del robot
b) Calcular la posición/orientación del objeto con respecto al efector final

efector final

{E}

objeto
{O}

{F}
faja
{B}
base
{W}
world

Se conoce: W TF , W TB , FTO , BTE


W
TO   W TF  FTO  W
TE   W TB  BTE 
B
Se desea: a) TO   W
TB1  W TO  E
b) TO   W
TE1  W TO 
58
Representación de Posición y Orientación

Ejemplo:
Se muestra un robot cuya base está a 1m de la
base de la mesa. La parte superior de la mesa tiene
1 m de alto y es un cuadrado de un metro. Un
sistema de referencia {1} se encuentra fijo al borde
de la mesa. Un cubo, cuyos lados miden 20cm, se
encuentra en el medio de la mesa con un sistema
de referencia {2} fijo en el centro del cubo. Una
cámara se sitúa directamente sobre el centro del
cubo, a 2m de la superficie de la mesa, y tiene un
sistema {3} asociado.
a) Encontrar las transformaciones homogéneas
que relacionan cada uno de estos sistemas con
el sistema base {0}
b) Encontrar la transformación homogénea que
relaciona al sistema {2} con el sistema de la
cámara {3}

59
Representación de Posición y Orientación

Ejemplo:
a) Encontrar las transformaciones homogéneas que relacionan cada uno de estos
sistemas con el sistema base {0}

1 0 0 0 1 0 0 0.5 0 1 00.5
0 1 0 1  0 1 0 1.5  1 0 0 1.5 
0
T1   0
T2   0
T3  
0 0 1 1 0 0 1 1  0 0 1 3 
     
0 0 0 1 0 0 0 1  0 0 0 1 

b) Encontrar la transformación homogénea que relaciona al sistema {2} con el sistema


de la cámara {3}

3
T2  3T0 0T2  0T31 0T2
0 1 01.5 1 0 0 0.5  0 1 00
1 0 0 0.5  0 1 0 1.5  1 0 0 0 
 
0 0 1 3  0 0 1 1  0 0 1 2 
    
0 0 0 1  0 0 0 1  0 0 0 1

60
Conclusiones

• Se puede representar la orientación de formas más


compactas que con la matriz de rotación

• Las representaciones mínimas de orientación (3


ángulos) tienen singularidades.

• La representación de orientación de menos


componentes y sin singularidades es el cuaternión

• Las matrices de transformación homogénea representan


orientación y posición y su uso es fundamental en
robótica

61
Referencias

• Siciliano, Bruno, Sciavicco, Lorenzo, Villani, Luigi, y Oriolo,


Giuseppe. Robotics: Modelling, Planning and Control. Springer Science &
Business Media, 2010 (Capítulo 2)

• Spong, M. W., Hutchinson, S., & Vidyasagar, M. Robot Modeling and


Control, Jon Wiley & Sons, 2006 (Capítulo 2)

• Murray, Richard. M., Li, Z., Sastry, S. S., & Sastry, S. S. A Mathematical
Introduction to Robotic Manipulation. CRC press, 1994 (Capítulo 2)

62

También podría gustarte