You are on page 1of 17

DISEO E IMPLEMENTACIN DE UN

BRAZO ROBTICO DE 6GDL

Luis Antonio Avila Lozano, Luis Gerardo Carrin Robles,


William Figueroa Meja, Joan Jimnez Melo
Escuela profesional de Ingeniera Mecatrnica
Facultad de Ingeniera Mecnica
Universidad Nacional de Ingeniera

Resumen El presente proyecto trata acerca del diseo, industrial en el cual va a trabajar. Los tipos ms
implementacin y programacin de un prototipo de un brazo comunes de brazos robticos industriales son:
robotico de seis grados libertad para diversas aplicaciones.

El presente paper presenta el proceso de diseo usando el Robot cartesiano: Usado para trabajos de
software Soliworks 2016, posteriormente la construccin y pick and place (tomar y colocar),
mecanismos del brazo con la descripcin detallada de cada aplicacin de impermeabilizantes,
una de sus elementos mecnicos y elementos de unin, operaciones de ensamblado, manipulacin de
posteriormente trata acerca de la programacin del brazo mquinas herramientas y soldadura por arco.
robtico usando el software Matlab 2015 y la tarjeta Es un robot cuyo brazo tiene tres
electrnica Arduino con su interfaz IDE. articulaciones prismticas, cuyos ejes son
coincidentes con los ejes cartesianos.
Tambin el presente paper incluye el desarrollo del cdigo
para poder mover los servomotores un ngulo determinado
por el usuario. Robot cilndrico: Usado para operaciones de
ensamblaje, manipulacin de mquinas
El prototipo fsico del brazo es de 5 grados de libertad el herramientas, soldadura por punto, y
cual es muy til para cualquier movimiento que se quiera manipulacin en mquinas de fundicin a
realizar o cualquier tarea que se le quiera asignar. presin. Es un robot cuyos ejes forman un
sistema de coordenadas cilndricas.

Palabras Claves: brazo robtico, servomotor, software, Robot esfrico / Robot polar, tal como el
prototipo. robot Unimate usado en la manipulacin en
mquinas herramientas, soldadura por punto,
fundicin a presin, mquinas de
I. INTRODUCCION desbarbado, soldadura por gas y por arco. Es
un robot cuyos ejes forman un sistema polar
Los robots industriales son utilizados en una variedad de coordenadas.
de aplicaciones en los procesos de manufactura para
realizar trabajos como pintado, paletizado, abrir Robot SCARA: Usado para trabajos de
puertas, empacar cajas y una variedad ms de pick and place (tomar y colocar),
aplicaciones que se pueden realizar con los robots aplicacin de impermeabilizantes,
industriales. operaciones de ensamblado y manipulacin
Dentro de la amplia gama de robots industriales que de mquinas herramientas. Es un robot que
se pueden implementar los ms verstiles son los tiene dos articulaciones rotatorias paralelas
brazos robticos. para proporcionar elasticidad en un plano.
Los brazos robticos pueden ser implementados con
diversas cantidades de grados de libertad dependiendo
de la aplicacin para el cual va destinado o el sector
Robot articulado: Usado para operaciones Los brazos robticos en la actualidad son muy tiles
de ensamblaje, fundicin a presin, mquinas para una gran variedad de aplicaciones ya se a nivel
de desbarbado, soldadura a gas, soldadura industrial o en aplicaciones biomdicas.
por arco, y pintado en spray. Es un robot A travs de prototipos diseados con el software CAD
cuyo brazo tiene como mnimo tres Solidworks 2016 se implementa el brazo robtico
articulaciones rotatorias. utilizando como material para el prototipo fsico una
madera tipo trupan MDF de 4 milmetros ya que
Robot paralelo: Uno de los usos es la plataforma debido al costo que demanda una impresin en 3D se
mvil que manipula las cabinas de los simuladores de opta por un material ms econmico.
vuelo. Es un robot cuyos brazos tienen articulaciones La implementacin se realiz tomando como
prismticas o rotatorias concurrentes. referencia los brazos robots utilizados a escala
industrial.
Robot Antropomrfico: Muy til en las aplicaciones
biomdicas, los cuales pueden servir de prtesis en
aquellas personas que han perdido una extremidad.
HARDWARE Y SOFTWARE

El software utilizado para el diseo del prototipo


