instalación y acondicionamiento de un manipulador tipo

36
Instalación y acondicionamiento de un manipulador tipo SCARA y programación de rutinas para la enseñanza sobre robots industriales César Augusto Benítez Martínez Trabajo de grado dirigido por: Carlos Francisco Rodríguez Herrera PhD Universidad de Los Andes Ingeniería Mecánica Bogotá 2019

Upload: others

Post on 15-Jul-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Instalación y acondicionamiento de un manipulador tipo

Instalación y acondicionamiento de un manipulador tipo SCARA y

programación de rutinas para la enseñanza sobre robots

industriales

César Augusto Benítez Martínez

Trabajo de grado dirigido por:

Carlos Francisco Rodríguez Herrera

PhD

Universidad de Los Andes

Ingeniería Mecánica

Bogotá

2019

Page 2: Instalación y acondicionamiento de un manipulador tipo

Contenido PLANTEAMIENTO DE LA SITUACIÓN .............................................................. 3

JUSTIFICACIÓN ................................................................................................. 5

OBJETIVOS ........................................................................................................ 6

General ........................................................................................................... 6

Específicos ...................................................................................................... 6

METODOLOGÍA ................................................................................................. 7

DESARROLLO ................................................................................................... 8

Generalidades del manipulador ....................................................................... 8

Sensores y actuadores .................................................................................... 9

Reconocimiento de objetos ........................................................................... 14

Circuito .......................................................................................................... 17

Cajas conexiones y soporte .......................................................................... 23

Aplicaciones. Rutinas. Experiencias .............................................................. 23

CONCLUSIONES ............................................................................................. 27

RECOMENDACIONES Y TRABAJO FUTURO ................................................ 28

REFERENCIAS ................................................................................................ 29

ANEXOS ........................................................................................................... 30

Código del Arduino ........................................................................................ 30

Código de la experiencia 1 ............................................................................ 34

Código de la experiencia 2 ............................................................................ 35

Page 3: Instalación y acondicionamiento de un manipulador tipo

PLANTEAMIENTO DE LA SITUACIÓN

Un proceso es comprendido como todo desarrollo sistemático que conlleva una

serie de pasos ordenados u organizados, que se efectúan o suceden de forma

alternativa o simultánea, los cuales se encuentran estrechamente relacionados

entre sí y cuyo propósito es llegar a un resultado preciso (Salazar López, 2016).

Los procesos industriales son un conjunto de acciones dispuestas a la creación,

transformación o transporte de uno o varios productos. Las industrias disponen

para esto tanto mano de obra como activos fijos que, combinados, desarrollan

eficientemente cada una de las etapas del proceso.

Las operaciones industriales actualmente varían en complejidad, tiempo,

desarrollo y materias primas, dependiendo de la rama que estemos analizando.

El crecimiento de la población mundial trae consigo nuevos niveles de demanda

de productos que necesitan ser satisfechos por las compañías que brindan

bienes y servicios.

Entre la alta demanda, la necesidad de disminuir costos de fabricación, ofertar

productos de calidad y competir con las demás compañías del sector, las

empresas han optado por incluir en sus cadenas de producción procesos

automatizados.

Por automatización industrial debe entenderse el conjunto de procedimientos y

acciones automáticas aplicadas a máquinas, procesos o sistemas con objeto de

conseguir los efectos deseados. Los efectos más relevantes que persigue

cualquier compañía moderna al automatizar sus procesos productivos son, por

un lado, la consecución de un producto de características cada vez más

homogéneas, de mayor calidad y de menor coste y, por otro, responder

rápidamente a un mercado con una demanda de producto variable en cantidad,

flexible en funcionalidad y exigente en prestaciones (Tornil & Gámiz Caro , 2014)

La automatización encuentra campo donde las capacidades humanas llegan a

un límite. El ser humano al realizar actividades físicas de manera repetitiva se

desgasta enormemente y desarrolla afecciones propias vinculadas a la actividad

que desempeña. Una máquina automatizada permite romper estas barreras en

cuanto a tiempo y seguridad y aleja al hombre de actividades que exponen su

Page 4: Instalación y acondicionamiento de un manipulador tipo

condición de salud. A su vez, las máquinas pueden operar en condiciones

extremas mientras mantienen el detalle y la exactitud en cada acción

cíclicamente.

La automatización de procesos disminuye y, en algunos casos, elimina la

presencia humana en cada etapa que lo compone. Es así como la creciente

inclusión de procesos automatizados en la industria a nivel mundial ha dado pie

al desarrollo específico de las capacidades del ser humano. Es decir, la mano de

obra no calificada ha ido disminuyendo conforme las máquinas desempeñan las

actividades básicas y permiten al ser humano desarrollar su capacidad cognitiva

en campos más especializados. De esta manera el verdadero potencial de una

