You are on page 1of 7

Rotacion y translacion 1

Rotación y translación en 2D y 3D, interpolación


Nelson Burgos; Lorena Salazar. – Facultad de Ing. Electrónica
Universidad Manuela Beltrán
Abstract- This work solves finding the matrix transformation, Este, método puede ser usado en control visual para
in the study of Robotics, of 3D designs where are position and elementos simétricos
orientation of one vector through of software MATLAB. En dos dimensiones implica el desplazamiento de un objeto
Términos indexados: Matrices, .Robot control, Robot motion,
que viene representado por:
Vectors.

I. INTRODUCCIÓN P=( X 1 , X 2) (1)

En la robótica es importante la manipulación espacial dentro Donde el traslado se realiza d1 unidades en el eje X 1 y
de un espacio determinado como la orientación , para la cual A1 unidades en el eje X 2 , de esta forma, las
es esencial conocer su posición y buscar su orientación con coordenadas del nuevo punto se obtiene sumado con la
base a una referencia dada, para generar esta localización se distancia que se quiere trasladar. [1]
usan sistemas de coordenadas ya sean cilíndricas ,
cartesianas.[1] X 12=X 1+ A 1 (2)
Para realizar manipulación y movimientos dentro del
sistema de coordenadas es importante conocer la teoría para X 22=X 2+ A 2
la ubicación de objetos donde se aplican las matrices de
trasformación y rotación Sea el valor de las distancias de T (d)
la matriz de traslación, en coordenadas homogéneas la
II. OBJETIVOS translación de un punto P en un punto 2D se puede expresar
como el punto matricial como:
 Representación translaciones de puntos en Matlab
 Representar rotaciones en Matlab. x
 Realizar graficas en 3D por medio de Matlab ¿
¿1
III. MARCO TEÓRICO ¿

[ ]
1 0 0 (3)
En este laboratorio se elaboraron transformaciones X1 X 2 1∗ 0 1 0
geométricas en 3D, usando la geometría de traslación, en la A 1 A2 1
representación matricial y de coordenadas se realizan por
medio de matrices. ¿
[¿ x 2 ¿ x3 ]=¿
Desde el manipulador antropomórfico primer maestro-esclavo
Fue desarrollado en 1947, un número considerable de En el figura 1 se muestra una translación con A 1=1 y
sistemas robóticos han sido desarrollados por la industria y A 2=2
centros académicos. Las solicitudes de manipuladores han
sido creciente debido a la mayor capacidad de los robots para
interactuar dinámicamente con su entorno de una manera
precisa.[2]
En las coordenadas cartesianas se puede representar un vector
de posición P, con respecto al origen de coordenadas, el más
comúnmente utilizado en robótica son matrices de rotación
orto normales y la unidad-cuaterniones. La transformación
homogénea es una matriz de 4 x 4 que representa la
translación, la orientación y se puede representar compuesta
simplemente por la multiplicación de matrices. [4]

Esto se realiza gracias el software Matlab el cual es un


Figura 1. Translación en 2D tomado de [1]
mecanismo que permite el modelamiento, y es gran alcance,
ese software puede llevar acabo grandes operaciones Otra translación que encontramos la translación en 3D la cual
matemáticas.[3] implica el desplazamiento de un objeto de tres dimensiones
cada punto representado por un punto en un diferente eje.
IV. La translación
P=x 1, x 2, x 3. (4)

La translación permite desplazar de un lugar a otro a lo largo La operación para la obtención de nuevo punto de
de sus dimensiones, como resultado se obtiene un cambio de coordenadas de obtiene de:
ubicación, esta translación se puede dar en dos menciones o
en tres dimisiones. [1] X 12=X 1+ A 1 (5)
X 22=X 2+ A 2
X 32=3+ A 3

Con el vector distancia d=(d 1 , d2 , d 3) , y T(d) la opuesto


senθ= (6)
matriz de translación, en coordenadas homogéneas la hipotenusa
transacción de un punto p se puede expresar como un
producto matricial. hipotenusa∗senθ=opuesto (7)

Para una translación en 3D se muestra en la figura 2 15∗sen (45)=12.763 (8)

12.763
=6.38 (9)
2

adyacente
cosθ= (9)
hipotenusa

hipotenusa∗cosθ=adyacente (10)

