Está en la página 1de 10

“DISEÑO E IMPLENTACION DE UN BRAZO ROBOTICO DE 3 GRADOS

DE LIBERTAD CONTROLADO POR BLUEETTO”


Univ. Mamani Gutiérrez, Freddy
La paz – Bolivia
U.M.S.A.
freddymamani151@gmail.com

RESUMEN: En presente documento se detalla 2 OJETIVOS


la implementación y diseñode un brazo
robótico con 3GDL, el cual permitirá el OBJETIVO GENERAL
desplazamiento en los 3 planos x, y, z,
mediante una interfaz creada por un arduino y  Diseñar e implementar un robot fijo
la PC lo cual permitirá controlar al brazo para con 3 grados de libertad, mediante la
que se desplace a un punto configurado por el utilización de 3 motores para el control
usuario desde la PC una vez dadas las del desplazamiento mediante un
coordenadas en x, y, z. arduino el cual genera una interfaz con
la PC, para colocar la posición desde la
PALABRAS CLAVE: Encoder, PC y el robot se desplace a dicho
Servomotor, brazo robótico punto específico moviendo sus
junturas.
1 INTRODUCCIÓN
OBJETIVOS ESPECIFICOS
Los robots a nivel tecnológico son los
más utilizados en la industria debido a sus  Utilizar un arduino para el control del
funcionalidades y practicidad en los procesos motor y la interfaz desde el arduino
de manufactura, gracias al nivel de trabajo y hacia la PC mediante comandos de
tiempo de producción que alcanzan se ha programación para que el brazo llegue
incrementado la implementación a nivel al punto específico.
mundial permitiendo al ser humano
preocuparse de labores con más raciocinio  Diseñar los 3 eslabones de acuerdo a
como gestión de la producción o proyección de las medidas y acoplar los motores para
ventas, debido a estas razones se tienen una su desplazamiento.
amplia gama de categorías y funcionalidades a
nivel mundial.  Simular en matlab el diseño creado del
robot fijo, para realizar su respectivo
El robot que se caracterizará en el presente análisis del comportamiento y
informe es un manipulador, con 3 grados de verificación de resultados.
libertad el cual se mueve a través de un eje de
guiado lineal con desplazamiento en los 3 3 MARCO TEÓRICO
planos para controlar diversas tareas. A este
componente se lo puede usar para diferentes 3.1 ROBOT MANIPULADOR
tareas como trabajos de soldadura, ensamblaje
de piezas, etc. En este informe al ser el primer Entre los robots considerados de más utilidad
contacto con el hardware se detallara los en la actualidad se encuentran los robots
componentes y herramientas necesarias para el industriales o manipuladores. Existen ciertas
uso correcto del robot fijo. dificultades a la hora de establecer una
definición formal de lo que es un robot
industrial. La primera de ellas surge de la
diferencia conceptual entre el mercado japonés
y el euro-americano de lo que es un robot y lo
que es un manipulador. Así, mientras que para
los japoneses un robot industrial es cualquier
dispositivo mecánico dotado de articulaciones
móviles destinado a la manipulación, el
mercado occidental es más restrictivo,
exigiendo una mayor complejidad, sobre todo
en lo relativo al control.

Figura 2. Elementos estructurales de un


robot industrial

Una articulación puede ser:


Lineal (deslizante, traslacional o prismática),
si un eslabón desliza sobre un eje solidario al
Figura 1. Robot manipulador eslabón anterior.
Manipulador: mecanismo formado Rotacional, en caso de que un eslabón gire en
generalmente por elementos en serie, torno a un eje solidario al eslabón anterior.
articulados entre sí, destinado al agarre y
desplazamiento de objetos. Es multifuncional y
puede ser gobernado directamente por un
operador humano o mediante dispositivo
lógico.

Robot: manipulador automático servo-