persona se encuentra en el desarrollo cognitivo que posea en una rama del

conocimiento en vez de en un amplio espectro de campos académicos.

Paralelo al proceso de automatización industrial que las compañías desarrollan

se encuentra la inversión que realizan en su capital humano. El capital humano

es el valor dado a las capacidades del personal que labora en una empresa, es

decir, nivel de educación, conocimientos generales, destrezas y experiencias

acumuladas, en función de generar mayor productividad y desarrollo económico

(Coelho, 2019)

La automatización industrial trae consigo unos retos a la educación profesional

actual en cuanto a conocimiento de programación y robótica básica se refiere.

Los estudiantes universitarios deben comprender la importancia y el

funcionamiento de las máquinas programables en la actualidad. La

automatización y la robótica, ambas enfocadas a ámbitos industriales, requieren

del raciocinio lógico del estudiante para entender, analizar, definir, programar y

testear rutinas utilizadas en la industria productiva.

El estudiante, futuro profesional capacitado en las ramas de la automatización

industrial, debe involucrarse directamente con los manipuladores industriales y

comprender desde su morfología hasta su funcionamiento a través del contacto

con los mismos de primera mano y disponiendo de ellos experimentar

prácticamente.

Page 5: Instalación y acondicionamiento de un manipulador tipo

JUSTIFICACIÓN

EI robot industrial es un manipulador multifuncional, reprogramable, de

posiciones o movimientos automáticamente controlados, con varios ejes, capaz

de manejar partes, materiales, instrumentos especializados o herramientas a

través de movimientos variables programados para la ejecución de varias tareas

(González, 2003)

La Universidad de Los Andes adquirió en enero de 2019 un robot industrial de 4

EJES / PARA ENSAMBLAJE / PICK AND PLACE EPSON SCARA T3-401S con

propósitos académicos.

Este manipulador tipo SCARA es uno de los más usados en la industria y resulta

especialmente útil para explicar la funcionalidad e importancia de estos debido a

su programación intuitiva y simpleza de diseño.

Para desarrollar el potencial de la máquina e involucrar activamente al estudiante

en el proceso de enseñanza, es necesario un puente académico en forma de

instrucciones y lineamientos que sirvan para transmitir el conocimiento en un

ambiente seguro, pragmático y experimental sobre la automatización industrial.

La brecha entre saber y saber hacer se ve reducida sino eliminada porque el

estudiante interactúa de primera mano con el manipulador, identificando sus

usos, modo de programación y límites mientras experimenta y aprende usándolo.

Page 6: Instalación y acondicionamiento de un manipulador tipo

OBJETIVOS

General Instalar y acondicionar el manipulador industrial EPSON SCARA T3 y desarrollar

rutinas programables que demuestren y enseñen las funcionalidades de

complejidad básica y media del robot.

Específicos • Instalar el manipulador en la mesa dispuesta para tal fin asegurando una

zona amplia que comprenda el espacio de trabajo óptimo de la máquina.

• Adquirir e instalar en el robot el actuador y el sensor que se usarán en las

rutinas, con sus debidos circuitos de control.

• Diseñar y programar rutinas de dificultad básica y media que instruyan al

estudiante en las funcionalidades del robot y sus aplicaciones en el ámbito

industrial.

Page 7: Instalación y acondicionamiento de un manipulador tipo

METODOLOGÍA

La adquisición de la máquina EPSON fue realizada por el profesor Carlos

Francisco Rodríguez Herrera a finales del año 2018 y su entrega fue realizada

en las instalaciones de la Universidad de Los Andes en febrero de 2019.

La máquina se instala en una mesa con paneles extensibles ubicada en el

laboratorio ML-001 | Co-Laboratorio de Interacción Robótica, Automatización,

visualización y sistemas Autónomos en el edificio Mario Laserna.

La inicialización del sistema, comprobación de la instalación y primeros pasos en

el software Epson RC+ 7.0 son realizados bajo la supervisión de Giovanny

Rincón de la empresa Control de Movimiento, responsable de intermediar entre

la universidad y EPSON.

Se escoge como end effector un electroimán para manipulación y sujeción de

objetos. Se acopla un sensor de ultrasonido al montaje para la detección y

clasificación de objetos en base a la distancia medida.

Una vez comprobados los sistemas y realizada la correcta comunicación entre el

sensor y actuador y la máquina, se procede a familiarizarse con las pestañas más

usadas del software Epson RC+ 7.0. El software es gratuito y no requiere

autorizaciones ni licencias por lo que puede ser descargado en cada uno de los

computadores personales de los estudiantes e incluir el respectivo simulador del

SCARA T3 para desarrollar código en casa y probarlo en el laboratorio cuando

así se requiera.

Una vez familiarizados con las pestañas usadas para el control y programación