ANTECEDENTES DEL PROYECTO fsico es el Solidwork 2016, para la programacin del
El proyecto de implementacin de un brazo robtico cdigo que controla los servomotores Matlab 2015 y
surge un trabajo en el cual se va a probar los como hardware se us la tarjeta electrnica Arduino
conocimientos adquiridos a lo largo del curso, y a UNO.
comprobar las ecuaciones de la cinemtica y dinmica
de un sistema multicuerpo. 1, MATLAB
DESCRIPCION DEL PROYECTO MATLAB (abreviatura de MATrix LABoratory,
Teniendo los valores de las posiciones y velocidades "laboratorio de matrices") es una herramienta de
finales del extremo final de un brazo robtico software matemtico que ofrece un entorno de
calcular los valores de velocidad que se le deben dar desarrollo integrado (IDE) con un lenguaje de
a las articulaciones aplicando las ecuaciones de la programacin propio (lenguaje M). Est disponible
cinemtica inversa. para las plataformas Unix, Windows, Mac OS X y
GNU/Linux.
OBJETIVOS DEL DISEO Y CONSTRUCCIN Entre sus prestaciones bsicas se hallan: la
DEL SISTEMA manipulacin de matrices, la representacin de datos
y funciones, la implementacin de algoritmos, la
Objetivo general. creacin de interfaces de usuario (GUI) y la
comunicacin con programas en otros lenguajes y con
Disear, construir, y programar un brazo robot de otros dispositivos hardware. El paquete MATLAB
cinco grados de libertad para poder ser controlado con dispone de dos herramientas adicionales que
una interfaz de matlab y arduino. expanden sus prestaciones, a saber, Simulink
(plataforma de simulacin multidominio) y GUIDE
Objetivos particulares (editor de interfaces de usuario - GUI). Adems, se
pueden ampliar las capacidades de MATLAB con las
Disear e implementar un prototipo fsico de un cajas de herramientas (toolboxes); y las de Simulink
brazo robtico empleando el software de diseo con los paquetes de bloques (blocksets).
Solidwork 2016.
Calcular los costos y requerimientos para la
implementacin del prototipo fsico para el brazo
robtico.
Realizar el clculo de los pesos y velocidades de los
servomotores empleando cinemtica directa.
Programar los servos usando un software de control
como Matlab 2015 y tambin modelarlo con la
aplicacin Simulink.

JUSTIFICACION DEL DISEO


Fig. 1 software:Matlab

2. PLATAFORMA DE ARDUINO

Arduino es una plataforma de hardware libre, basada Fig. 2: Placa arduino UNO
en una placa con un microcontrolador y un entorno de
desarrollo, diseada para facilitar el uso de la
electrnica en proyectos muy variados en muchas 3. SOLIDWORKS
aplicaciones. El hardware consiste en una placa con
un microcontrolador Atmel AVR y puertos de SolidWorks es un software CAD (diseo asistido por
entrada/salida.4. computadora) para modelado mecnico en 3D,
desarrollado en la actualidad por SolidWorks Corp.,
Arduino se puede utilizar para desarrollar proyectos una filial de Dassault Systmes S.A. (Suresnes,
interactivos autnomos o puede ser conectado a Francia), para el sistema operativo Microsoft
software tal como Adobe Flash, Processing, Windows. Su primera versin fue lanzada al mercado
Max/MSP, Pure Data. Las placas se pueden montar a en 1995 con el propsito de hacer la tecnologa CAD
mano o comprarse. El entorno de desarrollo integrado ms accesible para todos los que trabajan en
IDE libre se puede descargar gratuitamente de la ingeniera.
pgina de arduino.
El programa permite modelar piezas y conjuntos y
Arduino puede tomar informacin del entorno a travs extraer de ellos tanto planos tcnicos como otro tipo
de sus entradas analgicas y digitales, puede controlar de informacin necesaria para la produccin. Es un
luces, motores y otros actuadores. El programa que funciona con base en las nuevas
microcontrolador en la placa Arduino se programa tcnicas de modelado con sistemas CAD. El proceso
mediante el lenguaje de programacin Arduino consiste en trasvasar la idea mental del diseador al
(basado en Wiring) y el entorno de desarrollo Arduino sistema CAD, "construyendo virtualmente" la pieza o
(basado en Processing). Los proyectos hechos con conjunto. Posteriormente todas las extracciones
Arduino pueden ejecutarse sin necesidad de conectar a (planos y ficheros de intercambio) se realizan de
un ordenador. manera bastante automatizada.

Tambin cuenta con su propio software que se puede


