Está en la página 1de 7

1.

function [AI]= DenavitHartenber(theta,d,a,alpha) AI=[cos(theta) -cos(theta)*sin(theta) sin(theta)*sin(alpha) a*cos(theta); sin(theta) cos(alpha)*sin(theta) -sin(alpha)*cos(theta) a*sin(theta); 0 sin(alpha) cos(alpha) d; 0 0 0 1]

2.function [posicion]=posicion(q) A1=DenavitHartenber(pi/2,0,0.5,0); A2=DenavitHartenber(pi/4,0,0.3,0); TH=A1*A2 px=0.5*cos(q(1))+0.3*cos(q(1)+q(2)) manipulador px py=0.5*sin(q(1))+0.3*sin(q(1)+q(2)) manipulador py end

%Ecuacin cinemtica del %Ecuacin cinemtica del

a) posicion([0,0]) AI = 0.0000 -0.0000 1.0000 1.0000 0 0 AI = 0.7071 -0.5000 0.7071 0.7071 0 0 TH = 0.0000 -0.0000 1.4142 0.2071 0 0 0 1.0000 0 0 0.0000 0 0.9243 0 0 1.0000 0 0 0.2121 0 0.2121 0 0 1.0000 0 0 0.0000 0 0.5000 0

0 1.0000

0 1.0000

0 1.0000

px = 0.8000 py = 0

b) posicion([pi/4,pi/2]) AI = 0.0000 -0.0000 1.0000 1.0000 0 0 AI = 0.7071 -0.5000 0.7071 0.7071 0 0 TH = 0.0000 -0.0000 1.4142 0.2071 0 0 0 1.0000 0 0 0.0000 0 0.9243 0 0 1.0000 0 0 0.2121 0 0.2121 0 0 1.0000 0 0 0.0000 0 0.5000 0

0 1.0000

0 1.0000

0 1.0000

px = 0.1414 py = 0.5657 c) > posicion([-pi/6,pi/9]) AI = 0.0000 -0.0000 1.0000 1.0000 0 0 0 1.0000 0 0 0.0000 0 0.5000 0

0 1.0000

AI = 0.7071 -0.5000 0.7071 0.7071 0 0 TH = 0.0000 -0.0000 1.4142 0.2071 0 0 0 1.0000 0 0 0.0000 0 0.9243 0 0 1.0000 0 0 0.2121 0 0.2121 0

0 1.0000

0 1.0000

px = 0.7285 py = -0.3021

3)
function graficarobotplanar(q) q1=q(1); %Variable articular theta1 mximo q2=q(2); %Variable articular theta2 mximo Npuntos=10; %Nmero de puntos que se van a graficar L1=0.5; %Longitud del eslabn 1, en metros L2=0.3; %Longitud del eslabn 2, en metros pxy=[]; %Matriz vaca que ayudar a almacenar %los puntos ya recorridos for n=0:Npuntos %Inicio de bucle for th1=q1*n/Npuntos; %th1 va a variar desde 0-theta1 mximo th2=q2*n/Npuntos; %th1 va a variar desde 0-theta2 mximo px=L1*cos(th1)+L2*cos(th1+th2); %Ecuacin cinemtica del manipulador px py=L1*sin(th1)+L2*sin(th1+th2); %Ecuacin cinemtica del manipulador py Pact=[px; py]; %Posicin actual del efector final pxy=[pxy Pact]; %En cada punto de la trayectoria hay que %actualizar esta matriz, %aadindole una nueva columna con %el nuevo punto de la trayectoria, %pxy contiene puntos recorridos y %pact el punto actual x=[0 L1*cos(th1) px]; %Obtencin de los puntos para y=[0 L1*sin(th1) py]; %graficar los eslabones del robot plot(pxy(1,:), pxy(2,:), 'r') %Se dibuja la trayectoria del robot axis([-0.4 1 0 0.7]); %Se establecen los ejes de la grfica

hold on misma ventana plot(x,y,'o-') pause

%Permite dibujar otra grfica en la %Se dibujan los eslabones del robot %detiene la ejecucin del programa %hasta que se pulsa una tecla

if (n<Npuntos) clf sin end end

%borra el contenido de un grfico %eliminar la ventana correspondiente

a)

px = -0.3000 py = 0.5000 b)

px = 0.6433 py = -0.2759

C)

px = 0.2759 py = 0.6433 D)

4)
function graficarobotplanarII(q) q1=q(1); %Variable articular theta1 mximo q2=q(2); %Variable articular theta2 mximo q3=q(3); %Variable articular theta3 mximo Npuntos=10; %Nmero de puntos que se van a graficar L1=0.4; %Longitud del eslabn 1, en metros L2=0.3; %Longitud del eslabn 2, en metros L3=0.2; %Longitud del eslabn 2, en metros pxy=[]; %Matriz vaca que ayudar a almacenar %los puntos ya recorridos for n=0:Npuntos %Inicio de bucle for th1=q1*n/Npuntos; %th1 va a variar desde 0-theta1 mximo th2=q2*n/Npuntos; %th1 va a variar desde 0-theta2 mximo th3=q3*n/Npuntos; %th1 va a variar desde 0-theta3 mximo

px=L1*cos(th1)+L2*cos(th1+th2)+ L3*cos(th1+th2+th3); %Ecuacin cinemtica del manipulador px py=L1*sin(th1)+L2*sin(th1+th2)+L3*sin(th1+th2+th3); %Ecuacin cinemtica del manipulador py Pact=[px; py]; %Posicin actual del efector final pxy=[pxy Pact]; %En cada punto de la trayectoria hay que %actualizar esta matriz, %aadindole una nueva columna con %el nuevo punto de la trayectoria, %pxy contiene puntos recorridos y %pact el punto actual x=[0 L1*cos(th1) L2*cos(th2) px]; %Obtencin de los puntos para y=[0 L1*sin(th1) L2*sin(th2) py]; %graficar los eslabones del robot plot(pxy(1,:), pxy(2,:), 'r') %Se dibuja la trayectoria del robot axis([-0.4 1 0 0.7]); %Se establecen los ejes de la grfica hold on %Permite dibujar otra grfica en la misma ventana plot(x,y,'o-') %Se dibujan los eslabones del robot pause %detiene la ejecucin del programa %hasta que se pulsa una tecla if (n<Npuntos) clf sin end end

%borra el contenido de un grfico %eliminar la ventana correspondiente

a)

px = 0.4707 py = 0.3536

B)

px = 0.6364 py = 0.6364 C)

px = 0.7187 py = 0.2759

También podría gustarte