del manipulador, se procede a crear las rutinas que ilustren los comandos más

utilizados en aplicaciones industriales que involucren pick and place y ensamble.

El lenguaje usado para la programación es SPEL +.

Page 8: Instalación y acondicionamiento de un manipulador tipo

DESARROLLO

Generalidades del manipulador

Ilustración 1. EPSON SCARA T3

La Ilustración 1 muestra una vista isométrica de la máquina donde se evidencian

sus principales partes: Los dos brazos rotacionales que abarcan el plano x-y el

pistón que se mueven en el eje z, además de un grado de libertad rotacional para

girar el eje sobre sí mismo.

En la Ilustración 2 se observan las conexiones que posee la máquina en la parte

superior del segundo brazo (El que dice EPSON en azul) denominadas Hand I/O.

Es allí de donde se alimentan todos los sensores y actuadores adicionales que

se dispongan. Estos puertos son tipo Bit, es decir, solo toman valores on/off. El

cable negro que se observa es un cable de 15 hilos que maneja la comunicación

entre el hand I/O y el circuito controlador y el Arduino ubicados en la caja blanca

de PLA.

Page 9: Instalación y acondicionamiento de un manipulador tipo

Ilustración 2. Hand I/0

Sensores y actuadores El soporte realizado por el estudiante Juan Pablo Muñoz Hoyos para su proyecto

de grado: Diseño de pinza robótica para la manipulación de material delicado es

utilizado para ubicar tanto el sensor como el actuador seleccionados. El soporte

es el que se muestra en la Ilustración 3.

Page 10: Instalación y acondicionamiento de un manipulador tipo

Ilustración 3. Soporte Juan Pablo Muñoz

Se selecciona un electroimán como end effector considerando la simplicidad del

mecanismo de activación, el tamaño y su bajo costo de adquisición comparado

con otros prospectos como lo son una bomba de succión. Por otra parte, las

pinzas son complejas de manufacturar, lentas y se utilizan para sujetar siempre

el mismo elemento, por lo que su rango de aplicaciones es bastante reducido. El

electroimán es bastante restrictivo en cuanto a que los objetos que manipule

deben ser ferromagnéticos.

Las características principales del electroimán se visualizan en la Ilustración 4.

Según sus especificaciones, puede levantar 2.5 kg cuando se le suministran 12

voltios. Los manipuladores T3 pueden elevar máximo 3 kg por lo que el

electroimán cubre casi la totalidad del rango de pesos que maneja la máquina si

se tiene en cuenta que el soporte pesa 0,5 kg.

Page 11: Instalación y acondicionamiento de un manipulador tipo

Ilustración 4. Especificaciones electroimán

En la Ilustración 5 se puede observar cómo se acopla el electroimán al soporte.

La sujeción se logra a través de un tornillo M3 que atraviesa el soporte desde la

parte superior hasta la inferior y se enrosca en un agujero en el centro del

electroimán. Se usan arandelas de ambos lados del soporte y un resorte que

abraza el tornillo y va desde la arandela inferior hasta la parte superior del

electroimán.

La función de este resorte es simple pero fundamental; se encarga de asegurar

que la aproximación a las piezas no se realice por un mecanismo rígido sino uno

amortiguado que permite una buena sujeción sin afectar la integridad de ninguna

parte de la máquina o agregados. El resorte es de constante k necesaria para no

generar momentos grandes sobre la máquina cuando se comprime varios

milímetros ni para perder la deseada orientación vertical en el movimiento.

Page 12: Instalación y acondicionamiento de un manipulador tipo

Ilustración 5. Montaje electroimán

Se escoge un sensor de distancia de ultrasonido para retroalimentar a la máquina

de los objetos sobre los cuales se posa. En la Ilustración 7 se muestran las

especificaciones del sensor, el cual, en nuestro caso, corresponde a la referencia

HY-SRF05.

Los beneficios de este tipo de sensor son su gran precisión y el amplio rango

dentro del cual se comporta eficazmente. Por otro lado, sus defectos radican en

su gran tamaño, complicando la medición precisa de la distancia a objetos

pequeños; y la sensibilidad al cambio de ángulos lo que obliga a medir siempre

paralelo a la superficie de mayor área del objeto.

En la Ilustración 6 podemos detallar el montaje del sensor a una caja de PLA

impresa en 3D y esta a su vez acoplada al soporte. El agarre se realiza con dos

tornillos con sus respectivas tuercas y arandelas que aprisionan la caja contra el

soporte y limitan totalmente el movimiento.

Page 13: Instalación y acondicionamiento de un manipulador tipo

Ilustración 6. Montaje sensor ultrasonido

Ilustración 7. Especificaciones sensor ultrasonido

Page 14: Instalación y acondicionamiento de un manipulador tipo

