Vous êtes sur la page 1sur 6

Seminario de Visin Artificial, Automatizacin y Robtica

Escuela Colombiana de Carreras Industriales - ECCI


1

ResumenEl desarrollo de este proyecto tuvo como
objetivo integrar un mdulo de robtica, uno de
automatizacin y uno de visin artificial con el fin de
solucionar un problema: clasificar cajas de acuerdo a un
patrn compuesto por color y forma. Para lograr esto, se
program un brazo robtico con dos rutinas; una para
las cajas con el patrn deseado y otra para las cajas que
deban desecharse. Para el mdulo de visin artificial se
dise un algoritmo para detectar formas, basado en
filtros, y un algoritmo para detectar color y la
comunicacin entre el programa y el PLC (mdulo de
control) se realiz con Arduino.

ndice de Trminos Cosimir, karel, segmentacin,
ladder, potencia, artificial.

I. INTRODUCCIN
Se entiende por automatizacin el proceso de hacer que
las mquinas sigan un orden predeterminado con poca o
ninguna mano de obra, usando equipos y dispositivos
especializados que ejecutan y controlan los procesos de
manufactura [3]. A lo largo de la historia se han ido
utilizando herramientas que facilitan procesos y
optimizan tareas; es as como se empezaron a utilizar
herramientas de piedra, de metal, mquinas de vapor y
finalmente sistemas tan robustos como los existen
actualmente.

En la actualidad la automatizacin permite integrar
diversos aspectos de las operaciones de manufactura para
mejorar la calidad, uniformidad, mejorar los tiempos de
ciclo, mejorar la productividad y minimizar errores
humanos.

En este caso se automatizar un proceso industrial en
donde se clasificarn cajas de acuerdo a una marca. Se
utilizar visin artificial para identificar las marcas, un
microcontrolador para enviar y recibir seales de control
entre el PC y el PLC y un PLC que controlar el brazo
robtico.


La inteligencia artificial es considerada una rama de la
computacin y relaciona un fenmeno natural con una
analoga artificial a travs de programas de computadora,
sta puede ser tomada como ciencia si se enfoca hacia la
elaboracin de programas basados en comparaciones con
la eficiencia del hombre, contribuyendo a un mayor
entendimiento del conocimiento humano. Por otro lado es
tomada como ingeniera, basada en una relacin deseable
de entrada-salida para sintetizar un programa de
computador. "El resultado es un programa de alta
eficiencia que funciona como una poderosa herramienta
para quien la utiliza"[4].

El caso de inters del presente proyecto es poder clasificar
cajas de acuerdo a una forma y un color determinados.
Para esto se utilizar un brazo robtico, un PLC (como el
que se muestra en la Figura 1) y un programa simulado en
MatLab para la clasificacin de las cajas.


Figura 1: PLC utilizado para el desarrollo de este proyecto; PLC
OBA6
A continuacin se describir el proyecto por etapas:
programacin del brazo robtico, programacin del PLC
descrito en la Figura 1. Al final el programa de
reconocimiento de patrones. Finalmente se explicar el
funcionamiento de las etapas en conjunto.


II. PROGRAMACIN DEL BRAZO ROBTICO,
SIMULACIN CON COSIMIR
El programa de COSIMIR es un software en el cual se
puede aprender a operar y programar el brazo robtico
como el que se ilustra en la siguiente Figura 2.
Alejandra Quevedo, 21489, Daniel Rodriguez, 18806, Christian Castro, 31432, Andrs Aguirre, 31429, Diego
Leiton, 34779
alejandra.quevedo85@gmail.com , andresure1811@hotmail.com, cristianjd_@hotmail.com ,
diegoleiton@gmail.com , felipe6476@hotmail.com
Escuela Colombiana de Carreras Industriales ECCI


Seminario de Inteligencia Artificial, Automatizacin y
Robtica


Seminario de Visin Artificial, Automatizacin y Robtica

Escuela Colombiana de Carreras Industriales - ECCI
2


Figura 2: Brazo robtico realizando la rutina programada
Este programa cuenta con la facilidad de poder agregar o
insertar objetos que podran usarse en la industria, es
decir, se podra construir una lnea de ensamble con su
simulacin respectiva. En la Error! No se encuentra el
origen de la referencia. Se muestran los objetos que se
utilizaron en la simulacin.


