0% encontró este documento útil (0 votos)
298 vistas4 páginas

Transformaciones y Rotación en 3D

Este documento presenta los conceptos fundamentales de las transformaciones espaciales y la matriz de rotación. Explica cómo representar la orientación y posición de un cuerpo rígido en el espacio tridimensional utilizando la matriz de rotación y el vector de traslación. También describe las diferentes representaciones de la matriz de rotación, incluidos los ángulos de Euler, la fórmula de Rodríguez y los cuaterniones. El documento guía al lector a través de varios ejemplos prácticos para comprender y verificar estas representaciones matemáticas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
298 vistas4 páginas

Transformaciones y Rotación en 3D

Este documento presenta los conceptos fundamentales de las transformaciones espaciales y la matriz de rotación. Explica cómo representar la orientación y posición de un cuerpo rígido en el espacio tridimensional utilizando la matriz de rotación y el vector de traslación. También describe las diferentes representaciones de la matriz de rotación, incluidos los ángulos de Euler, la fórmula de Rodríguez y los cuaterniones. El documento guía al lector a través de varios ejemplos prácticos para comprender y verificar estas representaciones matemáticas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PRÁCTICA Nº 1 de ROBÓTICA

TRANSFORMACIONES ESPACIALES y
MATRIZ DE ROTACIÓN
Autor: Lizardo Pari.

I .- OBJETIVOS:
• Visualizar en 3D sistemas de coordenadas con diferentes posiciones y
orientaciones.
• Comprobación matemática de la nueva posición de un punto al someterlo a
una transformación.
• Verificar las propiedades de la matriz de rotación
• Comprobar las transformaciones de la matriz de rotación a par de rotación,
fórmula de Rodríguez, ángulos de Euler y cuaternios.

II.- CONOCIMIENTOS PREVIOS


• Qué es una matriz homogénea?, de qué está constituida?
• Cuales son las principales propiedades de la matriz de rotación?
• Cuales son las representaciones de la matriz de rotación?
• Qué es un cuaternio?

III.- PROCEDIMIENTO
1.- Introducción
La base matemática de la robótica la constituye la matemática del movimiento del cuerpo rígido. Aquí
se estudia las diversas formas de representar la orientación y posición de un cuerpo (que está
asociado a su propio sistema de referencia) en el espacio tridimensional. Básicamente la orientación
y posición de un cuerpo rígido está determinado por la matriz de rotación y el vector de traslación,
éstos se pueden representar conjuntamente por medio de una matriz homogénea. Una matriz de
rotación es una matriz ortogonal con propiedades particulares que la hacen especial, ésta a la vez
posee diversas representaciones descritas en la literatura que van desde el par de rotación, la
fórmula de Rodríguez, los ángulos de Euler y la representación por cuaternios. En la presente
práctica se ejercitará con todos ellos, utilizando el soporte de Matlab y el toolbox de robótica escrito
por Peter Corke.

2.- Representación de la rotación y traslación.


a). Represente una rotación y traslación nula (R=eye(3) y t=[0 0 0]T).
T=[R t;0 0 0 1]
trplot(T,’frame’,’T0’,’color’,’b’);
b). Representar una rotación de 90 grados en el eje Y
T1=roty(pi/2) ó T1=troty(pi/2)
hold on
trplot(T1,’frame’,’T1’,’color’,’r’);
c). Representar una rotación de -90 grados en el eje Z
T2=rotz(-pi/2) ó T2=trotz(-pi/2)
trplot(T2,’frame’,’T2’,’color’,’g’);
d). Representar una traslación de 0.5 en el eje X
T3=transl(0.5,0,0);
trplot(T3,’frame’,’T3’,’color’,’m’);
e). Representar una traslación de 0.5 en el eje X, luego una rotación de -90 grados
en el eje Z (en el sistema resultante).
T4=T3*T2
trplot(T4,’frame’,’T4’,’color’,’c’);

1
f). Representar una traslación de 0.5 en el eje X, luego una rotación de -90 grados
en el eje Z, y posteriormente una rotación de 90 en el eje Y (todos en el sistema
resultante).
T5=T4*T1
trplot(T5,’frame’,’T5’,’color’,’y’);
g) Representar dos matrices homogéneas que describan:
1.- traslación de (0.5,0.5,0) luego rotación en el eje X en 30 grados (sist. resultante).
2.- traslación de (-0.5,0.5,-0.5) luego rotación en el eje Z en 45 grados (sist. result.).
T6=transl(0.5,0.5,0)*trotx(pi/6);
T7=transl(-0.5,0.5,-0.5)*trotz(pi/4);
figure
trplot(T,’frame’,’T0’,’color’,’b’), hold on
trplot(T6,’frame’,’T6’,’color’,’r’);
trplot(T7,’frame’,’T7’,’color’,’g’);

NOTA1: probar con “tr2rt()”


NOTA2: probar “tranimate()”

3.- Operaciones con transformaciones.