Reconocimiento de objetos Para que el robot sea capaz de reconocer qué forma (triángulo, círculo o

cuadrado) tiene el objeto que se encuentra debajo del end-effector se creó la

siguiente estrategia:

● Usar el sensor de distancia por ultrasonido HY-SRF05, el cual es capaz

de medir objetos a una distancia entre 2cm y 450cm y con una precisión

de 2mm, lo cual realiza emitiendo un pulso de ultrasonido y midiendo el

tiempo que le toma volver al receptor que incluye el sensor. En la

Ilustración 8 se puede observar una fotografía de dicho sensor.

Ilustración 8. Fotografía del sensor de distancia por ultrasonido HY-SRF05

● Construir las piezas de tal manera que todas las que desde una vista

superior sean iguales (triángulo, círculo o cuadrado) tengan una altura

específica asociada a esa forma, y que las alturas asociadas a cada forma

sean diferentes entre sí. Esto, con el objetivo de que el robot pueda

Page 15: Instalación y acondicionamiento de un manipulador tipo

distinguir las piezas midiendo la altura de estas con el sensor de

ultrasonido.

Se decidió que estas serían las alturas para cada pieza:

● Triángulos: 6cm

● Cuadrados: 4cm

● Círculos: 2cm

Basados en esto se procedió a programar el Arduino para que este realice el

reconocimiento de las piezas y le indique al I/O del robot cuál de las tres formas

identificó.

Para esto se realizó inicialmente una calibración que consistió en montar todo el

circuito sobre el soporte del end-effector, desplazar el eje z del robot hasta la

altura máxima que permite el montaje y hacer mediciones de distancia con el

sensor de ultrasonido mientras se ubicaban los tres tipos de formas debajo de él.

Gracias a esto se obtuvieron rangos de distancias correspondientes a cada una

de las tres figuras. En la Ilustración 9 se observa el montaje utilizado para hacer

la calibración.

Page 16: Instalación y acondicionamiento de un manipulador tipo

Ilustración 9. Montaje para calibración del reconocimiento de las piezas

Posteriormente, se crearon un par de funciones en el código del Arduino que,

grosso modo, realizan 30 mediciones de distancia en un tiempo muy corto

(aproximadamente 300 ms), las promedian, comparan ese promedio con los tres

rangos de distancias que corresponden a cada pieza para identificarla, y

finalmente enciende la salida digital correspondiente que le comunica al robot

cuál figura se encuentra debajo de su end-effector. El código completo se

encuentra en los Anexos.

Page 17: Instalación y acondicionamiento de un manipulador tipo

Circuito El EPSON Scara T3 cuenta con 24 entradas digitales que operan en un rango de

12 a 24V, con 18 salidas digitales que operan en un rango de 0 a 24V (corriente

máxima de 100mA continuos) y con una fuente de 24V y 500mA. Debido a que

el sensor de ultrasonido propuesto opera con 5V, lo cual está fuera del rango de

voltajes de las entradas digitales y de la fuente, no es posible conectarlo

directamente al robot. Adicionalmente, incluso si se pudiera conectar

directamente, el lenguaje de programación SPEL+ con el que funciona el entorno

de desarrollo del robot no cuenta con librerías o funciones que faciliten la

comunicación con el circuito integrado en el sensor, así que el código para

hacerlo funcionar podría ser excesivamente largo y tedioso de realizar. Por esta

última razón se decidió utilizar un Arduino como intermediario entre el HY-SRF05

y el brazo robótico, pues es el lenguaje de programación usado en esta placa de

desarrollo permite hacer uso del sensor fácilmente.

Sin embargo, debido a que el Arduino opera también con 5V, no puede

conectarse directamente al I/O y se hace necesario construir un circuito que

permita regular los voltajes del robot y de los pines del Arduino para que la

comunicación entre los dos sistemas sea posible.

Adicional a esto, existe el problema de que el actuador que se usó (un

electroimán) tampoco opera con el voltaje de la fuente, y la corriente que

consume es mayor a los 100mA que permiten las salidas digitales del I/O, por lo

que, al igual que el Arduino y el sensor, requiere de un circuito adicional para ser

controlado por el robot.

Se construye entonces un circuito capaz de solucionar estos dos requerimientos,

y cuyo diagrama se muestra en la Ilustración 10.

Page 18: Instalación y acondicionamiento de un manipulador tipo

Ilustración 10. Esquema del circuito diseñado

Page 19: Instalación y acondicionamiento de un manipulador tipo

Se usaron los siguientes componentes para su construcción:

● 2 x Regulador de voltaje positivo de 8 voltios LM7808

● 1 x Regulador de voltaje positivo de 5 voltios LM7805

● 2 x Disipador de calor de aluminio + tornillo para LM780X

● 1 x Amplificador operacional cuádruple LM348N