15∗cos ( 45 )=7.879 (11)

7.879
=3.939 (12)
2
Figura 2. Representación de traslación en 3d. Tomado de [1]

El valor de la fórmula 9 equivale al punto en Y y la ecuación


V. DESARROLLO DE LA PRÁCTICA. 12 corresponde punto en X Punto el inicial se encuentra
ubicado en (2.5,0). En el anexo 1 se muestra el plano con los
objetos ubicados
En el laboratorio se realiza el siguiente ejercicio. El ejercicio
de un país solicita a un ingeniero que por favor realice un
programa, que permita que un helicóptero auto pilotado
Para la ubicación del tanque almacenador se graficó un vector
cumpla con la función específica de apagar un incendio, las
de color verde representativo a .45, para la representación del
especificaciones que brinda la compañía en cuanto a
helicóptero un vector de color rojo, donde el eje x del mismo
distancias es la siguiente:
representaba la cabina delantera del helicóptero.
• El helicóptero tiene 2 m de largo.
Para el movimiento del helicóptero se realizan translaciones y
• La caja con agua se encuentra a 10 m de recorrido.
rotaciones, se realizaron movimientos rectos teniendo en
• Dimensiones de la caja son 30x30 cm
cuenta al movimiento real de una máquina.
• Altura del anillo de sujeción 15 cm frente a la arista de la
caja
• El anillo de sujeción tiene un diámetro de 6 cm.
• El incendio tiene 15 m de largo x 5 m de alto.
Se muestra el siguiente grafico como ayuda
El código implementado es el siguiente:

- P1=[2.5 0];P2=[6.03 3.535 ];


- plot([P1(1) P2(1)],[P1(2) P2(2)],'r')
- hold on
- axis([0 14 -2 20 0 20]);

