Está en la página 1de 6

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

(referido también como banda transportadora) cuya interacción


RESUMEN 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
En este artículo se describe el diseño e implementación del
un algoritmo de visión por computadora para detectar
sistema de automatización de una banda transportadora para una
movimiento. El resultado obtenido de dicho algoritmo es
celda robótica. La celda robótica está compuesta de robots
antropomorfos de tres grados de libertad. En particular, se procesado usando una tarjeta de adquisición de datos Arduino
Mega2560. La figura 1 muestra el montaje parcial de la banda
propone un diseño mecánico para el movimiento de la banda
transportadora. Así mismo, las etapas de control y potencia son transportadora y los dos robots que formarían la celda robótica.
implementadas utilizando la técnica Visual Servoing, que usa Así, el principal objetivo de este trabajo consiste en controlar la
dinámica de la banda utilizando como retroalimentación la
como principal elemento de retroalimentación la información
información proporcionada por la cámara.
visual obtenida de una cámara web convencional, así como una
tarjeta Arduino para la adquisición de los datos. Como resultado
Este trabajo está organizado de la siguiente forma: en la sección
se obtuvo un sistema mecánico controlado completamente por
2 describimos brevemente el modelo dinámico estándar de un
dicha información visual.
robot manipulador, la descripción de la técnica Visual Servoing
y de la tarjeta de adquisición de datos Arduino usada en este
Palabras Claves: Visual Servoing, Banda transportadora,
trabajo, en la sección 3 proporcionamos las especificaciones
Robot antropomorfo de 3 grados de libertad.
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
1. INTRODUCCIÓN
más relevantes obtenidos; finalmente, en la sección 6
formulamos las conclusiones.
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 Figura 1 Fotografía de la banda transportadora y los robots
por computadora puede ser definida como el proceso de antropomorfos montados en el Laboratorio de Robótica FCE-
extracción, caracterización e interpretación del mundo BUAP.
tridimensional a partir de una imagen bidimensional. Este
proceso, puede ser dividido en seis áreas principales: (a) En la figura 2 se muestra el diagrama general del proyecto.
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 2. DESCRIPCIÓN DEL SISTEMA
un tratamiento con técnicas tales como reducción de ruido y
realce de detalles. Segmentación es aquel proceso en el que se Robot antropomorfo
divide una imagen en objetos de interés. La descripción es un Un robot antropomorfo de transmisión directa (ROTRADI)
tratamiento mediante la computadora adecuado para diferenciar define un sistema mecánico de considerable complejidad. La
un tipo de objeto de otro. Reconocimiento es el proceso que naturaleza no lineal, multivariable y acoplada del sistema de
identifica esos objetos. La interpretación asigna un significado ecuaciones que describen el modelo dinámico de un robot
para un conjunto de objetos reconocidos. ofrece un amplio espectro en la formulación de problemas de
En este trabajo proponemos y realizamos el diseño e
instrumentación de un sistema transportador de cadena
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
Figura 2 Diagrama general de la banda transportadora utilización de sistemas servo visuales contribuye a disolver las
automatizada interactuando con una celda robótica. desventajas de sensibilidad del sistema a perturbaciones
externas y variaciones en sus parámetros, además que no se
control. Así, el modelo dinámico del robot permite analizar los necesita una rigurosa precisión en la manufactura de los
fenómenos físicos más importantes encontrados en su mecanismos del robot, debido a que pueden ser compensadas
descripción mecánica, tales como efectos inerciales, fuerzas mediante la información visual.
centrípetas y de Coriolis, par gravitacional y fricción, los cuales
son fenómenos intrínsecos o propios de la naturaleza dinámica En este proyecto se implementa un sistema de control de lazo
del robot [5]. cerrado en donde la información obtenida por la cámara es
usada como señal de retroalimentación visual para poder
Así, el modelo dinámico de un robot manipulador de tres grados controlar la posición de los objetos trasladados por la banda,
de libertad se obtiene aquí por el método de Lagrange. Las obteniendo así el control de posición de la cadena
ecuaciones de movimiento están descritas por la ecuación transportadora. Este sistema nos servirá para que los objetos que
se desplazan por la banda transportadora puedan interactuar con
𝑑 𝜕𝐿(𝑞𝑖 ,𝑞𝑖̇ ) 𝜕𝐿(𝑞𝑖 ,𝑞𝑖̇ )
𝜏𝑖 = 𝑑𝑡 [ ]− , 𝑖 = 1,2, … , 𝑁 (1) la celda robótica para realizar distintas aplicaciones. Para esto
𝜕𝑞̇𝑖 𝜕𝑞𝑖
se realiza un programa de detección de movimiento
donde 𝐿(𝑞𝑖 , 𝑞𝑖̇ ) = 𝐾 + 𝑈 es la función lagrangiana asociada al implementado en Simulink/Matlab, el cual servirá como sensor
sistema, 𝑞𝑖̇ denota la derivada temporal de la coordenada de posición y representará la señal de retroalimentación en el
generalizada 𝑞𝑖 . En nuestro sistema, la energía cinética 𝐾 es sistema de control de lazo cerrado.
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 Tarjeta de adquisición de datos
La tarjeta de adquisición de datos Arduino es una plataforma
caso gravitacional. El sistema se encuentra formado por tres
electrónica y de programación en arquitectura abierta con
eslabones o articulaciones: base (𝑞1 ), hombro (𝑞2 ) y codo (𝑞3 ),
amplia gama de aplicaciones en ciencias exactas e ingeniería.
ver figura 3. Utilizando la teoría de estabilidad de Lyapunov, así
Esta pertenece a la familia de microcontroladores ATMEL y
como la técnica de moldeo de energía, podemos realizar el
por medio de un entorno de programación, con las herramientas
control de posición del robot. En consecuencia, el formalismo
necesarias integradas para diseñar y desarrollar aplicaciones de
permite posicionar el robot en las coordenadas de nuestra
manera sencilla en los lenguajes C y C++, representa un sistema
elección con un alto grado de precisión [6].
empotrado (embedded system) de propósito específico para
automatizar procesos físicos. Para esta investigación se escogió
Visual servoing
la tarjeta Arduino Mega 2560, ya que esta cuenta con
Visual servoing hace referencia a un sistema en lazo cerrado
compatibilidad con Simulink/MATLAB (ver figura 4).
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.