● 1 x Mini relé 5VDC activación y 30VDC 3A operación (HK4100F-DC5V-

SHG)

● 1 x resistencia de 100 Ω

● 1 x bornera de dos terminales

● 1 x Fusible fast blow de 500 mA 250V

● 2 x soportes para fusible

● 1 x baquelita universal

● Cable para breadboard

A continuación, se describe la función de los componentes más importantes del

circuito:

Fusible fast blow de 500 mA 250V: Se usa para proteger la fuente de voltaje

del robot en caso de que haya un corto o algún problema con el circuito que lo

lleve a consumir más de 500mA de corriente, que es el límite máximo que permite

la fuente integrada en el brazo. En caso de que se supere este límite, el fusible

se quemará y detendrá el flujo de corriente a todo el circuito.

Mini relé 5VDC activación y 30VDC 3A operación: Se usa como switch para

encender y apagar el electroimán. Este componente permite alimentar el

electroimán mediante la fuente de voltaje y un regulador, sin preocuparnos por el

límite de corriente (100mA) que tienen las salidas del I/O. Su activación, que sólo

consume 50mA, sí se realiza mediante una de estas salidas digitales.

Reguladores de voltaje de 8 voltios: Uno de estos reguladores se utiliza

exclusivamente para alimentar el electroimán (que opera con 12V o menos). El

otro regulador se utiliza para alimentar el Arduino, puesto que los 24V que

entrega la fuente del robot son demasiado para alimentarlo.

Page 20: Instalación y acondicionamiento de un manipulador tipo

Amplificador operacional cuádruple LM348N: Se usan 3 de los 4

amplificadores incluidos en este circuito integrado. Su función es transformar el

voltaje de la señal digital que entregan las salidas digitales del Arduino, las cuales

son de 0V o 5V, de tal manera que cuando una salida del Arduino entregue 5V,

la salida del amplificador entregue aproximadamente 24V, y que cuando la salida

del Arduino entregue 0V, la salida del amplificador entregue aproximadamente

0V. Esto surge a raíz de que las entradas digitales del robot sólo reconocen

voltajes entre 12V y 24V (cuando miden más de 12V su estado es ON, y cuando

miden menos su estado es OFF) por lo que los 5V del Arduino son insuficientes

para activarlas y comunicarse. Los amplificadores se conectan en configuración

Open Loop para permitir esta funcionalidad.

Regulador de voltaje de 5V: Cumple dos funciones. Una de ellas es alimentar

el Output Common del robot, de manera que la salida digital que activa el relé

funcione con estos mismos 5V. Su otra función es ser la señal de referencia de

las entradas inversoras de los amplificadores operacionales de tal manera que,

si a la entrada no inversora del amplificador se le aplica un voltaje menor a 5V, el

voltaje de salida será 0V, y si se le aplica más de 5V, el voltaje de salida será

24V.

Resistencia de 100 Ω: Se conecta en serie con la alimentación del Arduino,

formando un divisor de voltaje en el que aproximadamente 2V quedan en la

resistencia y 6V quedan en el Arduino. Además, actúa como una tierra flotante

para el Arduino, de manera que los voltajes de las salidas digitales del Arduino

respecto a la tierra de la fuente sean (0V+VoltajeResistencia) y

(5V+VoltajeResistencia) en sus estados LOW y HIGH respectivamente, es decir,

2V y 7V aproximadamente. La utilidad de esto es que estas salidas digitales son

las que se usan como referencia para la entrada no inversora de los

amplificadores, y para que estos funcionen como deben es necesario que, en su

estado HIGH, el voltaje de referencia sea mayor a 5V y en su estado LOW sea

menor a 5V, lo cual se logra con esta resistencia.

En la Ilustración 11 se muestra una fotografía del circuito terminado y conectado.

Page 21: Instalación y acondicionamiento de un manipulador tipo

Ilustración 11. Fotografía del circuito conectado con el Arduino, el sensor y el electroimán.

A continuación, en la Ilustración 12 se muestra un diagrama de flujo que explica

la comunicación entre el sensor y el robot a través de este circuito.

Page 22: Instalación y acondicionamiento de un manipulador tipo

Ilustración 12. Diagrama de flujo de la comunicación entre sensor y robot en una rutina normal

Page 23: Instalación y acondicionamiento de un manipulador tipo

Cajas conexiones y soporte Los compartimentos donde residen tanto el sensor como el Arduino y el circuito

son cajas hechas en PLA e impresas en 3D. A diferencia de la caja del sensor,

la caja del circuito no está sujetada con tornillos o tuercas sino con una pestaña

creada en la parte inferior de la misma, la cual se inserta en una de las tres

ranuras del soporte y limita el movimiento en xy, y en menor medida, en z.

La caja del circuito tiene como entrada el cable de 15 hilos proveniente del hand