descargar de su pgina oficial que ya incluye los
drivers de todas las tarjetas disponibles lo que hace
ms fcil la carga de cdigos desde el computador.

Fig. 3: Interfaz de Solidworks 2016


del slido del robot y sus respectivos grados de
liberad. Esa librera se obtuvo de la paina oficial de
Mathworks.
5. SERVOMOTOR Despus de haber importado el slido y haber hecho
el diagrama de bloques, se puede controlar el robot
Un servomotor (tambin llamado servo) es un utilizando un controlador PID (Proporcional, integral,
dispositivo similar a un motor de corriente continua derivativo) que usa una realimentacin unitaria frente
que tiene la capacidad de ubicarse en cualquier a una entrada escaln.
posicin dentro de su rango de operacin, y Para poder apreciar el control al que est sometido
mantenerse estable en dicha posicin.1 nuestro brazo robot simulado se utiliza el scope, en el
cual se puede visualizar si la planta controlada est
Un servomotor es un motor elctrico que puede ser logrando la estabilidad con el controlador PID. En la
controlado tanto en velocidad como en posicin. Es figura 5 se muestra el respectivo seguimiento de la
posible modificar un servomotor para obtener un curva de salida a la curva de entrada de la juna 1.
motor de corriente continua que, si bien ya no tiene la
capacidad de control del servo, conserva la fuerza,
velocidad y baja inercia que caracteriza a estos
dispositivos.

Est conformado por un motor, una caja


reductora y un circuito de control. Tambin
potencia proporcional para cargas mecnicas. Un
servo, por consiguiente, tiene un consumo de
energa reducido

Fig. 5: Control del brazo robtico en Simulink

1. DISEO EN SOLIDWORK 2016

El robot fue diseado usando el software CAD


SolidWorks 2016, la forma de disearlo fue primero
cada una de sus piezas para posteriormente en un solo
archivo CAD poder ensamblar todas sus piezas y
Fig. 4: Servomotor MG995 de 12 kg obtener el brazo robtico ya finalizado.
II. DESARROLLO Y FUNCIONAMIENTO El diseo de cada pieza fue de acuerdo a las medidas
DEL PROYECTO tomadas y tomando en consideracin el espesor de la
madera que se compr. Las longitudes de las piezas
1. SIMULACIN CON CONTROLADOR determinadas de acuerdo a la densidad de la madera y
PID los pesos y torques de los servomotores para poder
Para el propsito de simular y controlar nuestro brazo garantizar que el brazo robtico se iba a poder mover
robot conforme a la aplicacin para la que se plane adecuadamente ya que al tener una longitud ms
utilizarlo, usamos la interfaz de simulink, importando grande se genera un mayor torque, lo cual puede
un diseo de nuestro brazo robot hecho con el ocasionar que el brazo robtico se vuelque.
SolidWorks para poder verlo en Matlab, eso se hizo
gracias a la librera simmechanics la cual nos permite
importar un slido, en nuestro caso desde Solidworks
2016 hacia Matlab y mediante un comando poder
conseguir el diagrama de bloques de la composicin
Fig. 8: Espaciadores usados en la base

En esta parte se fijara toda las dems partes (piezas


de la base) y la parte electrnica de nuestro proyecto.
La segunda es el disco sin movimiento, el cual est
debajo de la base principal y es donde se fija el servo
de la base de capacidad 12 kg de torque.

Fig. 6: Perfil del Brazo - Solidworks

1.1 Composicin del brazo robtico

El brazo se compone de cuatro partes muy


importantes: la base, el brazo, el antebrazo y la pinza.
Todas las piezas del brazo son de madera MDF
cortado a la medida en una mquina cortadora a lser.
Esta madera por su espesor y por su densidad fue
elegida por que permite que el brazo robtico sea
ligero y que los servomotores usados no sean
necesariamente de una gran capacidad.
Fig. 9: Perfil de la Base - Solidworks

En la base principal se ubica el disco giratorio que


se ubica conectado a la estrella del servo. Este es el
que permite que el brazo pueda girar de acuerdo a la
programacin.

En la parte superior de la base se encuentran unas


ranuras por donde se va a colocar los soportes de los
servomotores que harn girar los brazos del robot. Los
soportes fueron fijados a la base con un pegamento
especial, a su vez son fijados entre ellos con un perno
de 2 pulgadas de longitud.

Fig. 7: Plancha de Madera MDF