- P3=[2.5 0 5];
- P4=[6.03 3.535 5];
- plot3([P3(1) P4(1)],[P3(2) P4(2)],[P3(3) P4(3)],'r')
- hold on
- P3=[2.5 0 5];
Figura 3. Representación del plano de ubicación de los - P4=[2.5 0 0];
elementos. Tomada de la guía de laboratorio 3. - plot3([P3(1) P4(1)],[P3(2) P4(2)],[P3(3) P4(3)],'r')
- hold on
Para la elaboración de la guía se representa en primera - P3=[6.04 3.535 5];
- P4=[6.03 3.535 0];
instancia la ubicación de los elementos en el plano X, Y,Z
- plot3([P3(1) P4(1)],[P3(2) P4(2)],[P3(3) P4(3)],'r')
Para la ubicación de los ángulos del fuego se realiza con - hold on
geometría.
- P1=[2.5 1];P2=[6.04 4.545 ]; - PO13= transl(2, 0 ,16)*trotz(-135*pi/180);
- plot([P1(1) P2(1)],[P1(2) P2(2)],'r') - mov1=trinterp(PO12,PO13,lspb(0,1,35));
- hold on - tranimate(mov1);
- % axis([-1 12 -1 20 0 5]); - PO14= transl(2, 0 ,16)*trotz(90*pi/180);
- P3=[2.5 1 5]; - mov1=trinterp(PO13,PO14,lspb(0,1,35));
- P4=[6.03 4.545 5]; - tranimate(mov1);
- plot3([P3(1) P4(1)],[P3(2) P4(2)],[P3(3) P4(3)],'r') - PO15= transl(2, 18 ,10)*trotz(90*pi/180);
- hold on - mov1=trinterp(PO14,PO15,lspb(0,1,35));
- P3=[2.5 1 5]; - tranimate(mov1);
- P4=[2.5 1 0]; - PO16= transl(2, 18 ,0)*trotz(-180*pi/180);
- plot3([P3(1) P4(1)],[P3(2) P4(2)],[P3(3) P4(3)],'r') - mov1=trinterp(PO15,PO16,lspb(0,1,35));
- hold on - tranimate(mov1);
- P3=[6.04 4.535 5];
- P4=[6.03 4.535 0]; con la implantación del código anterior se puede ver su respuesta en
- plot3([P3(1) P4(1)],[P3(2) P4(2)],[P3(3) P4(3)],'r') el anexo 2.
- hold on
- P1=[2.5 0];P2=[2.5 1];
- plot([P1(1) P2(1)],[P1(2) P2(2)],'r') VI. CONCLUSIONES
- hold on
- P1=[6.03 3.535];P2=[6.03 4.535]; La metodología implementada mediante el programa Matlab
- plot([P1(1) P2(1)],[P1(2) P2(2)],'r') ha generado los resultados esperados en el empleo de
- hold on translación.
- P1=[2.5 0 5];P2=[2.5 1 5];
- plot3([P1(1) P2(1)],[P1(2) P2(2)],[P1(3) P2(3)],'r') La rotación se genera en el sentido de las manecillas de reloj,
- hold on una rotación en 2D solo se puede realizar en el eje Z.
- P1=[6.03 3.535 5];P2=[6.03 4.535 5];
- plot3([P1(1) P2(1)],[P1(2) P2(2)],[P1(3) P2(3)],'r')
- hold on
En el manejo del control del helicóptero hay que tener en
- grid on cuenta que la velocidad sea baja para no tener impacto con los
- grid minor demás elementos del plano.
- p8= transl(10, 15, 0)*trotz(-60*pi/180);
- trplot(p8, 'frame', 'Tanque', 'color', 'g')
- hold on VII. REFERENCIAS
- PO1 = transl(2, 18, 0)*trotz(180*pi/180);
- trplot(PO1); [1] Irving Alberto Cruz Matías. (10 de mayo de 2007).
- hold on Capítulo 3. En Rotaciones multidimensionales generales (54-
- PO2= transl(2, 18,5)*trotz(0*pi/180); 99). Universidad de las Américas Puebla: Escuela de
- mov=trinterp(PO1,PO2,lspb(0,1,35)); Ingeniería y Ciencias.
- tranimate(mov); [3] Zhen Huang; Dejun Mu; Daxing Zeng . (August 5 - 8,
- PO3= transl(11.855, 18,5)*trotz(0*pi/180); 2007). The Screw Motion Simulation on 3-RPS Parallel
- mov1=trinterp(PO2,PO3,lspb(0,1,35)); Pyramid Mechanism. IEEE.
- tranimate(mov1); [4] Peter Corke . (March 1996 ). A Robotics Toolbox for
- PO4= transl(11.855, 18,0.45)*trotz(-90*pi/180);
MATLAB. IEEE, 24 – 32
- mov1=trinterp(PO3,PO4,lspb(0,1,35));
- tranimate(mov1); [4] D. N. Vila-Rosado and J. A. Dom´ınguez-Lopez. (2005).
- PO5= transl(11.855, 16.1,0.45)*trotz(-90*pi/180); A MATLAB Toolbox for Robotic Manipulators. IEEE.
- mov1=trinterp(PO4,PO5,lspb(0,1,35));
- tranimate(mov1);
- PO6= transl(11.855, 16.1,0.45)*trotz(-150*pi/180);
- mov1=trinterp(PO5,PO6,lspb(0,1,35));
- tranimate(mov1);
- PO7= transl(11.855, 16.1,0.45)*trotz(-150*pi/180);
- mov1=trinterp(PO6,PO7,lspb(0,1,35));
- tranimate(mov1);
- PO8= transl(10, 15,0.45)*trotz(-150*pi/180);
- mov1=trinterp(PO7,PO8,lspb(0,1,35));
- tranimate(mov1);
- PO9= transl(10, 15,0.45)*trotz(-150*pi/180);
- mov1=trinterp(PO8,PO9,lspb(0,1,35));
- tranimate(mov1);
- PO10= transl(10, 15,5)*trotz(-90*pi/180);
- mov1=trinterp(PO9,PO10,lspb(0,1,35));
- tranimate(mov1);
- PO11= transl(10, 8 ,5)*trotz(-90*pi/180);
- mov1=trinterp(PO10,PO11,lspb(0,1,35));
- tranimate(mov1);
- PO12= transl(10, 8 ,16)*trotz(-135*pi/180);
- mov1=trinterp(PO11,PO12,lspb(0,1,35));
- tranimate(mov1);
Anexo 1

Figura 4. Elementos ubicados en el plano.

Anexo 2
Figura 5. Elementos en el plano y vectores de representación de movimiento de helicóptero.
.
Anexo 3

You might also like