Figura 3: Banda transportadora y caja a simular.

Aunque tambin cuenta con ciertas desventajas como por
ejemplo: si se inserta un objeto de trabajo y por algn
descuido se deja levantado de la superficie de trabajo
jams podr regresarlo a su posicin inicial, otro caso
muy comn es que las personas que lo estn utilizando
agreguen ms de los objetos que van a utilizar, al hacer
esto jams los podrn quitar, en este caso la nica opcin
sera reiniciar nuevamente todo el programa. Para este
caso se utilizaron 5 cajas que se organizaron en el suelo
como muestra en la Figura 4.


Figura 4: Organizacin de las cajas ya transportadas
1

La simulacin elaborada en COSIMIR corresponde a la
implementacin que se realiz con KAREL del brazo
robtico, descrita anteriormente. La Figura 5 muestra
algunas posiciones del brazo durante la rutina
programada.

1
Esta es la disposicin de las cajas utilizada para los programas
descritos en los apndices 1 y 2 (KAREL y COSIMIR
respectivamente).



Figura 5:Simulacin en COSIMIR de la rutina implementada en
karel.
La rutina diseada con el robot consiste en ubicar las cajas
en dos lugares diferentes de acuerdo a si es la caja correcta
o si debe desecharse. Para esto se tienen dos entradas, la
entrada in1 representa la rutina caja correcta y la
entrada in2 la rutina caja incorrecta. En el Diagrama 1.
Se muestra el diagrama de bloques correspondiente a la
programacin del brazo robtico.



Diagrama 1: Diagrama bloques, programacin brazo robtico

III. PROGRAMACIN DEL PLC
En la programacin de un PLC es importante tener en
cuenta el tipo de sensores que se utilizarn, y cmo
funcionan estos: como saber si funcionan como contactos
normalmente abiertos o cerrados.

La incursin de los PLCs (Programmable Logic
Controller) en la industria signific un cambio importante



Seminario de Visin Artificial, Automatizacin y Robtica

Escuela Colombiana de Carreras Industriales - ECCI
3
en los procesos de produccin y/o control, abriendo paso
a una nueva era de sistematizacin, estandarizacin y
demanda de mano de obra especializada [3].

Para describir las partes que integran a un PLC es
imperante definir que todo sistema de control automtico
posee tres etapas que le son inherentes e imprescindibles,
estas son:

a. Etapa de acondicionamiento de seales:
Est integrada por toda la serie de sensores que
convierten una variable fsica determinada a una seal
elctrica, interpretndose esta como la informacin del
sistema de control.

b. Etapa de control:
Es en donde se tiene la informacin para poder llevar a
cabo una secuencia de pasos, dicho de otra manera, es
el elemento de gobierno.

c. Etapa de potencia:
Sirve para efectuar un trabajo que siempre se
manifiesta por medio de la transformacin de un tipo
de energa a otro tipo.

La unin de las tres etapas nos da como resultado el contar
con un sistema de control automtico completo, pero se
debe considerar que se requiere de interfaces entre las
conexiones de cada etapa, para que el flujo de
informacin circule de forma segura entre estas.

Para comenzar, se observar que los elementos que
conforman a los sistemas de control de lazo abierto y/o
lazo cerrado, se encuentran englobados en las partes que
conforman a un Control Lgico Programable: Unidad
central de proceso, mdulos de entrada y salida de datos,
dispositivo de programacin o terminal.

A. Tipos de Lenguajes de Programacin con PLCs
En un principio, cada compaa de PLC tena su propio
lenguaje de programacin lo que haca de la
automatizacin un trabajo rgido y cerrado, sin embargo,
hoy en da se ha estandarizado la programacin de PLCs,
de la cual se destacan los siguientes lenguajes:

a. Lenguaje de Contactos LADDER: es el ms
utilizado debido a su simplicidad; es un lenguaje
grfico en donde se va siguiendo el flujo de energa.
Se puede hacer uso de contactos, bobinas y bloques
funcionales. En este tipo de lenguaje las rdenes se
evalan de arriba abajo y de izquierda a derecha.