controlado, reprogramable, polivalente, capaz
de posicionar y orientar piezas, útiles o
dispositivos especiales, siguiendo trayectoria Figura 3.Distintos tipos de articulaciones de
variables reprogramables, para la ejecución de un robot: a) lineal, b) rotacionales
tareas variadas. Normalmente tiene la forma de
uno o varios brazos terminados en una muñeca.
Su unidad de control incluye un dispositivo de El conjunto de eslabones y articulaciones se
memoria y ocasionalmente de percepción del denomina cadena cinemática. Se dice que una
entorno. Normalmente su uso es el de realizar cadena cinemática es abierta si cada eslabón se
una tarea de manera cíclica, pudiéndose conecta mediante articulaciones
adaptar a otra sin cambios permanentes en su exclusivamente al anterior y al siguiente,
material. exceptuando el primero, que se suele fijar a un
soporte, y el último, cuyo extremo final queda
3.2 Estructura de los robots industriales libre. A éste se puede conectar un elemento
terminal o actuador final: una herramienta
Un manipulador robótico consta de una especial que permite al robot de uso general
secuencia de elementos estructurales rígidos, realizar una aplicación particular, que debe
denominados enlaces o eslabones, conectados diseñarse específicamente para dicha
entre sí mediante juntas oarticulaciones, que aplicación: una herramienta de sujeción, de
permiten el movimiento relativo de cada dos soldadura, de pintura, etc. El punto más
eslabones consecutivos. significativo del elemento terminal se
denomina punto terminal (PT). En el caso de
una pinza, el punto terminal vendría a ser el
centro de sujeción de la misma.
A los manipuladores robóticos se les suele
denominar también brazos de robot por la
analogía que se puede establecer, en muchos
casos, con las extremidades superiores del
cuerpo humano.

FIGURA 5. Numero de junturas y eslabones


del robot
Como es normal que cueste algo de trabajo
visualizar en 3D todos los ejes, direcciones, y
distancias implicadas en el proceso, he
liberado el código fuente de la aplicación
gráfica que se muestra en el vídeo. Se puede
emplear como guía/calculadora para
comprobar si se han realizado bien problemas
de este tipo, así como herramienta docente en
clase.

Los pasos del algoritmo genérico para la


obtención de los parámetros DH se detallan a
Figura 4. Semejanza de un brazo
continuación:
manipulador con la anatomía humana
Se denomina grado de libertad (g.d.l.) a cada
una de las coordenadas independientes que son 1. Numerar los eslabones: se llamará “0” a
necesarias para describir el estado del sistema la “tierra”, o base fija donde se ancla el
mecánico del robot (posición y orientación en
robot. “1” el primer eslabón móvil, etc.
el espacio de sus elementos). Normalmente, en
cadenas cinemáticas abiertas, cada par eslabón- 2. Numerar las articulaciones: La “1” será
articulación tiene un solo grado de libertad, ya el primer grado de libertad, y “n” el último.
sea de rotación o de traslación. Pero una 3. Localizar el eje de cada articulación:
articulación podría tener dos o más g.d.l. que Para pares de revolución, será el eje de
operan sobre ejes que se cortan entre sí.
giro. Para prismáticos será el eje a lo largo
del cuál se mueve el eslabón.
3.3 PARAMETRIZACIÓN DENAVIT-
HARTENBERG PARA ROBOTS 4. Ejes Z: Empezamos a colocar los sistemas
XYZ. Situamos los en los ejes de las
El estudio de los parámetros Denavit- articulaciones i, con i=1,…,n. Es
Hartenberg (DH) forma parte de todo curso decir, va sobre el eje de la 1ª
básico sobre robótica, ya que son un estándar a articulación, va sobre el eje del 2º grado
la hora de describir la geometría de un brazo o de libertad, etc.
manipulador robótico. Se usan para resolver 5. Sistema de coordenadas 0: Se sitúa el
de forma trivial el problema de la cinemática punto origen en cualquier punto a lo largo
directa, y como punto inicial para plantear el de . La orientación de e puede ser
más complejo de cinemática inversa. arbitraria, siempre que se respete
evidentemente que XYZ sea un sistema
dextrógiro.
6. Resto de sistemas: Para el resto de esas matrices:
sistemas i=1,…,N-1, colocar el punto
origen en la intersección de con la Dicha matriz T permite resolver
normal común a y . En caso de completamente el problema de cinemática
cortarse los dos ejes Z, colocarlo en ese directo en robots manipuladores, ya que dando
punto de corte. En caso de ser paralelos, valores concretos a cada uno de los grados de
colocarlo en algún punto de la articulación libertad del robot, obtenemos la posición y
i+1. orientación 3D de la herramienta en el extremo
7. Ejes X: Cada va en la dirección de la del brazo.
normal común a y , en la dirección
de hacia . 4 MATERIALES
8. Ejes Y: Una vez situados los ejes Z y X,
los Y tienen su direcciones determianadas  PC
por la restricción de formar un XYZ  Arduino 1
dextrógiro.  1 motor con caja de reducción y
9. Sistema del extremo del robot: El n- Encoder
ésimo sistema XYZ se coloca en el  2 servomotores
 Acrílico