I/O de la máquina y de salida posee dos agujeros en extremos opuestos por

donde sale la comunicación del Arduino al sensor y, del otro lado, del circuito al

electroimán.

Aplicaciones. Rutinas. Experiencias Se diseñaron y construyeron tres diferentes tipos de objetos dependiendo de su

geometría. Se crearon tres discos, tres paralelepípedos rectangulares con dos

caras cuadradas (que serán llamados “cubos”) y tres prismas triangulares

regulares (que serán llamados “triángulos”), para poder ser usados en las

diferentes rutinas y experiencias programadas.

Ilustración 13. Pieza cubo

Page 24: Instalación y acondicionamiento de un manipulador tipo

Ilustración 14. Pieza triángulo

Ilustración 15. Pieza disco

Page 25: Instalación y acondicionamiento de un manipulador tipo

Toda la madera en la pieza fue debidamente sellada y barnizada a su vez que el

hierro fue protegido con una pintura anticorrosiva, esto buscando alargar la vida

útil de las piezas.

Las experiencias programadas para ilustrar las funcionalidades del robot se

describen brevemente en la Ilustración 16. Estas están enfocadas a comandos

de movimientos a distintas velocidades y aceleraciones a su vez que se

interactúa con la información que brinda le sensor y se juega con la activación

precisa del actuador a cada momento.

Título Descripción Aprendizaje Herramientas

necesarias

Movimientos básicos y de

aproximación fina

Se ubican figuras de madera en lugares preestablecidos y se le instruye al estudiante a organizarlos de diferentes maneras

Identificar los modos de uso de la máquina. Introducir los diversos comandos de movimiento. Asignar y nombrar coordenadas en el espacio como puntos personalizados. Modificar la aceleración y velocidad de cada movimiento de manera independiente. Involucrar la activación de un actuador en base condicionales establecidos. Introducir el concepto de Home

Robot SCARA T3. Software EPSON RC 7+. Actuador/End Effector Electroimán. Figuras en madera con chapilla metálica

Control de acciones con

señales

Se tienen posiciones preestablecidas para las figuras, pero no se determina que figura va en cada caso. Así se le instruye al estudiante que con ayuda del sensor determine la figura y le asigne un punto de llegada

Emular un caso básico de pick and place donde se debe hacer distinción de las partes y su respectiva disposición final. Aprender a comunicar los sensores con el robot e involucrar esa información en los condicionales del código. Utilizar la retroalimentación de sensores para darle mayor flexibilidad al código escrito.

Sensor ultrasonido. Figuras en madera con chapilla metálica con diferente espesor.

Page 26: Instalación y acondicionamiento de un manipulador tipo

Instrucciones de alto nivel

Se asigna una posición Home establecida desde donde se toman las medidas de todas las piezas que llegan, simulando una banda transportadora. Se le instruye al estudiante que las organice en matrices de empaque personalizadas.

Introducir la función Pallet. Programación de empaque simultaneo guardando la información del estado de cada matriz a cada momento.

Recipientes o contenedores donde empacar de manera organizada cada tipo de figuras

Ilustración 16. Experiencias

Las experiencias expuestas son fáciles de replicar y brindan al estudiante un

entendimiento mucho más amplio sobre la robótica industrial y sus aplicaciones.

A su vez, se familiariza con el lenguaje SPEL mientras desarrolla sus

capacidades lógicas y cognitivas en la resolución de problemas.

Page 27: Instalación y acondicionamiento de un manipulador tipo

CONCLUSIONES

• Se instaló de manera segura y confiable el manipulador industrial en una

mesa con el espacio y se acondicionó con el actuador y las herramientas

adecuadas para aprovechar las funcionalidades de la máquina sin perder

de vista la movilidad del sistema hacia otros laboratorios o salones de

clase para su exposición.

• Se diseño, construyó y probó con resultados favorables un circuito de

control que permite la comunicación entre sensores y actuadores con el

microcontrolador del manipulador industrial.

• Se cumplió con el objetivo de crear rutinas sencillas que implementen los

comandos más usados en los procesos de pick and place para desarrollar

demostraciones llamativas que interesen a los estudiantes a la vez que les

enseñen las capacidades de un manipulador industrial

• Se determinó que el lenguaje de programación SPEL+ es intuitivo y

permite programar desde los movimientos más simples hasta tareas

largas y complejas, por lo que su enseñanza sería muy útil en el ámbito

de manipuladores robóticos y automatización industrial.

Page 28: Instalación y acondicionamiento de un manipulador tipo

RECOMENDACIONES Y TRABAJO FUTURO

• Las rutinas programadas y las experiencias retratadas a lo largo de este

proyecto no pudieron ser probadas con un grupo control del cual tomar

retroalimentaciones sobre la asertividad o error de este método de

