Tema01 Representaciones Espaciales II
Tema01 Representaciones Espaciales II
Tema01 Representaciones Espaciales II
Representaciones Espaciales
de Cuerpos Rígidos (Parte II)
Prof. Oscar E. Ramos, Ph.D.
https://youtu.be/tutEm9d-46c
2
Objetivos
3
Temas
1. Coordenadas Exponenciales
2. Parametrizaciones de la Rotación
2.1. Ángulos de Euler
2.3. Cuaterniones
4
Coordenadas Exponenciales
Introducción
5
Coordenadas Exponenciales
Velocidad Lineal y Angular
6
Coordenadas Exponenciales
Velocidad Lineal y Angular
con
Velocidad
angular Matriz antisimétrica
(skew-symmetric matrix)
• En resumen:
- La matriz surge de
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
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
• Tomando la derivada
• Matriz antisimétrica
definición
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
R(t0 t ) I t ˆ (t0 )
“espacio tangente” en
la identidad
10
Coordenadas Exponenciales
Exponencial de una Matriz
• Objetivo: calcular
• Expansión de Taylor:
Propiedades:
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
• 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
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
• Objetivo:
Obtener la rotación de un vector v un ángulo θ alrededor de un eje unitario
arbitrario ω
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
• Objetivo:
Dada la matriz ¿qué eje y ángulo representa?
• 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
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)
• Definición de so(3):
21
Temas
1. Coordenadas Exponenciales
2. Parametrizaciones de la Rotación
2.1. Ángulos de Euler
2.3. Cuaterniones
22
Parametrizaciones de la Rotación
• 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)
23
Temas
1. Coordenadas Exponenciales
2. Parametrizaciones de la Rotación
2.1. Ángulos de Euler
2.3. Cuaterniones
24
Ángulos de Euler
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
26
Ángulos de Euler
Ángulos de Euler ZYZ
• Problema inverso
- Dada una matriz determinar los ángulos de Euler
- Comparando y despejando:
+ si ϕ2 de 0 a π
– si ϕ2 de -π a 0
sin ϕ2 ≠ 0
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°)
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.3. Cuaterniones
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
X X
X X
- Comparando y despejando:
+ si ϕp de - π/2 a π/2
– si ϕp de π/2 a 3π/2
cos ϕp ≠ 0
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
34
Temas
1. Coordenadas Exponenciales
2. Parametrizaciones de la Rotación
2.1. Ángulos de Euler
2.3. Cuaterniones
35
Cuaterniones
Introducción
• William R. Hamilton:
- Intentó usar álgebra de 3 elementos: z = a + bi + cj sin éxito
- Luego usó álgebra de 4 elementos
• 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
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
( w1w2 w1x2 i w1y2 j w1z2 k ) ( w2x1 i x1 x2 x1 y2 k x1 z2 j)
( w2y1 j y1 x2 k y1 y2 y1 z2 i ) ( w2z1 k z1 x2 j z1 y2 i z1 z2 )
( w1w2 x1 x2 y1 y2 z1 z2 ) ( w1x2 w2x1 z1 y2 y1 z2 )i
( w1y2 w2y1 z1 x2 x1 z2 ) j ( w1z2 w2z1 y1 x2 x1 y2 )k
( w1w2 x1 x2 y1 y2 z1 z2 ) ( w1x2 w2x1 y1 z2 z1 y2 )i
( w1y2 w2y1 z1 x2 x1 z2 ) j ( w1z2 w2z1 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
41
Cuaterniones
Cuaterniones Unitarios
• Propiedades importantes:
• 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
Q* Q 1 0.866, -0.5, 0, 0
Rotación en x: 2 , sin 2 , 0, 0
Q cos
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 *
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
- Es más eficiente:
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.3. Cuaterniones
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
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
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
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
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 00.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
3
T2 3T0 0T2 0T31 0T2
0 1 01.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
61
Referencias
• Murray, Richard. M., Li, Z., Sastry, S. S., & Sastry, S. S. A Mathematical
Introduction to Robotic Manipulation. CRC press, 1994 (Capítulo 2)
62