Vous êtes sur la page 1sur 53

Robótica y Sistemas Expertos

Representaciones Espaciales
de Cuerpos Rígidos - I

FSoteloV
Objetivos

• Recordar la representación de la posición de cuerpos


rígidos (coordenadas Cartesianas, esféricas, cilíndricas)

• Formalizar la representación de la orientación de


cuerpos rígidos en el espacio

• Comprender lo que es una matriz de rotación y sus


diversos usos

2
Contenido

1. Introducción

2. Representación de la Posición

3. Representación de la Orientación/Rotación

3.1. Introducción (Rotación/orientación)

3.2. Matriz de Rotación

3.3. Interpretaciones de la Matriz de Rotación

3.4. Composición de Rotaciones

3
Introducción
¿Cómo representar un robot?

Eslabón
Eslabón

Articulación
de revolución

Articulación
prismática
SCARA (de Adept)

KUKA KR Agilus

4
Introducción
¿Cómo representar un robot?

Eslabón
(link) jn-1 ln-1 ln
j3 jn

l2
Articulación
j2
de revolución
(joint)
l1

Base
j1
l0 n articulaciones
n eslabones Cuerpo rígido

• Cada eslabón es un cuerpo rígido


• Un robot es un conjunto de cuerpos rígido

5
Introducción
¿Cómo agarrar objetos?

• Se asigna sistemas de referencia (coordenadas) a las partes deseadas


• Se describe la posición y orientación (de algún sistema) con respecto a otro
sistema (de referencia)

efector final
{E}

objeto
{O}

{F}
faja

{B}
base
6
Introducción
¿Dónde está el robot móvil?

• Se asigna sistemas de referencia (coordenadas) a las partes deseadas


• Se describe la posición y orientación del robot con respecto a un sistema
de referencia

inercial robot {R}


{I}

https://www.nasa.gov/images/content/482680main_PIA09201-full.jpg 7
Introducción
¿Dónde están los robots aéreos?

• Se asigna sistemas de referencia (coordenadas) a las partes deseadas


• Se describe la posición y orientación de los robots con respecto a un
sistema de referencia

{R3} {R1}
{R2}

{I}
inercial

8
Introducción
¿Cómo interpretar la información de los sensores?

• Se asigna sistemas de referencia (coordenadas) a las partes deseadas


• Se describe la posición y orientación de la información de los sensores
con respecto a un sistema de referencia en el robot

{R}
{I} {S}
sensor
robot

Imagen de: Kuindersma et al. Optimization-based Locomotion Planning, Estimation, and Control Design for the Atlas Humanoid Robot,
Autonomous Robots, July 2015 9
Introducción
¿… y un robot humanoide?

• Se asigna sistemas de
referencia (coordenadas) a {Ca}
las partes deseadas (manos,
pies, cintura, cabeza, etc)
{Pe}

{Mi}
• Se describe la posición y {Ci}
orientación de las partes con {Md}
respecto a un sistema de
referencia

{Pi}
{I} {Pd}

HRP-2 en LAAS-CNRS (Toulouse) 10


Introducción
Preguntas

• ¿Qué es un eslabón?
• ¿Qué es una articulación?
• ¿Qué es un cuerpo rígido?
• ¿Un robot está compuesto por cuerpos rígidos?
• ¿Existen robots deformables?
• Para saber dónde está un cuerpo rígido, ¿es suficiente con
describir su posición?
• ¿Es indispensable conocer la orientación?
• ¿Por qué es importante poder describir la posición y
orientación?

11
Contenido

1. Introducción

2. Representación de la Posición

3. Representación de la Orientación/Rotación

3.1. Introducción (Rotación/orientación)

3.2. Matriz de Rotación

3.3. Interpretaciones de la Matriz de Rotación

3.4. Composición de Rotaciones

12
Representación de la Posición

• ¿Cómo representar la posición de un cuerpo rígido?


- Mediante la posición de un punto P fijo al cuerpo
- Vector posición: P  OP


P

OP

O

• ¿Cuántas coordenadas son necesarias?