enseñanza. Probar estas rutinas con un grupo de estudiantes y analizar

sus comentarios es una manera de mejorar en general tanto las rutinas

como el acercamiento del tema a los estudiantes.

• Con el fin de mejorar la movilidad de toda la maquina y no limitar tanto los

movimientos en el eje z, es relevante analizar la posibilidad de mover la

caja del circuito hacia otra posición donde la interferencia en general sea

menor.

• Para lograr un escenario productivo cada vez más realista, la compra o

adquisición de una banda transportadora y su enlazamiento con el

manipulador industrial a través de aplicaciones de alto nivel que tengan en

cuenta ambas partes del conjunto explicaría de manera nítida las

relaciones que hay entre máquinas en las cadenas de producción.

• Realizar las conexiones a la parte posterior de la máquina en el

STANDARD I/O en vez del HAND I/O permitiría un control mas amplio de

las señales in & out debido a su naturalidad byte y Word de estos puertos

y así probar otra clase de actuadores y sensores.

• Comprar una cámara y programarla para comunicarla con el manipulador

y empezar a trabajar aplicaciones con reconocimiento de imagen donde la

flexibilidad en la automatización y programación de experiencias sea

mucho mayor.

Page 29: Instalación y acondicionamiento de un manipulador tipo

REFERENCIAS Coelho, F. (2019). Significado de capital humano. Recuperado el 05 de 06 de

2019, de Significados: https://www.significados.com/capital-humano/

González, V. (2003). Definición del robot industrial. Recuperado el 05 de 06 de

2019, de Robots industriales:

http://platea.pntic.mec.es/vgonzale/cyr_0204/ctrl_rob/robotica/industrial.ht

m

Salazar López, B. (2016). Procesos Industriales. Recuperado el 05 de 06 de

2019, de Ingenieria Industrial:

https://www.ingenieriaindustrialonline.com/herramientas-para-el-

ingeniero-industrial/procesos-industriales/

Tornil, S., & Gámiz Caro , J. (06 de 2014). La robótica industrial en el ámbito de

la automatización global: estado actual y tendencias. Recuperado el 05

de 06 de 2019, de Tecnica Industrial:

http://www.tecnicaindustrial.es/TIFrontal/a-5832-la-robotica-industrial-

ambito-automatizacion-global--actual-tendencias.aspx

Page 30: Instalación y acondicionamiento de un manipulador tipo

ANEXOS

Código del Arduino

/*

PROGRAM USED FOR IDENTIFYING THE FIGURE UNDERNEATH THE ULTRASONIC

SENSOR AND NOTIFYING THE EPSON SCARA T3 ROBOT

Tested with HY-SRF05

Assuming a room temp of 20 degrees centigrade

The circuit:

* VVC connection of the sensor attached to +5V

* GND connection of the sensor attached to ground

* TRIG connection of the sensor attached to digital pin 12

* ECHO connection of the sensor attached to digital pin 13

*/

const int TRIG_PIN = 12;

const int ECHO_PIN = 13;

void setup() {

// Initialize serial communication:

Serial.begin(9600);

// Set pinmode of the pins used for the ultrasonic sensor and the

communication with the robot I/O

pinMode(TRIG_PIN,OUTPUT);

pinMode(ECHO_PIN,INPUT);

pinMode(2,OUTPUT);

pinMode(3,OUTPUT);

pinMode(4,OUTPUT);

}

// Function medirDistancia()

// Returns distanceCm of type double, which contains the distance

measured by the ultrasonic sensor in centimeters

double medirDistancia(){

double duration, distanceCm;

//Trigger the TRIG_PIN of the ultrasonic sensor in order for it to

Page 31: Instalación y acondicionamiento de un manipulador tipo

start measuring

digitalWrite(TRIG_PIN, LOW);

delayMicroseconds(2);

digitalWrite(TRIG_PIN, HIGH);

delayMicroseconds(10);

digitalWrite(TRIG_PIN, LOW);

// pulseIn reads the pulse in the ECHO_PIN (waits for the pin to

change state and starts measuring time until it changes states again)

in microseconds

duration = pulseIn(ECHO_PIN,HIGH);

// convert the time into a distance, based on the speed of sound on

air at 20C and 1 atmosphere of pressure

distanceCm = duration / 29.1 / 2.0 ;

//Waits 5 ms in order to allow residual reflections of emitted

ultrasound to dissipate before starting to measure distance again

delay(5);

return distanceCm;

}

// Function reconocerObjeto()

// Returns an int called "object" which represents the shape of the

figure being measured (circle, square, triangle or none of them)

