Subido por abigail.coraite

Scara

Anuncio
Ejemplo #1
Teniendo el siguiente sistema realizar la simulación:
Analizando el movimiento del robot se define los sistemas de coordenadas de la
siguiente manera:
En base a los sistemas de coordenadas y aplicando el algoritmo DH se obtienen los
parámetros característicos del robot:
Estos parámetros son introducidos en el programa de simulación de la siguiente
forma:
clc %Limpiar todo
%Cinemática directa de robot usando los parámetros D-H
%1. Resolviendo la matriz de transformación a partir de los parámetros
D-H
%Crea una articulación
%L(n)=Link ([th d a alpha Sigma]) -> Sigma=0 rotación; Sigma=1 prismático
q1=0;q2=0;q3=0;q4=0; %Valores iniciales para cada articulación
L(1)=Link([q1-(pi/2) 10 0 -pi/2 0]); %1ra Articulacion
L(2)=Link([-pi/2 q2 0 pi/2 1]); %2da Articulación
L(3)=Link([-pi/2 q3 0 0 1]); %3ra Articulación
L(4)=Link([q4 0 0 0 0]); %4° Etapa (Actuador)
Rob=SerialLink(L) %Crea la tabla de parámetros D-H
Rob.name='Scara'; %Le otorga un nombre al robot
t=Rob.fkine([q1 q2 q3 q4]) %devuelve la matriz de transformación
%-----------------------------------------------------------------------%2. Simulación del robot creado a partir de los parámetros D-H
%Ponemos restricciones de movimiento a cada articulación del robot
L(1).qlim = [0 pi]; %Coloca los límites de giro a la articulación
L(2).qlim = [0 20]; %Coloca los límites de deslizamiento a la articulación
L(3).qlim = [0 20]; %Coloca los límites de deslizamiento a la articulación
L(4).qlim = [0 pi]; %Coloca los límites de giro a la articulación
Rob.plotopt = {'workspace',...
[-80 80 -80 80 0 80]}; %delimita la dimensión del grafico
Rob.plot([q1,q2,q3,q4]); %Dibuja el robot en 3D
%-----------------------------------------------------------------------%Rob.teach %Añade el control deslizante (Control Manual)
%-----------------------------------------------------------------------%3. Simulación de movimiento del robot
%Simulación de movimiento
for q1=0:0.1:pi %Rotación de q1
Rob.plot([q1,q2,q3,q4]); %Grafico de las variables cada 0.01
pause(0.01)
end
%Fin de ciclo for
for q2=0:1:20 %Traslación de q2
Rob.plot([q1,q2,q3,q4]); %Grafico de las variables cada 0.01
pause(0.01)
end
%Fin de ciclo for
for q3=0:1:40 %Rotación de q3
Rob.plot([q1,q2,q3,q4]); %Grafico de las variables cada 0.01
pause(0.01)
end
%Fin de ciclo for
for q4=0:0.1:pi %Traslación de q4
Rob.plot([q1,q2,q3,q4]); %Grafico de las variables cada 0.01
pause(0.01)
end
%Fin de ciclo for
Simulación:
Ejemplo #2
Teniendo el siguiente sistema realizar la simulación:
En base a los sistemas de coordenadas y aplicando el algoritmo DH se obtienen
los parámetros característicos del robot:
Estos parámetros son introducidos en el programa de simulación de la siguiente
forma:
Clc %Limpiar todo
%Cinemática directa de robot usando los parámetros D-H
%1. Resolviendo la matriz de transformación a partir de los paramentos
D-H
%Crea una articulación
%L(n)=Link([th d a alpha Sigma]) -> Sigma=0 rotación; Sigma=1 prismático
q1=0;q2=0;q3=0;q4=0; %Valores iniciales para cada articulación
L(1)=Link([q1 25 0 0 0]); %1ra Articulación
L(2)=Link([pi/2 q2 0 pi/2 1]); %2da Articulación
L(3)=Link([0 q3 0 0 1]); %3ra Articulación
L(4)=Link([q4 15 0 0 0]); %4ta Articulación (Actuador)
Rob=SerialLink(L) %Crea la tabla de parámetros D-H
Rob.name='Scara'; %Le otorga un nombre al robot
t=Rob.fkine([q1 q2 q3 q4]) %devuelve la matriz de transformación
%-----------------------------------------------------------------------%2. Simulación del robot creado a partir de los parámetros D-H
%Ponemos restricciones de movimiento a cada articulación del robot
L(1).qlim = [0 pi]; %Coloca los límites de giro a la articulación
L(2).qlim = [0 40]; %Coloca los límites de deslizamiento a la articulación
L(3).qlim = [0 30]; %Coloca los límites de deslizamiento a la articulación
L(4).qlim = [0 pi]; %Coloca los límites de giro a la articulación
Rob.plotopt = {'workspace',...
[-80 80 -80 80 0 80]}; %delimita la dimensión del grafico
Rob.plot([q1,q2,q3,q4]); %Dibuja el robot en 3D
%-----------------------------------------------------------------------% Rob.teach %Añade el control deslizante
%-----------------------------------------------------------------------%3. Simulación de movimiento del robot
%Simulación de movimiento
for q1=0:0.1:pi %Rotación de q1
Rob.plot([q1,q2,q3,q4]); %Grafico de las variables cada 0.01
pause(0.01)
end
%Fin de ciclo for
for q2=0:1:40 %Traslación de q2
Rob.plot([q1,q2,q3,q4]); %Grafico de las variables cada 0.01
pause(0.01)
end
%Fin de ciclo for
for q3=0:1:30 %Rotación de q3
Rob.plot([q1,q2,q3,q4]); %Grafico de las variables cada 0.01
pause(0.01)
end
%Fin de ciclo for
for q4=0:0.1:pi %Traslación de q4
Rob.plot([q1,q2,q3,q4]); %Grafico de las variables cada 0.01
pause(0.01)
end
%Fin de ciclo for
Simulación:
Ejemplo #3
Teniendo el siguiente sistema realizar la simulación:
En base a los sistemas de coordenadas y aplicando el algoritmo DH se obtienen los
parámetros característicos del robot:
Estos parámetros son introducidos en el programa de simulación de la siguiente
forma:
Clc % Limpiar todo
%Cinematica directa de robot usando los parametros D-H
%1. Resolviendo la matriz de transformacion a partir de los paramentros
D-H
%Crea una articulacion
%L(n)=Link([th d a alpha Sigma]) -> Sigma=0 rotacion; Sigma=1 prismatico
q1=0;q2=0;q3=0;q4=-pi/2;q5=0;q6=-pi/2;q7=0;q8=0; %Valores iniciales para
cada articulacion
L(1)=Link([q1 10 0 pi/2 0]); % Articulacion para rotar el sistema
L(2)=Link([q2 0 0 -pi/2 0]); %1ra Articulacion
L(3)=Link([q3 40 0 pi/2 0]); %2da Articulacion
L(4)=Link([q4-(pi/2) 0 -20 pi/2 0]); %3ra Articulacion
L(5)=Link([q5 20 0 -pi/2 0]); %4ta Articulacion
L(6)=Link([q6 0 0 pi/2 0]); %5ta Articulacion
L(7)=Link([0 q7 0 0 1]); %6ta Articulacion
L(8)=Link([q8 0 0 0 0]); % Actuador
Rob=SerialLink(L) %Crea la tabla de parametros D-H
Rob.name='Scara'; %Le otorga un nombre al robot
t=Rob.fkine([q1 q2 q3 q4 q5 q6 q7 q8]) %devuelve la matriz de transformacion
%-----------------------------------------------------------------------%2. Simulacion del robot creado a partir de los parametros D-H
%Ponemos restircciones de movimiento a cada articulacion del robot
L(1).qlim = [0 pi]; % Rotacion del robot para simulacion
L(2).qlim = [-pi/2 pi/2]; %Coloca los limites de giro a la articulacion
L(3).qlim = [0 pi]; %Coloca los limites de giro a la articulacion
L(4).qlim = [-pi/2 0]; %Coloca los limites de giro a la articulacion
L(5).qlim = [0 pi]; %Coloca los limites de giro a la articulacion
L(6).qlim = [0 pi]; %Coloca los limites de giro a la articulacion
L(7).qlim = [0 25]; %Coloca los limites de deslizamiento a la articulacion
L(8).qlim = [0 pi]; %Actuador
Rob.plotopt = {'workspace',...
[-80 80 -80 80 0 80]}; %delimita la dimension del grafico
Rob.plot([q1,q2,q3,q4,q5,q6,q7,q8]); %Dibuja el robot en 3D
%-----------------------------------------------------------------------%Rob.teach %Añade el control deslizante
%-----------------------------------------------------------------------%3. Simulacion de movimieto del robot
%Simulacion de movimiento
for q1=0:0.1:0 %Rotacion de q1
Rob.plot([q1,q2,q3,q4,q5,q6,q7,q8]); %Grafico de las variables cada 0.01
pause(0.01)
end
%Fin de ciclo for
for q2=-pi/2:0.1:0 %Rotacion de q2
Rob.plot([q1,q2,q3,q4,q5,q6,q7,q8]); %Grafico de las variables cada 0.01
pause(0.01)
end
%Fin de ciclo for
for q3=0:0.1:pi/2 %Rotacion de q3
Rob.plot([q1,q2,q3,q4,q5,q6,q7,q8]); %Grafico de las variables cada 0.01
pause(0.01)
end
%Fin de ciclo for
for q4=-pi/2:0.1:-pi/2 %Rotacion de q4
Rob.plot([q1,q2,q3,q4,q5,q6,q7,q8]); %Grafico de las variables cada 0.01
pause(0.01)
end
%Fin de ciclo for
for q5=0:0.1:pi %Rotacion de q5
Rob.plot([q1,q2,q3,q4,q5,q6,q7,q8]); %Grafico de las variables cada 0.01
pause(0.01)
end
%Fin de ciclo for
for q6=-pi/2:0.1:0 %Rotacion de q6
Rob.plot([q1,q2,q3,q4,q5,q6,q7,q8]); %Grafico de las variables cada 0.01
pause(0.01)
end
%Fin de ciclo for
for q7=0:1:25 %Traslacion de q7
Rob.plot([q1,q2,q3,q4,q5,q6,q7,q8]); %Grafico de las variables cada 0.01
pause(0.01)
end
%Fin de ciclo for
for q8=0:0.1:pi %Rotacion de q8
Rob.plot([q1,q2,q3,q4,q5,q6,q7,q8]); %Grafico de las variables cada 0.01
pause(0.01)
end
%Fin de ciclo for
Simulacion:
Descargar