- En 2D: 2 coordenadas (2 gdl)
gdl: grados de libertad
- En 3D: 3 coordenadas (3 gdl)

• Representaciones: coordenadas Cartesianas, cilíndricas, esféricas

13
Representación de la Posición

1. Coordenadas Cartesianas


P
 x
z
ŷ p   y 
x
 z 

y

2. Coordenadas cilíndricas
ẑ x   cos 
P
  y   sin 
Relación con
z
ŷ p    coordenadas
Cartesianas
 z  𝜌 = 𝑥2 + 𝑦2
 𝜃 = atan2(𝑦, 𝑥)

14
Representación de la Posición

3. Coordenadas esféricas

P con:
r 
0  
p   
r
 0    2
ŷ   r0


x  r sin  cos    r sin 


y  r sin  sin  c  
Relación con z  r cos  z  r cos 
Relación con
coordenadas coordenadas
Cartesianas cílíndricas
r  x2  y 2  z 2 (  ,c , z ) r   2  z2
( x, y , z )
  cos 1  z / r    atan2(  , z )
  atan2( y, x)   c

15
Representación de la Posición
Ejercicio

Dadas las siguientes coordenadas Cartesianas, graficar los puntos y


encontrar las coordenadas cilíndricas y esféricas.
a) (4, 3, 12)
b) (-4, -3, 12)
c) (4, -3, -12)
d) (-4, 3, -12)

a)   5 b)   5 c)   5 d)   5
  36.9   143.1   36.9   143.1
z  12 z  12 z  12 z  12

r  13 r  13 r  13 r  13
  22.6   22.6   157.4   157.4
  36.9   143.1   36.9   143.1
16
Contenido

1. Introducción

2. Representación de la Posición

3. Representación de la Orientación/Rotación

3.1. Introducción (Rotación/orientación)

3.2. Matriz de Rotación

3.3. Interpretaciones de la Matriz de Rotación

3.4. Composición de Rotaciones

17
Introducción: Rotación/Orientación
Ejercicio 1: Rotación en 2D

¿Cuáles son las coordenadas del punto P después de haber rotado un


ángulo θ?
y

𝑷
y1
𝜃

x1 x

a) ( x1 cos   y1 sin  , x1 sin   y1 cos  )


b) ( x1 sin   y1 cos  , x1 sin   y1 cos  )
c) ( x1 cos   y1 sin  , x1 sin   y1 cos )
d) ( x1 cos   y1 sin  , x1 cos   y1 sin  )

18
Introducción: Rotación/Orientación
Ejercicio 1: Rotación en 2D

( x2 , y2 )  ( x1 cos   y1 sin  , x1 sin   y1 cos  )

En forma matricial … y
( x1 , y1 )
 x2  cos   sin    x1 
 y    sin  ?cos    y1 
 2  ( x1 , y1 )
y1
𝜃
Si fuesen puntos en 3D con z constante …
x
x1
 x2  cos   sin  0   x1 
 y    sin  cos  0   y1 
 2  z
 z2   0 0 1   z1 

Matriz de rotación
alrededor de z
Rz ( )
19
Introducción: Rotación/Orientación
Ejercicio 2: Rotación en 3D
¿Cómo sería la rotación alrededor de x? ¿Y alrededor de y?
z x ( x2 , y2 , z2 )
( x2 , y2 , z2 )

( x1 , y1 , z1 ) ( x1 , y1 , z1 )
z1 x1
𝜃 𝜃
y z
y1 z1
x y

 x2  1 0 0   x1   x2   cos  0 sin    x1 
 y   0 cos   sin    y1  y    0 1 0   y1 
 2   2 
 z2  0 sin  cos    z1   z2    sin  0 cos    z1 

Matriz de rotación Matriz de rotación


alrededor de x alrededor de y
Rx ( ) Ry ( ) 20
Introducción: Rotación/Orientación
Ejercicio 3 (parte 0)

¿Cuál es la proyección de r en 𝒊Ƹ (donde 𝒊Ƹ es un vector unitario)?

r
r  i  ‖ r‖ ‖ i‖ cos 
‖ r‖ r  i  ‖ r‖ cos 

 𝒊Ƹ
