Automatización de Banda Transportadora con

Anuncio
Automatización de Banda Transportadora con Retroalimentación Visual
Iván Elizondo Aguilera, O. Félix-Beltrán, J. Cid Monjaraz, F. Reyes Cortés, L. C. Gómez Pavón, E. Ríos Silva, S. Ayala Raggi
Facultad de Ciencias de la Electrónica, Benemérita Universidad Autónoma de Puebla
Puebla, Puebla 72570, México
RESUMEN
En este artículo se describe el diseño e implementación del
sistema de automatización de una banda transportadora para una
celda robótica. La celda robótica está compuesta de robots
antropomorfos de tres grados de libertad. En particular, se
propone un diseño mecánico para el movimiento de la banda
transportadora. Así mismo, las etapas de control y potencia son
implementadas utilizando la técnica Visual Servoing, que usa
como principal elemento de retroalimentación la información
visual obtenida de una cámara web convencional, así como una
tarjeta Arduino para la adquisición de los datos. Como resultado
se obtuvo un sistema mecánico controlado completamente por
dicha información visual.
Palabras Claves: Visual Servoing, Banda transportadora,
Robot antropomorfo de 3 grados de libertad.
1.
INTRODUCCIÓN
El posicionamiento de sistemas que utilizan información visual
para su control y automatización ha constituido un problema de
considerable relevancia para diversas áreas de investigación en
los últimos 30 años. El mayor trabajo fue hecho en el dominio
del análisis de secuencias de imágenes (visión dinámica) [1].
Los primeros sistemas de control con retroalimentación visual
fueron reportados a mediados de los 80’s [2].
La retroalimentación visual como parte fundamental en el
control de robots es un área activa de investigación [3],[4]. La
retroalimentación visual consiste en utilizar técnicas de visión
por computadora para reconocimiento visual y usar la
información generada para cerrar el lazo de control. La visión
por computadora puede ser definida como el proceso de
extracción, caracterización e interpretación del mundo
tridimensional a partir de una imagen bidimensional. Este
proceso, puede ser dividido en seis áreas principales: (a)
sensado, (b) pre procesamiento, (c) segmentación, (d)
descripción, (f) reconocimiento e (g) interpretación. Sensado es
el proceso que produce una imagen visual. Pre procesamiento es
un tratamiento con técnicas tales como reducción de ruido y
realce de detalles. Segmentación es aquel proceso en el que se
divide una imagen en objetos de interés. La descripción es un
tratamiento mediante la computadora adecuado para diferenciar
un tipo de objeto de otro. Reconocimiento es el proceso que
identifica esos objetos. La interpretación asigna un significado
para un conjunto de objetos reconocidos.
En este trabajo proponemos y realizamos el diseño e
instrumentación de un sistema transportador de cadena
(referido también como banda transportadora) cuya interacción
con robots manipuladores antropomorfos puede ser controlada a
partir de la información visual proporcionada por una cámara
web convencional. Dicha información visual será utilizada por
un algoritmo de visión por computadora para detectar
movimiento. El resultado obtenido de dicho algoritmo es
procesado usando una tarjeta de adquisición de datos Arduino
Mega2560. La figura 1 muestra el montaje parcial de la banda
transportadora y los dos robots que formarían la celda robótica.
Así, el principal objetivo de este trabajo consiste en controlar la
dinámica de la banda utilizando como retroalimentación la
información proporcionada por la cámara.
Este trabajo está organizado de la siguiente forma: en la sección
2 describimos brevemente el modelo dinámico estándar de un
robot manipulador, la descripción de la técnica Visual Servoing
y de la tarjeta de adquisición de datos Arduino usada en este
trabajo, en la sección 3 proporcionamos las especificaciones
técnicas concernientes a nuestro diseño mecánico particular;
posteriormente, en la sección 4 describimos el sistema
electrónico completo; en la sección 5 discutimos los resultados
más relevantes obtenidos; finalmente, en la sección 6
formulamos las conclusiones.
Figura 1 Fotografía de la banda transportadora y los robots
antropomorfos montados en el Laboratorio de Robótica FCEBUAP.
En la figura 2 se muestra el diagrama general del proyecto.
2.
DESCRIPCIÓN DEL SISTEMA
Robot antropomorfo
Un robot antropomorfo de transmisión directa (ROTRADI)
define un sistema mecánico de considerable complejidad. La
naturaleza no lineal, multivariable y acoplada del sistema de
ecuaciones que describen el modelo dinámico de un robot
ofrece un amplio espectro en la formulación de problemas de
Figura 2 Diagrama general de la banda transportadora
automatizada interactuando con una celda robótica.
control. Así, el modelo dinámico del robot permite analizar los
fenómenos físicos más importantes encontrados en su
descripción mecánica, tales como efectos inerciales, fuerzas
centrípetas y de Coriolis, par gravitacional y fricción, los cuales
son fenómenos intrínsecos o propios de la naturaleza dinámica
del robot [5].
Así, el modelo dinámico de un robot manipulador de tres grados
de libertad se obtiene aquí por el método de Lagrange. Las
ecuaciones de movimiento están descritas por la ecuación
𝑑 𝜕𝐿(𝑞𝑖 ,𝑞𝑖̇ )
𝜏𝑖 = 𝑑𝑡 [
𝜕𝑞̇𝑖
]−
𝜕𝐿(𝑞𝑖 ,𝑞𝑖̇ )
𝜕𝑞𝑖
, 𝑖 = 1,2, … , 𝑁
(1)
donde 𝐿(𝑞𝑖 , 𝑞𝑖̇ ) = 𝐾 + 𝑈 es la función lagrangiana asociada al
sistema, 𝑞𝑖̇ denota la derivada temporal de la coordenada
generalizada 𝑞𝑖 . En nuestro sistema, la energía cinética 𝐾 es
debida a la traslación y rotación de un cuerpo rígido
(articulación) y 𝑈 es la energía potencial del sistema, en este
caso gravitacional. El sistema se encuentra formado por tres
eslabones o articulaciones: base (𝑞1 ), hombro (𝑞2 ) y codo (𝑞3 ),
ver figura 3. Utilizando la teoría de estabilidad de Lyapunov, así
como la técnica de moldeo de energía, podemos realizar el
control de posición del robot. En consecuencia, el formalismo
permite posicionar el robot en las coordenadas de nuestra
elección con un alto grado de precisión [6].
Visual servoing
Visual servoing hace referencia a un sistema en lazo cerrado
para el control de posición del extremo final de un robot usando
directamente la retroalimentación visual [7], este concepto fue
introducido por Hill y Park [8]. Representa una solución
atractiva para posicionar y mover robots manipuladores
autónomos que evolucionan en los ambientes no estructurados.
En un inicio, el uso de sensores de visión y el control de robots
se combinan en modelos de lazo abierto, esto es, la posición del
objeto a manipular en el espacio de trabajo se obtiene a través
del sistema de visión, posteriormente una secuencia de
movimientos es planeada y ejecutada, este modelo es conocido
como mira y mueve; por tratarse de un sistema en lazo abierto,
este padece algunas desventajas como son la sensibilidad a la
incertidumbre paramétrica y a las perturbaciones externas. Una
atractiva solución para mejorar el desempeño y la exactitud de
estos tipos de sistemas representa la retroalimentación visual, la
utilización de sistemas servo visuales contribuye a disolver las
desventajas de sensibilidad del sistema a perturbaciones
externas y variaciones en sus parámetros, además que no se
necesita una rigurosa precisión en la manufactura de los
mecanismos del robot, debido a que pueden ser compensadas
mediante la información visual.
En este proyecto se implementa un sistema de control de lazo
cerrado en donde la información obtenida por la cámara es
usada como señal de retroalimentación visual para poder
controlar la posición de los objetos trasladados por la banda,
obteniendo así el control de posición de la cadena
transportadora. Este sistema nos servirá para que los objetos que
se desplazan por la banda transportadora puedan interactuar con
la celda robótica para realizar distintas aplicaciones. Para esto
se realiza un programa de detección de movimiento
implementado en Simulink/Matlab, el cual servirá como sensor
de posición y representará la señal de retroalimentación en el
sistema de control de lazo cerrado.
Tarjeta de adquisición de datos
La tarjeta de adquisición de datos Arduino es una plataforma
electrónica y de programación en arquitectura abierta con
amplia gama de aplicaciones en ciencias exactas e ingeniería.
Esta pertenece a la familia de microcontroladores ATMEL y
por medio de un entorno de programación, con las herramientas
necesarias integradas para diseñar y desarrollar aplicaciones de
manera sencilla en los lenguajes C y C++, representa un sistema
empotrado (embedded system) de propósito específico para
automatizar procesos físicos. Para esta investigación se escogió
la tarjeta Arduino Mega 2560, ya que esta cuenta con
compatibilidad con Simulink/MATLAB (ver figura 4).
Figura 4: Tarjeta Arduino MEGA 2560.
Figura 3: Descripción del sistema de tres grados de libertad,
robot antropomorfo.
El Arduino Mega es una placa microcontroladora basada
ATmeg1280. Tiene 54 entradas/salidas digitales (de las cuales
14 proporcionan salida PWM), 16 entradas digitales, 4 UARTS
(puertos serie por hardware), un cristal oscilador de 16MHz,
conexión USB, entrada de corriente, conector ICSP y botón de
reset. El ATmega1280 tiene 128KB de memoria flash para
almacenar código (4KB son usados para el arranque del sistema
(bootloader). El ATmega1280 tiene 8 KB de memoria SRAM.
El ATmega1280 tiene 4KB de EEPROM, a la cual se puede
acceder para leer o escribir con la [Reference/EEPROM |librería
EEPROM] [9].
3.
Politereftalato de Etileno (PET, Tereftalato de polietileno), ver
figura 6.
DISEÑO MECANICO
En este trabajo utilizamos el material de Rexroth VarioFlow S,
sin embargo, debido a su alto costo, no todo el material era
disponible para el funcionamiento de la banda transportadora,
por lo que tuvimos que llevar a cabo el diseño y construcción de
algunas piezas que nos permitieran utilizar la banda
transportadora. El primer aspecto a realizar, con respecto al
diseño mecánico, correspondió a como se iba a generar el
desplazamiento de la cadena para la banda transportadora.
Analizando el montaje de las piezas, con ayuda de Solidworks,
se diseñó un engrane con las dimensiones necesarias para
acoplarse a la banda transportadora, y así, adaptando un motor a
este engrane, se pudiera generar movimiento de la cadena.
Parte fundamental del movimiento de la banda transportadora,
consiste en un correcto diseño del engrane, debemos
asegurarnos que el paso de diente coincida con cada eslabón de
la cadena transportadora, además la proporción del diente debe
ser la adecuada para el tamaño de cada eslabón. Para diseñar el
engrane se utilizaron las siguientes ecuaciones:
𝑃𝐷 = 1.25𝑀,
𝐷𝑃 = 𝑍𝑀,
𝐷𝐸 = 𝐷𝑃 + 2𝑀,
𝐷𝐼 = 𝐷𝑃 − 2.5𝑀,
𝑝𝑎𝑠𝑜
𝑀= 𝜋 ,
(2)
(3)
(4)
(5)
(6)
Figura 6: Engrane impreso en PLA.
Debido a que el PLA no tiene la resistencia necesaria para
mover a la cadena transportadora, se creó un molde con este
engrane utilizando caucho de silicón p-48. Con el molde creado
y usando resina de poliéster PP-70x60, se realizaron réplicas
más resistentes del engrane. Esto se comprobó haciendo un
estudio de fuerzas en Solidworks 2013, figura 7.
Como se observa en la figura 7, el primer elemento en sufrir
una deformación está en la zona de sujeción con el motor, esta
deformación ocurre hasta un valor de 1,108,961.3 N/m2
(110.89613 N/cm2).
donde PD denota el pie de diente, M es el modulo, DP es el
diámetro primitivo, Z el número de dientes, DE es el diámetro
exterior y DI corresponde al diámetro interior [10].
Teniendo todas estas medidas se procedió a realizar el diseño
del engrane en el software Solidworks 2013 (ver figura 5).
Figura 7: Análisis de fuerza en Solidworks.
Con el engrane listo se acopló a este un motor de DC a 12 V,
este motor nos ofrece 80 RPM, tiene un consumo de 300 mA en
corrida libre y puede llegar a consumir en pico hasta 5 A. Por lo
tanto, se cuenta ya con una caja de engranes adecuada para
suministrar la fuerza necesaria para mover el engrane junto con
la cadena transportadora.
Figura 5: Croquis del diente de engrane diseñado en Solidworks
2013.
Una vez obtenido el diseño, este fue impreso en 3D con una
impresora Replicator 2 de Makerbot. La pieza fue construida
con PLA (ácido poliláctico) que es un polímero constituido por
moléculas de ácido láctico, con propiedades semejantes a la del
Con todos los elementos anteriores funcionando, el siguiente
paso es diseñar y maquilar una estructura capaz de sujetar al
motor. Una consideración importante para este diseño era que
no se alterara el material existente de Rexroth. Para hacer esto
posible se utilizaron los elementos de unión que nos ofrece la
banda transportadora, utilizando estas propiedades se diseñó la
siguiente pieza en el software Solidworks 2013, ver figura 8, la
cual permite acoplarse a la banda transportadora y sujetar el
motor a la distancia apropiada para que el engrane embone con
la cadena.
Terminadas las piezas se procedió a ensamblarlas junto con la
banda transportadora, y se verificó su funcionamiento,
energizando el motor con una fuente de voltaje y comprobando
que se desplazara la cadena transportadora (Figura 9).
Figura 8: Ensamble de las tres piezas que conforman la caja del
motor.
Figura 9: Ensamble de las tres piezas que conforman la caja del
motor.
4.
La primera parte del programa es la encargada de la detección
de movimiento, el primer bloque es la cámara web, la cual está
conectada a un bloque que convierte del formato de video RGB
a señales de intensidad, las cuales toman los valores de las
matrices RGB y las convierten al multiplicarlos por un valor
constante generando dichos valores de intensidad. Además, está
conectado al bloque de suma de diferencias absolutas o SAD,
este bloque representa el valor absoluto de la diferencia entre la
imagen actual y la anterior. Cuando estos valores SAD exceden
un valor umbral, la imagen pone de relieve el cuadrante en rojo.
En la figura 11 (a) se observan dos imágenes tomadas por la
cámara, una sin movimiento y la otra con movimiento, cuando
el programa detecta perturbaciones que rebasan el valor umbral
resalta el cuadrante en donde se produjo el movimiento, la
división de los cuadrantes para detectar el movimiento está en
función de la resolución que se utilice en la cámara.
Posteriormente se realiza una comparación con un valor
constante y se convierte el tipo de dato para poderse enviar por
comunicación serial a la tarjeta Arduino.
En la figura 11 (b) se puede observar el comportamiento de las
señales cuando no se detectan perturbaciones, se generó
movimiento en la cámara y podemos observar cómo se rebasa el
valor umbral produciendo que los cuadros en donde se halla
detectado actividad se resalten. Posteriormente se hace una
división de la imagen en cuadrantes, después se realiza una
comparación con un valor constante y se convierte el tipo de
dato para poderse enviar por comunicación serial a la tarjeta
Arduino.
SISTEMA ELECTRÓNICO
Para la implementación del control de posición utilizando
Visual Servoing como elemento de retroalimentación se
desarrolló un programa en MatLab 2013 (ver figura 10) con
ayuda del Toolbox de procesamiento de imágenes, el cual
interactúa con la tarjeta Arduino Mega2560, utilizando
comunicación serial asíncrona, para enviar señales de control a
la banda transportadora y así controlar su desplazamiento.
(a)
(b)
Figura 11: Programa de detección de movimiento.
Figura 10: Programa en Simulink, detección de movimiento con
envío de datos a Arduino.
El programa utiliza una cámara de la marca Prefect Choice, la
cual tiene una resolución de 800x600 pixeles, y divide la
imagen en 16 cuadros, en donde por cada cuadrante se producen
señales. Se seleccionó un cuadrante en específico y cuando se
genera movimiento en dicho cuadrante, Simulink envía esa
señal a la tarjeta Arduino, en donde se ejecuta un algoritmo de
control el cual controla la posición de la banda transportadora
(ver figura 13).
Etapa de potencia
Durante la caracterización de la banda transportadora, probamos
los pesos que pueden transportar la banda, y la corriente que
consume el motor a distintos pesos. Durante esta prueba se
observó que el motor no excedía los 2.5 A, por lo que se
instrumentó el puente H (L298N), que es un puente completo
para dos motores, de alto voltaje y corriente, el cual nos ofrece
la capacidad de otorgar una corriente en DC de hasta 4 A,
también posee protección contra sobrecalentamiento
(adicionalmente, en el sistema se utilizó un disipador). La
configuración usada es la mostrada en la figura 14.
Figura 13: Configuración del puente L298N.
5.
RESULTADOS
Con el engrane ensamblado, funcionando con su caja de
soporte, y acoplado a la banda transportadora se realizó una
caracterización de los pesos que podía transportar la cadena y el
consumo de corriente correspondiente a los pesos que
trasladaba, esta caracterización se muestra en la tabla 1.
Peso (N)
Corriente consumida (A)
9.989
1.40
19.551
1.42
29.694
1.58
39.494
1.62
49.196
1.73
58.800
1.82
68.404
1.91
78.498
2.13
88.494
2.24
98.196
2.33
Tabla 1: Caracterización de pesos transportados y corriente
consumida por el motor.
Figura 12: Algoritmo de control
El Algoritmo de control, empieza a ejecutarse desde
Simulink/Matab, en donde se detectan señales de movimiento
por cada división de la imagen realizada en la cámara, se
selecciona un cuadrante y cuando ocurre alguna perturbación en
dicho cuadrante se genera una señal de control, la cual es
enviada por comunicación serial asíncrono desde Simulink
hacia la tarjeta Arduino, en donde se envían señales de control
al robot y a la etapa de potencia, para ejecutar el proceso
deseado.
En las siguientes imágenes, figura 14, podemos ver el
funcionamiento de la banda transportadora, se puede observar
que cuando el objeto cruza por el cuadrante seleccionado, el
programa de Simulink detecta una señal, la cual es enviada a la
tarjeta Arduino para detener la etapa de potencia, y el
movimiento de la banda transportadora, dejando un tiempo de
operación para que el robot de transmisión directa realice la
tarea deseada.
6.
CONCLUSIONES
En este trabajo se diseñó y desarrolló la automatización de un
sistema transportador de cadena, banda transportadora, para su
interacción con una celda robótica compuesta por robots
antropomorfos de tres grados de libertad. Se presentó el diseño
y construcción de un sistema engrane-soporte-motor que provee
[4] Wilson W. J., C. C. Williams, and Graham S. B. Relative
End-Effector Control Using Cartesian Position Based Visual
Servoing. IEEE Transactions on Robotics and Automation.
vol. 12 No. 5, pp. 684-696. October 1996.
[5] Espiau, B.; Chaumette, F.; Rives, Patrick. A new approach
to visual servoing in robotics Volume: 8, Issue: 3
Publication Year: 1992 , Page(s): 313 – 326.
[6] Chaumette, F. ; Hutchinson, S. Visual servo control. I. Basic
approaches Robotics & Automation Magazine, IEEE
Volume: 13 , Issue: 4, Publication Year: 2006 , Page(s): 8290.
[5] F. Reyes “Robótica control de Robots Manipuladores”
Alfaomega 2011.
[6] González, E., Desarrollo y construcción de un robot
antropomorfo de tres grados de libertad, Tesis de Maestría
en Ciencias de la Electrónica, BUAP, México (2009),pp 2166.
[7] Hutchinson S., G. D. Hager and P. I. Corke, A Tutorial on
Visual Servo Control. IEEE Trans. on Robotics and
Automation, Vol. 12, No. 5, October 1996, pp. 651-670.
[8] Hill J. and W. T. Park, Real Time Control of a Robot with a
Mobile Camera. In Proc. 9th ISIR, Washington, D.C., Mar.
1979, pp. 233-246.
[9] Información acerca de las tarjetas Arduino ver http:
arduino.cc
[10] R. L. Norton, Diseño de Maquinaria, McGraw Hill,
Tercera Edición (2005).
Figura 14: Resultados del control de posición utilizando
retroalimentación visual.
el movimiento a la banda transportadora. Para el control de
dicha banda se utilizó la técnica Visual Servoing con el uso de
una cámara web, como elemento principal de retroalimentación,
y una tarjeta de adquisición de datos Arduino. Se presentó la
relación peso transportado/corriente consumida por el motor, así
como el funcionamiento del sistema de control de posición,
mostrándose que se logra la detección de un punto de referencia
dado con la orden de paro. Obteniendo así un sistema mecánico
controlado completamente con información visual. Estos
avances nos permiten la aplicación de la banda transportadora
en interacción con la celda robótica para su uso en diversas
tareas sistematizadas cambiando la herramienta del efector final
en los robots.
7.
REFERENCIAS
[1] Marr D., "Vision A computational Investigation into Human
Representation and Processing of Visual Information",
Freeman, 1982
[2] Corke P. I. Visual Control of Robot Manipulators A review.
Visual Servoing, K. Hashimoto, Ed. Singapore: World
Scientific, pp. 1-31, 1993.
[3] Weiss L. E., A. C. Sanderson, and C. P. Neuman, Dynamic
sensor-based control of robots with visual feedback. In
IEEE Journal of Robot. Automat, vol. RA-3, pp. 404-417,
Oct. 1987.
Descargar