reporte examen 2

4
Centro de Ciencias de la Ingeniería Dpto. de Ingeniería Robótica Ingeniería Robótica Manipuladores roboticoa EXAMEN 2 PARCIAL: EMPLEO DE ROBOWORKS Luis Enrique García Jiménez 154644 Profesor: Dr. Cesar Chávez Olivares 7° SEMESTRE Aguascalientes, Ags. 18 DE NOVIEMBRE DE 2015

Upload: luis-enrique-garcia

Post on 12-Feb-2016

215 views

Category:

Documents


0 download

DESCRIPTION

o

TRANSCRIPT

Page 1: Reporte Examen 2

Centro de Ciencias de la Ingeniería

Dpto. de Ingeniería Robótica

Ingeniería Robótica

Manipuladores roboticoa

EXAMEN 2 PARCIAL:

EMPLEO DE ROBOWORKS

Luis Enrique García Jiménez 154644

Profesor: Dr. Cesar Chávez Olivares

7° SEMESTRE

Aguascalientes, Ags.

18 DE NOVIEMBRE DE 2015

Page 2: Reporte Examen 2

Ingeniería Robótica Instrumentación Industrial

Objetivos 1.- emplear el roboworks para realizar una simulación empleando archivos de matlab. 2.- programar la cinemática inversa de matlab y usarla para que el robot siga una trayectoria

I diseño de robot manipulador.

En la imagen 1 se puede observar el diseño del robot manipulador de 6 grados de libertad,

simulado con el uso de roboworks.

clc trayectoria =[0 50 40 40 50 40 40 30 40 0 30 40]; trayectoria2 =[0 50 20 20 50 20 20 30 20 0 30 20]; trayectoria3 =[0 50 20 20 -50 20 20 -30 20 0 -30 20];

Page 3: Reporte Examen 2

op=2; if (op==1) Qs= []; t=[0 0 -1];

for i=1:length(trayectoria) x=trayectoria(i,1); y=trayectoria(i,2); z=trayectoria(i,3); p=[x y z]; [Q1, Q2, Q3, Q4, Q5, Q6] = inversa(o,p,1); Qs=[Qs;Q1, Q2, Q3, Q4, Q5, Q6]; end end

if (op==2) Qs= []; t=[0 0 -1];

for i=2:length(trayectoria2) x=trayectoria2(i,1); y=trayectoria2(i,2); z=trayectoria2(i,3); p=[x y z]; [Q1, Q2, Q3, Q4, Q5, Q6] = inversa(o,p,1); Qs=[Qs;Q1, Q2, Q3, Q4, Q5, Q6]; end end if (op==3) Qs= []; t=[0 0 -1];

for i=1:length(trayectoria3) x=trayectoria3(i,1); y=trayectoria3(i,2); z=trayectoria3(i,3); p=[x y z]; [Q1, Q2, Q3, Q4, Q5, Q6] = inversa(o,p,1); Qs=[Qs;Q1, Q2, Q3, Q4, Q5, Q6]; end end

%%Generar archivos fid = fopen('dibujo3.dat','wt'); fprintf(fid, 'Q1\tQ2\tQ3\tQ4\tQ5\tQ6\n'); fprintf(fid,

'%5.5f\t%5.5f\t%5.5f\t%5.5f\t%5.5f\t%5.5f\n',[Qs(:,1)';Qs(:,2)';Qs(:,3)';

Qs(:,4)';Qs(:,5)';Qs(:,6)']); fclose(fid);

el código anterior realiza el dibujo de la trayectoria a seguir.

Page 4: Reporte Examen 2

function [Q1, Q2, Q3, Q4, Q5, Q6] = inversa(o,p,codo) m = p-6.*o; Q1=m(1);

L2 = 30; L3 = 35;

m(3)=m(3)-20; x=m(1); y=m(2); z=m(3);

D=(y^2+z^2-L2^2-L3^2)/(2*L2*L3);

if(codo) Q3=atan2(-sqrt(1-D^2),D); else Q3=atan2(sqrt(1-D^2),D); end Q2=atan2(z,y)-atan2(L3*sin(Q3),L2+L3*cos(Q3));

Q2=Q2-pi/2;

K=(o(2)*cos(Q2+Q3))-(o(1)*sin(Q2+Q3)); Q5=atan2(sqrt(1-(K^2)),K); Q4=atan2(-o(1)*cos(Q2+Q3)-o(2)*sin(Q2+Q3),-o(3)); Q6=0;

Q2=Q2+pi/2; Q3=-(Q3*180/pi); Q2=90-(Q2*180/pi); Q4=90-(Q4*180/pi) Q5=(Q5*180/pi)-Q2-Q3+90

La función anterior saca la inversa del robot