La proyección está dada por el
producto escalar (producto punto,
producto interno)

21
Introducción: Rotación/Orientación
Ejercicio 3: Cambio de Sistema
¿Cuál es el valor de a y b como función del ángulo θ?
y 3
P     3x  4y
𝑃 4
4
ෝ𝒃
a: proyección de P en 𝒙

ෝ𝒃
𝒚 ෝ
𝒚  
a  3x  4y  xb  3cos   4sin 
𝜃 ෝ𝒃
𝒙 ෝ𝒃
b: proyección de P en 𝒚
𝜃

𝒙 3
x
 
b  3x  4y  y b  3 sin   4 cos 

En forma matricial (con z constante) … Relación inversa …

 a   cos  sin  0 3  3  cos   sin  0 a 


 b     sin   4    sin  0   b 
   cos  0   4     cos 
 z   0 0 1   z   z   0 0 1   z 
A
sist B B
RA sist A sist A RB sist B
Matriz de rotación Matriz de rotación 22
Introducción: Rotación/Orientación
Ejercicio 4: (algunas) propiedades de la Matriz de Rotación

 a   cos  sin  0 3  3  cos   sin  0 a 


 b     sin   4    sin  0   b 
   cos  0   4     cos 
 z   0 0 1   z   z   0 0 1   z 
A
B
RA RB

RB   RA 
A B T
¿Cuál es la relación entre ambas matrices de rotación?

¿Cuál es el resultado de multiplicar ambas? A


RB B RA  I
A
¿Cuál es la inversa de RB? B RA
A
¿Qué tipo de matriz es RB? Matriz ortogonal

A
¿Cuánto es el determinante de RB
? +1
23
Contenido

1. Introducción

2. Representación de la Posición

3. Representación de la Orientación/Rotación

3.1. Introducción (Rotación/orientación)

3.2. Matriz de Rotación

3.3. Interpretaciones de la Matriz de Rotación

3.4. Composición de Rotaciones

24
Matriz de Rotación
Sistema de Coordenadas

• Un sistema de coordenadas está completamente representado por


sus ejes (coordenados)
• Sistema de coordenadas = sistema de referencia (reference frame)
• Ejemplo: Sistemas de coordenadas {A} y {B}

B
A 

Notas: - ^ denota vector unitario


- Superíndice representa el sistema de referencia (con respecto a …)
25
Matriz de Rotación
Matriz de Rotación Genérica

Con respecto a {A}


• Dos sistemas: {A} y {B}
- Origen común
- Rotados
?
?
• Objetivo: describir al sistema {B}
con respecto al sistema {A} ?

• Coordenadas de los ejes de {B} con respecto a {A} (usando proyecciones)

- En forma de vector …

26
Matriz de Rotación
Matriz de Rotación Genérica

• Coordenadas de los ejes de {B} con respecto a {A}


- Se desea R tal que ejes de {B} con respecto a {A}:

- La matriz R es:

Matriz de rotación genérica

• Matriz de rotación del sistema {B} con respecto al sistema {A}

Cada columna representa a los ejes (x, y, z) del


sistema {B} con respecto al sistema {A}
27
Matriz de Rotación
Matriz de Rotación Genérica

• Sistema {B} con respecto al sistema {A}

• Sistema {A} con respecto al sistema {B}

RA   RB 
B A T

28
Matriz de Rotación
Ejemplos

• Ejemplo 1:

Dados los siguientes sistemas


{A} y {B} …

a) Calcular la rotación del sistema {B} respecto del sistema {A}

cos(90) cos(180) cos(90)  0 1 0 


A
RB   cos(0) cos(90) cos(90)   1 0 0 
cos(90) cos(90) cos(0)  0 0 1 

a) Calcular la rotación del sistema {A} respecto del sistema {B}

 cos(90) cos(0) cos(90)   0 1 0 


B
RA  cos(180) cos(90) cos(90)    1 0 0 
 cos(90) cos(90) cos(0)   0 0 1 
29
Matriz de Rotación
Ejemplos

• Ejemplo 2: calcular la rotación del sistema {B} respecto del sistema {A}

 cos( ) cos(90   ) cos(90) 


