0% encontró este documento útil (0 votos)
150 vistas10 páginas

Cálculo de Coordenadas en Robots SCARA

El documento describe el modelado matemático de los robots RV-2AJ y SCARA usando coordenadas cartesianas en MATLAB. Se ingresan los parámetros geométricos de los brazos robóticos y ángulos de articulación, y se calculan las posiciones x, y, z resultantes. También se grafican los modelos 3D de los robots.

Cargado por

Steven Dave QR
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
150 vistas10 páginas

Cálculo de Coordenadas en Robots SCARA

El documento describe el modelado matemático de los robots RV-2AJ y SCARA usando coordenadas cartesianas en MATLAB. Se ingresan los parámetros geométricos de los brazos robóticos y ángulos de articulación, y se calculan las posiciones x, y, z resultantes. También se grafican los modelos 3D de los robots.

Cargado por

Steven Dave QR
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Diseño y Fabricación Digital de Mecanismos

VI Ciclo

Laboratorio N°2
“Coordenadas cartesianas, polares y cilíndricas”
Informe
Integrantes:
Apellidos y Nombres Sección Grupo
Vizcarra Armaccancce, Alex C16 B
Lino Maravi, Emmanuel C16 B

Profesor:
Chavez Luna, Miguel Angel

Fecha de realización:6/03/19

Fecha de entrega: 13/03/19

Lima-Perú

2019-I
Introducción
Robot SCARA

El primer robot SCARA fue creado como un prototipo revolucionario en 1978, en la Universidad
de Japón. La SCARA de 4 ejes fue diseñado como ningún otro brazo robótico en ese tiempo.

Estos robots pueden variar en forma y tamaño, pero todos los robots SCARA consisten en 4 ejes.
Estos robots sobresalen en la labor PICK and Place con su habilidad única para tomar
componentes industriales de un lugar y colocarlos en otro con alta precisión, velocidad y un
movimiento suave.

ROBOT RV-2AJ
PROCEDIMIENTO

Calculo de las coordenadas en 4 ejes

Modelamiento matemático en MATLAB