Figura 6: Lenguaje LADDER
Para programar un PLC con LADDER, adems de estar
familiarizado con las reglas de los circuitos de
conmutacin, es necesario conocer cada uno de los
elementos de que consta este lenguaje. En la siguiente
tabla podemos observar algunos smbolos de los
elementos bsicos junto con sus respectivas descripciones
[3].

Tabla 1: Smbolos principales de la programacin en LADDER
Smbolo Nombre Descripcin

Contacto NA
Se activa cuando hay un uno lgico en
el elemento que representa, esto es,
una entrada, una variable interna o un
bit de sistema.

Contacto NC
Su funcin es similar al contacto NA
anterior, pero en este caso se activa
cuando hay un cero lgico.

Bobina NA
Se activa cuando la combinacin que
hay a su entrada (izquierda) da un uno
lgico. Su activacin equivale a decir
que tiene un uno lgico. Suele
representar elementos de salida,
aunque a veces puede hacer el papel de
variable interna.

Bobina NC
Se activa cuando la combinacin que
hay a su entrada (izquierda) da un cero
lgico. Su activacin equivale a decir
que tiene un cero lgico

La descripcin de entradas y salidas se muestra en la
siguiente tabla.

Tabla 2: Descripcin de entradas y salidas PLC
I tem Descripcin I tem Descripcin
I1 Pulsador de inicio Q1 Inicio Banda
I2 Pulsador de parada Q2 Sentido Banda
I3 Seal arduino "vedadero" Q3 FANUC verdadero
I4 Seal arduino "falso" Q4 FANUC falso
I5 Final de carrera- lmite caja
I6 N/A
I7 N/A
I8 N/A
Entradas SALIDAS



Seminario de Visin Artificial, Automatizacin y Robtica

Escuela Colombiana de Carreras Industriales - ECCI
4


Figura 7: PLC cableado y listo para ser utilizado

IV. VISIN ARTIFICIAL
El mdulo de visin artificial incluye la captura de una
imagen por medio de una webcam tras lo cual se realizar
el procesamiento correspondiente para detectar color y
forma. Para este caso slo se tendrn 3 formas posibles:
tringulo, crculo y cuadrado, y 3 colores: rojo, verde y
azul.

Debido a que la resolucin de la cmara no era buena, y
adems no es un ambiente controlado, fue necesario
realizar varios procesos para tratar de hacer un algoritmo
lo ms resistente a ruido posible. Sin embargo, si fue
necesario garantizar un fondo ms claro que el objeto a
identificar, y luz suficiente para que los colores sean
claros. El primer problema que se present fue con las
sombras, ya que el sistema reconoca las sombras como
objetos, sin embargo, garantizando condiciones buenas de
luz, este error pudo eliminarse.


Figura 8: Problema en la segmentacin
A. Segmentacin por color
La segmentacin por color se realiz a partir de la
cantidad de color que tena la imagen [5]. Se analiz el
histograma de cada capa de color (roja, verde y azul), el
color predominante en la imagen es aquel que tiene su
histograma ms recargado hacia la derecha, como se
puede ver en la Figura 9.


Figura 9: Histograma de color de una imagen rgb.
B. Deteccin de forma
Para la deteccin de la forma se utiliz un parmetro que
compara el permetro de la figura detectada con su rea.
Para esto, fue necesario detectar los bordes de la imagen
para hallar su permetro y su rea [6]. El parmetro est
dado por:
=
()
2

[1]

Para un crculo, = 4 12.56
Para un cuadrado, 16
Para un tringulo, 18

Sin embargo se utilizaron intervalos para cubrir un error
mnimo en la segmentacin de la imagen [7]. En la Figura
10 se ilustran los pasos para la deteccin de bordes.



Figura 10: Deteccin de forma [8]. Arriba imagen original, abajo a
la izquierda: imagen binarizada, abajo a la derecha borde de la
imagen.
0
1
2
3
x 10
4
ROJO
0 100 200
0
1
2
3
x 10
4
VERDE
0 100 200
0
1
2
3
x 10
4
AZUL
0 100 200
Original


