You are on page 1of 5

Universidad Manuela Beltrn. Amaya Mikhail, Vargas Jonathan.

Informe de laboratorio No 1 Robtica Industrial


Amaya, Mikhail Vargas, Jonathan.
jaly0112@hotmail.com, tataniximo@gmail.com
Universidad Manuela Beltrn

Informe laboratorio No. I Robtica Industrial

AbstractThis report contains the development of


practice number 1 industrial robotics course in which you
implement a graphical interface in Matlab using the guide
tool; on that interface is implemented code for calculating the
degrees of freedom of a robot using for this purpose the
formula Grbler
Trminos IndexadosArticulaciones, grados de libertad,
guide, formula de Grbler
.

numero de articulaciones ya sean rotativas,


prismticas, cilndricas, tornillo, planar, esfricas.
Para seleccionar el tipo de espacio se utiliza un
listbox el cual contiene dos opciones para
seleccionar el tipo de espacio: planar o espacial.
Adicionalmente se agrega otro edit text para
ingresar el nmero de eslabones y un static text el
cual arroja el resultado de los grados de libertad del
robot (ver Fig. 1).

I. INTRODUCCIN
En esta primera prctica de laboratorio
inicialmente se crean las herramientas de la interfaz,
como son los botones los cuadros de texto editables,
estticos y los dems posibles efectos que permiten
que la interfaz sea agradable para el usuario.
Posteriormente se desarrolla el anlisis de los datos
a calcular de acuerdo a los diferentes parmetros
que afectan el clculo de los grados de libertad de
un robot industrial, desde el nmero y tipo de
articulaciones, los grados de libertad para planar y
espacial y el nmero de eslabones que conforman el
robot.
Por ltimo damos paso a la creacin del cdigo en
matlab que permite de acuerdo a los datos
ingresados por el usuario en la interfaz grafica,
calcular los grados de libertad del robot. El cdigo
contiene las instrucciones que permiten que los
datos ingresados sean cargados en la ecuacin de de
Grbler
implementada
en
la
subrutina
correspondiente y visualizando el resultado en una
de las cajas de texto predefinidas para tal fin.
II. DESARROLLO DE LA PRCTICA
EXPERIMENTAL

A. Diseo
Con base en la gua de trabajo se genera un panel
el cual contiene 6 edit text que permiten ingresar el

Informe de Laboratorio de Robtica Industrial

Fig. 1. Interfaz grafica calculo de grados de libertad. Fuente


propia

Para el desarrollo del cdigo que permite calcular


los grados de libertad del robot, se implementa la
ecuacin de Grbler con los parmetros pertinentes
ingresados por el usuario y las restricciones
correspondientes a cada articulacin estas creadas
por medio de sentencias if y else en el segmento del
cdigo de cada parmetro), los cuales deben ser
llamados en la seccin correspondiente del cdigo
de la ecuacin en el editor.
El algoritmo se utiliza para la ecuacin de Grbler
viene dado por la ecuacin:

Universidad Manuela Beltrn. Amaya Mikhail, Vargas Jonathan. Informe de laboratorio No 1 Robtica Industrial

F= ( n j1 ) + fi[1]
i=1

Donde f es el nmero total de grados de libertad del


mecanismo, i es el nmero de vnculos (incluyendo
la base), n es el nmero total de articulaciones y fi es
el nmero de grados de libertad asociados con la isima articulacin [1].
En cuanto al cdigo y las sentencias utilizadas para
el desarrollo de la prctica en primer lugar se
crearon las respectivas funciones que capturan el
dato ingresado utilizando la sentencia handles que
es el identificador para recibir los datos con los
datos ya capturados y asignados en las variables se
crearon las restricciones que permitieran el clculo
correcto de los grados de libertad por medio de
sentencias if else. Por ltimo en el push botton de
resultado se
ingresa la formula de Grbler
llamando las variables que contienen los datos
necesarios para el clculo final.
Resultados
Una vez ingresados los datos correspondientes al
nmero de articulaciones rotativas, rotativas,
prismticas, cilndricas, tornillo, planar, esfricas en
los respectivos edit text hay que seleccionar del text
list el tipo de espacio planar o espacial e ingresar el
numero de eslabones posteriormente ya con todos
estos datos definidos por el usuario tras la ejecucin
del botn de resultado en el static text se devuelve
el resultado de toda la operacin final dando como
resultado el grado de libertad del robot
seleccionado.
Para efectos de resultados en la gua del laboratorio
se presentan dos ejemplos, los cuales nos permiten
analizar que las operaciones realizadas en el cdigo
del editor son correctas ingresando estos mismos
valores y realizando la respectiva comparacin del
ejemplo con el del programa creado en el
laboratorio (ver Fig. 2).