1.1.1 Base

La base del brazo robtico se compone de tres partes.


La primera es la pieza ms grande que ira empernada
a la plancha de presentacin del brazo.
Fig. 12: Perfil del Brazo - Solidworks
Fig. 10: Soporte de los servos del brazo
Luego a los servos que van a formar la parte inicial
1.1.2 Brazo del brazo, estn acoplados dos placas paralelas que
permiten la transmisin del movimiento para luego
El brazo es la parte que se encuentra en la parte unirse en lo que sera el codo.
superior de la base principal y esta acoplada a dos
servomotores de 12 Kg de capacidad, los cuales a su 1.1.3 Antebrazo
vez estn acoplados a los soportes fijados en la base
principal. El antebrazo es la pieza que se encuentra del codo a la
mueca, y se construy con la unin de 2 servos en
Los brazos tambin estn unidos entre ellos con 4 los extremos de dos placas paralelas sin movimiento.
pernos de 1/8 de dimetro y 2 pulgadas de longitud,
con la finalidad de darle una mayor estabilidad al
movimiento y garantizar que los brazos robticos se
muevan juntos .

Fig.13: Perfil del Antebrazo - Solidworks

1.1.4 Mueca

Fig. 11: Diseo del brazo Esta parte del proyecto consta de dos servos que le
dan un movimiento de rotacin y traslacin respecto
Las dimensiones fueron diseadas calculando el al punto final del antebrazo.
torque que ocasiona el servo en la parte superior del
antebrazo y el gripper.
de madera con una alta densidad para de esa manera
garantizar que esa base de madera sea pesada.

Fig.14: Perfil de la Mueca - Solidworks

1.1.4 Gripper

La pieza final de nuestro brazo robtico y quizs la


ms importante cuando lleva a cabo una determinada
funcin es la pinza, est ubicada en la parte final del
brazo y va unido al antebrazo mediante un servo que Fig. 16: Brazo y Base
le permite el movimiento de abrir y cerrar para que
pueda cumplir su funcin de coger algn objeto.
Posteriormente, despus de armar la base se coloca el
primer brazo con su respectivo servomotor, este
servomotor funcionar emulando a la articulacin de
un hombro dndole movimiento de rotacin al brazo
robtico, el eje o flecha de este servomotor va
montado sobre la base mvil.

Fig.15: Perfil de la Pinza - Solidworks

Para su construccin primero se hizo los engranajes,


que son los que permiten el abrir y cerrar de la pinza.
Una de las partes del engranaje va unido al servo para
que de esta manera pueda realizar su funcin, los
engranajes van unido a una placa tal como se muestra
en la figura, y es la placa la que realmente va unida al Fig. 17: Perforando la base del brazo robot
antebrazo

2. IMPLEMENTACION Procediendo con la implementacin sobre la base


mvil antes mencionada se fijan los dos servos que
Para proceder con la implementacin se tiene que permitir el movimiento del brazo, para ir con las dos
realizar mediante tornillos y pernos de variedad de placas paralelas que conforman el brazo, estas estn
tamaos, as como un poco de silicona para asegurar formadas por un juego de pernos colocados de manera
ciertas zonas, estratgica para amortiguar el peso superior.
Lo primero que se hizo fue cortar la plancha de
madera MDF mediante rayos laser con las
especificaciones de cada pieza (dimensiones).
Para iniciar con la implementacin fsica como en
todo trabajo se comienza por la base, construyendo
una base slida, en nuestro caso se opt por una pieza
Fig. 18: Armando el brazo y el antebrazo

Fig. 20: Gripper

Despus se prueba en cada una de las partes su


funcionamiento, porque sucede que en algunas
ocasiones se traban los servomotores o la placa de
arduino deja de funcionar correctamente por falta de
alimentacin, para lo cual se necesitara utilizar una
fuente de alimentacin externa para el arduino aparte
de los 5V dados por el puerto USB.

Ya casi finalizando la implementacin del brazo


robtico se procede con la unin del antebrazo al
brazo, mediante el servo que presenta el primero,
quedando fijo con unos tornillos pequeos.

Fig. 19: Brazo y antebrazo

El antebrazo se implementa similar a la forma anterior


ya que en este caso las placas paralelas tienen dos
orificios para sujetar los dos servos en los extremos.

La mueca formada por un servo ms pequeo de 1.8


kg de torque, vendra a ser el gripper y estar sujetada
mediante presin por dos planchas de madera
pequeas.