Rotación
𝜃
A
RB  cos(90   ) cos( ) cos(90) 
alrededor
del eje z  cos(90) cos(90) cos(0) 
𝜃 cos   sin  0
RB   sin  0 
De igual forma se
𝜃 A
cos  obtiene la rotación
 0 0 1  alrededor de x o y.

• Ejemplo 3: dada la siguiente matriz de rotación, graficar el sistema {A} y {B}

0 1 0 
A
RB  0 0 1
1 0 0 

30
Matriz de Rotación
Ejemplos

• Ejemplo 4:
Se tiene una mesa y sobre ésta hay un cubo.
Una cámara se sitúa directamente sobre el
centro del cubo y tiene un sistema de referencia
denominado {3}. Encontrar la matriz de
rotación que relaciona al sistema {2} con el
sistema de la cámara {3}

0 1 0 
3
R2  1 0 0 
0 0 1

(Dibujo adaptado de Spong et al, Robot


Modeling and Control, 2006)
31
Matriz de Rotación
Rotaciones Elementales

Rotación alrededor del eje x

𝜃 1 0 0 
𝜃
Rx ( )  0 cos   sin  
0 sin  cos  
𝜃

Rotación alrededor del eje y


𝜃
 cos  0 sin  
Ry ( )   0 1 0 
  sin  0 cos   𝜃
𝜃

𝜃 Rotación alrededor del eje z


𝜃 cos   sin  0
𝜃 Rz ( )   sin  cos  0 
 0 0 1 
32
Matriz de Rotación
Propiedades Fundamentales

1. Transpuesta de la matriz de rotación (R)

Cada eje (𝑥,


ො 𝑦,
ො 𝑧)Ƹ es unitario y
perpendicular a los otros 2

• Notar que la matriz RT es también una matriz de rotación:

• La transpuesta es igual a la inversa:

R es una matriz ortogonal

33
Matriz de Rotación
Propiedades Fundamentales

1. Transpuesta de la matriz de rotación (R)


• R es una matriz ortogonal:
→ Tiene filas (y columnas) ortonormales

3 restricciones
3 restricciones
6 restricciones

→ Sus filas (y columnas) constituyen una base ortonormal en ℝ3

• R tiene 9 elementos
• R tiene 6 restricciones (debido a columnas ortonormales)
• R tiene 9 – 6 = 3 grados de libertad (solo existen 3 gdl para la orientación)

¡Es una matriz redundante!

34
Matriz de Rotación
Propiedades Fundamentales

2. Determinante de la matriz de rotación (R)


RT R  I det( RT R)  det( I )
det( RT ) det( R)  1 Propiedad: det( RT )  det( R)
 det( R)  1
2

det( R)  1
z Sistema dextrógiro
En un sistema dextrógiro (normalmente usado):
xy  z
yz  x
det( R)  1 y
zx  y
x

 x1 y1 z1 
det( R)  x1 ( y2 z3  y3 z2 )  x2 ( y1 z3  y3 z1 )  x3 ( y1 z2  y2 z1 )
R   x2 y2 z2 
 x3 y3 z3   x12  x2 2  x32  1

En sistema dextrógiro: y  z  ( y2 z3  y3 z2 , z1 y3  y1 z3 , y1 z2  z1 y2 )  ( x1 , x2 , x3 )
35
Matriz de Rotación
Grupo de Rotación: SO(3)

• El grupo de rotación en ℝ3 se denomina SO(3) y se define como:

• SO = Special Orthogonal
- Matrices ortogonales
- Especial porque el determinante es +1 (positivo)

• SO(3)
- Representa rotaciones de cuerpos rígidos
- Es un formalismo matemático (es un grupo de Lie)

Para que una matriz R sea una matriz de rotación, debe


pertenecer a SO(3): debe cumplir RRT=I y det(R)=+1

36
Matriz de Rotación
Ejemplos

Determinar si las siguientes son matrices de rotación


a)  1 3
 0  
 2 2 
det R 
1
R 0 1 0  No es una matriz de rotación
2
 
 3 0 
1 
 2 2 