Informe de Laboratorio de Robtica Industrial

III. CONCLUSIONES
Conocer el tipo de movimiento que puede realizar
un robot facilita el manejo de las secuencias en un
proceso industrial ya que permite manejar tiempos y
espacios de una manera adecuada.
Utilizar el modelamiento con interfaz grafica en
Matlab crea un entorno agradable y de fcil
manipulacin para el usuario para diferentes tipos
de clculos y procesos.
REFERENCIAS

[1] John. C. Craig, Robotica, 3nd ed., Ed. Pearson Education,


2006, pp.243.

Universidad Manuela Beltrn. Amaya Mikhail, Vargas Jonathan. Informe de laboratorio No 1 Robtica Industrial

Informe de Laboratorio de Robtica Industrial

Universidad Manuela Beltrn. Apellido Autor1, Apellido Autor2. Informe de laboratorio Robtica Industrial.

ANEXOS
Cdigo Matlab
function varargout = Laboratorio1(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Laboratorio1_OpeningFcn, ...
'gui_OutputFcn', @Laboratorio1_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function Laboratorio1_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;

function edit2_Callback(hObject, eventdata, handles)


function edit2_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit3_Callback(hObject, eventdata, handles)


get(hObject,'String')

function edit3_CreateFcn(hObject, eventdata, handles)


if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

guidata(hObject, handles);

function varargout = Laboratorio1_OutputFcn(hObject, eventdata, handles)


varargout{1} = handles.output;

% --- Executes on selection change in listbox1.


function listbox1_Callback(hObject, eventdata, handles)
espacio=get(hObject,'Value')
if espacio==1
lan=3
elseif espacio==2
lan=6
end

function listbox1_CreateFcn(hObject, eventdata, handles)


if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit7_Callback(hObject, eventdata, handles)


e1=get(hObject,'String')
function edit1_Callback(hObject, eventdata, handles)
v1=get(hObject,'String')

function edit4_Callback(hObject, eventdata, handles)


function edit4_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit5_Callback(hObject, eventdata, handles)


get(hObject,'String')
function edit5_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit6_Callback(hObject, eventdata, handles)


get(hObject,'String')
function edit6_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% --- Executes on slider movement.


function slider1_Callback(hObject, eventdata, handles)

function edit1_CreateFcn(hObject, eventdata, handles)


if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

Informe de Laboratorio de Robtica Industrial

function slider1_CreateFcn(hObject, eventdata, handles)


if isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end

Universidad Manuela Beltrn. Apellido Autor1, Apellido Autor2. Informe de laboratorio Robtica Industrial.
end
%calculo
function edit7_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% --- Executes on button press in pushbutton1.


function pushbutton1_Callback(hObject, eventdata, handles)
v1=str2double(get(handles.edit1,'String'))
v2=str2double(get(handles.edit2,'String'))
v3=str2double(get(handles.edit3,'String'))
v4=str2double(get(handles.edit4,'String'))
v5=str2double(get(handles.edit5,'String'))
v6=str2double(get(handles.edit6,'String'))
e1=str2double(get(handles.edit7,'String'))
art=v1+v2+v3+v4+v5+v6
%lista
espacio=(get(handles.listbox1,'Value'))
if espacio==1
lan=3
elseif espacio==2
lan=6

Informe de Laboratorio de Robtica Industrial

if lan==3
fir=v1
fip=v2
fic=v3*2
fih=v4
fie=v5*0
fis=v6*0
fit=fir+fip+fic+fih+fie+fis
grados=(lan*(e1-1-art))+fit
elseif lan==6
fir=v1
fip=v2
fic=v3*2
fih=v4
fie=v5*3
fis=v6*3
fit=fir+fip+fic+fih+fie+fis
grados=(lan*(e1-1-art))+fit
end
set(handles.text10,'string',grados)

You might also like