Segunda Evaluación Solution

9
Universidad Politécnica Salesiana Electiva I – Robótica Industrial Ing. Byron Lima Segunda Evaluación - Electiva I Grupo B Considere la siguiente conguración! Ubi"ue correctamente los e#es coordenados en cada articulación. X

description

Cinematica Inversa Robotica

Transcript of Segunda Evaluación Solution

Universidad Politcnica SalesianaElectiva I Robtica IndustrialIng. Byron Lima

Segunda Evaluacin - Electiva IGrupo BConsidere la siguiente configuracin:

Ubique correctamente los ejes coordenados en cada articulacin.

Considere:Y6 = -nN=-Y6

10cm80cm

Obtengan la tabla de parmetros D-H.

LinkadalphaTheta

10d1pi/2-pi/2

20d2pi/2pi/2

30d300

400pi/2Theta4+180

500-pi/2Theta5

60100Theta6

Utilizando MATLAB disee el robot mostrado.

Grafique y obtenga la matriz de transformacin homognea del robot considerando los siguientes valores articulares:

d1 = 20, d2 = 20, d3 = 10, 4 = 0, 5 = 0, 6 = 15

Calcule la posicin actual del extremo del robot.

(Observe la sombra del robot en el grfico anterior) Realice un programa que le permita al robot realizar los siguientes movimientos:

Movimiento rotativo de d1 de 20 hasta 45.

Movimiento rotativo de d2 de 20 hasta 45.

Movimiento rotativo de d3 de 10 hasta 20.

Movimiento rotativo de 4 de 0 hasta 25.

Movimiento rotativo de 5 de 0 hasta 60.

Movimiento rotativo de 6 de 15 hasta 360.

Calcule la posicin actual del extremo del robot despus de los movimientos mencionados.

Considere el punto P que se encuentra alejado de la base del robot a travs del vector [50,50,50]. Calcule el vector que exprese la distancia de P respecto al extremo del robot (coordenadas [n,o,a]). Considere la postura final del robot para este clculo.

Considere el punto P que se encuentra alejado del extremo del robot a travs del vector [40,40,40] en coordenadas [n,o,a]. Calcule el vector que exprese la distancia de P respecto la base del robot. Considere la postura final del robot para este clculo.

Anexo:Cdigo en MatLab (Utilice el Toolbox de Robtica de Peter Corke)%Electiva I - Cinemtica Directa%Solucin del Taller%Ejercicio2 - Robot PPPRRR (Robot Cartesiano con Herramienta Esfrica)%Ing. Byron Lima %% Inicializacinclcclose allclear all%% Definicin de los parmetros D-HL1 = Link('a',0,'alpha',pi/2,'theta',-pi/2); %Eslabn1L1.sigma = 1; %Articulacin PrismticaL2 = Link('a',0,'alpha',pi/2,'theta', pi/2); %Eslabn2L2.sigma = 1; %Articulacin PrismticaL3 = Link('a',0,'alpha', 0,'theta', 0); %Eslabn3L3.sigma = 1; %Articulacin PrismticaL4 = Link('a', 0,'d', 0,'alpha', pi/2,'offset',pi); %Eslabn4L5 = Link('a', 0,'d', 0,'alpha',-pi/2); %Eslabn5L6 = Link('a', 0,'d', 10,'alpha', 0); %Eslabn6% Concatenar eslabonesRobot_PPPRRR = SerialLink([L1 L2 L3 L4 L5 L6],'name','Robot1X');%% Grfica de Postura Inicial% Valores articulares para la grficad1 = 20; d2 = 20;d3 = 10; theta4 = 0; theta5 = 0;theta6 = 0;w = [-50 50 -50 50 -50 50]; %Espacio de trabajofigure(1);Robot_PPPRRR.plot([d1 d2 d3 theta4 theta5 theta6],'workspace',w);title('Robot PPPRRRR: d1=20, d2=20, d3=10, theta4=0, theta5=0, theta6=0');%% Grfica de Postura Asignadatheta6 = 15*pi/180;figure(2);Robot_PPPRRR.plot([d1 d2 d3 theta4 theta5 theta6],'workspace',w);title('Robot PPPRRRR: d1=20, d2=20, d3=10, theta4=0, theta5=0, theta6=15');%% Posicin actual del Robot (Antes de los movimientos)T = Robot_PPPRRR.fkine([d1 d2 d3 theta4 theta5 theta6]);Ptool = T(1:3,4)%% Movimientos por articulacinfigure(3);for d1 = 20:0.5:45Robot_PPPRRR.plot([d1 d2 d3 theta4 theta5 theta6],'workspace',w);endtitle('Robot PPPRRRR: d1=45, d2=20, d3=10, theta4=0, theta5=0, theta6=15');for d2 = 20:0.5:45Robot_PPPRRR.plot([d1 d2 d3 theta4 theta5 theta6],'workspace',w);endtitle('Robot PPPRRRR: d1=45, d2=45, d3=10, theta4=0, theta5=0, theta6=15');for d3 = 10:0.5:20Robot_PPPRRR.plot([d1 d2 d3 theta4 theta5 theta6],'workspace',w);endtitle('Robot PPPRRRR: d1=45, d2=45, d3=20, theta4=0, theta5=0, theta6=15');for theta4 = 0:0.1:25*pi/180;Robot_PPPRRR.plot([d1 d2 d3 theta4 theta5 theta6],'workspace',w);endtitle('Robot PPPRRRR: d1=45, d2=45, d3=20, theta4=25, theta5=0, theta6=15');for theta5 = 0:0.1:60*pi/180;Robot_PPPRRR.plot([d1 d2 d3 theta4 theta5 theta6],'workspace',w);endtitle('Robot PPPRRRR: d1=45, d2=45, d3=20, theta4=25, theta5=60, theta6=15');for theta6 = 0:0.1:2*pi;Robot_PPPRRR.plot([d1 d2 d3 theta4 theta5 theta6],'workspace',w);endtitle('Robot PPPRRRR: d1=45, d2=45, d3=20, theta4=25, theta5=60, theta6=375');%% Posicin actual del Robot (Despus de los movimientos)T = Robot_PPPRRR.fkine([d1 d2 d3 theta4 theta5 theta6]);Ptool = T(1:3,4)%% Clculo del punto P1 (dado en el sistema base)P1base = [50;50;50]P1base = [P1base;1];P1tool = inv(T)*P1base;P1tool = P1tool(1:3,1); n = -P1tool(2,1); %n=-y6o = P1tool(1,1); %o= x6a = P1tool(3,1); %a= z6P1tool = [n;o;a] %Coordenadas del punto en el sistema noa%% Clculo del punto P2 (dado en el sistema noa)n=40; o=40; a=40;P2tool = [n;o;a] %Coordenadas del punto en el sistema noaP2tool(2,1) =-n; %y6=-nP2tool(1,1) = o; %x6= oP2tool(3,1) = a; %z6= aP2tool = [P2tool;1];P2base = T*P2tool;P2base = P2base(1:3,1)