Fig. 21: Programando con la interfaz arduino

Como ltimo procedimiento se prueba todo el brazo


robtico con el cdigo comprobando los movimientos
del antebrazo, y la pinza pudiendo observar en la
siguiente imagen el producto final de la
implementacin.
Fig. 23: Sistemas de coordenadas

3.2 Parmetros de DH
Fig. 22: Brazo robtico De la teora se sabe la forma de trazar los ejes
coordenados para las condiciones de Denavit-
Hartenverg
3. MODELAMIENTO MATEMATICO

Para poder realizar el modelamiento matemtico de


nuestro brazo robtico usaremos las ecuaciones de la
cinemtica y la dinmica de un sistema multicuerpo
aprendido en clase, los cuales son: Los parmetros de
Denavit -Hartenberg (tambin llamados parmetros
DH ) que son los cuatro parmetros asociados con un
convenio en particular para la fijacin de marcos de
referencia a los eslabones de una espacial cadena
cinemtica , o manipulador de robot. Fig. 24: Condiciones DH

Con la ayuda de este mtodo se puede analizar la


cinemtica directa y la cinemtica inversa. Despus de ubicar los ejes coordenados, se halla los
parmetros de DH, segn las reglas aprendidas en
clases con la finalidad de despus de hallar los
3.1 Ubicacin de los ejes de coordenadas parmetros se pase con la matrices de DH

Lo primero que se debe hacer para poder analizar


nuestro brazo robtico segn los parmetro de DH es
el colocar los ejes coordenados en las articulacin de
este, as podremos ver el punto inicial y final del
movimiento del brazo

Tabla 1: Cuadro de parmetros

3.3 Cinemtica Directa:

Se utiliza las matrices de Denavit - Hartenverg para


poder hallar el punto final de la garra segn los
ngulos qn En esta convencin, coordinar marcos
estn asociadas a las uniones entre dos enlaces de
manera que una transformacin se asocia con la
articulacin,, y el segundo est asociado con el enlace.
Las transformaciones de coordenadas a lo largo de un
robot de serie que consta de n enlaces forman las
ecuaciones cinemticas del robot

Hallamos las matrices de DH. Con la finalidad de


hallar el punto final de la pinza del brazo segn los
grados de las articulacin y las longitudes del brazo.

Aplicando la teora aprendida en clase para la


expresin de una matriz de transformacin

Fig. 25: Matriz T

Con las condiciones dadas se procede a hallar la


matriz de transformacin de cada una de las juntas del
brazo robot.
robots, si se consideran slo los tres primeros grados
de libertad, se tiene una estructura planar.

Este hecho facilita la resolucin del problema.


Asimismo los ltimos tres grados de libertad suelen
usarse para la orientacin de la herramienta, lo cual
permite una resolucin geomtrica desacoplada de la
posicin de la mueca del robot y de la orientacin de
la herramienta.

Fig. 26: Cinemtica inversa

De la figura, se observa que

Adems, se tiene que la distancia radial especfica de


la base d se relaciona con x & y por:

Con esto podremos hallar la posicin final poniendo


como eje inicial la base de nuestro robot Fig. 27: Cinemtica inversa

De esta vista, hallamos la relacin entre los


ngulos de unin 2, 3, 4 y , Como sigue:
=2 +3 +4
Dado un , podemos calcular la distancia radial y
la altura de la unin de la mueca:
r 4 =r d a5 cos ( )
z 4=z d a5 s ( )
3.4 Cinemtica Inversa O sino,
r 4 =a3 cos ( 2) + a4 cos (2 + 3)
La cinemtica inversa consiste en hallar los valores de
las coordenadas articulares del robot
z 4=a3 sin ( 2 ) +a4 sin ( 2+ 3 ) +d 1

Ahora determinemos 2 y 3. Para ello primero


hallamos , y s de la figura ----, empleando la ley de
Conocida la posicin y orientacin del extremo del cosenos:
robot.
Se pueden encontrar diversos mtodos genricos para =a . tan 2(z 4 d 1 ,r 4)
la resolucin de la cinemtica inversa que pueden ser
implementados en computadora, suele ser habitual la
resolucin por medio de mtodos geomtricos. =a . tan 2(s2 +a 23a 24 ,2 a3 s)
La mayor parte de los robots suelen tener cadenas
cinemticas relativamente sencillas, que facilitan la
s= ( z 4)2 +r 24
utilizacin de los mtodos geomtricos. Para muchos Con estos valores intermediarios, ahora podemos
hallar el resto de los valores de los ngulos.
2=