b)
 1 3
 0  
 2 2  det R  1
R 0 1 0  Sí es una matriz de rotación
  RRT  I
 3
0  
1
 2 2 

37
Matriz de Rotación
Ejemplos

Si se sabe que la siguiente es una matriz de rotación, calcular su inversa

 0.25 0.433 0.866 


R  0.866 0.50 0 
 0.433 0.75 0.50 

Dado que es una matriz de rotación, su transpuesta es igual a su inversa. Así, la


inversa es:
 0.25 0.866 0.433 
RT  R 1   0.433 0.50 0.75 
0.866 0 0.50 

- Verificar que la transpuesta es la inversa


- Verificar que es una matriz de rotación

38
Contenido

1. Introducción

2. Representación de la Posición

3. Representación de la Orientación/Rotación

3.1. Introducción (Rotación/orientación)

3.2. Matriz de Rotación

3.3. Interpretaciones de la Matriz de Rotación

3.4. Composición de Rotaciones

39
Interpretaciones de la Matriz de Rotación
a) Representación de la Orientación

• Describe la orientación relativa entre 2 sistemas de referencia

:
• Interpretación 1: Expresa al sistema {B} en términos del sistema {A}

• Interpretación 2: Lleva al sistema {A} hacia el sistema {B}


- Se empieza con el “sistema de referencia” {A} (que en {A} es canónico)
- Se termina en el sistema {B} (dado por las coordenadas de {B} en {A})

40
Interpretaciones de la Matriz de Rotación
b) Mapeo entre Sistemas de Referencia

• Expresa un mismo punto en diferentes sistemas de referencia

Punto en el sistema {A} Punto en el sistema {B}

- Se desea: partir del punto en {B} y expresarlo en {A} (obtener las coordenadas en {A})
41
Interpretaciones de la Matriz de Rotación
b) Mapeo entre Sistemas de Referencia

- Se desea: partir del punto en {B} y expresarlo en {A} (obtener las coordenadas en {A})

- ¿Cómo? Se proyecta el punto en cada eje de {A}

- En forma de matriz:

- Mapeo del punto entre sistemas:

42
Interpretaciones de la Matriz de Rotación
b) Mapeo entre Sistemas de Referencia

Ejemplo
a) Determinar por inspección las coordenadas
del punto P en el sistema B
d2  d1 P
B
p   d1 
 0 
d2
b) Partiendo del punto P en el sistema B
determinar sus coordenadas en el sistema A
0 1 0 
- Matriz de rotación: A RB  1 0 0 
 
0 0 1 

0 1 0   d 2   d1 
- Punto transformado: A p  A RB B p  1 0 0   d1    d 2 
    
0 0 1   0   0 
43
Interpretaciones de la Matriz de Rotación
c) Operador de Rotación

• Rota un vector en un mismo sistema de referencia


- En general: rota al vector 𝒑1 un ángulo θ alrededor del eje 𝒌 para obtener 𝒑𝟐

- Ejemplo:
Encontrar el vector resultante de rotar 30° al vector p1 = (0, 3, 1) alrededor
del eje x
 0 
1 0 0  1 0

 
𝒑2 R(30, x)  0 cos(30)  sin(30)   0 3
2
1 
2
 
0 sin(30) cos(30)  0 3 
𝒑1 
1
2
𝜃 2

0
 
p 2  R(30, x)p1   1 
 3
 
44
Contenido

1. Introducción

2. Representación de la Posición

3. Representación de la Orientación/Rotación

3.1. Introducción (Rotación/orientación)

3.2. Matriz de Rotación

3.3. Interpretaciones de la Matriz de Rotación

3.4. Composición de Rotaciones

45
Composición de Rotaciones

• Considerando un punto en 3 sistemas: {A}, {B}, {C}


- Punto P en el sistema {A}: Ap
- Punto P en el sistema {B}: Bp
- Punto P en el sistema {C}: Cp

• Relaciones:
- Punto del sistema {B} en el sistema {A}: p  RB p
A A B

- Punto del sistema {C} en el sistema {B}: p  RC p


B B C

