You are on page 1of 9

UNIVERSIDAD MAYOR DE SAN SIMN FACULTAD DE CIENCIAS Y TECNOLOGA DEPARTAMENTO DE ELECTRICIDAD INGENIERA ELCTRICA ELECTRNICA

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

Laboratorio No. 1 MATLAB


Objetivos: Conocer y aplicar los recursos computacionales del lenguaje de programacin MATLAB a problemas de ndole matemtico en el rea de Robtica. Marco Terico: MATLAB es el nombre abreviado de MATrix LABoratory. MATLAB es un programa para realizar clculos numricos con vectores y matrices. Como caso particular puede tambin trabajar con nmeros escalares tanto reales como complejos, con cadenas de caracteres y con otras estructuras de informacin ms complejas. Una de las capacidades ms atractivas es la de realizar una amplia variedad de grficos en dos y tres dimensiones. MATLAB tiene tambin un lenguaje de programacin propio. MATLAB es un gran programa de clculo tcnico y cientfico. Para ciertas operaciones es muy rpido, cuando puede ejecutar sus funciones en cdigo nativo con los tamaos ms adecuados para aprovechar sus capacidades de vectorizacin. En otras aplicaciones resulta bastante ms lento que el cdigo equivalente desarrollado en C/C++ o Fortra.En cualquier caso, el lenguaje de programacin de MATLAB siempre es una magnfica herramienta de alto nivel para desarrollar aplicaciones tcnicas, fcil de utilizar y que, como ya se ha dicho, aumenta significativamente la productividad de los programadores respecto a otros entornos de desarrollo. MATLAB dispone de un cdigo bsico y de varias libreras especializadas (toolboxes). En estos apuntes se har referencia exclusiva al cdigo bsico.

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

Paso Nro 1 Traslacion

Paso Nro 2 Rotacin eje X

Paso Nro 3 Rotacion sobre el eje Z:

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

Ejecucin del programa mostrado en paso:

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.

You might also like