3= . tan 2(s 2a23a 24 ,2 a 3 a 4 )

4 =2 3
Articulacin 4
Problema de orientacin:
Para conocer el signo de la ecuacin:
Clculo de las tres ltimas articulaciones

Conocidos los tres primeros ngulos 1, 2 y 3 se


resuelve la cinemtica directa para los tres primeros
eslabones, obtenindose la matriz 0A3 necesaria para
la resolucin de las ltimas tres articulaciones. Se determina conociendo la orientacin y la
configuracin de MUECA; se calcula segn su
Siguiendo la referencia [1], para resolver el problema definicin, y MUECA es un parmetro del robot.
de la orientacin se han de conseguir que las tres
ltimas articulaciones cumplan los criterios siguientes Se parte de la suposicin de que el signo es positivo,
y esta hiptesis se corrige con el parmetro M que se
1. Establecer la articulacin 4 de forma tal que una calcula como combinacin de la configuracin de la
rotacin respecto de la rotacin 5 alinear el eje de mueca y la orientacin requeridas.
movimiento de la articulacin 6 con el vector de
aproximacin dado (a). Utilizando los parmetros y MUECA se construye
la siguiente tabla
2. La articulacin 5 alinear el eje de movimiento de
la articulacin 6 con el vector de aproximacin.

3. Fijar la articulacin 6 para alinear el vector de


orientacin dado (s) (o el de deslizamiento (n)) y el
vector normal.

Matemticamente, estos criterios significan:

Articulacin 5

Ambas orientaciones de la mueca (ARRIBA y


ABAJO) se definen observando la orientacin del
sistema de coordenadas de la mano con respecto al
sistema de coordenadas (x5, y5, z5).

Para analizar las configuraciones de MUECA Articulacin 6


ARRIBA y MUECA ABAJO, se utiliza un
parmetro de orientacin que hace referencia a la
orientacin del vector unitario n (o s) con respecto al
vector unitario x5 (o y5) y que viene definido en la
referencia como
3.5. Dinmica de Lagrange del brazo robtico
H.
Obtener la matriz columna de fuerzas de
Uicker en 1965 utiliz la representacin de D-H coriolis y centrpeta H=[hj]T cuyos elementos
basada en las matrices de transformacin homognea vienen definidos por
para formular el modelo dinmico de un robot
mediante la ecuacin de Lagrange. n n
Este planteamiento utiliza, por tanto, las matrices i-1Ai hi= hikm q k q m
que relaciona el sistema de coordenadas de referencia k=1 m=1
del elemento i con el elemento (i-1).
Algoritmo computacional para el modelado dinmico I. Obtener la matriz columna de fuerzas de
de Lagrange-Euler. gravedad C = [ci]T cuyos elementos estn
definidos por:
A. Asignar a cada eslabn un sistema de
referencia de acuerdo a las normas de D-H.
B. Obtener las matrices de transformacin A
para cada elemento i. i = 1,2,..,n
C. Obtener las matrices Uij definidas por: g : es el vector de gravedad expresado en el
0 A i sistema de la base {S 0} y viene expresado
U ij = por (gx0,gy0,gz0,0)
qj rj : es el vector de coordenadas homognea
del centro de masas del elemento j expresado
D. Obtener las matrices Uijk en el sistema de referencia del elemento i.
U ij J. La ecuacin dinmica del sistema ser:
U ijk =
qk

E. Obtener las matrices de pseudoinercias J i


para cada elemento, que vienen definidas
por:

Donde T es el vector de fuerzas y pares


motores efectivos aplicados sobre cada
coordenada qi.

NOTAS:
La derivada de la matriz de D-H 0Ai respecto
de la coordenada qj puede obtenerse
fcilmente de manera computacional,
Donde las inercias estn extendidas al mediante la expresin:
elemento i considerado, y(x i,yi,zi) son las
coordenadas del diferencial de masa dm
respecto al sistema de coordenadas del
elemento.

F. Obtener la matriz de inercias D=[d ij] cuyos Con:


elementos vienen definidos por:

Con: i,j=1,2,,n n:Nmeros de grados de


libertad

G. Obtener los trminos hikm definidos por:


(si la articulacin i es de rotacin)

Con: i,k,m: 1,2,n


