Está en la página 1de 26

Plotter Cartesiano XY

Facultad de Ingeniera

Robot Escritor XY
Proyecto Final: Manipulador Cartesiano

Departamento de Ingeniera
Mecnica e Industrial

Meja Alvarez Erick, Crdenas Esquivel Luis Adolfo


and Ramirez Caballero Angel Eduardo

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

Av. Universidad N 3000, C.U., Distrito Federal, 04510

Plotter Cartesiano XY

Disclaimer:

ii

Plotter Cartesiano XY

iii

Tabla de Contenidos
Figuras e Imgenes ......................................................................................................................... ii
1

Requerimentos para disear ........................................................................................................ 1


1.1
1.2
1.3
1.4

Introduccin .................................................................................................................... 8

Construccin............................................................................................................................ 9
5.1
5.2

Introduccin .................................................................................................................... 5
Programa en Mathematica .................................................................................................. 5

Diseo Conceptual .................................................................................................................... 8


4.1

Introduccin .................................................................................................................... 3
La recta ms grande en el espacio de Trabajo ......................................................................... 3

Clculo de torque de Motores ...................................................................................................... 5


3.1
3.2

1
1
1
1

Simulacin de trazado en Mathematica ......................................................................................... 3


2.1
2.2

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

Requerimentos para disear

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

Figure 1. Manipulador Cartesiano

Figure 2. Grados de libertad del Manipulador Cartesiano

A diferencia de otros manipuladores el Cartesiano puede significar una configuracin no muy


veloz sin embargo el probelma a resolver no especifica tiempos lmite, por lo que por esa parte
no existe inconveniente.
Se propone una configuracin rectangular de 30x35cm, de modo que el espacio de trabajo solicitado est garantizado.

Plotter Cartesiano XY

Simulacin de trazado en Mathematica

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

La recta ms grande en el espacio de Trabajo


P0 = { 0 , 0 , 0 } ;
Pf = { 3 5 , 3 0 , 0 } ;
( La r e c t a )
q f = \ [ S q r t ] ( ( Pf [ [ 1 ] ] P0 [ [ 1 ] ] ) ^2 + ( Pf [ [ 2 ] ] P0 [ [ 2 ] ] ) ^2 + ( Pf [ [ 3 ] ] P0 [ [ 3 ] ] ) ^2)
;
t f = 1 0 ; ( El tiempo f i n a l )
q = ( 6 ( t / t f ) ^5 15 ( t / t f ) ^4 + 10 ( t / t f ) ^3) q f ; ( El p e r f i l q u i n t i c o )
qp = D[ q , t ] ; ( Los p e r f i l e s de v e l o c i d a d y a c e l e r a c i o n )
qpp = D[ qp , t ] ; ( Las c o o r d e n a d a s c a r t e s i a n a s de manera p a r a m e t r i c a s )
x = P0 [ [ 1 ] ] + q/ q f ( Pf [ [ 1 ] ] P0 [ [ 1 ] ] ) ;
y = P0 [ [ 2 ] ] + q/ q f ( Pf [ [ 2 ] ] P0 [ [ 2 ] ] ) ;
z = P0 [ [ 3 ] ] + q/ q f ( Pf [ [ 3 ] ] P0 [ [ 3 ] ] ) ;
P l o t [ q , { t , 0 , t f } , AxesLabel > { " t " , "q" } ] ( Los p e r f i l e s q u i n t i c o s )
P l o t [ qp , { t , 0 , t f } , AxesLabel > { " t " , " \ ! \ ( \ O v e r s c r i p t B o x [ \ ( q \ ) , \ ( . \ ) ] \ ) " } ]
P l o t [ qpp , { t , 0 , t f } , AxesLabel > { " t " , " \ ! \ ( \ O v e r s c r i p t B o x [ \ ( q \ ) , \ ( \ ) ] \ ) " } ]

Figure 3. Perfiles Qunticos

Plotter Cartesiano XY

Definicin de elementos Grficos (Eslabnes del Robot Cartesiano)


l a p i z = C y l i n d e r [ { { x , y , 0 } , {x , y , 5 } } , 1 ] ;
a s p e c t o = A s p e c t R a t i o > 1 ;
e j e s = Axes > True ;
c o o r d e n a d a s = AxesLabel > { "X" , "Y" , "Z" } ;
rango = PlotRange > {{ 2 , 3 7 } , {2, 3 2 } , { 0 , 1 0 } } ;
o r i g e n = A x e s O r i g i n > { 0 , 0 , 0 } ;
v i s t a = ViewPoint > Top ;
( El e s c e n a r i o como t a l . . . )
imagen2 = Graphics3D [ { Red , l a p i z , Green , Opacity [ . 3 ] ,
Cuboid [{ 2 , y 1 , 5 } , { 3 7 , y + 1 , 6 } ] , Yellow ,
Cuboid [{ 2 , 0 , 4 } , { 0 , 3 0 , 5 } ] , Yellow ,
Cuboid [ { 3 5 , 0 , 4 } , { 3 7 , 3 0 , 5 } ] , Blue , Opacity [ 1 ] ,
Cuboid [ { x 1 . 5 , y 1 , 4 . 5 } , {x + 1 . 5 , y + 1 , 6 . 5 } ] ,
Blue , Cuboid [{ 2 , y 1 , 5 } , { 0 , y + 1 , 6 } ] ,
Blue , Cuboid [ { 3 5 , y 1 , 5 } , { 3 7 , y + 1 , 6 } ] } , a s p e c t o , e j e s ,
coordenadas , rango , o r i g e n ] ;
b l o c k 1 = Table [ imagen2 , { t , 0 , 1 0 , 0 . 2 } ] ;
ListAnimate [ b l o c k 1 ]

La imgen muestra la animacin de como el rgano terminal(Cilindro en rojo) se mueve en diagonal simulando el trazo de una lnea.

Figure 4. Simulacin trazado de Recta ms grande en espacio de trabajo

Plotter Cartesiano XY

Clculo de torque de Motores

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 " } ]

Figure 5. Desplazamiento, Velocidad, Aceleracin lineales

Plotter Cartesiano XY

Figure 6. Grficas de fuerza y Torque de motores.

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.

Figure 7. Diseo Conceptual

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

4x Barras de Desplazamiento Lineal de


8mm de Dimetro

Epson EM-483 Stylus C64 Platen Drive


Stepper Motor

2x Banda de Transmisin Dentada


2x Rodamientos o poleas Dentadas

SEIKO EPSON - EM462 - Stepper motor


42mm Dia 4-wire

3x Carros de Desplazamiento

Mini servo TowerPro SG90 9G

Figure 8. Materiales de construccin para el Robot Escritor

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

Figure 9. Elementos de control

5.2

Modelado 3D CAD
Se realiz el modelo tridimensional utilizando Solidworks 2015 para obtener medidas y planos.

Figure 10. Ensamble Final

Plotter Cartesiano XY

11

Figure 11. Mecanismo de tranmisin de potencia

Plotter Cartesiano XY

12

Figure 12. rgano Terminal y Polea

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.

Figure 14. Ejemplo de un pattern vectorial

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

Figure 15. Controlador 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

Figure 16. Raspberry Pi "virtual"

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

Figure 17. Interfaz de usuario

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

También podría gustarte