Professional Documents
Culture Documents
Laboratorio No. 1
MATLAB
Estudiantes: Vega Miranda Jhosep Yaez Villa Moises Edson Grupo: 03 Docente: Ing. Alberto Arispe Santander Auxiliar: Univ. Quispe Zarate Israel F. Materia: Robtica Fecha: 6 de septiembre de 2012
Cochabamba Bolivia
Desarrollo: 1. Aplicando los conceptos de ngulos de euler y matriz de transformacin homonimia, realizar programas con el marco {A} y {B}. a) Generar un espacio tridimensional que constituya el universo del sistema y Dibujar el marco {A} de manera que sea el sistema de referencia.
figure Axis([0 8 0 8 0 8]); %crea un sistema de coordenadas de magnitud ( grid on; %sirve para habilitar las lineas punteadas handle1=line ([0 1],[0 0],[0 0],'color','r'); %coloca una linea en el certo del sistema de magnitud 1 y un color respectivo handle2=line ([0 0],[0 1],[0 0],'color','g'); handle3=line ([0 0],[0 0],[0 1],'color','b');
b) Utilizando la matriz de transformacion homogenia para cada caso animar el marco {B} rotando los angulos segn la notacion aplicada en los conceptos de: 1. los angulos Z-Y-Z de uler 2. los angulos roll, pitch y yaw.
figure Axis([0 8 0 8 0 8]); grid on; Ax=[0 1;0 0;0 0;1 1]; Ay=[0 0;0 1;0 0;1 1]; Az=[0 0;0 0;0 1;1 1]; l0=line(Ax',Ay',Az'); %colocamos en l0 las trapuestas de las tres matrices T=transl(1,1,1); %hacemos una traslacion a la posicion 1,1,1 en el plano x,y,z Bx= T*Ax; %creamos las nuevas coordenadas {B} apartir de {A} y la tranlacion By= T*Ay; Bz= T*Az; for alfa =0:pi/18:pi/4 %incrementamos alfa de 0 a pi/4 para poder hacer una rotacion T=T*rotx(alfa); %efectua la rotacion de acuerdo a alfa Bx= T*Ax; %hace rotacion en {B} respecto de {A} By= T*Ay; Bz= T*Az; Lx1 =line(Bx(1,: ),Bx(2,: ),Bx(3,: ),'color','blue'); %Grafica las lineas Ly1 =line(By(1,: ),By(2,: ),By(3,: ),'color','green'); Lz1 =line(Bz(1,: ),Bz(2,: ),Bz(3,: ),'color','red'); pause(0.5) delete(Lx1) %Borra la lisneas para no dejar rastro cada 0.5 segundos en las tres direcciones delete(Ly1) delete(Lz1) end for alfa =pi/4:-pi/18:0 T=T*roty(alfa); Bx= T*Ax; By= T*Ay; Bz= T*Az; Lx1 =line(Bx(1,: ),Bx(2,: ),Bx(3,: ),'color','blue'); Ly1 =line(By(1,: ),By(2,: ),By(3,: ),'color','green'); Lz1 =line(Bz(1,: ),Bz(2,: ),Bz(3,: ),'color','red'); pause(0.5) delete(Lx1) delete(Ly1) delete(Lz1) end
2. Dado un marco de referencia {A} se tiene otro marco {B}. a) Realice un programa de animacin donde muestre a B desplazndose sobre el permetro con la condicin que el eje Z del marco B este en direccin perpendicular al plano de la figura: Cdigo del programa:
figure Axis([0 8 0 8 0 8]); grid on; Ax=[0 1;0 0;0 0;1 1]; Ay=[0 0;0 1;0 0;1 1]; Az=[0 0;0 0;0 1;1 1]; l0=line(Ax',Ay',Az'); for a=0:0.05:0.5 T=transl(-a,0,a); Bx= T*Ax; By= T*Ay; Bz= T*Az; Ly1 =line(By(1,: ),By(2,: ),By(3,: ),'color','green'); pause(0.5) end for a=0.5:0.05:1 T=transl(-1+a,0,a); Bx= T*Ax; By= T*Ay; Bz= T*Az; Ly1 =line(By(1,: ),By(2,: ),By(3,: ),'color','green'); pause(0.5) end
for a=1:-0.05:0.5 T=transl(1-a,0,a); Bx= T*Ax; By= T*Ay; Bz= T*Az; Ly1 =line(By(1,: ),By(2,: ),By(3,: ),'color','green'); pause(0.5) end for a=0.5:-0.05:0 T=transl(a,0,a); Bx= T*Ax; By= T*Ay; Bz= T*Az; Ly1 =line(By(1,: ),By(2,: ),By(3,: ),'color','green'); pause(0.5) end
Conclusiones: Se vio las caractersticas de un sistema de coordenadas y como trasladar y poder rotar en base a un sistema de coordenadas, tambin se pudo ver que con la traslacin y rotacin se puede hacer animacin de un objeto mediante un sistema de coordenadas. Bibliografa: Universidad politcnica de madrid Aprenda Matlab como si estuviera en primero Introduccin a la Robtica 3 Ed. - Craig, John J.