Que permite obtener la matriz M como parmetro
para calcular la rotacin 4 en cualquiera de las
configuraciones posibles.

(Si la rotacin i es de traslacin)

Anlogamente,

Fig. 26: Programando con Matlab


Las matrices Ji y D son simtricas y definidas
positivas.
4.1.CDIGO EN MATLAB:
El trmino hikm representa el efecto, en
cuanto a fuerza par, generado sobre el clc;clear all
eslabn i como consecuencia del movimiento %1. CONFIGURACION DEL PUERTO SERIAL
relativo entre los eslabones k y m. se cumple s1=serial('COM5');
que hikm=himk y que hiii=0.
int gg;
En la obtencin de las matrices de fopen(s1);
pseudoinercia Ji, las integrales estn old1=0;
extendidas al elemento i, de modo que est se old2=181;
evala para cada punto del elemento de masa old3=3622;
dm y coordenadas (xi,yi,zi) referidas al old4=543;
sistema do coordenadas del elemento. old5=724;
old6=905;
4. PROGRAMACION
fwrite(s1,old1,'uchar');
4.1. Prueba de los servomotores fwrite(s1,old2,'uchar');
fwrite(s1,old3,'uchar');
Antes de comenzar con la programacin en Matlab y fwrite(s1,old4,'uchar');
Arduino, se realiz la prueba del movimiento fwrite(s1,old5,'uchar');
mecnico de cada servo, con la finalidad de calibrar fwrite(s1,old6,'uchar');
los movimientos, determinar la posicin del cero y %2. codigo principal
comprobar que pueda mover la carga demandada por while(1)
el brazo robot. %2.1 leer el dato enviar
gg=input('Ingrese servo a
Esto se llev a cabo con un pequeo circuito mover:');
electrnico que se arm usando jumpers, protoboard, if(gg>6 || gg<1)
arduino y el servomotor para las conexiones y un disp('### Servo no valido
cdigo en arduino implementado con un grado de ###')
libertad el cual permita la transmisin de los pulsos continue
para llevar a cabo el movimiento. end
num1=input('Ingrese angulo:');
if(num1==-2) %
disp('Finalizado')
break end
end %Al final cerramos el puerto serial
if(num1>180 || num1<0) fclose(s1);
disp('### Angulo fuera de
rango ###') Para poder realizar los movimientos de los servos
continue tambin se requiere que se haga un cdigo en arduino
end
if(gg==1) 4.2.CDIGO EN ARDUINO:
ez=num1;
angulos=linspace(old1,ez,abs(ez- #include <Servo.h>
old1)+1); int angle;
old1=num1; Servo s1,s2,s3,s4,s5,s6;
end int ps1,ps2,ps3,ps4,ps5,ps6,pps2;
if(gg==2)
ez=num1+181; Void setup (){
angulos=linspace(old2,ez,abs(ez- s1.attach (8);
old2)+1); s2.attach (9);
old2=ez; s3.attach (10);
end s4.attach (11);
if(gg==3) s5.attach(12);
ez=num1+362;
s6.attach (13);
angulos=linspace(old3,ez,abs(ez-
s1.write (0);
old3)+1);
s2.write (0);
old3=ez;
s3.write (0);
end
if(gg==4) s4.write (0);
ez=num1+543; s5.write (0);
angulos=linspace(old4,ez,abs(ez- s6.write (0);
old4)+1); Delay(1000);
old4=ez; //Activa el puerto serial
end Serial.Begin(9600);
if(gg==5) }
ez=num1+724;
angulos=linspace(old5,ez,abs(ez- void loop() {
old5)+1); // put your main code here, to run
old5=ez; repeatedly:
end if(Serial.available()>0)
if(gg==6) {//A. Leemos el byte enviado
ez=num1+905; angle=Serial.read(); // Se lee el valor
angulos=linspace(old6,ez,abs(ez- if(angle>=0 && angle<181)
old6)+1); { ps1=angle;
old6=ez; s1.write(ps1);
end delay(20);}

for nn= 1:length(angulos) if(angle>=181 && angle<362)


x=angulos(nn); { ps2=angle-181;
%2.2 enviamos el dato al pps2=180-ps2;
arduino s2.write(pps2);
fwrite(s1,x,'uchar') delay (20);}
pause(0.01)
end if(angle>=362 && angle<543)
%2.2 enviamos el dato al arduino { ps3=angle-362;
% old1=num1; s3.write(ps3);
% old2=num1; delay(20);}
% old3=num1;
% old4=num1; if(angle>=543 && angle<724)
% old5=num1; { ps4=angle-543;
% old6=num1;
s4.write(ps4); movimiento para as poder corregir el diseo en caso
delay(20);} de encontrar una inestabilidad, por lo anterior
expuesto el uso del software es econmico y practico,
if(angle>=724 && angle<905) tambin nos permite visualizar los movimientos y nos
{ ps5=angle-724; da por adelantado los resultados que deseamos y
s5.write(ps5); permite ver si nuestro diseo est bien o no de
delay(20);} acuerdo a nuestro objetivo.

if(angle>=905 && angle<1086) Para finalizar utilizando el IDE de Arduino pudimos


{ ps6=angle-905; realizar la conexin de datos entre Arduino y el
s1.write(ps6); software MATLAB, con esto se pudo terminar la
delay(20);} programacin de cada uno de los servos del brazo
} robtico y poder generar su movimiento.

2. RECOMENDACIONES

V. CONCLUSIONES Y RECOMENDACIONES Se debe calcular el costo de los materiales


que se van a emplear en la implementacin
1. CONCLUSIONES del brazo robtico, esto nos permite buscar
Se ha podido mostrar la construccin e los materiales adecuados para lograr
implementacin de un prototipo de un brazo robot precisin y equilibrio.
industrial para dar a conocer a los estudiantes de
ingeniera la factibilidad de llevar a cabo la
implementacin de proyectos como este, que se puede Es vital tener en cuenta la capacidad de
llevar a cabo con costo relativamente bajo y que la carga de los servos, porque van a mover un
compra de los materiales estn al alcance o en todo brazo robot que puede cargar un peso en las
caso tambin es posible poder implementar con pinzas, usar un servo de gran capacidad de
materiales ms baratos con el triplay o con retazos de torque nos garantiza un buen movimiento.
maderas, pero siempre calcular las medidas para una Esto permite darle mayores aplicaciones a
estructura estable y que pueda darnos precisin en el nuestro brazo porque mientas aumente el
movimiento. torque del servo nuestro brazo robot tendr
una mayor capacidad de carga. Para ello
Se pudo comprobar experimentalmente toda la teora tambin se debe tener en cuenta los
de cinemtica directa e inversa as como tambin la materiales, si se quiere utilizar servos de
dinmica de lagrange que fue explicada en clase. menor capacidad se debe utilizar materiales
Como este proyecto fue construido e implementado ms ligeros como el acrlico.
con fines acadmicos su fin culmina con la
programacin , sin embargo este proyecto podra ser Es necesario evitar los vacos o espacios
utilizado como prototipo para la fabricacin de sueltos en la unin de los servomotores con
muchos brazos robots a escala industrial; incluso se la estructura de madera. Si existen estos
puede construir uno de mayor tamao con materiales espacios entre la estrella del servo y la
ms resistentes como el acero para tener un uso estructura se perder precisin en el
industrial porque los clculos estn hecho utilizando movimiento. Tambin al momento de
mucho cuidado en precisin y la teora esta aplicada entornillar la estructura tener cuidado en las
de la manera ms didctica y para una fcil partes donde solo se usa un servo.
comprensin, lo que permite ver con facilidad algn
error o si se quiere lograr mayor precisin en los Es importante calibrar los servos antes de ser
movimientos. armado el brazo ya que una vez armado la
calibracin se vuelve imposible.
El diseo ha sido fcil y prctico gracias al uso del
software CAD Solidworks 2016, lo que nos permite
tener un modelo exacto sin prdida de material ni VI. BIBLIOGRAFA
tiempo.

La utilizacin del software en el diseo y simulacin [1] Barrientos Antonio, Pein Luis Felipe, Balaguer
es una ventaja adems de no tener prdidas de Carlos, Aracil Rafael, Fundamentos de robtica
material ni tiempo ya que permite simular el Universidad Politcnica de Madrid
[2] K.S. Fu,R.C. Gonzales, C. S. G. Aplicacion indusrial a la cual se dirie que el razo
Lee,Robotics:Sensing,Control, Visin, and rooico realizado en el presene paper se muesre como
Intellengence Mc Graw Hill un prooipo.
[3]Mark W. Spong, Set Hutchinson, M.
Vidsayagar,Robot Modeling and control Fig. 27: Razo FANUC encarado del paleizado de
paquees.
V. ANEXOS

You might also like