robot cartesian o implement ac i on
TRANSCRIPT
-
8/17/2019 Robot Cartesian o Implement Ac i On
1/26
D e p a r t a m e n t o d e I n g e n i e r í a
M e c á n i c a e I n
d u s t r i a l
P l o t t e r C a
r t e s i a n o X Y
Facultad de Ingeniería
Robot Escritor XY
Proyecto Final: Manipulador Cartesiano
Mejía Alvarez Erick, Cárdenas Esquivel Luis Adolfo
and Ramirez Caballero Angel Eduardo
Fecha: 1/Diciembre/2015
-
8/17/2019 Robot Cartesian o Implement Ac i On
2/26
-
8/17/2019 Robot Cartesian o Implement Ac i On
3/26
Facultad de Ingeniería Plotter Cartesiano XY
Fecha: 1/Diciembre/2015
Robot Escritor XYProyecto Final: Manipulador Cartesiano
Mejía Alvarez Erick, Cárdenas Esquivel Luis Adolfo and Ramirez Caballero Angel Eduardo
D.R. © 1999-2009 © D. R. Universidad Nacional Autónoma de México.Facultad de Ingeniería, Av. Universidad 3000, Ciudad Universitaria,Coyoacán, México D. F. CP 04510.
Reporte Final
Grupo 4
Prepared for Departamento de Ingeniería Mecánica e Industrial y Mecatrónica
Monitored by Sergio Esteves Rebollo
Av. Universidad Nº 3000, C.U., Distrito Federal, 04510
-
8/17/2019 Robot Cartesian o Implement Ac i On
4/26
lotter Cartesiano XY
Disclaimer:
-
8/17/2019 Robot Cartesian o Implement Ac i On
5/26
Plotter Cartesiano XY
Tabla de Contenidos
Figuras e Imágenes ............ ............. ............ ............. ............. ............. ............. ............. ............. ...... ii
1 Requerimentos para diseñar ............ ............. ............. ............ ............. ............. ............. ............. .. 1
1.1 Introducción ............. ............. ............. ............. ............. ............ ............. ............. ............. 1
1.2 Problema a Resolver..... ............. ............. ............. ............. ............. ............ ............. ........... 1
1.3 Configuración Propuesta............. ............. ............. ............. ............. ............ ............. ........... 1
1.4 Justificación de la Respuesta ........... ............. ............. ............. ............. ............. ............. ...... 1
2 Simulación de trazado en Mathematica ............ ............. ............. ............ ............. ............. ............. 3
2.1 Introducción ............. ............. ............. ............. ............. ............ ............. ............. ............. 3
2.2 La recta más grande en el espacio de Trabajo .... ..... .... .... ..... .... .... .... ..... .... .... ..... .... .... .... ..... .... 3
3 Cálculo de torque de Motores ............ ............. ............. ............. ............ ............. ............. ............. 53.1 Introducción ............. ............. ............. ............. ............. ............ ............. ............. ............. 5
3.2 Programa en Mathematica ............ ............. ............. ............. ............. ............. ............ ......... 5
4 Diseño Conceptual ............. ............. ............. ............. ............. ............ ............. ............. ............. 8
4.1 Introducción ............. ............. ............. ............. ............. ............ ............. ............. ............. 8
5 Construcción..................... ............. ............. ............. ............. ............ ............. ............. ............. 9
5.1 Control ............ ............. ............ ............. ............. ............. ............. ............. ............ ........ 10
5.2 Modelado 3D CAD....... ............. ............. ............. ............. ............. ............ ............. .......... 10
6 Funcionamiento ............. ............. ............. ............ ............. ............. ............. ............. ............. ... 14
6.1 Componentes lógicos.......... ............ ............. ............. ............. ............. ............. ............. ..... 15
6.1.1 Arduino............... .......... ......... .......... ......... .......... ......... .......... ......... .......... ......... .......... ... 15
6.1.2 Python/RaspberryPi..... ......... .......... ......... .......... ......... .......... ......... .......... ......... .......... ...... 16
6.1.3 Interfaz de usuario...... .......... ......... .......... ......... .......... ......... .......... ......... .......... ......... ........ 16
7 Prototipo final............. ............. ............ ............. ............. ............. ............. ............. ............ ...... 18
-
8/17/2019 Robot Cartesian o Implement Ac i On
6/26
lotter Cartesiano XY
Figuras e Imágenes
Figures
Figure 1. Manipulador Cartesiano..................... ............. ............. ............ ............. ............. ............. .... 2
Figure 2. Grados de libertad del Manipulador Cartesiano .... .... .... .... .... .... .... ..... .... .... ..... .... .... .... ..... .... .... 2
Figure 3. Perfiles Quínticos . ............. ............. ............. ............ ............. ............. ............. ............. ...... 3
Figure 4. Simulación trazado de Recta más grande en espacio de trabajo.. .... .... ..... .... .... ..... .... .... .... ..... .... .. 4
Figure 5. Desplazamiento, Velocidad, Aceleración lineales. .... .... .... ..... .... .... .... ..... .... .... ..... .... .... .... ..... .... .. 6
Figure 6. Gráficas de fuerza y Torque de motores.................................................................................. 7
Figure 7. Diseño Conceptual............. ............. ............. ............ ............. ............. ............. ............. ...... 8
Figure 8. Materiales de construcción para el Robot Escritor.................................................................... 9
Figure 9. Elementos de control.......... ............. ............. ............ ............. ............. ............. ............. ..... 10
Figure 10. Ensamble Final ........ ............. ............. ............. ............. ............. ............ ............. ............ 10
Figure 11. Mecanismo de tranmisión de potencia ................................................................................. 11
Figure 12. Órgano Terminal y Polea.............. ............ ............. ............. ............. ............. ............. ....... 12
Figure 13. ................................................................................................................................... 13
Figure 14. Ejemplo de un pattern vectorial......................................................................................... 14
Figure 15. Controlador Arduino ............ ............. ............. ............. ............. ............ ............. ............. . 15
Figure 16. Raspberry Pi "virtual"........ ............. ............. ............. ............ ............. ............. ............. ... 16
Figure 17. Interfaz de usuario .. ............. ............. ............. ............. ............. ............ ............. ............. . 17
Tables
-
8/17/2019 Robot Cartesian o Implement Ac i On
7/26
Plotter Cartesiano XY
1 Requerimentos para diseñar
1.1 Introducción
En este Capítulo 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 configuración elegida.
1.2 Problema a Resolver
Se busca conceptualizar, diseñar 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 diseño sea alcanzable acorde a nuestros recursos de construcción.
• Que este sea programable.
1.3 Configuración Propuesta
La configuración propuesta para la realización de la tarea es un manipulador Cartesiano.
Una de las ventajas en esta configuración consiste en los valores que toman las variables articu-
lares, 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 configuración. Otros manipuladores pueden tener un mayor volumen de
trabajo que este pero su control es más complicado.
1.4 Justificación de la Respuesta
Al contar con un espacio de trabajo bien definido (20x20cm) la configuración 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.
-
8/17/2019 Robot Cartesian o Implement Ac i On
8/26
lotter Cartesiano XY
Figure 1. Manipulador Cartesiano
Figure 2. Grados de libertad del Manipulador Cartesiano
A diferencia de otros manipuladores el Cartesiano puede significar una configuración no muy
veloz sin embargo el probelma a resolver no especifica tiempos límite, por lo que por esa parte
no existe inconveniente.
Se propone una configuración rectangular de 30x35cm, de modo que el espacio de trabajo solici-
tado está garantizado.
-
8/17/2019 Robot Cartesian o Implement Ac i On
9/26
Plotter Cartesiano XY
2 Simulación de trazado en Mathematica
2.1 Introducción
En este Capítulo se muestra la simulación en Mathematica del trazo de la recta más grande
dentro del espacio de trabajo acordado en el Capítulo anterior de 30x35cm utilizando un perfil
de Quinto grado.
2.2 La recta más grande en el espacio de Trabajo
P0 = { 0 , 0 , 0 } ;P f = { 35 , 3 0 , 0 } ;
(∗L a r e c t a ∗ )qf = \[ Sqrt ] ( ( Pf [ [ 1 ] ] − P0 [ [ 1 ] ] ) ̂ 2 + ( Pf [ [ 2 ] ] − P0 [ [ 2 ] ] ) ̂ 2 + ( Pf [ [ 3 ] ] − P0 [ [ 3 ] ] ) ^2)
;t f = 10 ; (∗E l t ie mp o f i n a l ∗ )
q = ( 6 ( t / t f ) ^5 − 1 5 ( t / t f ) ^4 + 1 0 ( t / t f ) ^ 3 ) q f ; (∗El p e r f i l q ui n ti c o ∗ )qp = D[ q , t ] ; (∗Los p e r f i l e s de v e lo ci d ad y a c e l e ra c i o n ∗ )qpp = D[ qp , t ] ; (∗L as c o o rd e n ad a s c a r t e s i a n a s d e ma ne ra p a r a m e t r i c a s ∗ )
x = P0 [ [ 1 ] ] + q/ qf ( Pf [ [ 1 ] ] − P0 [ [ 1 ] ] ) ;y = P0 [ [ 2 ] ] + q/ qf ( Pf [ [ 2 ] ] − P0 [ [ 2 ] ] ) ;z = P0 [ [ 3 ] ] + q/ qf ( Pf [ [ 3 ] ] − P0 [ [ 3 ] ] ) ;
Plot [ q ,{ t , 0 , t f } , Axe sLabel −> { " t " , " q" } ] (∗Los p e r f i l e s q u in t ic o s ∗ )Plot [ qp , {t , 0 , t f } , Axe sLabe l −> { " t " , " \ ! \ ( \∗ Ove r sc r iptBox [\ ( q\) , \( .\ ) ]\) "} ]Plot [ qpp , {t , 0 , t f } , Axe sLabe l −> { " t " , " \ ! \ ( \ ∗ Ove r sc ript Box [\ ( q\) , \( \) ]\) "} ]
Figure 3. Perfiles Quínticos
-
8/17/2019 Robot Cartesian o Implement Ac i On
10/26
lotter Cartesiano XY
Definición de elementos Gráficos (Eslabónes del Robot Cartesiano)
l a p i z = C y l in d e r [ { { x , y , 0 } , { x , y , 5 } } , 1 ] ;a s p e c t o = A s p ec t R at i o −> 1 ;e j e s = A xes −> True ;c oor de nadas = Axe sLabel −> {"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 = V ie wP oi nt −> Top;(∗E l e s c e n a r i o como t a l . . . ∗)
imagen2 = G raphic s3D [{ Red , lapi z , G re en , Opacit y [ . 3 ] ,Cuboid[{−2 , y − 1 , 5 } , { 3 7 , y + 1 , 6 } ] , Y el l ow ,Cuboid[{−2 , 0 , 4 } , { 0 , 3 0 , 5 } ] , Y el lo w ,C ub oi d [ { 3 5 , 0 , 4 } , { 3 7 , 3 0 , 5 } ] , B lu e , O p ac i ty [ 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[ {35 , y − 1 , 5 } , { 37 , y + 1 , 6 } ] } , a s pe c to , e j e s ,c oor de nadas , r ango , or i ge n ] ;
b l o c k 1 = T ab l e [ i ma ge n2 , { t , 0 , 1 0 , 0 . 2 } ] ;ListAnimate [ block1 ]
La imágen muestra la animación de como el órgano terminal(Cilindro en rojo) se mueve en diag-
onal simulando el trazo de una línea.
Figure 4. Simulación trazado de Recta más grande en espacio de trabajo
-
8/17/2019 Robot Cartesian o Implement Ac i On
11/26
Plotter Cartesiano XY
3 Cálculo de torque de Motores
3.1 Introducción
A continuación se presenta el cálculo matemático del torque de los motores a utilizar en el robot
Cartesiano.
Los motores representan una parte primordial en la construcción y funcionamiento de un robot,
los motores son clasificados dentro de la categoría de los actuadores, los motores son quienes
convierten la energía eléctrica en mecánica y de esta manera con la ayuda de mecanismos se re-
aliza la tarea que se desea.
Sin embargo existen un gran número de motores a elegir, se empieza por ver que existen mo-
tores a pasos, de Corriente Directa, de Corriente Alterna y Servomotores, cada uno tiene sus
ventajas y desventajas de acuerdo a la tarea que se desmpeña.
Ahora, la tarea que se tiene que cumplir nos demanda elergir correctamente los motores que uti-
lizaremos, en un principio los motores a pasos son la opción más confiable, sin embargo una re-
spuesta 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 eslabón 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 aceleración dara como resultado una Fuerza y un Torque en consecuencia.
Reutilizando los Perfiles Quínticos 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" .
d 1 = y ;d1p = D[ d1 , t ] ;d1pp = D[ d1p , t ] ;d 2 = 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 = . 0 2 ;\ t a u 1 = r ∗Fy ;
-
8/17/2019 Robot Cartesian o Implement Ac i On
12/26
lotter Cartesiano XY
\ t a u 2 = r ∗Fx ;
Plot [{ d1 , d1p , d1pp} , {t , 0 , t f } , Axe sLabel −> {"t " , "d1"} ,PlotLegends −> { "y " , " \ ! \ ( \ ∗ Ove r sc r ipt Box [\ ( y \) , \( .\ ) ]\ ) " , "\ !\( \ ∗ Ove r sc r ipt Box [\ (
y\) , \( \) ]\) " } ] (∗ Po s i c i \ ’on∗)Plot [{ d2 , d2p ,d2pp} , {t , 0 , t f } , Axe sLabel −> {"t " , "d2"} ,
PlotLegends −> { "x " , " \ ! \ ( \ ∗ Ove r sc r ipt Box [\ ( x \) , \( .\ ) ]\ ) " ," \ ! \ ( \ ∗ Ove r sc ript Box [\ ( x \) ,\( \) ]\ ) " } ]P l o t [ F y , { t , 0 , t f } , A x es L ab el −> {"t " , "Fmotor1"} ]P l o t [ F x , { t , 0 , t f } , A x es L ab el −> {"t " , "Fmotor2"} ]P l o t [ \ [ Tau ] 1 , { t , 0 , t f } , A x es L ab el −> {"t " , " \ [Tau] mot or 1"}]P l o t [ \ [ Tau ] 2 , { t , 0 , t f } , A x es L ab el −> {"t " , " \ [Tau] mot or 2"}]
Figure 5. Desplazamiento, Velocidad, Aceleración lineales
-
8/17/2019 Robot Cartesian o Implement Ac i On
13/26
Plotter Cartesiano XY
Figure 6. Gráficas de fuerza y Torque de motores.
De lo anterior podemos concluir que de las gráficas de Torque para mover en línea recta una
mas de 2kg máximo se requiere tener un motor con un torque de 0.001Nm, se realizó el mismoprocedimiento 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.
-
8/17/2019 Robot Cartesian o Implement Ac i On
14/26
lotter Cartesiano XY
4 Diseño Conceptual
.1 Introducción
En este Capítulo se muestra como nuestro diseño comienza a tomar forma, el diseño conceptual
se realizó tomando en cuenta los motores, y el espacio de trabajo que propusimos de 30x35cm,
nuestro diseño esta basado en la siguiente figura.
Se planea tener 3 eslabones , el primer Eslabón se desplaza a lo largo de un eje denominado "x",
el Motor 1 transmite la potencia y la pasa a través de una banda de transmisión dentada hacia
el Eslabón 1, el eslabón 2 se mueve de la misma manera pero en el eje Y, la diferencia es que el
eslabón 2 se encuentra sobre el eslabón 1 y finalmente el eslabón 3 puede ser el desplazamientoen el eje Z o bien tratarse del órgano terminal.
Figure 7. Diseño Conceptual
-
8/17/2019 Robot Cartesian o Implement Ac i On
15/26
Plotter Cartesiano XY
5 Construcción
Para la construcción del Robot Cartesiano, se requiere diferentes piezas para ensamblar, a con-
tinuación la lista:
• 5x Perfiles de Madera
• 4x Barras de Desplazamiento Lineal de
8mm de Diámetro
• 2x Banda de Transmisión Dentada
• 2x Rodamientos o poleas Dentadas
• 3x Carros de Desplazamiento
• Tornillos
• Epson EM-483 Stylus C64 Platen Drive
Stepper Motor
• SEIKO EPSON - EM462 - Stepper motor
42mm Dia 4-wire
• Mini servo TowerPro SG90 9G
Figure 8. Materiales de construcción para el Robot Escritor
-
8/17/2019 Robot Cartesian o Implement Ac i On
16/26
lotter Cartesiano XY
.1 Control
El control del robot se describe en la sección "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
.2 Modelado 3D CAD
Se realizó el modelo tridimensional utilizando Solidworks 2015 para obtener medidas y planos.
Figure 10. Ensamble Final
-
8/17/2019 Robot Cartesian o Implement Ac i On
17/26
Plotter Cartesiano XY
Figure 11. Mecanismo de tranmisión de potencia
-
8/17/2019 Robot Cartesian o Implement Ac i On
18/26
lotter Cartesiano XY
Figure 12. Órgano Terminal y Polea
-
8/17/2019 Robot Cartesian o Implement Ac i On
19/26
Plotter Cartesiano XY
Figure 13
-
8/17/2019 Robot Cartesian o Implement Ac i On
20/26
lotter Cartesiano XY
6 Funcionamiento
El funcionamiento del robot se basa en el reconocimiento de patrones o patterns en imágenes
vectoriales, en este tipo de imágenes los trazos se guardan en una estructura conocida como
"pattern" la cual consta de coordenadas abolutas o relativas y comandos, para su uso en nue-
stro robot sólo hicimos uso de 2 de estos comandos:
M Move to, este comando indica que se ha de mover el órgano terminal hacia cierta coorde-
nada del espacio de trabajo por lo que en nuestra implementación al interpretar este co-
mando 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 línea 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 programación
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
-
8/17/2019 Robot Cartesian o Implement Ac i On
21/26
Plotter Cartesiano XY
6.1 Componentes lógicos
Una vez que en el presente documento hemos descrito los distintos componentes físicos del robot
toca hablar de los lógicos, idealmente se cuenta con tres componentes principales:
• Programación Arduino
• Programación 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 matemática involucrada en el proceso de parseo de las imagenes vectoriales,
-
8/17/2019 Robot Cartesian o Implement Ac i On
22/26
lotter Cartesiano XY
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 línea 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 sólo; la Raspberry Pi, esto por que al ser un equipo con muchas mayores prestaciones que
arduino, podría 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 man-
era preeliminar, pero no del todo. La parte que a este componente le tocaría hacer se programó
en un script Python, lenguaje en que se programaría tal componente, de este modo terminamos
con una raspberry pi "virtual" que podemos sustituir por su versión física sin mayor problema.
El objetivo de esta pieza de software es el de procesar las imagenes vectoriales, transformar suscomandos a dimensiones acorde al espacio de trabajo del robot y enviarselas por comunicación
serial a arduino de manera "digeridas".
6.1.3 Interfaz de usuario
Esta cumple la función 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 sólo funciona
indicandole a raspberry pi qué imagen procesar, pero como se muestra se pretende que logre
-
8/17/2019 Robot Cartesian o Implement Ac i On
23/26
Plotter Cartesiano XY
Figure 17. Interfaz de usuario
17
tener mayor funcionalidades haciendo que el usuario final no tenga que lidear con conocimientos
técnicos para operar el robot. Esta está escrita en C++ y utiliza Qt como librería gráfica.
-
8/17/2019 Robot Cartesian o Implement Ac i On
24/26
lotter Cartesiano XY
7 Prototipo final
Como se mencionón ya antes se armó en madera con los componentes indicados, el siguiente es
el resultado físico:
-
8/17/2019 Robot Cartesian o Implement Ac i On
25/26
Plotter Cartesiano XY
-
8/17/2019 Robot Cartesian o Implement Ac i On
26/26
lotter Cartesiano XY 2