int reconocerObjeto(){

int contador = 0;

double promedio = 0;

int objeto = 0; //0 means there is no recognized object below the

sensor

double sumaDistancias = 0;

double suma = 0;

//This loop makes 30 measurements of the distance at which the

object is at from the sensor and sums them, ruling out the outlier

values (those which can't correspond to any of the shapes) and

keeping count of the number of valid measurements

for(int i=0; i<30; i++){

int distanciaActual = medirDistancia();

if(!(distanciaActual < 4 || distanciaActual > 11)){

contador++;

Page 32: Instalación y acondicionamiento de un manipulador tipo

sumaDistancias += distanciaActual;

}

suma += distanciaActual;

}

// This finds the average of the valid distances measured in the

last step

if(contador>0){

promedio = sumaDistancias/contador;

}

else{

promedio = suma/30;

}

//This lines print the average measured distance to the Serial

console

Serial.print(promedio);

Serial.print(" ");

// This determines which of the objects is present based on the

distance range in which the averaged measurements lie

if(promedio>=4 && promedio <= 7){

objeto = 1; //1 means triangle

//This changes to HIGH the state of the pin which connects to the

robot input associated with the triangle shapes

digitalWrite(2, HIGH);

digitalWrite(3, LOW);

digitalWrite(4, LOW);

//This lines print to the console that the object was recognized

as being a triangle

Serial.println("Triángulo");

}

else if(promedio >=7.5 && promedio <= 9.3){

objeto = 2; //2 means square

//This changes to HIGH the state of the pin which connects to the

robot input associated with the square shapes

digitalWrite(2, LOW);

digitalWrite(3, HIGH);

digitalWrite(4, LOW);

//This lines print to the console that the object was recognized

Page 33: Instalación y acondicionamiento de un manipulador tipo

as being a square

Serial.println("Cuadrado");

}

else if(promedio >=9.6 && promedio <= 11){

objeto = 3; //3 means circle

//This changes to HIGH the state of the pin which connects to the

robot input associated with the circular shape

digitalWrite(2, LOW);

digitalWrite(3, LOW);

digitalWrite(4, HIGH);

//This lines print to the console that the object was recognized

as being a circle

Serial.println("Círculo");

}

else{

digitalWrite(2, LOW);

digitalWrite(3, LOW);

digitalWrite(4, LOW);

//This lines print to the console that it was determined that no

object is present

Serial.println("Ninguno");

}

return objeto;

}

// loop() function which is executed in a loop until as long as the

Arduino is powered on

void loop()

{

// this line calls the function "reconocerObjeto()"

reconocerObjeto();

}

Page 34: Instalación y acondicionamiento de un manipulador tipo

Código de la experiencia 1

Function main Motor On Power High Speed 40 Accel 40, 40 On Medicion Go UpCirculo On Electroiman Go PickCirculo Go UpCirculo Speed 10 Accel 10, 10 Go UpTorre Go TorreCirculo Off Electroiman Wait 1 Speed 40 Accel 40, 40 Go UpTorre Go UpCuadrado On Electroiman Go PickCuadrado Go UpCuadrado Speed 10 Accel 10, 10 Go UpTorre Go TorreCuadrado Off Electroiman Wait 1 Speed 40 Accel 40, 40 Go UpTorre Go UpTriangulo1 On Electroiman Go PickTriangulo1 Go UpTriangulo1 Speed 10 Accel 10, 10 Go UpTorreTriangulo1 Go DownTorreTriangulo1 Off Electroiman

Page 35: Instalación y acondicionamiento de un manipulador tipo

Wait 1 Speed 40 Accel 40, 40 Go UpTorreTriangulo1 Go UpTriangulo2 On Electroiman Go PickTriangulo2 Go UpTriangulo2 Speed 10 Accel 10, 10 Go UpTriangulo2Giro Go UpTorreTriangulo2 Go DownTorreTriangulo2 Off Electroiman Wait 1 Go UpTorreTriangulo2 Off Medicion Motor Off Fend

Código de la experiencia 2

Function main2 If Motor = Off Then Motor On EndIf Power High Off Electroiman Off Medicion Speed 20 Accel 20, 20 Home On Medicion Do Wait 2 If Sw(Circulo) Then Wait 4 On Electroiman Go Ready

Page 36: Instalación y acondicionamiento de un manipulador tipo

Go TakeCirculo Go Ready Go DropCirculoArriba Go DropCirculoAbajo Off Electroiman Wait 1 Go DropCirculoArriba Home ElseIf Sw(Cuadrado) Then Wait 4 On Electroiman Go Ready Go TakeCuadrado Go Ready Go DropCuadradoArriba Go DropCuadradoAbajo Off Electroiman Wait 1 Go DropCuadradoArriba Home ElseIf Sw(Triangulo) Then Wait 4 On Electroiman Go Ready Go TakeTriangulo Go Ready Go DropTrianguloArriba Go DropTrianguloAbajo Off Electroiman Wait 1 Go DropTrianguloArriba Home EndIf Loop Fend