extremo del robot (herramienta), con su eje
 Tubo PVC
Z paralelo a y X e Y en cualquier
dirección válida. 5 DESARROLLO
10. Ángulos teta: Cada es el ángulo
desde hasta girando alrededor 5.1 Desarrollo del prototipo de brazo robótico
de . El brazo está constituido por 3 eslabones los
11. Distancias d: Cada es la distancia desde cuales se desarrollaron con materiales fáciles
el sistema XYZ i-1 hasta la intersección de de adquirir, como es el acrílico y tubo PVC, a
las normales común de hacia , a lo continuación en la figura 6 se muestra un
largo de . prototipo del brazo a construir, con los
materiales ya mencionados, las dimensiones de
12. Distancias a: Cada es la longitud de los eslabones son las siguientes:
dicha normal común.  Eslabón 1: 30cm
13. Ángulos alfa: Ángulo que hay que  Eslabón 2: 20cm
rotar para llegar a , rotando  Eslabón 3: 15cm
alrededor de .
14. Matrices individuales: Cada eslabón El controlador encargado de realizar el control
de los movimientos del brazo se lo realizara
define una matriz de transformación: mediante la placa ARDUINO 1 y la interfaz se
la desarrollara con la ventana de comunicación
serial del propio software de programación de
arduino.

15. Transformación total: La matriz de


transformación total que relaciona la base
del robot con su herramienta es la
encadenación (multiplicación) de todas
FIGURA 10. Prototipo finalizado

5.2 DESARROLLO DEL CIRCUITO DE


CONTROL DEL BRAZO Y CONTROL
FIGURA 6. Prototipo del brazo robótico, con DE MOVIMIENTO
su número de eslabones
Como ya se menciono el circuito de control se
En la figura 7 se muestra el material utilizado utilizo la placa de desarrollo ARDUINO 1, el
para la construcción del brazo, los eslabones 2 cual consta de un microprocesador ATMEGA
y 3 se utilizo acrílico para su fabricación 328P, este chip de la familia AVR es el cerebro
del robot, donde mediante un algoritmo de
El eslabón 1 y la base del brazo se utilizo tubo programación, se introduce las ecuaciones para
PVC y madera para su construcción en la cada motor y se encarga de realizar el control
figura 8 se muestra el ensamblaje de la base para el movimiento de cada eslabón.
del brazo

FIGURA 11. Arduino 1

Los motores utilizados para la acción de


movimiento de cada eslabón son 3, dos
servomotores y un motor DC con caja de
FIGURA 8. Base y eslabón 1 del brazo robot reducción, los servomotores son los
encargados de mover los eslabones 2 y 3 de 0 a
A continuación se muestra en la figura 9 el 90 grados, el motor DC ubicado en la base
prototipo finalizado del brazo y listo para mueve el eslavo 1 los 360 grados.
realizar el desarrollo del control del mismo
5.3 SOFTWARE Y DERARROLLO
MATEMATICO PARA EL
MOVIMEINTO DEL BRAZO
Se utilizo cinemática inversa, mediante los Se utiliza la ventana de comunicación serial
parámetros de DENAVIT-HARTEMBERG, del ID de ARDUINO para ingresar el punto
para encontrar las ecuaciones que describen el deseado a llegar del brazo.
ángulo que debe moverse cada eslabón para
que el punto final alcance la posición deseada.
En la tabla numero 1 se muestra los parámetros
que describen la cinemática inversa del brazo
robot.

θ d a α
1 Θ1 30 0 90º
2 Θ2 0 20 0
3 Θ3 0 15 0
TABLA 1. Parámetros DH del brazo robot.
Descrita la tabla de parámetros se puede
obtener las ecuaciones para θ de cada eslabón,
a continuación se mostrara las ecuaciones que
se introducirán al microcontrolador para el
control de movimiento de cada eslabón
FIGURA 14. Interfaz utilizada para el control
de movimiento del brazo.
Ecuación 1, para θ1:
Y
θ1 = tan−1 Como se muestra en la figura 14, se ingresaron
X
las coordenadas para que el brazo llegue a ese
Ecuación 2, para θ2: punto, las cuales son:
X=10
Z − 30
θ2 = sin−1 ( ) Y=20
15
Z=45
Ecuación 3, para θ3: Los valores de los ángulos los cuales debe
moverse cada eslabón son los siguientes:
−X Y Z − 30 θ1 = 63.43º
θ3 = tan−1 − tan−1 ( ) − sin−1 ( )
Y X 15 θ2 = 90º
θ3 = 180º
Donde X, Y, Z, es el punto en eje de
Dado estos puntos se observa en la figura 15
coordenadas deseado a donde debe llegar el
brazo que el brazo ha llegado a la posición deseada,
comprobando que funciona correctamente el
Obtenidas las ecuaciones se procede a realizar control del brazo
el algoritmo de programación, para el control
del movimiento del brazo, la cual se mostrara Se realizo la comprobación de los resultados
en ANEXOS.
obtenidos por medio del software de
MATLAB, donde se ingresaron las mismas
coordenadas y se observo que el brazo
modelado en Matlab alcanza la misma
posición.
6 RESULTADOS
7 CONCLUSIONES [3] A. Rodrigues, “Introducción a la
programación Disponible en:
http://isa.umh.es/arduino.pdf
La cinemática directa y el algoritmo
DENAVIT HARTENBERG resultan una
pieza importante para el Modelamiento de un ANEXOS
robot, pues este algoritmo alberga todas las
condiciones para la generación del robot en el
 Programación realizada en ARDUINO
