reporte examen 2
DESCRIPTION
oTRANSCRIPT
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
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];
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.
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