Seminario de Visin Artificial, Automatizacin y Robtica

Escuela Colombiana de Carreras Industriales - ECCI
5
El programa para la deteccin de forma y color tiene la
estructura que se ilustra en el Diagrama 2.



Diagrama 2: Diagrama de Bloques para la deteccin de forma y
color de la imagen

Las salidas Out1 y Out2 corresponden a las rutinas caja
correcta y caja incorrecta, respectivamente.

C. Arduino
Para la captura y envo de seales desde y hacia el
programa en Matlab, se decidi utilizar una tarjeta
arduino. Pero para poder utilizarla fue necesario crear un
script en Matlab (este fue descargado directamente de
mathworks). Ya con la tarjeta conectada, el diagrama de
bloques que describe el programa es el que se ilustra en la
Diagrama 3.



Diagrama 3: Configuracin arduino
D. GUIA MAtLab
Para hace ms amigable el programa al usuario, se realiz
una interfaz grfica [9] con la que se puede escoger la
forma y el color deseados para clasificar las cajas, as
como terminar el programa. En esta interfaz adems, se
puede visualizar el video, y la deteccin de la figura que
ve el programa. En la Figura 11. Se puede observar la
interfaz.


Figura 11: Interfaz usuario. Ala izquierda: color y forma deseados. A
la derecha: objeto detectado.







Seminario de Visin Artificial, Automatizacin y Robtica

Escuela Colombiana de Carreras Industriales - ECCI
6
V. ACOPLAMIENTO DE SEALES
Debido a que la salida del arduino est alrededor de los
5V, fue necesario utilizar un circuito elevador de potencia
para enviar las seales al PLC. El circuito que se utiliz
es el de la Figura 12.


Figura 12: Diagrama elctrico del circuito de potencia

Se utilizarn 2 relevos, uno para cada seal de salida
(Out1 y Out2) y por comodidad del montaje se quemar
una baquela como se ve en la Figura 13.


Figura 13: Circuito de potencia en baquela.










VI. CONCLUSIONES
La inclusin de diferentes tcnicas para la solucin de
problemas resulta en un sistema verstil, flexible pero a la
vez robusto. Los sistemas de visin artificial efectan
tareas repetitivas con precisin y rapidez y permiten
trabajar fuera del espectro visible distinguiendo detalles
no visibles por el ojo humano y aportando numerosos
beneficios, siendo los ms inmediatos el incremento de la
calidad y del rendimiento de la produccin y la reduccin
de costes de mano de obra. Sin embargo para que un
sistema de estos funcione como se espera, es necesario
garantizar unas condiciones ambientales mnimas como
lo es la intensidad de luz, o desarrollar un algoritmo que
sea inmune a variaciones de luminosidad y/o distancia de
foco.
Al desarrollar el proyecto de forma modular, fue posible
detectar fallas con mayor facilidad y se hizo muy fcil
realizar modificaciones en diferentes etapas sin afectar el
funcionamiento general del sistema.

VII. REFERENCIAS
[1] EMILIO GARCA MORENO. Automatizacin de Procesos
Industriales. Alfaomega. 2001.
[2] ANTONIO CREUS. Control de Procesos Industriales.
Alfaomega Marcombo. 1998.
[3] HUMBERTO GUTIRREZ. Automatizacin Industrial:
Teora y Laboratorio. Universidad Distrital Francisco
Jos de Caldas. 2010.
[4] Roger Loaiza. De la informacin a la informtica. Ed.
Politcnico Colombiano. 1991.
[5] Robert Babu ka. Fuzzy and Neural Control. Delf
University of Technology. 2009.
[6] Goebel, Randy; Poole, David L.; Mackworth, Alan K.
(1997) (pdf). Computational intelligence: A logical
approach. Oxford University Press. pp. 1
[7] Canny, John; Russell, Stuart J.; Norvig, Peter (2003).
Artificial intelligence: A modern approach. Englewood
Cliffs, N.J. Prentice Hall.
[8] Image Processing Toolbox for Use with MatLab. V2.
Mathworks.
[9] GUI Layout Toolbox documentation. V 1.10. Mathworks.

Vous aimerez peut-être aussi