espacio, además de entregar información de
posición y orientación respecto a un sistema de #define pin3 3
referencia #define pin4 4
#define pin5 5
#define pin6 6
 Es importante conocer los comandos
#define retardo 2
que posee el COSIROP para realizar la
programación de una manera más char caracter;
factible, ya que de esta manera se String cadena;
puede minimizar las líneas de código y float pasos = 0;
realizar grandes movimientos del int datos_serial = 0;
brazo.
void setup() {
 Es necesario determinar la velocidad pinMode(pin3, OUTPUT);
adecuada en el controlador para que el pinMode(pin4, OUTPUT);
brazo realice el dibujo ya que de esta pinMode(pin5, OUTPUT);
manera se puede evitar colisiones con pinMode(pin6, OUTPUT);
partes externas al brazo, otra manera de Serial.begin(9600);
controlar la velocidad del brazo es en la }
programación con el comando SPD el
cual nos permite controlar la velocidad void loop() {
a la siguiente línea de código. while (Serial.available()) {
delay(3);
 Es importante encontrar un valor en la char c = Serial.read();
posición de Z para que al momento de cadena += c;
realizar el dibujo no exista mucha }
fricción tanto con el esfero y la hoja de
papel, para que al dibujar el brazo no if (cadena.length() >0) {
tenga mucha complicación y no pueda
romper la hoja o en el peor de los casos Serial.println(cadena.toInt());
el esfero. datos_serial = cadena.toInt();
8 REFERENCIAS
}
[1] ref/ , “Software para la aplicacion de app while(datos_serial>pasos){
inventor”, Marzo-2009, Disponible en:
http://repositorio.ute.edu.ec/pdf atras();
delayMicroseconds(40);
[2] www.google, “Programming Software for pasos = pasos + 1;
Mitsubishi Industrial Robots”, Enero-2005
[En Línea], Disponible en: }
http://industrial.utp.edu.co/laboratorios/ while(datos_serial<pasos){
celda/robot.pdf
adelante();
delayMicroseconds(40); delay(retardo);
pasos = pasos - 1; }

} void atras(){
paso3();
if (cadena == "SET"){ delay(retardo);
pasos = 0; paso2();
datos_serial = 0; delay(retardo);
} paso1();
delay(retardo);
cadena=""; paso4();
} delay(retardo);
void paso1(){ }
digitalWrite(pin3, HIGH);
digitalWrite(pin4, HIGH);
digitalWrite(pin5, LOW); PROGRAMACION EN APP
digitalWrite(pin6, LOW); INVENTOR
}
void paso2(){
digitalWrite(pin3, LOW);
digitalWrite(pin4, HIGH);
digitalWrite(pin5, HIGH);
digitalWrite(pin6, LOW);
}
void paso3(){
digitalWrite(pin3, LOW);
digitalWrite(pin4, LOW);
digitalWrite(pin5, HIGH);
digitalWrite(pin6, HIGH);
}
void paso4(){
digitalWrite(pin3, HIGH);
digitalWrite(pin4, LOW);
digitalWrite(pin5, LOW);
digitalWrite(pin6, HIGH);
}
void pasoApagado(){
digitalWrite(pin3, LOW);
digitalWrite(pin4, LOW);
digitalWrite(pin5, LOW);
digitalWrite(pin6, LOW);
}

void adelante(){
paso1();
delay(retardo);
paso2();
delay(retardo);
paso3();
delay(retardo);
paso4();

También podría gustarte