Professional Documents
Culture Documents
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]
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
12.763
=6.38 (9)
2
adyacente
cosθ= (9)
hipotenusa
hipotenusa∗cosθ=adyacente (10)
7.879
=3.939 (12)
2
Figura 2. Representación de traslación en 3d. Tomado de [1]
- 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
Anexo 2
Figura 5. Elementos en el plano y vectores de representación de movimiento de helicóptero.
.
Anexo 3