Figura 4: Tarjeta Arduino MEGA 2560.

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
Figura 3: Descripción del sistema de tres grados de libertad, EEPROM] [9].
robot antropomorfo.
3. DISEÑO MECANICO Politereftalato de Etileno (PET, Tereftalato de polietileno), ver
figura 6.
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, Figura 6: Engrane impreso en PLA.
consiste en un correcto diseño del engrane, debemos
asegurarnos que el paso de diente coincida con cada eslabón de Debido a que el PLA no tiene la resistencia necesaria para
la cadena transportadora, además la proporción del diente debe mover a la cadena transportadora, se creó un molde con este
ser la adecuada para el tamaño de cada eslabón. Para diseñar el engrane utilizando caucho de silicón p-48. Con el molde creado
engrane se utilizaron las siguientes ecuaciones: y usando resina de poliéster PP-70x60, se realizaron réplicas
más resistentes del engrane. Esto se comprobó haciendo un
𝑃𝐷 = 1.25𝑀, (2) estudio de fuerzas en Solidworks 2013, figura 7.
𝐷𝑃 = 𝑍𝑀, (3) Como se observa en la figura 7, el primer elemento en sufrir
𝐷𝐸 = 𝐷𝑃 + 2𝑀, (4) una deformación está en la zona de sujeción con el motor, esta
𝐷𝐼 = 𝐷𝑃 − 2.5𝑀, (5) deformación ocurre hasta un valor de 1,108,961.3 N/m2
𝑝𝑎𝑠𝑜 (110.89613 N/cm2).
𝑀= 𝜋 , (6)

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.

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
Figura 5: Croquis del diente de engrane diseñado en Solidworks siguiente pieza en el software Solidworks 2013, ver figura 8, la
2013. cual permite acoplarse a la banda transportadora y sujetar el
motor a la distancia apropiada para que el engrane embone con
Una vez obtenido el diseño, este fue impreso en 3D con una la cadena.
impresora Replicator 2 de Makerbot. La pieza fue construida
con PLA (ácido poliláctico) que es un polímero constituido por Terminadas las piezas se procedió a ensamblarlas junto con la
moléculas de ácido láctico, con propiedades semejantes a la del 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). 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


Figura 8: Ensamble de las tres piezas que conforman la caja del
cámara, una sin movimiento y la otra con movimiento, cuando
motor.
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
Figura 9: Ensamble de las tres piezas que conforman la caja del comparación con un valor constante y se convierte el tipo de
motor. dato para poderse enviar por comunicación serial a la tarjeta
Arduino.
4. 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.

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
Figura 10: Programa en Simulink, detección de movimiento con
genera movimiento en dicho cuadrante, Simulink envía esa
envío de datos a Arduino.
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.

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
Figura 12: Algoritmo de control tarjeta Arduino para detener la etapa de potencia, y el
movimiento de la banda transportadora, dejando un tiempo de
El Algoritmo de control, empieza a ejecutarse desde operación para que el robot de transmisión directa realice la
Simulink/Matab, en donde se detectan señales de movimiento tarea deseada.
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 6. CONCLUSIONES
enviada por comunicación serial asíncrono desde Simulink
hacia la tarjeta Arduino, en donde se envían señales de control En este trabajo se diseñó y desarrolló la automatización de un
al robot y a la etapa de potencia, para ejecutar el proceso sistema transportador de cadena, banda transportadora, para su
deseado. 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): 82-
90.
[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 21-
66.
[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.

También podría gustarte