a). cuales son las nuevas coordenadas de p1=(2,1,3) si éste pertenece a un cuerpo
rígido que ha sufrido una rotación de 90 grados en el eje Y?.
b) cuales son las nuevas coordenadas de p1=(2,1,3) si éste ha sufrido una traslación
de 2 en eje X?
c) cuales son las nuevas coordenadas de p1=(2,1,3) si éste ha sufrido una traslación
de 2 en eje X y luego una rotación de 90 grados en el eje Y?
d) Cuales son las nuevas coordenadas de p2=(10,7,6) si éste ha sufrido una
traslación de (10,5,0), luego una rotación de -90 grados en el eje Y luego una
rotación de 90 grados en el eje X

4.- Propiedades de la matriz de rotación.


a). Consecuencia del movimiento de un robot de 3gdl se consiguió las siguientes
matrices de rotación:
 0.809139 -0.101016 0.57887  0.4330 -0.4356 0.7891 
R1 = -0.0009527 0.984886 0.173199  R2 = 0.7500 0.6597 -0.0474 
 -0.587616 -0.140694 0.796814   -0.500 0.6124 0.6124 

Para cada una de estas matrices,


• Halle su determinante
• Verifique R-1=RT
• Si se considera sus columnas (o filas) de R como r1, r2, y r3, verifique que
r=T
1 r1 r2=
T
r2 r3=
T
r3 1 r= T
r2=
r T 2 r3=
rT 3 1
1 r 1 (1)
r=
r r=
T
1 2r r=
r 0 T
1 3
T
2 3 r1=
r 2 r1=
T
r 3 r2= T
r 3 0 T

[ r1 ]x r2 = r3 [ r1 ]x r2 = r3
[ r2 ]x r3 = r1 ó
[ r2 ]x r3 = r1
[ r3 ]x r1 = r2 [ r3 ]x r1 = r2

2
1
Z
0.8

0.6 Z

Eje Z
0.4

0.2
Y
0 X
2
Y
1.5 X
1
0.5 2
1.5
0 1
-0.5 0.5
0
Eje Y -1 -0.5 Eje X

Figura 1.- traslación (1,0.5,0)

5.- Representaciones de la matriz de rotación.


a) Usando el método simbólico de Matlab verifique la fórmula para:
1.- representación por ángulos de Euler ZYZ.
2.- representación por ángulos de Euler RPY.
NOTA: usar syms phy th xhy.
b) Para la matriz de rotación del apartado 4, halle los ángulos de Euler ZYZ y RPY
(en grados).
NOTA: use tr2eul() y tr2rpy(). Ademas: rpy2tr() y eul2tr().
c) Para las matrices de rotación del apartado 4 halle el ángulo y eje según las
expresiones de la teoría y compruebe el resultado con la instrucción [ang vec] =
tr2angvec(R).
d) Suponer que R2 es generado por una rotación de 90 grados en Z, luego una
rotación de 30º en Y, luego una rotación de 60º en X (todos en el sistema móvil),
hallar su ángulo y eje, luego pruebe con tr2rpy(R2,’zyx’,’deg’) e interpretar.
e) Para el ángulo y eje obtenido en c), halle la rotación R utilizando la fórmula de
Rodríguez.
f) Para las rotaciones del apartado c) y d) obtenga su representación de Rodríguez
(nota: es un vector).
g) Hallar [V D]=eig(R) e interpretar su resultado.
NOTA: usar: angle(D(1,1)) ó angle(D(2,2)).
6.- Matices homogéneas.
a) Se tiene t=[2 1 -1]T y la rotación R1 del apartado 4, formar la matriz homogénea H
para:
1.- Rotación seguida de una traslación.
2.- Traslación seguida de una rotación.
NOTA: probar con r2t(), t2r(), rt2tr(), tr2rt().
b) hallar H-1 según:
1.- matemáticamente.
2.- usando la fórmula de la teoría.
7.-Representación por cuaternios.
a) Para las matrices de rotación del apartado 4, halle su representación en
cuaternios usando:
1.- fórmula de la teoría.
2.- Quaternion([s v1 v2 v3]).
3.- Quaternion(ang,vec).
4.- Quaternion(R).
b) El punto P1=[1,1,0] es rotado alrededor del eje Y en 90º, hallar su nueva posición
en el sistema de referencia según:
1.- método convencional.
2.- usando cuaternios.
NOTA: usar la función Quaternion(). Ver manual para usar álgebra de cuaternios.
c) Si q es un cuaternio, probar:
1.- q.s

3
2.- q.v
3.- q.T
4.- q.R
5.- plot(q).
d)Hallar la rotación de R=rotx(30°)*roty(60°), según:
1.- Método convencional.
2.- por cuaternios.
e). Hallar el producto del cuaternio hallado en d) por su inverso.
f) Hallar el cuaternio de I3 (rotación nula)
NOTA: I3: matriz identidad de orden 3 (en Matlab: “eye(3)”).

IV INFORME.
a) Implementar una función (archivo m) que convierta de la matriz de rotación R
a representación ángulo y eje.
b) Implementar una función (archivo m) que convierta la rotación en
representación de Rodríguez a la forma convencional R.
c) Implementar una función que multiplique dos cuaternios q1 y q2.
d) Implementar una función que transforme de la matriz de rotación
convencional a cuaternios.
e) Implementar una función que transforme de cuaternio a la forma convencional
R.
Además de las pruebas realizadas que valide los programas implementados, se
deberá adjuntar en el informe el código fuente de los programas implementados.

También podría gustarte