Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Facultad de Ingeniera
Robot Escritor XY
Proyecto Final: Manipulador Cartesiano
Departamento de Ingeniera
Mecnica e Industrial
Fecha: 1/Diciembre/2015
Facultad de Ingeniera
Plotter Cartesiano XY
Fecha: 1/Diciembre/2015
Robot Escritor XY
Proyecto Final: Manipulador Cartesiano
Meja Alvarez Erick, Crdenas Esquivel Luis Adolfo and Ramirez Caballero Angel Eduardo
D.R. 1999-2009 D. R. Universidad Nacional Autnoma de Mxico.
Facultad de Ingeniera, Av. Universidad 3000, Ciudad Universitaria,
Coyoacn, Mxico D. F. CP 04510.
Reporte Final
Grupo 4
Prepared for Departamento de Ingeniera Mecnica e Industrial y Mecatrnica
Monitored by Sergio Esteves Rebollo
Plotter Cartesiano XY
Disclaimer:
ii
Plotter Cartesiano XY
iii
Tabla de Contenidos
Figuras e Imgenes ......................................................................................................................... ii
1
Introduccin .................................................................................................................... 8
Construccin............................................................................................................................ 9
5.1
5.2
Introduccin .................................................................................................................... 5
Programa en Mathematica .................................................................................................. 5
Introduccin .................................................................................................................... 3
La recta ms grande en el espacio de Trabajo ......................................................................... 3
1
1
1
1
Introduccin ....................................................................................................................
Problema a Resolver ..........................................................................................................
Configuracin Propuesta.....................................................................................................
Justificacin de la Respuesta ...............................................................................................
Control .......................................................................................................................... 10
Modelado 3D CAD........................................................................................................... 10
Funcionamiento ....................................................................................................................... 14
6.1
Componentes lgicos......................................................................................................... 15
6.1.1 Arduino........................................................................................................................... 15
6.1.2 Python/RaspberryPi.......................................................................................................... 16
6.1.3 Interfaz de usuario............................................................................................................. 16
Prototipo final......................................................................................................................... 18
Plotter Cartesiano XY
Figuras e Imgenes
Figures
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
1. Manipulador Cartesiano...................................................................................................... 2
2. Grados de libertad del Manipulador Cartesiano ....................................................................... 2
3. Perfiles Qunticos .............................................................................................................. 3
4. Simulacin trazado de Recta ms grande en espacio de trabajo ................................................... 4
5. Desplazamiento, Velocidad, Aceleracin lineales ....................................................................... 6
6. Grficas de fuerza y Torque de motores. ................................................................................. 7
7. Diseo Conceptual ............................................................................................................. 8
8. Materiales de construccin para el Robot Escritor .................................................................... 9
9. Elementos de control ......................................................................................................... 10
10. Ensamble Final .............................................................................................................. 10
11. Mecanismo de tranmisin de potencia ................................................................................. 11
12. rgano Terminal y Polea .................................................................................................. 12
13. ................................................................................................................................... 13
14. Ejemplo de un pattern vectorial ......................................................................................... 14
15. Controlador Arduino ....................................................................................................... 15
16. Raspberry Pi "virtual"..................................................................................................... 16
17. Interfaz de usuario .......................................................................................................... 17
Tables
iv
Plotter Cartesiano XY
1.1
Introduccin
En este Captulo se pretende mostrar las bases y necesidades del proyecto, que es lo que se tiene
y que es lo que se pretende hacer con la configuracin elegida.
1.2
Problema a Resolver
Se busca conceptualizar, disear y construir un robot que logre escribir de manera manuscrita,
a grandes rasgos se busca:
Que el robot escriba en una superficie de 20x20cm.
Que el diseo sea alcanzable acorde a nuestros recursos de construccin.
Que este sea programable.
1.3
Configuracin Propuesta
La configuracin propuesta para la realizacin de la tarea es un manipulador Cartesiano.
Una de las ventajas en esta configuracin consiste en los valores que toman las variables articulares, pues estos coinciden directamente con las coordenadas que toma el extremo del brazo.
La tarea del controlador, que es quien debe generar las rdenes para una trayectoria definida
se simplifica en esta configuracin. Otros manipuladores pueden tener un mayor volumen de
trabajo que este pero su control es ms complicado.
1.4
Justificacin de la Respuesta
Al contar con un espacio de trabajo bien definido (20x20cm) la configuracin cartesian resulta
completamente adaptable para nuestra necesidad.
Dado que el espacio de trabajo es un cuadrante el manipulador Cartesiano es el ideal para la
tarea ya que el rgano terminal realizar desplazamientos lineales en X y en Y para dibujar y un
eje Z para nivelar la altura.
Plotter Cartesiano XY
Plotter Cartesiano XY
2.1
Introduccin
En este Captulo se muestra la simulacin en Mathematica del trazo de la recta ms grande
dentro del espacio de trabajo acordado en el Captulo anterior de 30x35cm utilizando un perfil
de Quinto grado.
2.2
Plotter Cartesiano XY
La imgen muestra la animacin de como el rgano terminal(Cilindro en rojo) se mueve en diagonal simulando el trazo de una lnea.
Plotter Cartesiano XY
3.1
Introduccin
A continuacin se presenta el clculo matemtico del torque de los motores a utilizar en el robot
Cartesiano.
Los motores representan una parte primordial en la construccin y funcionamiento de un robot,
los motores son clasificados dentro de la categora de los actuadores, los motores son quienes
convierten la energa elctrica en mecnica y de esta manera con la ayuda de mecanismos se realiza la tarea que se desea.
Sin embargo existen un gran nmero de motores a elegir, se empieza por ver que existen motores a pasos, de Corriente Directa, de Corriente Alterna y Servomotores, cada uno tiene sus
ventajas y desventajas de acuerdo a la tarea que se desmpea.
Ahora, la tarea que se tiene que cumplir nos demanda elergir correctamente los motores que utilizaremos, en un principio los motores a pasos son la opcin ms confiable, sin embargo una respuesta mayormente ingenieril es elergir motores de Directa y construir su debido encoder y su
Reductor.
3.2
Programa en Mathematica
Dado que se trata de un manipulador Cartesiano, un motor deber mover un eslabn completo
junto con el motor y el mecanismo, el otro motor movera tan solo el rgano terminal, entonces
se propone dos masas que se creen hasta ahora un tanto sobradas de 2 y 1.5kg, estas masas por
una aceleracin dara como resultado una Fuerza y un Torque en consecuencia.
Reutilizando los Perfiles Qunticos se tiene:
Para l a s a r t i c u l a c i o n e s en e l e j e "Y" y "X" .
d1 = y ;
d1p = D[ d1 , t ] ;
d1pp = D[ d1p , t ] ;
d2 = x ;
d2p = D[ d2 , t ] ;
d2pp = D[ d2p , t ] ;
m[ 1 ] = 2 ;
m[ 2 ] = 1 . 5 ;
Fy = (m[ 1 ] + m[ 2 ] ) d1pp ;
Fx = (m[ 2 ] d2pp ) ;
r = .02;
\ tau 1 = r Fy ;
Plotter Cartesiano XY
\ tau 2 = r Fx ;
P l o t [ { d1 , d1p , d1pp } , { t , 0 , t f } , AxesLabel > { " t " , "d1" } ,
P l o t L e g e n d s > { "y" , " \ ! \ ( \ O v e r s c r i p t B o x [ \ ( y \ ) , \ ( . \ ) ] \ ) " , " \ ! \ ( \ O v e r s c r i p t B o x [ \ (
y \ ) , \ ( \ ) ] \ ) " } ] ( P o s i c i \ on )
P l o t [ { d2 , d2p ,
d2pp } , { t , 0 , t f } , AxesLabel > { " t " , "d2" } ,
P l o t L e g e n d s > { "x" , " \ ! \ ( \ O v e r s c r i p t B o x [ \ ( x \ ) , \ ( . \ ) ] \ ) " ,
" \!\(\ OverscriptBox [ \ ( x \) , \(\) ] \ ) " } ]
P l o t [ Fy , { t , 0 , t f } , AxesLabel > { " t " , " Fmotor1 " } ]
P l o t [ Fx , { t , 0 , t f } , AxesLabel > { " t " , " Fmotor2 " } ]
P l o t [ \ [ Tau ] 1 , { t , 0 , t f } , AxesLabel > { " t " , " \ [ Tau ] motor1 " } ]
P l o t [ \ [ Tau ] 2 , { t , 0 , t f } , AxesLabel > { " t " , " \ [ Tau ] motor2 " } ]
Plotter Cartesiano XY
De lo anterior podemos concluir que de las grficas de Torque para mover en lnea recta una
mas de 2kg mximo se requiere tener un motor con un torque de 0.001Nm, se realiz el mismo
procedimiento pero ahora para el trazo de una semicircunferencia y los torques obtenidos fueron
entre 0.2 y 1Nm, lo cual corroboramos en la literatura existen motores comerciales en ese rango.
Plotter Cartesiano XY
Diseo Conceptual
4.1
Introduccin
En este Captulo se muestra como nuestro diseo comienza a tomar forma, el diseo conceptual
se realiz tomando en cuenta los motores, y el espacio de trabajo que propusimos de 30x35cm,
nuestro diseo esta basado en la siguiente figura.
Se planea tener 3 eslabones , el primer Eslabn se desplaza a lo largo de un eje denominado "x",
el Motor 1 transmite la potencia y la pasa a travs de una banda de transmisin dentada hacia
el Eslabn 1, el eslabn 2 se mueve de la misma manera pero en el eje Y, la diferencia es que el
eslabn 2 se encuentra sobre el eslabn 1 y finalmente el eslabn 3 puede ser el desplazamiento
en el eje Z o bien tratarse del rgano terminal.
Plotter Cartesiano XY
Construccin
Para la construccin del Robot Cartesiano, se requiere diferentes piezas para ensamblar, a continuacin la lista:
5x Perfiles de Madera
Tornillos
3x Carros de Desplazamiento
Plotter Cartesiano XY
5.1
10
Control
El control del robot se describe en la seccin "Funcionamiento" del presente documento, los
siguientes componentes fueron utilizados para este proposito:
Controlador Arduino Uno R3
Adafruit Motor Shield V1
5.2
Modelado 3D CAD
Se realiz el modelo tridimensional utilizando Solidworks 2015 para obtener medidas y planos.
Plotter Cartesiano XY
11
Plotter Cartesiano XY
12
Plotter Cartesiano XY
13
Figure 13
Plotter Cartesiano XY
14
Funcionamiento
El funcionamiento del robot se basa en el reconocimiento de patrones o patterns en imgenes
vectoriales, en este tipo de imgenes los trazos se guardan en una estructura conocida como
"pattern" la cual consta de coordenadas abolutas o relativas y comandos, para su uso en nuestro robot slo hicimos uso de 2 de estos comandos:
M Move to, este comando indica que se ha de mover el rgano terminal hacia cierta coordenada del espacio de trabajo por lo que en nuestra implementacin al interpretar este comando hacemos que el rgano terminal levante el lapiz y luego se mueva a las coordenadas
indicadas.
L Line to, este comando indica que con el lapiz abajo se vaya desde el punto en que actual se
encuentra hacia el proporcionado, resultando as en una lnea recta entre ambos puntos.
Como se muestra en la figura 14 un svg o archivo de imagen vectorial puede componerse de uno
o varios "patterns", cumpliendo siempre con cierto formato como el mostrado. La programacin
del robot procesa entonces estos archivos y acciona los motores de modo que se dibujen tales
patrones y como resultado se obtenga una imagen vectorial dibujada, misma que, como en este
ejemplo puede ser una simple letra.
14
Plotter Cartesiano XY
6.1
15
Componentes lgicos
Una vez que en el presente documento hemos descrito los distintos componentes fsicos del robot
toca hablar de los lgicos, idealmente se cuenta con tres componentes principales:
Programacin Arduino
Programacin Python
Interfaz de usuario
6.1.1 Arduino
15
La idea general es que el controlador Arduino nicamente se encarga de controlar los actuadores
y no de hacer la matemtica involucrada en el proceso de parseo de las imagenes vectoriales,
Plotter Cartesiano XY
16
este nicamente recibe las coordenadas a los que tiene que mover el rgano terminal y si debe o
no subir el lapiz, en este entendido se optimizan las instrucciones del svg antes de ser enviadas
a este componente. Una pieza clave en este componente de software es el algoritmo utilizado
para recorrer el lapiz a lo largo de una lnea recta, se utiliz el algoritmo de Andr LaMothe,
dicho algoritmo fue ideado en los noventas para generar lineas en las pantallas de computadora
de aquel entonces, pero el mismo se presta para nuestros propositos.
6.1.2 Python/RaspberryPi
16
La idea original era utilizar dos controladores, con la posibilidad de que en un futuro pudiera ser
uno slo; la Raspberry Pi, esto por que al ser un equipo con muchas mayores prestaciones que
arduino, podra por si sola recibir las solicitudes, procesar las imagenes vectoriales y controlar
los motores del robot. Pero debido a falta de tiempo decidimos omitir este componente de manera preeliminar, pero no del todo. La parte que a este componente le tocara hacer se program
en un script Python, lenguaje en que se programara tal componente, de este modo terminamos
con una raspberry pi "virtual" que podemos sustituir por su versin fsica sin mayor problema.
El objetivo de esta pieza de software es el de procesar las imagenes vectoriales, transformar sus
comandos a dimensiones acorde al espacio de trabajo del robot y enviarselas por comunicacin
serial a arduino de manera "digeridas".
6.1.3 Interfaz de usuario
Esta cumple la funcin de cualquier GUI, nicamente es la ventana que el usuario del producto
final opera para pedirle al robot que realize cierto dibujo, de manera preeliminar slo funciona
indicandole a raspberry pi qu imagen procesar, pero como se muestra se pretende que logre
Plotter Cartesiano XY
17
17
tener mayor funcionalidades haciendo que el usuario final no tenga que lidear con conocimientos
tcnicos para operar el robot. Esta est escrita en C++ y utiliza Qt como librera grfica.
Plotter Cartesiano XY
Prototipo final
Como se mencionn ya antes se arm en madera con los componentes indicados, el siguiente es
el resultado fsico:
18
Plotter Cartesiano XY
19
Plotter Cartesiano XY
20