clc
clear all
close all
clc
% ingreso de longitudes
L0 = 300;
L1 = 250;
L2 = 160;
L3 = 195;
a = L0 + L1 + L2 + L3;
par.L0 = L0; par.L1 = L1 ; par.L2 = L2 ; par.L3 = L3;
%entrada de valores
entrada = inputdlg({'j1:','j2:','j3:','j4:'}); j1 =
str2num(entrada{1});
j2 = str2num(entrada{2}); j2 = j2 + 90;
j3 = str2num(entrada{3});
j4 = str2num(entrada{4});
j5 = 0;
SUBRUTINA
% Posicion
[x,y,z] = Forward_Arm(j1,j2,j3,j4,j5,par);
msgbox(sprintf('Posicion en coordenadas cartaesiandas: \n x =
%.2f\n y = %.2f\n z = %.2f\n',x,y,z));
% plot
figure; grid on; hold on;
plot3([0,0],[0,0],[0,L0],'-b','LineWidth',2);
x1 = -L1*cosd(j2)*cosd(j1);
y1= -L1*cosd(j2)*sind(j1);
z1 = L0+L2*sind(j2);
plot3([0,x1],[0,y1],[L0,z1],'-k','LineWidth',2);
x2 = -(L1*cosd(j2)+L2*cosd(j3+j2))*cosd(j1);
y2 = -(L1*cosd(j2)+L2*cosd(j3+j2))*sind(j1);
z2 = L0+L1*sind(j2)+L2*sind(j3+j2);
plot3([x1,x2],[y1,y2],[z1,z2],'-g','LineWidth',2);
plot3([x2,x],[y2,y],[z2,z],'-r','LineWidth',2);
axis([-1.5*a 1.5*a -1.5*a 1.5*a -1.5*a 1.5*a]);
axis square
Subrutina ROBOT ARM

function [x,y,z]= Forward_Arm(j1,j2,j3,j4,j5,par)


% th1: angulo de brazo 1
% th2: angulo de brazo 2
% th4: angulo de brazo 4
% d0: desplazamiento base
% d3: desplazamiento de brazo 3
% d4: desplazamiento de brazo 4
% a1: longitud de brazo 1
% a2: longitud de brazo 2

% Tres angulos
L0 = par.L0;
L1 = par.L1;
L2 = par.L2;
L3 = par.L3;
x0=0;
y0=0;
z0=L0;

% Posicion [x y z] %% MODIFICAR LAS CORDENADAS CARTECIANAS


x =x0-(L1*cosd(j2)+L2*cosd(j2+j3)+L3*cosd(j2+j3+j4))*cosd(j1);
y =y0-(L1*cosd(j2)+L2*cosd(j2+j3)+L3*cosd(j2+j3+j4))*sind(j1);
z =z0+(L1*sind(j2)+L2*sind(j2+j3)+L3*sind(j2+j3+j4));
Ejercicio 2:

Modelo matemático en MATLAB

clc
clear all
close all
a1=60;
a2=40;
a0=45;
a4=10;
a=a1+a2;
% Entrada
entrada =
inputdlg({'theta1:','theta2:','theta3:','desplazamiento:'});
theta(1) =str2num(entrada{1});
theta(2) =str2num(entrada{2});
theta(3) =str2num(entrada{3});
d3=str2num(entrada{4});
%posicion
[R,x,y,z] = Forward_SCARA_Cart(theta,d0,d3,d4,a1,a2);
msgbox(sprintf('Posicion en coordenadas cartesianas:\n
x=%.2f\n y =%.2f\n z=%.2f\n',x,y,z));
%plot
figure;grid on; hold on;
plot3 ([0,0],[0,0],[0,d0], '-b', 'LineWidth' ,2); %base
x1=a1*cosd(theta(1));
y1=al*sind(theta(1));
z1=d0;
plot3 ([0,x1],[0,y1],[d0,z1], '-k', 'LineWidth' ,2)% brazo 1
x2=a1*cosd(theta(1))+a2*cosd(theta(1)+theta(2));
y2=al*sind(theta(1))+a2*sind(theta(1)+theta(2));
z2=d0;
plot3([x1,x2],[y1,y2],[z1,z2], '-g', 'LineWidth' ,2);% brazo
2
z3 = (d0-d3-d4);
plot3([x2,x2],[y2,y2],[z2,z3],'-r', 'LineWidth' ,2);
axis([-1.5*a 1.5*a -1.5*a -1.5*a 1.5*a])
axis square
Localizacion del robot usando coordenadas cartesianas
function[R,x,y,z]=Forward_SCARA_Cart(theta,d0,d3,d4,a1,a2)
% th1: angulo de brazo 1
% th2: angulo de brazo 2
% th4: angulo de brazo 4
% d0: desplazamiento base
% d3: desplazamiento de brazo 3
% d4: desplazamiento de brazo 4
% a1: longitud de brazo 1
% a2: longitud de brazo 2
%Tres Angulos
th1=theta(1);
th2=theta(2);
th4=theta(3);
%Posicion [x y z]
x = ((a1*cosd(th1))+(a2*cosd(th1+th2)));
y = ((a1*sind(th1))+(a2*sind(th1+th2)));
z = (d0-d3-d4);
%Rotacion total
alpha=th1+th2-th4;
%Matriz de rotacion
R=[cosd(alpha),sind(alpha),0;sind(alpha),-cosd(alpha),0;0,0,-1];

%
EN LABVIEW

CODIGO FUENTE

X0=0;
Y0=L1;
X1=L2*cos(A*0.0017);
Y1=L1+L2*sin(A*0.0017);
X2=L2*cos(A*0.017)+L3*cos((A+B)*0.017);
Y2=L1+L2*sin(A*0.017)+L3*sin((A+B)*0.017);
X3=L2*cos(A*0.017)+L3*cos((A+B)*0.017)+L4*cos((A+B+C)*0.017);
Y3=L1+L2*sin(A*0.017)+L3*sin((A+B)*0.017)+L4*sin((A+B+C)*0.017);
ZZ1=Y1+L1;
ZZ2=Y2+L1;
ZZ3=Y3+L1;
XX1=X1*cos(C*0.017);
XX2=X2*cos(C*0.017);
XX3=X3*cos(C*0.017);
YY1=X1*sin(C*0.017);
YY2=X2*sin(C*0.017);
YY3=X3*sin(C*0.017);
OBSERVCIONES
• Se debe tener conocimientos de geometría básica para el desarrollo de las ecuaciones
que definirán los movimientos del robot.
• El comando str2num convierte caracteres que ingresamos como una matriz numérica.
• El comando msgbox crea un cuadro de diálogo de mensaje.
• El comando inputdlg crea un cuadro en la que podemos ingresar valores de entrada,
como parámetros entre otros y las guarda en una matriz que posteriormente
direccionamos a variables x.

CONCLUSIONES
• Se concluyó que para hacer la simulación de las articulaciones o movimiento que
realiza un robot, más el seguimiento de estos en un plano, se debe tener
conocimientos claros de geometría básica, ya que lo que se busca es controlar
ángulos y desplazamientos lineales conociendo la posición en la que se encuentra
el gripper del robot, es decir el último punto de este. Así mismo, se comprendió el
funcionamiento de los comandos inputdlg, str2num, msgbox para desarrollar
nuestro programa en el software Matlab y se logró modelar y simular los robots RV-
2AJ y SCARA en dicho programa.

También podría gustarte