- Punto del sistema {C} en el sistema {A}: A p   A


RB B RC  C p

• Composición de rotaciones:
A
RC  A RB B RC
Interpretaciones de ARC:
1) Rota el punto P de {C} a {B} y luego de {B} a {A}
2) Inicia con el sistema {A}, lo hace coincidente con {B} y luego con {C}
46
Composición de Rotaciones
a) Rotación con Respecto al Sistema Actual (móvil)

• Se post-multiplica las matrices de rotación

• Ejemplo
- Sistema inicial: {0}
- 1º: rotar θ1 alrededor del eje y0: Ry(θ1) → se obtiene el sistema {1}
- 2º: rotar θ2 alrededor del eje z1 (del sistema actual {1}): Rz(θ2) → se obtiene
el sistema {2}
- Rotación resultante: R = Ry(θ1) Rz(θ2)

1° z0 2° Final: z0
z1 z2 z1 y2 z2 y2
y1 𝜃2
y1
𝜃1 y0 y0
x0 x2 x0 Ry (1 ) Rz ( 2 )
x1 x1 x2
47
Composición de Rotaciones
b) Rotación con Respecto al sistema Fijo

• Se pre-multiplica las matrices de rotación

• Ejemplo
- Sistema inicial: {0}
- 1º: rotar θ1 alrededor del eje y0: Ry(θ1) → se obtiene el sistema {1}
- 2º: rotar θ2 alrededor del eje z0 (del sistema inicial, fijo {0}): Rz(θ2) → se
obtiene el sistema {2}
- Rotación resultante: R = Rz(θ2) Ry(θ1)

1° z0 2° x1
z1 𝜃2
z2 y2
y1
𝜃1 y0 z1
x0 x0
x1 x2 Rz ( 2 )

48
Composición de Rotaciones
Ejemplo
Dado el siguiente cuerpo rígido esbozar su orientación final

a) Si se aplica una rotación de 90° en z seguida de una rotación de 90° en y con


respecto al eje actual

Ry (90)
Rz (90) Ry (90)
Rz (90)
(y actual)

b) Si se aplica una rotación de 90° en z seguida de una rotación de 90° en y con


respecto al eje fijo

Ry (90)
Ry (90) Rz (90)
Rz (90)
(y fijo)

Imágenes de B. Siciliano et al, Robotics Modelling, Planning and Control, 2009 49


Composición de Rotaciones
Ejemplo
Dado el siguiente cuerpo rígido esbozar su orientación final

c) Si se aplica una rotación de 90° en y seguida de una rotación de 90° en z con


respecto al eje actual

Rz (90)
Ry (90) Ry (90) Rz (90)
(y actual)

d) Si se aplica una rotación de 90° en y seguida de una rotación de 90° en z con


respecto al eje fijo

Rz (90)
Ry (90) Rz (90) Ry (90)
(y fijo)

Imágenes de B. Siciliano et al, Robotics Modelling, Planning and Control, 2009 50


Composición de Rotaciones
Ejemplo
Se realiza rotaciones a un sistema de referencia en el orden siguiente:
1. Rotación de θ alrededor del eje x actual
2. Rotación de ϕ alrededor del eje z actual
3. Rotación de α alrededor del eje z fijo
4. Rotación de β alrededor del eje y actual
5. Rotación de γ alrededor del eje x fijo
Escribir la expresión de la matriz de rotación resultante.

Rx ( )
Rx ( ) Rz ( )
Rz ( ) Rx ( ) Rz ( )
Rz ( ) Rx ( ) Rz ( ) Ry (  )
R  Rx ( ) Rz ( ) Rx ( ) Rz ( ) Ry (  )

51
Conclusiones

• Las matrices de rotación son fundamentales para la


representación de la orientación

• Toda matriz de rotación pertenece a SO(3)

• Es importante conocer las 3 interpretaciones de la matriz de


rotación (descripción de sistemas, mapeo entre sistemas, rotación de
un punto)

• La composición de matrices de rotación está dada por el


producto de las mismas (pre o post multiplicación)

• Las matrices de rotación son redundantes

52
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)

53

Vous aimerez peut-être aussi