APLICACIN DE VISIN CON LabVIEW PARA LA DETECCIN DE FRASCOS DE DISTINTO COLOR TESS DE GRADO Previa a la obtencin del Ttulo de: INGENIERO EN ELECTRNICA Y TELECOMUNICACIONES Presentada por DENSSE ELENA TELLO PALADNES MGUEL ADOLFO SALCN REYES Guayaquil - Ecuador 2009 AGRADECIMIENTO A Dios, que gua nuestras vidas y sin l nada hubiese sido posible. A todos aquellos que contribuyeron con la realizacin de esta tesis: familia, profesores y amigos por su ayuda y gua. Al Msc. Carlos Valdivieso, por su paciencia y ayuda constante. Los Autores DEDICATORIA A nuestra hija, Milena, fuente de nuestra inspiracin. A nuestros padres, por su apoyo, amor y ejemplo en todo momento. A nuestros hermanos por su fraternidad. A toda nuestra familia, los amamos entraablemente. Los Autores TRIBUNAL DE GRADUACIN Msc. Jorge Aragundi. Msc. Carlos Valdivieso. PRESIDENTE DIRECTOR DE TESIS Msc. Efrn Herrera. Msc. Hugo Villavicencio. MIEMBRO PRINCIPAL MIEMBRO PRINCIPAL DECLARACIN EXPRESA "La responsabilidad del contenido de esta Tesis de Grado, nos corresponde exclusivamente; y el patrimonio intelectual de la misma, a la Escuela Superior Politcnica del Litoral Denisse Elena Tello Paladines Miguel Adolfo Salcn Reyes RESUMEN El presente trabajo se enmarca en el campo de la visin artificial, haciendo uso de los conocimientos adquiridos durante el tpico "Plataforma para el Desarrollo de Proyectos con dsPCs y Visin Robtica con LabVEW 8, se ha desarrollado una "Aplicacin de visin con Labview para la deteccin de frascos de distinto color. Debido a que existen diversos campos de aplicacin de la visin artificial, todas ellas destinadas a realizar inspecciones visuales cuyo funcionamiento sea las 24 horas del da, adems que sean capaces de comprobar la conformidad de piezas con ciertos requisitos tales como la forma, dimensiones, y como en este caso color. El sistema de deteccin se basa en el reconocimiento de patrones de colores, cuya administracin se realiza a travs de una interface grfica de una aplicacin en Labview 8.5, en la que se hace uso de una cmara USB a fin de captar las imgenes de los frascos que se desean analizar. Se integra con un brazo robtico y un sistema de bandas transportadoras, para lo cual se utiliza un procedimiento de calibracin a fin de coordinar el trabajo entre los tres sistemas. Una vez inicializado el sistema en general, se procede a establecer las plantillas de los colores a fin de determinar los colores a detectar, teniendo que los colores no definidos sern considerados como rechazados, as el sistema es capaz de reconocer el color de un frasco. Para que el lector tenga una idea rpida acerca de lo que encontrar en cada captulo, a continuacin brindamos una descripcin general de cada uno de ellos: En el capitulo 1, se hace una introduccin destacando las ventajas y desventajas del sistema de visin artificial con el humano, se describe el problema planteado con las soluciones posibles. Se realiza un anlisis de las herramientas a utilizar: tanto de software como hardware. En el captulo 2, se detalla las caractersticas y bondades de Labview y su plataforma de Adquisicin de mgenes MAQ, con una breve descripcin de los bloques a utilizar. En el captulo 3, se describe la interaccin de la aplicacin con las bandas transportadoras y el brazo robtico, las funcionalidades de ambas y los protocolos de integracin. El captulo 4, destinado a analizar el diseo e implementacin de la solucin desarrollada, se detalla los instrumentos virtuales generados, se hace una descripcin de cada una de las fases del sistema, desde su configuracin, calibracin, y sincronizacin con las herramientas externas. Luego hacemos un anlisis de los costos del proyecto y sus beneficios. En el captulo 5, se muestran los resultados de los datos experimentales realizados, los analizamos a fin de determinar la eficiencia del sistema planteado, ya que se contabilizan los aciertos y errores. Al final se presentan las conclusiones y recomendaciones como referencia para futuras investigaciones. INDICE GENERAL AGRADECIMIENTO DEDICATORIA TRIBUNAL DE GRADUACIN DECLARACIN EXPRESA RESUMEN NDICE GENERAL ABREVIATURAS NDICE DE FIGURAS TABLAS AGRADECIMIENTO.............................................................................................................. 2 DEDICATORIA....................................................................................................................... 3 TRIBUNAL DE GRADUACIN.............................................................................................. 4 DECLARACIN EXPRESA................................................................................................... 5 RESUMEN............................................................................................................................. 6 INDICE GENERAL................................................................................................................. 9 ABREVIATURAS................................................................................................................. 12 NDICE DE FIGURAS.......................................................................................................... 15 TABLAS............................................................................................................................... 16 INTRODUCCIN.................................................................................................................... 1 CAPITULO 1. ANTECEDENTES............................................................................................ 3 l.l. DESCRlPClN DEL PROBLEMA.......................................................................................... 3 l.2. GENERAClN DE POSlBLES SOLUClONES......................................................................... l4 l.3. ANALlSlS DE HERRAMlENTAS................................................................................. l6 l.4. BRAZO ROBTlCO Y BANDAS TRANSPORTADORAS...........................................l9 l.5. GENERALlDADES DE LA VlSlN ROBTlCA..........................................................22 CAPITULO 2. ADQUISICIN DE IMGENES DIGITALES CON NI!IMAQ.................31 2.l. ENTORNO lMAQ VlSlON BUlLDER EN LABVlEW....................................................3l 2.2. lMAGENES DlGlTALES ............................................................................................. 46 2.3. PROTOCOLO UTlLlZADO................................................................................................. 58 2.4. VlSlN ROBTlCA UTlLlZADA EN LA PLATAFORMA DE DESARROLLO..................................64 2.5. ADQUlSlClN DE lMAGENES DE CALlDAD CON Nl-lMAQ...................................................7l 2.6. PROCESAMlENTO Y ANALlSlS DE lMAGENES CAPTURADAS................................................75 CAPITULO 3. INTERACCIN ELECTROMECNICA........................................................."6 3.l. DESCRlPClN DE LAS FUNClONALlDADES DE LAS BANDAS TRANSPORTADORAS.................86 3.2. CONTROL DE LAS BANDAS TRANSPORTADORAS CON DSPlCS..........................................89 3.3. DESCRlPClN DE LAS FUNClONALlDADES DEL BRAZO ROBTlCO......................................97 3.4. CONTROL DEL BRAZO ROBTlCO .................................................................................. 99 3.5. PROTOCOLO DE COMUNlCAClN ENTRE EL PROGRAMA DE CONTROL, EL BRAZO ROBTlCO Y LAS BANDAS TRANSPORTADORAS.................................................................................... l08 CAPITULO 4. DISE#O E IMPLEMENTACIN...................................................................115 4.l. DETERMlNAClN DE PARAMETROS DE DlSEO...............................................................ll6 4.2. DlSEO DEL PATRN A RECONOCER............................................................................. l22 4.3. DlSEO DEL PROGRAMA EN LABVlEW PARA LA DETECClN DE FRASCOS DE DlVERSOS COLORES........................................................................................................................... l29 4.4. CONFlGURAClN DEL SOFTWARE.................................................................................. l39 4.5. CALlBRAClN DEL HARDWARE...................................................................................... l40 4.6. SlNCRONlZAClN CON LAS BANDAS TRANSPORTADORAS Y BRAZO ROBTlCO MANEJADOS CON DSPlCS ..................................................................................................................... l4l 4.7. ANALlSlS DE COSTOS................................................................................................... l44 CAPITULO 5. DATOS EXPERIMENTALES.......................................................................146 5.l. PRUEBAS REALlZADAS................................................................................................. l46 5.2. DATOS OBTENlDOS...................................................................................................... l49 5.3. ANALlSlS DE RESULTADOS........................................................................................... l5l CONCLUSIONES $ RECOMENDACIONES.....................................................................153 ABREVIATURAS BMP Formato de archivo de mapa de bits CCD Dispositivos de Carga acoplada cm Centmetro cm 3 Centmetro Cbico CMOS Semiconductor de metal oxido Complementario CMY o CMYK Cian, Magenta y Amarillo o Cian, Magenta, Amarillo y Negro DAQ Adquisicin de Datos DB-25 Conector analgico para comunicacin serial de 25 pines DB-9 Conector analgico para comunicacin serial de 9 pines DC Corriente continua DCOM Digital maging and Communication in Medicine dsPic Controlador de interface perifrico digital EOP Fin de Paquete FFT Transformada rpida de Fourier GF Formato de archivo de imgenes, Graphics nterchange Format GPB nterface de bus de Propsito General HS o HSL Tono, Saturacin y luminancia HSV Tono, Saturacin y Valor o Brillo CSP nterface de programaciCentmetroon serial en circuito MAQ Adquisicin de mgenes JPG Formato de archivo de imgenes, Joint Photographic Experts Group ki constante de integracin kp constante de proporcionalidad LabVEW Laboratory Virtual nstrument Engineering Workbench LSB Byte menos significativo m Metro MB/seg Mega Byte por segundo Mbps Mega bits por segundo mm 2 Milmetro Cuadrado MSB Byte ms significativo nm Nanmetros Oz Onza PC Computadora Personal PD dentificador de Paquete PNG Portable Network Graphics PWM modulacin por ancho de pulsos RAW formato de archivo digital RGB Rojo, Verde y Azul RO Regin de nters NDICE DE FIGURAS TABLAS TABLA 1 RELACIN ENTRE FRECUENCIAS $ COLORES PERCIBIDOS...................49 TABLA 2 TIPOS DE IMGENES $ N%MERO DE BITS POR PXEL..............................55 TABLA 3 DIFERENTES M&TODOS DE FRAME GRABBER..........................................59 TABLA 4 DESCRIPCIN DE COMANDOS $ PARMETROS DE COMUNICACIN CON EL SISTEMA DE BRA'OS........................................................................................ 111 TABLA 5 DESCRIPCIN DE COMANDOS $ PARMETROS DE COMUNICACIN CON EL SISTEMA DE BANDAS TRANSPORTADORAS.................................................114 TABLA 6 (ORAS INVERTIDAS EN EL DESARROLLO INTELECTUAL DE LA SOLUCIN......................................................................................................................... 144 TABLA ) (ARD*ARE SISTEMA VISIN ROBTICA.................................................145 TABLA " COSTOS DE LOS MATERIALES COMPLEMENTARIOS.............................145 INTRODUCCIN En el desarrollo del Diseo e implementacin de una A!"#$a$#%& 'e V#s#%& $o& LabVIEW !ara "a 'ete$$#%& 'e (ras$os 'e '#st#&to $o"or, se establecieron los siguientes objetivos: OB)ETIVOS GENERALES La finalidad del Sistema de Visin a desarrollar es detectar, identificar y rechazar aquellos frascos que presenten un color diferente al preestablecido. Para ello se requiere: Desarrollar en LabVEW un programa que permita la deteccin de frascos de distinto color usando el paquete MAQ Visin de LabVEW. Acoplar el programa a la Plataforma empleada tomando en cuenta todas sus caractersticas. 2 Permitir la realizacin de cambios rpidos o modulares en la programacin que se acoplen a nuevas posiciones de trabajo. Armonizar, documentar y sistematizar el uso del programa desarrollado para permitir su utilizacin como una opcin modular de la plataforma empleada. Es as que estas directrices se han seguido en el desarrollo del presente trabajo que se pretende describir a continuacin. CAPITULO *+ ANTECEDENTES *+*+ Des$r#!$#%& 'e" Prob"e,a El reto que se plante para el presente trabajo corresponde a desarrollar un sistema de deteccin capaz de reconocer diversos colores de una serie de frascos que se desplazan sobre una banda transportadora. nicialmente se describir cmo se realiza la percepcin de las imgenes en el Sistema de Visin humano. E" or#-e& 'e "a .#s#%& Gracias a la existencia de molculas sensibles a la luz, los seres vivos se han adaptado y han desarrollado mecanismos para captar informacin de su entorno haciendo uso de stas. Es as como diversos 4 animales desarrollaron clulas detectoras de luz por todo su organismo o en puntos concretos. A partir de aqu comienza la evolucin de dichas molculas hasta crear lo que hoy conocemos como el ojo, en el que las superficies puntuales de las clulas receptoras de luz acabaron cerrndose en una cavidad interior abierta al exterior por una pequea apertura, desdoblndose as una lente capaz de enfocar en la superficie fotosensible la luz que reflejaran los objetos del medio. V#s#%& /u,a&a Las partes del ojo son esenciales para la existencia humana porque gracias a ellas captamos y percibimos nuestro entorno. El sistema de Visin humana es capaz de detectar ondas dentro del rango del espectro electromagntico que van aproximadamente desde los 400 nm (color violeta) hasta los 700 nm (color rojo), percibiendo este rango en un continuo gradiente de colores conocido como espectro visual tal como se aprecia en la Figura 1-1. Figura 1- Espectro Visual Ra0os -a,,a Ra0os X U V I&(ra ro1o Ra'a r O&'as ' ra'#o C#r$u#to s CA Espectro Electromagntico (nm) longitud de onda Espectro Visual 5 Fuente: Superintendencia de Telecomunicaciones Ecuador Elaboracin: Los Autores A&ato,2a 'e "a V#s#%& 3u,a&a En la Figura 1-2 se aprecian los componentes principales del ojo: Figura 1- Partes del Ojo 1 Fuente: www.WebPersonal.com Editado: Los Autores Esclertica: es la parte blanca que se ve en nuestros ojos. Su propsito es servir como estructura, soporte y proteccin al ojo, como un cascarn. Crnea: proporciona gran parte del enfoque a la luz que entra en nuestros ojos. Se compone de 5 capas, siendo la ms superficial el epitelio corneal que es quien protege al ojo de agentes externos y est formado por clulas altamente regenerativas. FVEA NERVIO PTICO RETINA IRIS CRNEA PUPILA CRISTALINO 6 Pupila: controla la cantidad de luz que entra al ojo. En presencia de mucha luz la pupila se cierra, mientras que con poca luz se dilata, aumentando su tamao. ris: es la parte que da color a nuestros ojos. Su funcin es controlar el tamao de la pupila. Esto lo logra contrayendo o expandiendo sus msculos. Cristalino: da el toque fino al enfoque. Realiza su tarea cambiando su forma, hacindose ms gruesa o delgada segn sea necesario. Retina: es aqu donde se realiza la percepcin de la imagen, es una finsima capa de tejido nervioso que cubre la pared interna del ojo y capta las imgenes. Cuando la visin es adecuada, los rayos de luz se enfocan exactamente en esta parte del ojo. Fvea: es una pequea depresin en la retina cuya rea total es un poco mayor a 1 mm 2 . Nervio ptico: transmite al cerebro las imgenes que se captan en la retina en forma de impulsos elctricos. Humor vitrio: Es una sustancia transparente que se encuentra en la cavidad del globo ocular. Su funcin es darle estructura al ojo, como si fuera su esqueleto. 7 Lejos de ahondar en la anatoma y fisiologa del ojo humano, mencionaremos que el proceso de captura de imgenes se inicia en la retina, aqu existen dos tipos de clulas neuronales sensibles a la luz: los bastones y los conos, ambos con propiedades totalmente distintas. La informacin captada por dichos fotorreceptores provoca complejas reacciones qumicas que conducen a una hiperpolarizacin produciendo una seal nerviosa que se transmite a las clulas ganglionales, donde se interpreta y se manda al cerebro a travs del nervio ptico. Para distinguir las ondas de color, el ojo recoge la luz y la enfoca en su superficie posterior, en la Figura 1-3 vemos cmo se realiza la percepcin de un objeto situado en un lugar lejano y otro cercano. Figura 1- Percepcin de Objetos Fuente: Wikipedia, la enciclopedia libre En el fondo del ojo, los conos se concentran en la fvea. stos son los responsables de la definicin espacial y de la visin del color; debido a que son poco sensibles a la intensidad de la luz proporcionan visin fotpica. Por el contrario, los bastones se concentran en zonas alejadas de la fvea y son los responsables de la visin escotpica, sensible a 8 alta intensidad de luz, en realidad no son sensibles al color. Los bastones son mucho ms sensibles que los conos a la intensidad luminosa, por lo que aportan a la visin del color aspectos como el brillo y el tono. En la Figura 1-4 se muestran los conos y bastones. Las clulas amarillas son los conos, mientras que las clulas blancas (en la parte inferior de la fotografa) son los bastones. Figura 1- Conos y bastones FUENTE:http://elmundosalud.elmundo.es/elmundosalud/especiales/2005/03/galeria_cuerpo/ index.html La visin est relacionada con la percepcin del color, la forma, la distancia y las imgenes en 3 dimensiones. El proceso de generacin de imgenes inicia cuando las ondas luminosas inciden sobre la retina del ojo, como lo habamos denotado anteriormente, si estas ondas son superiores o inferiores a determinados lmites, no producen impresin visual, el color depende de la longitud de onda incidente. La imagen percibida por la retina es una imagen invertida, la proximidad aparente 9 es resultado de una asociacin inconsciente con el incremento en la magnitud de la imagen retiniana. Es as como el proceso visual resultante no es ms que la combinacin de la percepcin de cada uno de nuestros dos ojos sobre un mismo objeto, el cual muestra una imagen desde dos ngulos ligeramente diferentes que los ojos unen para formar una imagen tridimensional nica, este tipo de visin, llamada visin estereoscpica, es importante ya que permite la percepcin de la profundidad. El color puede ser modelado mediante distribuciones gaussianas como podemos apreciar en la Figura 1-5. En el hombre, los mximos de absorcin de los tres receptores del color son 426, 530 y 560 nm para el azul, verde y rojo respectivamente. La longitud de onda de absorcin mxima de la rodopsina, la molcula de los bastones, es de 500 nm. Figura 1- Sensibilidad Espectral humana al color FUENTE: www.unizar.es/departamentos/bioquimica_biologia/docencia/Biofvirtual/Tema-Vis/ 10 A&ato,2a 'e "a V#s#%& Rob%t#$a La Visin Robtica o Artificial como se detalla a lo largo de este escrito, es un proceso mediante el cual se extrae informacin del mundo fsico a partir de imgenes, sean stas anlogas o digitales, utilizando para ello un dispositivo electrnico. Aplicado al campo de la robtica, el mecanismo que permite adquirir imgenes para luego procesarlas y con ello sean comprensibles para el computador, son las cmaras. Para que el computador pueda visualizar una imagen, es necesario primero convertirla a formato digital, independiente si son imgenes anlogas, de colores o a escala de grises. Ya digitalizada la imagen por un dispositivo de adquisicin de imagen, sta corresponder a un arreglo de matriz de pxeles que representan una serie de valores de intensidad ordenados en un sistema de coordenadas (x,y). En cuanto al sensor de la cmara, se disponen de dos tipos: CCD usados generalmente en las cmaras digitales, que manejan un rectngulo formado por miles de clulas generadoras de electricidad que reciben luz y CMOS. Otros sensores comnmente usados en aplicaciones de visin robtica incluyen sensores termales, infrarrojos y escneres microscpicos. 11 Dependiendo de la aplicacin, se deber realizar la eleccin entre cmaras con alta resolucin, alta velocidad o alta calidad, si se desea incursionar en campos como astronoma, etc. o entre cmaras con resolucin media si las caractersticas a inspeccionar no son tan complejas. ndependientemente del origen de la imagen, stas suelen requerir una serie de procesamiento debido al ruido, iluminacin irregular, mal enfoque, variaciones en los colores y otros problemas que distorsionan la calidad de la imagen. La visin artificial se consigue procesando las imgenes recibidas desde un sensor, se procesa completamente, pxel por pxel, hasta conseguir reconocer aquello que se buscaba. Ve&ta1as 0 'es.e&ta1as 'e" S#ste,a 'e V#s#%& Art#(#$#a" $o& e" 3u,a&o Basados en el estudio de cmo el cerebro utiliza los ojos para reconocer objetos, la robtica apuesta por desarrollar programas capaces de imitar ese mtodo, es as como la siguiente comparativa trata de enumerar ciertas funciones que el ser humano ha desarrollado y que la visin robtica desea imitar. 12 Ca!tura 'e #,4-e&es5 indudablemente en cuanto a resolucin, la visin humana presenta ventajas al reconocer infinidad de matices, mientras que la visin artificial no va ms de 50Mega pxeles; esta ventaja se contrasta al ser la visin humana ms lenta en cuanto a la captura de cuadros (frames), llegando los sistemas de visin artificial a procesar 6 millones de cuadros por segundo. Re$o&o$#,#e&to5 el Sistema de visin humana demuestra mejor capacidad para adaptarse a situaciones imprevistas ya que para ello hace uso del conocimiento previo de objetos, en contraste con el Sistema de visin artificial que realiza el reconocimiento de imgenes complejas basados en no solo una plantilla de la imagen a reconocer sino varias a fin de ensear al ordenador los diferentes ngulos de percepcin que se pueden dar. Me'#$#%&5 las aplicaciones de visin artificial proveen una mayor exactitud en cuanto a evaluaciones de magnitudes fsicas y geomtricas en comparacin con la percepcin humana. Adems el hecho de que la visin artificial abarque mayor espectro electromagntico como lo sera el infrarrojo, ultravioleta y que a su vez se pueda manipular el acercamiento o alejamiento al momento de ubicar un objeto, pone en desventaja a la visin humana. 13 Ma&e1o 'e Rut#&as5 el estrs, cansancio, y realizar una misma tarea repetidamente ocasiona que el porcentaje de error en actividades realizadas por humanos sea superior al de una mquina cuyo desgaste fsico no se tomara en cuenta. Pro$esa,#e&to5 el procesamiento de las mquinas es superior al de los humanos. Teniendo as que el tiempo de respuesta de los ordenadores es superior, adems son capaces de almacenar extensas bases de datos, aplicaciones que impliquen diversos clculos, etc. E(e$tos %!t#$os #"usor#os5 Objetos de diferentes tamaos tienden a tener idntico ngulo visual si estn situados a distancias diferentes, tal como se muestra en la Figura 1-6 recuadro a), la lusin de Mller-Lyer; en el recuadro b) a pesar de que ambas lneas son de igual tamao, la primera pareciera ser mas pequea; la ilusin de Ponzo en el recuadro c), las dos lneas oblicuas hacen que percibamos las lneas horizontales de distinto tamao pese a tener la misma longitud y en el recuadro d) se muestra un ejemplo de ilusin ptica pues pareciera que existieran puntos negros en las esquinas entre cada cuadro. Estos y muchos ms efectos pticos son los que hacen que la visin humana posea una desventaja en comparacin a los resultados de anlisis de las computadoras, quienes no se basan en percepciones sino en anlisis minuciosos. 14 Figura 1- Efectos ptico ilusorios a) b) c) d) FUENTE: http://centros5.pntic.mec.es/ies.arquitecto.peridis/percep/perspectiva.html#ponzo *+6+ Ge&era$#%& 'e !os#b"es so"u$#o&es Para ensear a un ordenador a clasificar objetos, en primer lugar se necesita proporcionarle una plantilla o representacin computacional especfica de ese objeto concreto. Los diversos mtodos de deteccin de objetos pueden clasificarse en dos grandes grupos: Los mtodos tradicionales basados en deteccin de caractersticas Los mtodos ms recientes que se basan en el reconocimiento de patrones que obtienen la informacin de manera implcita mediante el aprendizaje desde ejemplos iniciales. 15 M7to'os basa'os e& 'ete$$#%& 'e $ara$ter2st#$as Los mtodos basados en deteccin de caractersticas hacen uso de caractersticas de bajo nivel como son los bordes, los niveles de gris, el color y el movimiento. La distribucin de mnimos locales de niveles de gris puede sealar el contorno de un frasco. M7to'os basa'os e& re$o&o$#,#e&tos 'e !atro&es Para resolver problemas ms complejos como la deteccin de mltiples objetos en fondos no controlados se utilizan los detectores basados en reconocimiento de patrones o aprendizaje de ejemplos. La mayora de estos mtodos requieren como paso preliminar un costoso proceso de bsqueda por ventanas a diferentes resoluciones (diferentes escalas y posiciones). Estos detectores se basan en redes neuronales artificiales que distinguen entre las imgenes que contienen frascos de las que no las contienen. Los mtodos basados en caractersticas son apropiados para el procesado de imgenes en tiempo real cuando el color y el movimiento son posibles. Para imgenes en niveles de gris estticas, los mtodos basados en reconocimiento de patrones son ms adecuados. 16 Actualmente existen diferentes sistemas de visin que ofrecen soluciones para los ambientes de produccin, el inconveniente es que dichos sistemas son costosos y tienen esquemas rgidos que limitan las posibilidades de integracin y adaptacin. Debido a esto, se pens en implementar un sistema de inspeccin de color que fuera lo ms independiente posible del factor humano. Es por esto que en la bsqueda de un sistema que ofreciera flexibilidad y un costo moderado, se opt por el mdulo de programacin para crear sistemas de visin que ofrece National nstruments compatible con LabVEW e MAQ Vision. *+8+ AN9LISIS DE 3ERRAMIENTAS Actualmente existen varios programas que se enfocan al desarrollo de diversas aplicaciones industriales. En el mercado tenemos paquetes de propsito general tales como el Matrox maging Libraries o el Toolbox mage de MATLAB. Para nuestro caso de estudio nos desenvolveremos con MAQ Vision de National nstruments (N-MAQ). LabVEW con su Mdulo de Desarrollo de Visin fue el entorno elegido para realizar la aplicacin, debido a que provee un entorno de arquitectura abierta y una interface amigable. El Mdulo de Desarrollo de Visin (Vision Development Module), contiene una serie de funciones con las que se puede detectar objetos, 17 mejorar las caractersticas de las imgenes, localizar determinadas particularidades, piezas o realizar mediciones en una determinada imagen. Adems de las bibliotecas, este mdulo incluye el Asistente de Visin y el Software de Adquisicin de National nstruments (N). Entre las bondades de ste mdulo estn: Ofrecer controladores para miles de cmaras, incluyendo GigE Vision y cmaras EEE 1394 Subpixel con exactitud hasta 0.1 de un pixel y 0.1 de un grado Para fines de pruebas en el laboratorio se pretende capturar las imgenes por cmara USB, estando los frascos inmviles, para que posteriormente la aplicacin la procese y de esta manera se determine si el frasco cumpla con el requisito de color o no. Se controlar la iluminacin y el fondo a fin de obtener el mayor contraste posible para precisamente resaltar la caracterstica de inters (color). Es as que en el proceso mostrado en la Figura 1-7, pretendemos: Localizar las botellas que se encuentran sobre la banda transportadora. Capturar la imagen individual. 18 Dicha imagen se someter a su respectivo anlisis y procesamiento digital. Determinar si el frasco cumple con el criterio de calidad establecido (color determinado). Figura 1- Sistema de deteccin de frascos Editado: Los Autores Fu&$#o&a"#'a'es 'e" M%'u"o 'e V#s#%& Adquisicin de imgenes: trabaja con cmaras USB que tengan la caracterstica DirectX. Para nuestro caso emplearemos una cmara Genius Eye 110, con resolucin 640x480 pixeles. 19 Compresin de imgenes: soporta formatos digitales como TFF, BMP, GF, JPG, PNG, DCOM, RAW. Procesamiento de imgenes: operaciones en niveles de gris y color (histogramas), umbralizaciones, filtrado espacial, frecuencial y morfolgico. Anlisis de imgenes: anlisis cuantitativo y cualitativo a nivel de pxel, contornos y reconocimiento de patrones. *+:+ BRA;O ROBTICO Y BANDAS TRANSPORTADORAS Bra<o Rob%t#$o Un brazo robtico es un mecanismo que interacta lgicamente con un sistema de control de manera elctrica y con su entorno fsico de manera mecnica, lo cual hasta ahora no lo diferencia de un brazo de un ser humano comn y corriente. En la actualidad el dispositivo que puede convertir energa elctrica en energa mecnica necesaria para realizar movimiento comparable a los movimientos humanos es el motor. A consecuencia de aquello los componentes elementales del brazo robtico son motores que en conjunto con la estructura mecnica adecuada podrn ofrecer movimientos circulares, lineales, de estiramiento y contraccin. 20 El comportamiento lgico de un brazo robtico debera proporcionar la flexibilidad adecuada para realizar una gran cantidad de secuencias de movimientos, lo cual implica sincronizacin de acciones y la posibilidad de activar diferentes segmentos al mismo tiempo para realizar nuevos movimientos. El comportamiento mecnico de un brazo robtico debera ser lo suficientemente preciso para realizar la misma accin cuando se lo requiera, adems de ofrecer el suficiente rango de movimiento para desempear sin problemas las acciones requeridas por movimientos bsicos o complejos, en la Figura 1-8 observamos el Brazo robtico utilizado en nuestra plataforma. Figura 1- Brazo Robtico FUENTE: Los Autores 21 Ba&'as tra&s!orta'oras Las bandas transportadoras se componen de rodillos, soportes, motores y la propia banda. De alguna forma tiene una similitud bsica con el brazo robtico, pero la diferencia radica en la capacidad de movimiento. Esta solo tiene un solo movimiento de acuerdo a como sea su forma geomtrica. Las ms comunes son las de movimiento lineal, aunque las de movimiento circular no son ms que una composicin de varias bandas de movimiento en lnea recta, de pequeo alcance, que en conjunto describen una trayectoria curva, en la Figura 1-9 se aprecia la banda utilizada en este proyecto. Figura 1- Bandas Transportadoras y Brazo Robtico 22 FUENTE: Los Autores La fuerza de arrastre que tiene una banda es la que se da por friccin, es por esto que la velocidad a la que se desplaza debe ser limitada por factores como la inercia del objeto a ser transportado. Los soportes son estructuras que le dan estabilidad en las partes intermedias a ambos extremos de la banda, para que la tensin aplicada en los mismos extremos sea la menor posible y la fuerza que se opone al torque de los motores sea mnima. El comportamiento lgico de este dispositivo debe ser lo suficientemente eficiente para desplazar objetos aumentando o reduciendo la velocidad a valores deseados en su paso a otra etapa del proceso industrial. *+=+ GENERALIDADES DE LA VISIN ROBTICA 23 Comnmente llamada Visin por Computador o Artificial, es un subcampo de la nteligencia Artificial cuya finalidad es programar a un computador para que reproduzca lo que percibe el ojo humano, a fin de interpretarlo automticamente. El proceso de Visin por Computadora que normalmente hay que seguir para llegar a desarrollar una determinada aplicacin se resume en la Figura 1-10 mostrada a continuacin, va desde la adquisicin de las imgenes hasta la aplicacin de inters: Figura 1- Proceso de Visin Robtica Adquisicin de mgenes Procesamiento Segmentacin Extraccin de Caractersticas Reconocimiento y localizacin nterpretacin de la escena 24 FUENTE: Los Autores Adquisicin de imgenes, consiste en el sensado y es el proceso que nos permite la obtencin de la imagen visual. Procesamiento, consiste en aplicar tcnicas de reduccin de ruido para mejorar los detalles en la imagen adquirida. Segmentacin, consiste en particionar la imagen en objetos de inters. Extraccin de caractersticas, se refiere al clculo de las caractersticas tiles que permite diferenciar un objeto de otro. Reconocimiento y localizacin, es identificar el o los objetos de inters. nterpretacin de la escena, una vez reconocidos los objetos se establece un significado, desarrollando as una aplicacin. S#tua$#%& A$tua" > V#s#%& Rob%t#$a $o& Lab.#e? El Sistema de Visin representa un medio indispensable y de gran utilidad para ser usado dentro de la Robtica. Hoy en da la utilizacin de Robots que realizan determinada actividad de manera autnoma se ha convertido en una necesidad preponderante dentro del campo de la ndustria. La automatizacin de las mismas es lo que ha dado lugar a que surja en el mercado la presin constante de que se realicen 25 trabajos conjuntos entre humanos y mquinas, existiendo con esto una bsqueda continua, por parte de las empresas, por adquirir novedosas aplicaciones para mejorar sus procesos a fin de obtener productos de calidad, maximizando con esto su eficiencia. La Visin por Computador permite a las mquinas poder integrarse en dichas actividades; en la actualidad se han logrado grandes avances en los Sistemas de Visin por Computadora y Control Robtico, diversos usos que van desde sistemas de monitoreo y vigilancia hasta aquellas aplicaciones que denotan mayor precisin como las requeridas en el campo de la medicina y procesos industriales, son desplegadas no slo por cientficos, sino tambin por ingenieros, dando lugar a que la Visin por Computador y la nteligencia Artificial est al alcance de quien lo requiera. La Visin Robtica no consiste en el simple hecho de conectar una cmara de video a la computadora, sta se extiende mucho ms all pues requiere en s de un tratamiento especial de las imgenes capturadas y un procesamiento especfico a fin de ser utilizadas por mquinas o sistemas autnomos capaces de reemplazar a un humano de manera confiable. En industrias donde los productos son fabricados a gran escala a diario, la inspeccin humana es tediosa e ineficiente luego de largas horas de 26 trabajo, es por ello que viendo sta necesidad, el problema que se pretende incursionar en esta tesis es en el desarrollo de un Sistema de Visin basado en LabVEW con su herramienta de Visin que permita la inspeccin de frascos de distinto color. Esto servir de base para ser implementado en un futuro en la automatizacin del control de calidad en una empresa. Se pretende proveer una aplicacin confiable, modular, escalable y expandible que permita la recopilacin de datos para su respectivo procesamiento, monitoreo y control, evitando errores causados por cansancio fsico de humanos. Son sin duda las aplicaciones de la Visin Robtica en el mundo real lo que ms nos interesa para este proyecto, es por ello que describiremos algunos ejemplos aplicados a diversos campos: I&s!e$$#%& e& e" e&.asa'o 'e !ro'u$tos Por ejemplo en la industria farmacutica, al envasar las grageas en sus respectivas tabletas, se podra identificar las grageas ya sea por su tamao, forma, color o a su vez si estas ocupan los compartimentos que posee la tableta. En la Figura 1-11 se muestra una aplicacin en LabVEW que nos permite detectar cuando una o ms grageas faltan dentro del empaque de una tableta de 12 unidades. 27 Figura 1- eteccin de !ra!eas en una tableta (a) (b) FUENTE: Ejemplos de LabVEW 8.5: Blister Pack nspection La deteccin de grageas faltantes se determina por la ausencia de color verde, en nuestro caso el programa seala dicho sector con un recuadro rojo en la celda. Como parte adicional se emple un LED que vara su color de acuerdo a que si la tableta contiene 12 unidades o no. En el interior del led virtual se ha colocado las palabras PASS o FAL de 28 acuerdo al caso, en el ejemplo, en el literal (a) la tableta es aceptada pues contiene el nmero adecuado de grageas del color indicado; por el contrario en el literal (b) la tableta ha sido desechada pues no cuenta con el nmero necesario de tabletas y se observa que se han detectado 8 grageas correctas desechando las azules pues no concuerdan con la plantilla. Me'#$#o&es $o& I&(rarro1o LabVEW extiende sus aplicaciones gracias a que soporta diversos tipos de imgenes, como vamos a describir soporta las infrarrojas, de radares, imgenes mdicas obtenidas de ultrasonidos, radiografas, resonancias magnticas, tomografas, entre otras. Tradicionalmente, el mtodo con el cual se monitorean las diferencias de temperaturas es a travs de sensores, una forma ms fcil y prctica es utilizar cmaras infrarrojas. Utilizando Visin por Computador, con la intervencin de una cmara infrarroja se podra observar temperaturas precisas en equipos elctricos y mecnicos mientras stos se encuentren trabajando, de sta manera se podra detectar qu partes de sus componentes tienen excesivas temperaturas, identificando as potenciales problemas y as una futura falla del componente. En la Figura 1-12 observamos una imagen de un integrado trabajando. 29 Figura 1- "ma!en de inte!rado tomada por una c#mara t$rmica FUENTE :adrovsky.awardspace.com/blog/ghosts.php?p=2&cat=3 Otras a!"#$a$#o&es Las aplicaciones de LabVEW en el tratamiento de imgenes por computador son diversas, se aplican desde el realce de imgenes, control de presencia, caractersticas locales, mediciones hasta la deteccin de objetos aplicados a diversas reas como: Biologa, geologa y meteorologa Medicina: tomografas, resonancias, deteccin de cnceres, ecografas, etc. dentificacin de construcciones, infraestructuras y objetos en escenas de exterior 30 Reconocimiento y clasificacin nspeccin y control de calidad Entre otros. ndudablemente como resultado del uso de la Visin por computador, se denota una mejora en la calidad y cantidad de la inspeccin, aunque sustituye capital operario humano, incentiva a la demanda de personal capacitado para la programacin de la lgica de las tareas a ser realizadas por elementos computacionales. Debido a la eficacia de los Sistemas de Visin artificial, se incrementa la confiabilidad en ellos, es por eso que el grado de insercin de stos sistemas en el mundo moderno sigue incrementndose de manera rpida y continua. Una de las limitantes que se dieron a conocer y que influye en el proceso de automatizacin de las industrias es que los sistemas de Visin artificial no incluyen la adaptacin a situaciones imprevistas. CAPITULO 6+ AD@UISICIN DE IM9GENES DIGITALES CON NIAIMA@ 6+*+ ENTORNO IMA@ VISION BUILDER EN LABVIEW Desarrollado por National nstruments (N), LabVEW cuyas siglas que en ingls son el acrnimo de Laboratory Virtual nstrument Engineering Workbench y cuyo logo caracterstico se muestra en la Figura 2-1, es una plataforma que permite crear programas usando notacin grfica que simulan elementos fsicos unidos de manera virtual. Figura 2- %o!o de %abV"E& 32 FUENTE: LabVEW 8.5 LabVEW ofrece la opcin de crear instrumentos virtuales, capaces de imitar tanto en apariencia como en operacin a instrumentos fsicos, se puede modificar dichos instrumentos virtuales y configurarlos a fin de que cumplan una tarea especfica. Las diversas libreras de funciones y subrutinas ayudan a programar numerosas aplicaciones, adems de las libreras especficas que disminuyen considerablemente la programacin en el momento de usar la Adquisicin de datos (DAQ), la interface de bus de Propsito General (GPB), comunicacin Serial (VSA) o los mdulos de Adquisicin de mgenes (MAQ). E&tor&o LabVIEW El usuario interacta con LabVEW a travs de tres partes principales: el Panel Frontal, acompaado del Diagrama de Bloques que no es ms que el cdigo fuente de los Vs, y el cono del V. El Pa&e" Fro&ta" es la interface interactiva con el usuario, llamada as debido a que simula a un Panel de un instrumento fsico. Como se aprecia en la Figura 2-2, contiene entradas y salidas. Los datos de entrada pueden ser ingresados a travs del mouse, teclado gracias al 33 uso de botones, controles, interruptores, etc. y los resultados mostrados en la pantalla a travs de grficos, leds, tanques, indicadores, etc. Figura 2- Ventana del Panel 'rontal de %abV"E& FUENTE: Ejemplos de LabVEW 8.5: Color Pattern Matching La ventana del D#a-ra,a 'e B"oBues es donde se ubican los objetos que en conjunto componen la programacin grfica que emplea LabVEW, de sta manera se deja atrs a la programacin tradicional que utiliza lneas de texto de cdigo. Como se aprecia en la Figura 2-3, gracias a este entorno grfico se crean rpidamente interfaces de usuarios en donde se puede especificar la funcionalidad del sistema armando diagramas de bloques para implementar aplicaciones de control, automatizacin y medicin. 34 Figura 2- Ventana del ia!rama de Blo(ues de %abV"E& FUENTE: Ejemplos de LabVEW 8.5: Color Pattern Matching El cono del V, colocado en la parte superior derecha, puede ser personalizado a fin de distinguir cualquier funcionalidad, permitiendo con su uso la modularizacin de la aplicacin al crear subVs. Las paletas o mens flotantes se muestran en la Figura 2-4. cono 35 Figura 2- Paleta de herramientas de funciones y controles FUENTE: Ejemplos de LabVEW 8.5: Color Pattern Matching NI V#s#o& N Vision es parte del Mdulo de Desarrollo de Visin N. La mayora de los campos de la industria moderna, requieren para el anlisis de sus tareas una herramienta que permita la combinacin de adquisicin de imgenes en movimiento, uso de visin robtica y la capacidad para el anlisis de las mediciones tomadas de cada uno de los procesos, es as que Labview provee toda una gama de diversas funciones a fin de suplir todos estos requerimientos. Labview soporta una gran cantidad de cmaras ya sean estas webcams, microscpicas, escneres y muchas otras, todas estas divididas en 2 grandes grupos como lo son las cmaras anlogas y digitales. 36 A continuacin una breve descripcin de las funciones que se incluyen en el mdulo de Visin desarrollado por National nstruments para crear soluciones tecnolgicas: V#s#o& a&' Mot#o&5 Provee una serie de paquetes que permiten la combinacin de la visin artificial y la tecnologa de control de movimiento, a continuacin en la Figura 2-5 se muestra el men de Visin and Movimiento Figura 2- )en* de funciones Vision and )otion FUENTE: Labview 8.5 NIAIMA@ necesario para establecer el sistema de adquisicin de imagen y adquirir imgenes. Los Vs incluidos en este paquete permiten abrir y cerrar una interface, a continuacin se muestra el men que ofrece en la Figura 2-6. 37 Figura 2- )en* +",")-. FUENTE: Labview 8.5 V#s#o& Ut#"#t#es5 Permite crear y manipular imgenes extradas desde archivos, establecer las regiones de inters, calibracin de imgenes, etc; en la Figura 2-7 se muestra el men que proporciona este paquete. Figura 2- )en* Vision /tilities FUENTE: Labview 8.5 I,a-e Pro$ess#&-5 Use los Vs de Procesamiento de imgenes para analizar, filtrar, y tratar imgenes, la Figura 2- muestra el men de procesamiento de imgenes. 38 Figura 2- )en* "ma!e Processin! FUENTE: Labview 8.5 Co"or Pro$ess#&-5 Los Vs de procesamiento de color se utilizan para realizar el tratamiento bsico sobre imgenes en color: calcular el histograma de una imagen en color, cambiar el resplandor, el contraste, y la informacin de la gama asociada a una imagen en color. Figura 2- )en* Color Processin! FUENTE: Labview 8.5 Ma$/#&e V#s#o&5 Permite realizar tareas de inspeccin de visin de mquina comunes, incluyendo la presencia o la ausencia de partes en una imagen, medir dimensiones, localizacin de bordes, etc. 39 Figura 2- )en* )achine Vision FUENTE: Labview 8.5 NIAIMA@'C5 soporta cmaras GigE, EEE 1394 y especificaciones de nstrumentacin para Cmaras Digitales (DC), controla todos los modos disponibles y las caractersticas de las cmaras digitales. Figura 2- )en* +",")-.d0 FUENTE: Labview 8.5 IMA@ IDO5 usado a fin de crear aplicaciones para controlar las lneas de entrada - salida sobre un dispositivo de entrada - salida N-MAQ. Figura 2- )en* +",")-. "1O 40 FUENTE: Labview 8.5 V#s#o& EC!ress5 Permite desarrollar rpidamente la adquisicin de imagen comn y procesamiento de las mismas a travs del uso de dos aplicaciones: Vision -c(uisition A A0u'a a $o&(#-urar fcilmente adquisiciones de cmaras anlogas, digitales, Cmara link, EEE 1394, y de Visin GigE. Vision -ssistant , le permite realizar tareas de procesamiento de imgenes comunes. Figura 2- )en* Vision E0press FUENTE: Labview 8.5 IMA@ USB5 la Figura 2-14 muestra los Vs que se incluyen en este paquete tiles para adquirir imgenes desde cualquier dispositivo USB. Figura 2- )en* ")-. /SB 41 FUENTE: Labview 8.5 A',#&#stra$#%& 'e" Bu((er 'e "a ,e,or#a En la librera Vision Utilities, se encuentra la paleta de funciones de mage Management para crear, eliminar, definir parmetros, permitir la lectura y crear copias de una imagen. La Figura 2-15 muestra las diferentes funciones necesarias para la administracin de la imagen. 42 Figura 2- Men mage Management FUENTE: Labview 8.5. EDTADO: Los Autores I,a-e CreateE para crear una posicin de memoria temporal para una imagen. Figura 2- "ma( Create FUENTE: Los Autores En donde Tama2o del Borde 3Border Size4 determina el tamao, en pixeles, del borde a crear alrededor de una imagen. Se define desde el inicio si una imagen va a ser procesada posteriormente usando las 43 funciones que requieren uso de bordes; los bordes de una imagen nunca son mostrados o almacenados en un archivo. En la Figura 2- se muestra dos imgenes de 7x6 pixeles, en la primera con borde 0 y la segunda con borde 3. Figura 2- Borde de una ima!en
FUENTE: Los Autores El +ombre de la "ma!en 3"ma!e +ame4 es el nombre asociado a la imagen creada. Cada imagen creada tiene un nombre nico. Error in describe el estado de error antes de ejecutar el V o funcin. Por default no se tiene error. El Tipo de "ma!en 3"ma!e type4 especifica el tipo de imagen, puede ser: escala de grises, compleja, de color, etc. "ma!en +ue5a 3+e6 "ma!e4 es la salida de la magen que es utilizada como fuente de muchas funciones usadas por N Visin. Mltiples imgenes pueden ser creadas en una aplicacin de LabVEW. 44 A continuacin la Figura 2-18 muestra un ejemplo del uso de maq Create en el momento de adquirir una imagen a travs de una cmara USB. Figura 2- Ejemplo del uso de "ma( Create FUENTE: Los Autores I,aB D#s!ose se asocia con el uso de maq create nicamente luego de estar seguros de que nadie har uso de la imagen. maq Dispose elimina la imagen y libera la memoria asignada para la imagen. Figura 2- "ma( ispose FUENTE: Labview 8.5 Todas las im#!enes7 3-ll "ma!es74 especifica si hay que destruir una imagen o todas las imgenes antes creadas. Al dar a un valor VERDADERO sobre la entrada destruye todas las imgenes antes creadas. Si no se especifica, se asume como entrada la opcin FALSA y se eliminar solo la imagen que se tiene como entrada. 45 I,a-e Co!0, crea una copia de toda la informacin relacionada con la imagen: borde, pixeles, informacin de calibracin, patrones de bsqueda, etc. en otra imagen del mismo tipo. Se usa a menudo a fin de guardar una copia original de una imagen antes del tratamiento de la misma. Figura 2- "ma!e Copy FUENTE: Labview 8.5 Las entradas que tiene son 'uente de la "ma!en 3"ma!e Src4 e "ma!en estino ("ma!en st4 que hacen referencia tanto a la imagen de fuente como destino. La Figura 2-21 muestra un ejemplo de copia de una imagen. Figura 2- Ejemplo de Copia de "ma!en '/E+TE8 %os -utores 46 6+6+ IM9GENES DIGITALES Una imagen digital es un arreglo en dos dimensiones de valores que representan la intensidad luminosa, f309y4, en un sistema de coordenadas 09 y tal como se muestra en la Figura 2-22. Figura 2- Representacin de un Pi0el '/E+TE8 %os -utores Donde f representa la intensidad luminosa en el punto (x,y), el cual se denomina pixel o unidad bsica de una imagen. El punto (0,0) es una referencia para las coordenadas en la imagen. En procesamiento de una imagen digital, un sensor convierte una imagen en un nmero finito de pxeles. El sensor asigna a cada pxel una ubicacin (coordenada) y un nivel de gris o un determinado color que especifique el brillo o el color del pxel, la Figura 2-23 muestra una imagen a color y su representacin en pixeles tanto en escala de colores como en escala de grises. (0,0) f309y4 x y 47 Figura 2- Pi0eles e0tra:dos de una ima!en '/E+TE8 http://www.cosassencillas.com; E"T-O8 %os -utores Una imagen digital tiene tres propiedades bsicas: resolucin, definicin y nmero de planos. Reso"u$#%& 'e u&a #,a-e& Est determinada por su nmero de filas y columnas de pxeles. Una imagen compuesta por m columnas y n filas tiene una resolucin de m x n. Esta imagen tiene m pxeles a lo largo de su eje horizontal y n pxeles a lo largo de su eje vertical. De(#&#$#%& 'e u&a #,a-e& ndica el nmero de tonos que se puede ver en la imagen. La profundidad de bits de una imagen es el nmero de bits utilizados para codificar el valor de un pxel. Para una representacin en n bits, la 48 imagen tiene una definicin de 2 n , lo cual significa que un pxel puede tener 2 n valores diferentes. Por ejemplo, si n es igual a 8 bits, un pxel puede tener 256 valores diferentes, que van desde 0 hasta 255. Si n es igual a 16 bits, un pxel puede tener 65536 valores diferentes que van desde 0 hasta 65535 o desde -32768 hasta 32767. Actualmente, N Vision slo soporta un rango de -32768 a 32767 para imgenes de 16 bits. N Vision puede procesar imgenes con 8 bits, 10 bits, 12 bits, 14 bits, 16 bits, punto flotante, codificacin de colores. La manera en que se codifica la imagen depende de la naturaleza del dispositivo de adquisicin de imgenes, el tipo de procesamiento de imgenes que se necesita usar, y el tipo de anlisis que necesita realizar. Por ejemplo, la codificacin de 8 bits es suficiente si necesita obtener la informacin acerca del contorno de los objetos que se encuentran en una imagen. Sin embargo, si la aplicacin hace uso de reconocimiento de colores, de debe usar imgenes digitales a color. NF,ero 'e P"a&os El nmero de planos en una imagen corresponde al nmero de matrices de los pxeles que componen la imagen. Una imagen a escala de grises o pseudo-color se compone de un solo plano. Una imagen de color se compone de tres planos: uno para el componente rojo, componente 49 azul, y componente verde, es as que una imagen en color es la combinacin de los tres arreglos de pxeles correspondientes a los colores rojo, verde y azul en una imagen RGB. En imgenes HSL se definen por los valores correspondientes a tono, saturacin y luminosidad, con respecto a los modelos de color mencionados se tratar ms adelante. Debido a que los planos de una imagen a color se basan en los colores rojo, azul, y verde, es conveniente definir a dichos colores como los elementos bsicos de una imagen en color. La percepcin del color difiere de persona en persona, por ello es necesario usar modelos en color que aprovechen otras propiedades como lo son la intensidad, saturacin, matiz o la iluminacin. Tabla 1 Relacin entre frecuencias y colores percibidos Co"or Lo&-#tu' 'e o&'a Fre$ue&$#a rojo 625-740 nm 480-405 THz naranja 590-625 nm 510-480 THz amarillo 565-590 nm 530-510 THz verde 520-565 nm 580-530 THz azul 450-500 nm 670-600 THz cian 430-450 nm 700-670 THz Los colores primarios aditivos son el rojo, el verde, y el azul. Permiten generar los dems colores del espectro visible por medio de la suma de 50 emisin de luz de diferente longitud de onda. La ausencia de los tres da el negro, y la suma de los tres da el blanco. Estos tres colores se corresponden con los tres picos de sensibilidad de los tres sensores de color en nuestros ojos. Los colores primarios substrativos son el cian, el magenta y el amarillo, comnmente confundidos con rojo y azul los dos primeros por su similitud. Se utilizan para generar los otros colores, la ausencia de los tres produce el blanco, y la suma de los tres producen el negro. Mo'e"o 'e $o"or RYB Por sus siglas en ingls Red, Yellow and Blue. ste modelo se basa en los colores primarios rojo, amarillo y azul, a partir de los cuales se crean el resto de colores mediante su combinacin. Figura 2- )odelo de color R;B '/E+TE8 %os -utores Mo'e"o 'e $o"or RGB 51 Se basa en la mezcla de los colores rojo, verde y azul (Red, Green and Blue), tal como lo muestra la Figura 2-25, RGB se base en la mezcla de colores aditivos, siendo (1,1,1) el blanco. Figura 2- )odelo de color R<B '/E+TE8 MAGE PROCESSNG WTH LABVEW AND MAQ VSON, Thomas Klinger, Chapter 2: Color mages Para convertir una imagen RGB a escala de grises se aplica la ecuacin: GS = 0.333R + 0.333G + 0.333B Tomando en cuenta la luminancia percibida por el ojo humano, tenemos: GS = 0.299R + 0.587G + 0.114B Mo'e"o 'e $o"or CMY o CMYG 52 Los complementos del rojo, azul y verde son los colores bsicos para un modelo substrativo: el cian, magenta y amarillo. Es fcil ir de RGB a CMY con las ecuaciones mostradas a continuacin: C = 1.0 R M = 1.0 G Y = 1.0 - B En el modelo CMY, el negro es creado por mezcla de todos los colores, y el blanco es la ausencia de todos. Cuando el color negro es aadido en el modelo, este modelo de color es denominado modelo CMYK. Se debe tener en cuenta que slo con unos colores "primarios" ficticios se puede llegar a conseguir todos los colores posibles. Estos colores primarios son conceptos arbitrarios utilizados en modelos de color matemticos que no representan las sensaciones de color reales o incluso los impulsos nerviosos reales o procesos cerebrales. En otras palabras, todos los colores "primarios" perfectos son completamente imaginarios, lo que implica que todos los colores primarios que se utilizan en las mezclas son incompletos o imperfectos. Figura 2- )odelo de color C); 53 '/E+TE8 %os -utores Mo'e"o 'e $o"or 3SL o 3SI Llamado as por sus siglas en ingls =ue, Saturation, %i!htness8 Tonalidad, Saturacin, Luminancia, tambin llamado 3SIE =ue, Saturation, "ntensity8 Tonalidad, Saturacin, ntensidad. Es til usar un sistema diferente en color, basado en propiedades ms naturales como el tono, la saturacin, y la intensidad en color. La Figura 2-27 muestra que este modelo puede ser representado por un slido mostrado en el lado derecho de la figura. Cualquier punto en color sobre la superficie slida representa un color totalmente saturado. Figura 2- Tri#n!ulo de color =S" '/E+TE8 MAGE PROCESSNG WTH LABVEW AND MAQ VSON, Thomas Klinger, Chapter 2: Color mages El matiz o tono es definido como el ngulo que comienza del eje rojo; la intensidad es representada por la distancia desde el punto negro. Las frmulas siguientes pueden ser usadas para convertir valores de RGB a HS: 54 Mo'e"o 3SV El modelo 3SVE del ingls =ue9 Saturation9 Value: Tonalidad, Saturacin, Valor; tambin llamado 3SB, =ue9 Saturation9 Bri!htness: Tonalidad, Saturacin, Brillo. Define un modelo de color en trminos de sus componentes constituyentes en coordenadas cilndricas: La tonalidad se representa como un grado de ngulo cuyos valores posibles van de 0 a 360. La Saturacin se representa como la distancia al eje de brillo negro-blanco. El valor o brillo del color se representa por la altura en el eje blanco-negro. El modelo es una transformacin no lineal del espacio de color RGB, y se puede usar en progresiones de color, la Figura 2-28 muestra la representacin grfica de este modelo. Figura 2- )odelo =SV 55 '/E+TE8 666>6i?ipedia>com HSL es similar al modelo HSV pero refleja mejor la nocin intuitiva de la saturacin y la luminancia como dos parmetros independientes, y por tanto es un modelo ms adecuado. T#!os 'e I,4-e&es Las liberaras de N Vision pueden manipular tres tipos de imgenes: en escala de grises, de color, y las imgenes complejas. Aunque N Vision maneja los tres tipos de imgenes, algunas operaciones no son posibles en ciertos tipos de imgenes. En la misma resolucin espacial, una imagen de color ocupa cuatro veces el espacio de memoria de una imagen de 8 bits en escala de grises, y una imagen compleja ocupa ocho veces la memoria de la misma imagen de 8 bits en escala de grises. La Tabla 2 muestra el nmero de bits por pixel en imgenes en escala de grises, color, y complejas. Tabla @ Tipos de im#!enes y n*mero de bits por p:0el 56 Tipo No. De Bits Escala de grises Entero sin signo de 8 Bits Escala de grises Entero con signo de 16 Bits. Escala de grises Punto flotante de 32 Bits. Color RGB. 32 Bits. 8 Bits no usados. 8 Bits de Rojo. 8 Bits de Verde. 8 Bits de Azul. Color HSL. 32 Bits. 8 Bits no usados. 8 Bits de Tono. 8 Bits de Saturacin. 8 Bits de Luminosidad. Complejas. 64 Bits. Parte Real en Punto Flotante de 32 Bits. Parte maginaria en Punto Flotante de 32 Bits. I,4-e&es e& es$a"a 'e -r#ses Una imagen en escala de grises se compone de un plano de pxeles. Cada pixel es codificado mediante uno de los siguientes formatos numricos: Enteros de 8 bits sin signo que representan los valores de escala de grises entre 0 y 255. Enteros de 16 bits con signo que representan los valores de escala de grises entre -32768 y +32767. Un solo nmero de punto flotante de precisin, codificado usando cuatro bytes, que representa los valores en escala de grises que van desde - a . I,a-e& a Co"or 57 Una imagen a color est codificada en memoria como una imagen en RGB, HSL, HSV o CMYK. El Color de los pxeles es un conjunto de cuatro valores. Las imgenes de color RGB almacenan la informacin en los planos rojo, verde y azul. En imgenes de color HSL, la informacin se encuentra en los planos de tono, saturacin y luminancia. En ambos modelos, cada plano es de 8 bits y tienen 8 bits adicionales que no son usados. Esta representacin se conoce como codificacin en 32 bits. En imgenes RGB U64 la informacin de color reside en planos de 16 bits para cada plano, un campo adicional de 16 bits que no es usado, la figura 2-29 muestra los planos de una imagen a color. Figura 2- Planos de una ima!en Plano Alpha Plano Rojo o Tono Plano Verde o Saturacin Plano Azul o Luminosidad '/E+TE8 %os -utores I,4-e&es Co,!"e1as Una imagen compleja contiene informacin de la frecuencia de una imagen en escala de grises. Se puede crear una imagen compleja 58 mediante la aplicacin de una transformada Rpida de Fourier (FFT) a una imagen en escala de grises, a fin de poder realizar operaciones en dominio de la frecuencia sobre la imagen. Cada pxel en una imagen compleja es codificada como dos valores de punto flotante, que representan a los componentes real e imaginario del pxel complejo. Se pueden extraer cuatro valores de una imagen compleja: la parte real, parte imaginaria, la magnitud y fase. 6+8+ Proto$o"o ut#"#<a'o El trmino frame grabbing describe el mtodo que es usado para capturar una imagen desde el dispositivo de captura de imgenes (cmara), incluyendo todo el transporte y protocolos usados. Se recepta seales estndares y se digitaliza el cuadro de vdeo transformndolo en una imagen grfica de ordenador. La Figura 2-30 muestra los dispositivos que intervienen y el proceso de frame grabbing o captura de cuadro. Figura 2- 'rame <rabbin! '/E+TE8 MAGE PROCESSNG WTH LABVEW AND MAQ VSON, Thomas Klinger, Chapter 3: mage Distribution. Modificado: Los Autores 59 A continuacin la Tabla 3 muestra un comparativo entre los distintos tipos de cmara, en la que se toman en cuenta parmetros como el tipo de dispositivo (anlogo o digital), protocolo de transferencia utilizado, Frame Grabber, fuente de poder y cable. Tabla A iferentes m$todos de 'rame <rabber IEEE *8H: USB Ca,era L#&I A&a"o- Dispositivo (cmara) digital digital digital analog Protocolo de transferencia 1394 camera USB camera Camera Link analog video Frame grabber 1394 PC USB controller CL video analog FG Fuente de poder bus cable bus cable external external Cable 1394 serial USB serial CL parallel analog video '/E+TE8 MAGE PROCESSNG WTH LABVEW AND MAQ VSON, Thomas Klinger, Chapter 3: mage Distribution. Modificado: Los Autores Proto$o"o ut#"#<a'o El Bus Universal Serial (USB por sus siglas en ingls) es un protocolo que permite la transmisin de datos en serie y su interface permite la distribucin de energa, fue desarrollado para suplantar las lentas interfaces serie (RS-232) y paralelo. USB Provee una mayor velocidad de transferencia comparado con el puerto paralelo de 25-pin y el serial DB-9/DB-25 RS-232. 60 El bus USB puede trabajar en tres modos: a baja velocidad (1,5 Mbps, para dispositivos como teclados, ratones), a full velocidad (12 Mbps, para dispositivos como unidades de CDROM, altavoces, mdems e SDN, etctera) y a alta velocidad (solo USB 2.0 a 480 Mbps). Hace posible la conexin de hasta 127 perifricos a una nica puerta de un PC, con deteccin y configuracin automticas, sin tener que instalar software adicional, y sin tener que reiniciar el ordenador algo que con los puertos convencionales serie y paralelo no suceda. El ancho de banda debe repartirse entre todos los dispositivos conectados a l. Ca!a 'e !roto$o"o La forma en la que las secuencias de bits se transmiten en el protocolo USB es en formato Blittle,endianB, es decir del byte menos significativo al byte ms significativo. En la transmisin se envan y reciben paquetes de datos, cada paquete de datos viene precedido por un campo Sync y acaba con el delimitador EOP, todo esto se enva codificado adems de los bits de relleno insertados. El primer campo de todo paquete de datos es el campo PD. El PD indica el tipo de paquete y por lo tanto, el formato del paquete y el tipo de deteccin de errores aplicado al paquete. 61 A &#.e" e"7$tr#$oE el cable USB transfiere la seal y la alimentacin sobre 4 hilos, dos conductores de potencia y dos de seal. El cable proporciona la tensin nominal de 5 V. A &#.e" ,e$4&#$o el cable USB utiliza dos tipos de conectores totalmente diferentes, los conectores de serie A y de serie B. Los conectores de serie A permiten la conexin directa de dispositivos USB con el host o con el puerto de bajada de un host, y es obligatorio que estn presentes en todos los dispositivos y hubs USB. Los conectores de serie B no son obligatorios y sirven para conectar un cable USB con el puerto de subida de un dispositivo, permitiendo por parte de los fabricantes de dispositivos la utilizacin de cables estndar USB. Figura 2- Especificaciones del cable /SB F"u1o 'e Datos 'e" !roto$o"o USB 62 La norma USB define 2 tipos de enlaces virtuales: stream y message. E&"a$e V#rtua" Strea,E se trata de un flujo sin formato USB definido, esto significa que se puede enviar cualquier tipo de dato. Este tipo de enlace soporta las transferencias bulk, iscronas, e interrupt. Adems tanto el host como el dispositivo USB pueden controlar la transferencia. E&"a$e .#rtua" Messa-eE este tipo de enlace virtual si tiene un formato USB definido y solo puede soportar transferencia de Control. T#!os 'e tra&s(ere&$#a e& e" !roto$o"o USB El enlace virtual puede ser de cuatro tipos: Co&tro"E es el modo que se utiliza para realizar configuraciones, existe siempre sobre el punto terminal 0. Los datos de control sirven para configurar el perifrico en el momento de conectarse al USB. Bu"IE es el modo que se utiliza para la transmisin de importantes cantidades de informacin. Como el tipo control, este enlace no tiene prdida de datos. Este tipo de transferencia es til cuando la razn de transferencia no es crtica, generalmente es utilizado en dispositivos de media y alta velocidad. 63 I&terru!tE este modo se utiliza para transmisiones de pequeos paquetes, rpidos y orientados a percepciones humanas, es usado por dispositivos que deben recibir atencin peridicamente y de baja velocidad Iso$/ro&ousE es el modo que permite la transmisin de audio o video comprimido. Este tipo de transmisin funciona en tiempo real y es el modo de mayor prioridad. E&u,era$#%& 'e '#s!os#t#.os USB Cuando se conecta un dispositivo USB a la computadora se produce el proceso de enumeracin, el cual consiste en que el host le pregunta al dispositivo que se identifique e indique cuales son sus parmetros, tales como: Consumo de energa expresada en unidades de Carga Nmero y tipos de Puntos terminales Clase del producto. Tipo de transferencia Razn de escrutinio, etc. 64 El proceso de enumeracin se inicializa por el host cuando detecta que un nuevo dispositivo que ha sido adjuntado al Bus. El host asigna una direccin al dispositivo adjuntado al bus y habilita su configuracin permitiendo la transferencia de datos sobre el bus. 6+:+ V#s#%& Rob%t#$a ut#"#<a'a e& "a P"ata(or,a 'e Desarro""o Al momento de disear el sistema de Visin Robtica en la plataforma, se consider los siguientes elementos: I"u,#&a$#%&5 se debe proporcionar condiciones de iluminacin uniforme e independiente del entorno para facilitar la extraccin de la caracterstica de inters. Existen varios tipos de iluminacin cada uno de ellos utilizados para diversos casos: "luminacin posterior 3bac?li!ht48 Comnmente se utiliza para la deteccin de perfiles, impurezas de objetos traslcidos ya que permite obtener el mximo contraste posible del objeto, en la Figura 2-32 se observa que no es de gran ayuda al momento de resaltar los colores. Figura 2- 'rasco Rojo bajo iluminacin posterior
65 a) b) FUENTE: a) http://www.dcmsistemes.com/tipos_de_luz.html; b) Autores "luminacin 'rontal Oblicua y ireccional8 reduce las sombras, se usa para facilitar la deteccin de diferentes colores, caracteres, etc. En la Figura 2-33 se muestra imgenes de 2 frascos de color amarillo y rojo bajo iluminacin frontal oblicua, en la misma se puede apreciar de mejor manera el tono de los colores a analizar. Figura 2- 'rascos bajo iluminacin 'rontal Oblicua a) b) FUENTE: a) http://www.dcmsistemes.com/tipos_de_luz.html; b) Autores Existen otros tipos de iluminacin tales como: Frontal Axial (difusa), Proyector radial de luz directa cuyo resultado se muestra en la Figura 2-34 literal a) recomendado para la deteccin de todo lo que suponga un cambio de color, el recuadro b) muestra un esquema de la iluminacin directa; la iluminacin con proyector de luz difusa se muestra en el recuadro c) es indicado para poder detectar fcilmente variaciones del color como las que se producen al imprimir texto en un objeto; el esquema de iluminacin de campo brillante que se 66 muestra en el recuadro d) facilita la deteccin de rayas, fisuras y deformaciones en objetos con superficies planas y brillantes, iluminacin de Da Nublado y Campo Oscuro. Figura 2- Otros tipos de iluminacin a)
b) c) d) e) FUENTE: a) Autores; b) d) http://www.dcmsistemes.com/tipos_de_luz.html; Fue&tes 'e Lu<5 Algunas aplicaciones pueden utilizar la luz ambiente. Existen una variedad de fuentes de iluminacin para visin artificial que utilizan diversas formas estndares tales como fuentes de luz en forma 67 de anillo, spot, barra y backlight, otras como lmparas de filamento incandescente, halgenas, tubos fluorescentes, lser, etc. Figura 2- 'uentes de luz
FUENTE: http://www.spotsline.com.ar/; www.vhtm.com/dcm.htm C4,aras5 cuya funcin es capturar la imagen proyectada en el sensor para poder transferirla a un sistema electrnico. Las cmaras han tenido una rpida evolucin en los ltimos aos, desde las primeras cmaras de video que iban equipadas con tubos Vidicon hasta las ms modernas cmaras provistas de sensores CCD y CMOS. Hay mltiples tipos de cmaras que se pueden usar de acuerdo al aplicacin a desarrollar, podemos escoger entre: Cmaras con sensores CCD, CMOS, anlogas o digitales, cmaras lineales monocromticas y de color, de espectros no visibles, Gigaethernet, t#!o a&#""o t#!o s!ot t#!o barra t#!o ba$I"#-/t "u< '#re$ta "u< aC#a" '#(usa a&#""o 'e $a,!o os$uro D2a &ub"a'o 68 Firmware EEE 1394, webcam, de alta resolucin, de alta calidad, de alta velocidad, trmicas, infrarrojas, etc. En la Figura 2-36 se muestra un compensado de los diferentes tipos de cmaras que podran usarse en un sistema de visin artificial. Figura 2- Tipos de c#maras
FUENTE: Los Autores S#ste,a 'e A'Bu#s#$#%& 'e #,4-e&es. Su uso se debe a que existe gran cantidad de datos generados en una cmara (160MB/seg), que no son soportados por los puertos digitales de los PC (Serial, USB, Firewire). Para ello se necesita una tarjeta de adquisicin capaz de procesar las imgenes tomadas por la(s) cmara(s) hacia la memoria Web$a, I&(rarro1a T7r,#$a D#-#ta"es L#&ea"es ,o&o$ro,o D TDI D Co"or G#-E IEEE *8H: CMOS Esto es u&a tra'u$$# %& auto,4t #$a+ La (ue&te 'e "a !ro0e$$ #%& 'e #,a-e& A u& (abr#$a& te ,u"t#&a $#o&a" 'e $4,aras #&'ustr# a"es A a$aba 'e traer !ara !o&er u&a &ue.a ser#e 'e eC!"ora $#%& !ro-res# .aE "as $4,aras 'e" C,osE Bue e&.2a& $o& u& $o&e$ta 'or 'e" USB 6+J+ La ser#e 'e *6 '#.ersas $4,aras #&$"u0e ,o'e"o s 'e" $o"or 0 'e" ,o&o$r o,oE $o& reso"u$# o&es 'e K:JC:LJ a 6J:LC*= 8K+ Las $4,aras e&.2a& e& "a $ub#erta #&'ustr# a" robusta $o& e" ,o&ta1e 'e "a "e&te 'e" A+C+ DCS 0 .#e&e& o!$#o&a ",e&te $o& u& s#ste,a $o,!"et a,e&te #&te-ra' o 'e "a "u< 'e" a&#""o+ E" so(t?ar e su!!ort 'e "as $4,aras &o sa"e &a'a ser 'esea'o 5 Los !ro-ra, a'ores 0 "os usuar#o s (#&a"es s#e&te& #&,e'#a ta,e&te e& e" !a2s+ E" $o&se- u#r $o,e&< a'o $o& "as $4,aras es u&a $uest#% & 'e ,#&utos 0 "a #&te-ra$ #%& 'e e""os e& usos eC#ste&t es to,a so"a,e& te a"-u&as "2&eas 'e $%'#-o+ Los $o&'u$t ores !ara LabV#e? E 3a"$o&E D#re$tXE T?a#& 0 e" WDM so& #&$"u#'o s+ To'os "os !ar4,et ros 0 a1ustes 'e "a $4,ara se !ue'e& (#1ar .2a e" so(t?ar e e&.#a'o+ Las $4,aras e&.2a& $o& "os $o&'u$t ores !ara W#&'o? s X!D"a .#saE e" $o&tro" 'e "a !ro0e$$ #%& 'e #,a-e& 'e SDG IC 0 "a $a!tura 'e" IC+ Este 8u"t#,o es u& uso 'e -ra& a"$a&$e 'e" usuar#o (#&a"E Bue !er,#te Bue to'os "os !ar4,et ros 'e "as $4,aras sea& (#1a'osE .2'eo .#.o Bue se eC/#b#r4 E "as #,4-e&e s s#&-u"ar es 0 "as se$ue&$ #as 'e "a #,a-e& Bue se $a!turar 4&+ + + +
Esto es u&a tra'u$$#%& auto,4t#$a+ La (ue&te 'e "a !ro0e$$#%& 'e #,a-e& A u& (abr#$a&te ,u"t#&a$#o&a" 'e $4,aras #&'ustr#a"es A a$aba 'e traer !ara !o&er u&a &ue.a ser#e 'e eC!"ora$#%& !ro-res#.aE "as $4,aras 'e" C,osE Bue e&.2a& $o& u& $o&e$ta'or 'e" USB 6+J+ La ser#e 'e *6 '#.ersas $4,aras #&$"u0e ,o'e"os 'e" $o"or 0 'e" ,o&o$ro,oE $o& reso"u$#o&es 'e K:JC:LJ a 6J:LC*=8K+ Las $4,aras e&.2a& e& "a $ub#erta #&'ustr#a" robusta $o& e" ,o&ta1e 'e "a "e&te 'e" A+C+ DCS 0 .#e&e& o!$#o&a",e&te $o& u& s#ste,a $o,!"eta,e&te #&te-ra'o 'e "a "u< 'e" a&#""o+ E" so(t?are su!!ort 'e "as $4,aras &o sa"e &a'a ser 'esea'o5 Los !ro-ra,a'ores 0 "os usuar#os (#&a"es s#e&te& #&,e'#ata,e&te e& e" !a2s+ E" $o&se-u#r $o,e&<a'o $o& "as $4,aras es u&a $uest#%& 'e ,#&utos 0 "a #&te-ra$#%& 'e e""os e& usos eC#ste&tes to,a so"a,e&te a"-u&as "2&eas 'e $%'#-o+ Los $o&'u$tores !ara LabV#e?E 3a"$o&E D#re$tXE T?a#& 0 e" WDM so& #&$"u#'os+ To'os "os !ar4,etros 0 a1ustes 'e "a $4,ara se !ue'e& (#1ar .2a e" so(t?are e&.#a'o+ Las $4,aras e&.2a& $o& "os $o&'u$tores !ara W#&'o?s X!D"a .#saE e" $o&tro" 'e "a !ro0e$$#%& 'e #,a-e& 'e SDG IC 0 "a $a!tura 'e" IC+ Este 8u"t#,o es u& uso 'e -ra& a"$a&$e 'e" usuar#o (#&a"E Bue !er,#te Bue to'os "os !ar4,etros 'e "as $4,aras sea& (#1a'osE .2'eo .#.o Bue se eC/#b#r4E "as #,4-e&es s#&-u"ares 0 "as se$ue&$#as 'e "a #,a-e& Bue se $a!turar4&+ 69 del computador. La eleccin de la misma depender de diversas caractersticas a tomar en cuenta ya sea la velocidad de transmisin de imgenes, la capacidad de almacenamiento, el nmero de cmaras simultneas a soportar, etc. Figura 2- Tarjeta de -d(uisicin para Visin artificial FUENTE: http://sine.ni.com/nips/cds/view/p/lang/es/nid/1292 Pro$esa,#e&to5 Una vez adquiridas las imgenes stas son procesadas por el computador a travs de un software de procesamiento de imgenes. Los software de visin artificial de N ofrecen beneficios para una gran variedad de aplicaciones de visin artificial que dan la facilidad al desarrollador de implementar aplicaciones mediante programacin grfica o de lnea de comandos. En la Figura 2-38 se muestran diferentes aplicaciones desarrolladas con software de N. CMOS Esto es u&a tra'u$$# %& auto,4t #$a+ La (ue&te 'e "a !ro0e$$ #%& 'e #,a-e& A u& (abr#$a& te ,u"t#&a $#o&a" 'e $4,aras #&'ustr# a"es A a$aba 'e traer !ara !o&er u&a &ue.a ser#e 'e eC!"ora $#%& !ro-res# .aE "as $4,aras 'e" C,osE Bue e&.2a& $o& u& $o&e$ta 'or 'e" USB 6+J+ La ser#e 'e *6 '#.ersas $4,aras #&$"u0e ,o'e"o s 'e" $o"or 0 'e" ,o&o$r o,oE $o& reso"u$# o&es 'e K:JC:LJ a 6J:LC*= 8K+ Las $4,aras e&.2a& e& "a $ub#erta #&'ustr# a" robusta $o& e" ,o&ta1e 'e "a "e&te 'e" A+C+ DCS 0 .#e&e& o!$#o&a ",e&te $o& u& s#ste,a $o,!"et a,e&te #&te-ra' o 'e "a "u< 'e" a&#""o+ E" so(t?ar e su!!ort 'e "as $4,aras &o sa"e &a'a ser 'esea'o 5 Los !ro-ra, a'ores 0 "os usuar#o s (#&a"es s#e&te& #&,e'#a ta,e&te e& e" !a2s+ E" $o&se- u#r $o,e&< a'o $o& "as $4,aras es u&a $uest#% & 'e ,#&utos 0 "a #&te-ra$ #%& 'e e""os e& usos eC#ste&t es to,a so"a,e& te a"-u&as "2&eas 'e $%'#-o+ Los $o&'u$t ores !ara LabV#e? E 3a"$o&E D#re$tXE T?a#& 0 e" WDM so& #&$"u#'o s+ To'os "os !ar4,et ros 0 a1ustes 'e "a $4,ara se !ue'e& (#1ar .2a e" so(t?ar e e&.#a'o+ Las $4,aras e&.2a& $o& "os $o&'u$t ores !ara W#&'o? s X!D"a .#saE e" $o&tro" 'e "a !ro0e$$ #%& 'e #,a-e& 'e SDG IC 0 "a $a!tura 'e" IC+ Este 8u"t#,o es u& uso 'e -ra& a"$a&$e 'e" usuar#o (#&a"E Bue !er,#te Bue to'os "os !ar4,et ros 'e "as $4,aras sea& (#1a'osE .2'eo .#.o Bue se eC/#b#r4 E "as #,4-e&e s s#&-u"ar es 0 "as se$ue&$ #as 'e "a #,a-e& Bue se $a!turar 4&+ + + +
Esto es u&a tra'u$$#%& auto,4t#$a+ La (ue&te 'e "a !ro0e$$#%& 'e #,a-e& A u& (abr#$a&te ,u"t#&a$#o&a" 'e $4,aras #&'ustr#a"es A a$aba 'e traer !ara !o&er u&a &ue.a ser#e 'e eC!"ora$#%& !ro-res#.aE "as $4,aras 'e" C,osE Bue e&.2a& $o& u& $o&e$ta'or 'e" USB 6+J+ La ser#e 'e *6 '#.ersas $4,aras #&$"u0e ,o'e"os 'e" $o"or 0 'e" ,o&o$ro,oE $o& reso"u$#o&es 'e K:JC:LJ a 6J:LC*=8K+ Las $4,aras e&.2a& e& "a $ub#erta #&'ustr#a" robusta $o& e" ,o&ta1e 'e "a "e&te 'e" A+C+ DCS 0 .#e&e& o!$#o&a",e&te $o& u& s#ste,a $o,!"eta,e&te #&te-ra'o 'e "a "u< 'e" a&#""o+ E" so(t?are su!!ort 'e "as $4,aras &o sa"e &a'a ser 'esea'o5 Los !ro-ra,a'ores 0 "os usuar#os (#&a"es s#e&te& #&,e'#ata,e&te e& e" !a2s+ E" $o&se-u#r $o,e&<a'o $o& "as $4,aras es u&a $uest#%& 'e ,#&utos 0 "a #&te-ra$#%& 'e e""os e& usos eC#ste&tes to,a so"a,e&te a"-u&as "2&eas 'e $%'#-o+ Los $o&'u$tores !ara LabV#e?E 3a"$o&E D#re$tXE T?a#& 0 e" WDM so& #&$"u#'os+ To'os "os !ar4,etros 0 a1ustes 'e "a $4,ara se !ue'e& (#1ar .2a e" so(t?are e&.#a'o+ Las $4,aras e&.2a& $o& "os $o&'u$tores !ara W#&'o?s X!D"a .#saE e" $o&tro" 'e "a !ro0e$$#%& 'e #,a-e& 'e SDG IC 0 "a $a!tura 'e" IC+ Este 8u"t#,o es u& uso 'e -ra& a"$a&$e 'e" usuar#o (#&a"E Bue !er,#te Bue to'os "os !ar4,etros 'e "as $4,aras sea& (#1a'osE .2'eo .#.o Bue se eC/#b#r4E "as #,4-e&es s#&-u"ares 0 "as se$ue&$#as 'e "a #,a-e& Bue se $a!turar4&+ 70 Figura 2- Soft6are de Visin -rtificial FUENTE: http://sine.ni.com/nips/cds/view/p/lang/es/nid/1301 Crea$#%& 'e u&a a!"#$a$#%& 'e V#s#%& La Figura 2-39 ilustra los pasos para crear una aplicacin con N Visin aplicado a la bsqueda de patrones de color a reconocer utilizado en el presente desarrollo. CMOS Esto es u&a tra'u$$# %& auto,4t #$a+ La (ue&te 'e "a !ro0e$$ #%& 'e #,a-e& A u& (abr#$a& te ,u"t#&a $#o&a" 'e $4,aras #&'ustr# a"es A a$aba 'e traer !ara !o&er u&a &ue.a ser#e 'e eC!"ora $#%& !ro-res# .aE "as $4,aras 'e" C,osE Bue e&.2a& $o& u& $o&e$ta 'or 'e" USB 6+J+ La ser#e 'e *6 '#.ersas $4,aras #&$"u0e ,o'e"o s 'e" $o"or 0 'e" ,o&o$r o,oE $o& reso"u$# o&es 'e K:JC:LJ a 6J:LC*= 8K+ Las $4,aras e&.2a& e& "a $ub#erta #&'ustr# a" robusta $o& e" ,o&ta1e 'e "a "e&te 'e" A+C+ DCS 0 .#e&e& o!$#o&a ",e&te $o& u& s#ste,a $o,!"et a,e&te #&te-ra' o 'e "a "u< 'e" a&#""o+ E" so(t?ar e su!!ort 'e "as $4,aras &o sa"e &a'a ser 'esea'o 5 Los !ro-ra, a'ores 0 "os usuar#o s (#&a"es s#e&te& #&,e'#a ta,e&te e& e" !a2s+ E" $o&se- u#r $o,e&< a'o $o& "as $4,aras es u&a $uest#% & 'e ,#&utos 0 "a #&te-ra$ #%& 'e e""os e& usos eC#ste&t es to,a so"a,e& te a"-u&as "2&eas 'e $%'#-o+ Los $o&'u$t ores !ara LabV#e? E 3a"$o&E D#re$tXE T?a#& 0 e" WDM so& #&$"u#'o s+ To'os "os !ar4,et ros 0 a1ustes 'e "a $4,ara se !ue'e& (#1ar .2a e" so(t?ar e e&.#a'o+ Las $4,aras e&.2a& $o& "os $o&'u$t ores !ara W#&'o? s X!D"a .#saE e" $o&tro" 'e "a !ro0e$$ #%& 'e #,a-e& 'e SDG IC 0 "a $a!tura 'e" IC+ Este 8u"t#,o es u& uso 'e -ra& a"$a&$e 'e" usuar#o (#&a"E Bue !er,#te Bue to'os "os !ar4,et ros 'e "as $4,aras sea& (#1a'osE .2'eo .#.o Bue se eC/#b#r4 E "as #,4-e&e s s#&-u"ar es 0 "as se$ue&$ #as 'e "a #,a-e& Bue se $a!turar 4&+ 71 Figura 2- Creacin de una aplicacin con +" Vision FUENTE: Los Autores 6+=+ A'Bu#s#$#%& 'e I,4-e&es 'e $a"#'a' $o& NIAIMA@ Previamente considerando los parmetros descritos en el subtema 2.4 como es la iluminacin, tipo de cmara, tarjeta y software de adquisicin, N provee a travs de su asistente de Visin seis opciones para adquirir imgenes: CMOS Esto es u&a tra'u$$# %& auto,4t #$a+ La (ue&te 'e "a !ro0e$$ #%& 'e #,a-e& A u& (abr#$a& te ,u"t#&a $#o&a" 'e $4,aras #&'ustr# a"es A a$aba 'e traer !ara !o&er u&a &ue.a ser#e 'e eC!"ora $#%& !ro-res# .aE "as $4,aras 'e" C,osE Bue e&.2a& $o& u& $o&e$ta 'or 'e" USB 6+J+ La ser#e 'e *6 '#.ersas $4,aras #&$"u0e ,o'e"o s 'e" $o"or 0 'e" ,o&o$r o,oE $o& reso"u$# o&es 'e K:JC:LJ a 6J:LC*= 8K+ Las $4,aras e&.2a& e& "a $ub#erta #&'ustr# a" robusta $o& e" ,o&ta1e 'e "a "e&te 'e" A+C+ DCS 0 .#e&e& o!$#o&a ",e&te $o& u& s#ste,a $o,!"et a,e&te #&te-ra' o 'e "a "u< 'e" a&#""o+ E" so(t?ar e su!!ort 'e "as $4,aras &o sa"e &a'a ser 'esea'o 5 Los !ro-ra, a'ores 0 "os usuar#o s (#&a"es s#e&te& #&,e'#a ta,e&te e& e" !a2s+ E" $o&se- u#r $o,e&< a'o $o& "as $4,aras es u&a $uest#% & 'e ,#&utos 0 "a #&te-ra$ #%& 'e e""os e& usos eC#ste&t es to,a so"a,e& te a"-u&as "2&eas 'e $%'#-o+ Los $o&'u$t ores !ara LabV#e? E 3a"$o&E D#re$tXE T?a#& 0 e" WDM so& #&$"u#'o s+ To'os "os !ar4,et ros 0 a1ustes 'e "a $4,ara se !ue'e& (#1ar .2a e" so(t?ar e e&.#a'o+ Las $4,aras e&.2a& $o& "os $o&'u$t ores !ara W#&'o? s X!D"a .#saE e" $o&tro" 'e "a !ro0e$$ #%& 'e #,a-e& 'e SDG IC 0 "a $a!tura 'e" IC+ Este 8u"t#,o es u& uso 'e -ra& a"$a&$e 'e" usuar#o (#&a"E Bue !er,#te Bue to'os "os !ar4,et ros 'e "as $4,aras sea& (#1a'osE .2'eo .#.o Bue se eC/#b#r4 E "as #,4-e&e s s#&-u"ar es 0 "as se$ue&$ #as 'e "a #,a-e& Bue se $a!turar 4&+ Configuracin del Sistema Configuracin del Sistema Adquisicin de la imagen Adquisicin de la imagen Presentacin de la imagen Presentacin de la imagen Definir patrones y rea a buscar Definir patrones y rea a buscar Localizacin de caracterstica a inspeccionar Localizacin de caracterstica a inspeccionar Procesamiento Procesamiento Clasificar colores Clasificar colores Mostrar Resultados Mostrar Resultados Anlisis Anlisis 72 Adquisicin de mgenes desde una cmara seleccionada. Adquisicin de mgenes desde una cmara EEE 1394. Adquisicin de mgenes desde una cmara EEE 1394 o GigE seleccionada Adquisicin de mgenes desde una cmara USB seleccionada. Adquisicin de RT: Adquiere imgenes de un dispositivo PX que controla LabVEW En tiempo real. Simulador de Adquisiciones: usado para simular una adquisicin real cargando imgenes de archivo. De las listadas, se ha hecho uso de la adquisicin con una cmara Web conectada a travs de la interface USB de la computadora. Los modos de adquisiciones disponibles en LabVEW son snap, grab y secuencial. Mo'o S&a! 73 Adquiere una sola imagen en el buffer de memoria. Se utiliza este modo de adquisicin para adquirir un solo cuadro o frame en el buffer y en capturas que no requieren mucha velocidad. La Figura 2-40 muestra un diagrama de bloque simplificado para usar este modo. Figura 2- -d(uisicin de "m#!enes )odo Snap FUENTE: Los Autores Mo'o Grab Este modo permite la adquisicin continua de alta velocidad. Se requiere usar lazos y dos Vs: MAQ USB Grab Setup y MAQ USB Grab Acquire, el primero se lo invoca una vez inicializada la adquisicin y comienza a capturar la imagen en un buffer interno, el segundo V se lo utiliza a fin de copiar la imagen almacenada en el buffer interno hacia el buffer en Labview. Luego que el programa termine de capturar imgenes, MAQ USB Close finaliza la adquisicin. Figura 2- -d(uisicin de "m#!enes )odo <rab 74 FUENTE: Los Autores Mo'o Se$ue&$#a Una secuencia adquiere imgenes segn ajustes que se especifica en la etiqueta de secuencia de la ventana de nterface de Adquisicin y enva las imgenes al Navegador de magen en el Asistente de Visin. La Figura 2-42 muestra las propiedades configuradas en la cmara Eye 110 usada durante el desarrollo del presente trabajo. Figura 2- Propiedades de c#mara Eye CCD FUENTE: Los Autores 75 6+K+ Pro$esa,#e&to 0 a&4"#s#s 'e I,4-e&es $a!tura'as En primer lugar es necesario dar a conocer la diferencia entre el procesamiento y el anlisis de imgenes. Procesamiento de imgenes es el trmino que utilizaremos en el momento de referirnos a la manipulacin de una imagen inicial, al final de dicha manipulacin lo que obtenemos es otra imagen, por el contrario si al manipular la imagen inicial, al final lo que obtenemos no es una imagen sino datos de la misma, estamos hablando del anlisis de la imagen. Pro$esa,#e&to 'e I,4-e&es A continuacin se enfocar en instrumentos virtuales para la manipulacin de la imagen. Image buffer, permite almacenar una copia de la imagen original en el buffer de imgenes para el empleo posterior de la misma. Color Treshold, los umbrales de la imagen sirven para separar los objetos de la imagen del fondo. Figura 2- ")-. Color Treshold FUENTE: Labview 8.5 76 Dependiendo del tipo de filtro que apliquemos, obtendremos diferentes resultados de distincin de colores, la Figura 2-44 visualiza los resultados de aplicar color treshold a una imagen que contiene 3 frascos, 2 verdes en los extremos y en el centro 1 amarillo. Figura 2- eteccin de frascos presentes I,a-e& (ue&te 3SL RGB FUENTE: Los Autores Si la bsqueda que realizamos es de manera sustractiva o aditiva, se puede identificar las regiones de inters a analizar Figura 2- iscriminar determinado color FUENTE: Los Autores Mo'e"o 3SL Mo'e"o RGB 77 Advance Morphology, sirve para realizar operaciones de alto nivel sobre partculas en imgenes binarias. La Figura 2-46 muestra el men de funciones que permite usar Morfologa avanzada Figura 2- )en* )orpholo!y FUENTE: Labview 8.5 Una vez determinados los tipos de frascos de nuestro inters, se pueden realizar operaciones sobre partculas a fin de mejorarla. Figura 2- /so de -d5> )orpholo!y para rellenar contornos FUENTE: Los Autores I,a-e& (ue&te 78 Bas#$ Mor!/o"o-0, se puede usar transformaciones bsicas morfolgicas para preparar partculas para el anlisis cuantitativo, observar la geometra de regiones, y extraer las formas ms simples para el modelado y la identificacin. Figura 2- "ma( )orpholo!y FUENTE: Labview 8.5 Figura 2- /so de Basic )orpholo!y FUENTE: Los Autores Imagen fuente 79 En la Figura 2-50, se muestra un script desarrollado con Vision Assistance, consiste en detectar el frasco de color amarillo en la imagen fuente, se adjunta las imgenes de salida cada vez que se ejecuta cada una de las funciones citadas. Figura 2- Script de deteccin de 'rasco de diferente color FUENTE: Los Autores A&4"#s#s 'e I,4-e&es 80 El anlisis de imgenes permite la extraccin de informacin de una imagen. Los Vs utilizados para el anlisis, se listarn a continuacin. I,aB ECtra$tE permite extraer parte de una imagen con el ajuste de la resolucin horizontal y vertical. Figura 2- "ma( E0tract FUENTE: Labview 8.5 IMA@ Setu! Lear& Co"or Patter&E define los parmetros a usar en la etapa de aprehensin de color. Este V se usa antes del manejo de MAQ Learn Color Pattern e introduce las configuraciones para la bsqueda. Establece el modo de aprendizaje, el modo bsqueda y la saturacin a ser considerada. Figura 2- ")-. Setup %earn Color Pattern FUENTE: Labview 8.5 IMA@ Lear& Co"or Patter&E crea una descripcin de los parmetros de la plantilla que se va a buscar durante la etapa de emparejamiento de formas en color. Estos datos de descripcin son aadidos a la imagen 81 de plantilla de entrada durante la bsqueda, el color es extrado de la plantilla y usado para buscar la plantilla en la imagen fuente. Figura 2- ")-. %earn Color Pattern FUENTE: Labview 8.5 IMA@ Setu! Mat$/ Co"or Patter&E los parmetros de bsqueda se usan durante el proceso de bsqueda de aciertos de color. Antecede al uso de MAQ Match Color Pattern ya que introduce los parmetros de aciertos a ser considerados al momento de identificar una plantilla como vlida o no. Figura 2- ")-. Setup )atch Color Pattern FUENTE: Labview 8.5 IMA@ Mat$/ Co"or Patter&E busca un modelo en color, o la imagen de plantilla en color, en la entrada "ma!e. Determina los aciertos encontrados en l a imagen fuente . 82 Figura 2- ")-. )atch Color Pattern FUENTE: Labview 8.5 Co"or Mat$/#&-E se utiliza para comparar el contenido de color de una imagen con una plantilla que contiene el color de referencia. Esta funcin no modifica la imagen fuente. Figura 2- "ma( Color )atchin! FUENTE: Labview 8.5 La Figura 2-57, es un ejemplo del uso de color matching al momento de crear una plantilla de color y los parmetros seteados a ser considerados. 83 Figura 2- Creacin de plantillas con "ma( Color )atchin! FUENTE: Los Autores Co"or P"a&e ECtra$t#o&, use esta funcin para extraer los planos RGB, HSV o HSL de una imagen. El resultado de esta funcin es una imagen de escala de gris con los valores de intensidad que corresponden al plano elegido. Figura 2- "ma( Color Plane E0traction FUENTE: Labview 8.5 Figura 2- Planos E0tra:dos con Color Plane E0traction 84 FUENTE: Los Autores En la Figura 2-60, se muestra un script desarrollado con el Asistente de Visin, consiste en detectar el frasco de color amarillo en la imagen fuente utilizando un filtro HSL Luminancia, se adjunta las imgenes de salida cada vez que se ejecuta cada una de las funciones citadas. 85 Figura 2- Script de deteccin de frasco color amarillo
Te,!"ate 3SL Lu,#&a&$e
FUENTE: Los Autores
CAPITULO 8+ INTERACCIN ELECTROMEC9NICA 8+*+ Des$r#!$#%& 'e "as (u&$#o&a"#'a'es 'e "as Ba&'as Tra&s!orta'oras El mecanismo de la plataforma de trabajo fue construido por estudiantes del tpico "Plataforma para el Desarrollo de Proyectos con dsPCs y Visin Robtica con LabVEW 8, considerando que se debe asemejar lo ms posible a las bandas transportadoras de un ambiente industrial sin olvidar el presupuesto econmico, ya que el fin del mismo es de carcter educativo. El mecanismo de las bandas transportadoras de la plataforma de trabajo est constituido por dos etapas: la primera solo es de trasportacin de los objetos a analizar y la segunda se lleva a cabo 87 dentro de un armario o estacin donde se realiza el procesamiento y anlisis de los frascos de diferente color. El sistema de bandas puede ajustarse a las necesidades que se requieran para llevar a cabo el anlisis, pudiendo disminuir la velocidad, detenerse o reanudar el movimiento de la misma para continuar con otros envases. Dentro de la estacin se realizar la adquisicin y procesamiento de imgenes mediante una cmara de video digital y el software de procesamiento de imgenes escogido. El sistema de bandas se compone de cuatro bandas de diez centmetros de ancho, dos de ellas de un metro de largo y las otras dos de treinta centmetros, las misma que forman un lazo cerrado y desplazan los objetos de forma continua. Figura 3- Sistemas de Bandas transportadoras 88 FUENTE: Los Autores Cada banda cuenta con dos rodillos que se ubican en los extremos del recorrido de la banda, uno de ellos es accionado por un motor acoplado a su eje, siendo el otro rodillo un elemento pasivo que servir como punto de retorno para la banda. Los motores de la plataforma son motores pequeos de 12VDC. Para la construccin de la banda se tomaron en cuenta los siguientes aspectos: Longitud del recorrido: El recorrido de los objetos transportados es de 2.6 m de longitud. Capacidad y peso: Los objetos a transportar no pesan ms all de 3oz y el volumen no supera los 75 cm 3 . Velocidad variable de transporte. Seguridad de transportacin: Se elaboraron bordes de contencin que con una altura de 4cm ofrecen estabilidad y facilitan la transicin de los objetos ajustando su direccin al pasar de una banda a otra. 89 8+6+ Co&tro" 'e "as Ba&'as Tra&s!orta'oras $o& 'sPICs El sistema de las bandas transportadoras puede ser controlado en forma manual o por programacin desde una computadora mediante la interface serial que posee. En el ,o'o ,a&ua" las bandas son controladas a travs de un panel de operador que permite arrancar, parar, variar velocidad y variar direccin de desplazamiento. En el ,o'o !ro-ra,a'o las bandas son controladas mediante herramientas virtuales desarrolladas en LabView especialmente para nuestra plataforma de trabajo. P"ata(or,a 'e $o&tro" 'e Ba&'as tra&s!orta'oras La tarjeta de control del sistema de bandas transportadoras tiene como unidad de control al dsPC 30F4011, el cual posee una interface de comunicacin serial que permite recibir los comandos de accin para el manejo de las bandas. A continuacin se detallan las caractersticas principales de la plataforma de control de las bandas: Para el manejo de las 4 bandas se dispondr de 4 seales de salida PWM. 90 Para el ajuste de direccin de movimiento de las bandas se dispone de 8 seales de salida que indican el sentido de movimiento de cada banda. Cada banda recibe una seal de izquierda y de derecha. Tiene una interface serial regida al estndar de comunicacin RS- 232, otorgada por el circuito integrado MAX232. Recibe una seal de entrada proveniente de un sensor que se utiliza para detectar el frasco en la posicin de captura y anlisis para poder manejar la detencin del sistema de bandas. Recibe una seal de entrada proveniente de un decodificador de pasos que se utiliza para el lazo de control de velocidad del sistema de bandas. Posee una interface de programacin serial en circuito (CSP) Dicha plataforma de control fue desarrollada por un grupo de trabajo de investigacin dentro del mismo tpico y que corresponde al tema de Tesis de Grado "Diseo de dos bandas transportadoras de 100x10cm y dos de 30x10cm con motores controlados con dsPCs. En dicho proyecto se indica en detalle el control de la tarjeta bajo el mando manual y el mando programado. 91 Dado que el mando manual no es usado por este tema de tesis, no se encontrar detalle alguno del mismo. I&stru,e&ta$#%& V#rtua" ut#"#<a'a !ara e" e&.2o 'e 'atos a "a !"ata(or,a 'e $o&tro"+ El mando programado mediante la interface serial, utiliza los siguientes instrumentos virtuales para el control de las bandas: I&stru,e&tos .#rtua"es 'e estab"e$#,#e&to 'e "a $o,u&#$a$#%& Es!o" Lab Co&.e0or Setu!E este V cuyo cono se muestra en la Figura 3-2, nos permite establecer la comunicacin entre el software de procesamiento de imgenes y la plataforma controladora de la banda a travs del puerto serial del computador. 'i!ura A, Espol %ab Con5eyor Setup FUENTE: LabVEW 8.5 Librera Espol Lab Conveyor A continuacin se detallan las entradas y salidas relevantes del bloque: V"S- resource name8 dicha entrada especifica el puerto de 92 comunicacin que utilizar el software desarrollado en LabVEW los mismos que podran ser un puerto serial, USB o Ethernet. Confi!uracin serial8 en dicha entrada se debe especificar mediante un clster de datos la tasa de baudios, la cantidad de bits de la trama de datos, bit(s) de parada, control de flujo y control de paridad. V"S- resource name out8 es un paso de referencia del instrumento seleccionado en la entrada VSA resource name. Esta salida se conecta a la entrada de los dems instrumentos virtuales Es!o" Lab Co&.e0or C"oseE permite cerrar el puerto de comunicacin del computador que es usado para comunicarse con la plataforma controladora de la banda. Como se aprecia en la Figura 3-3 recibe como entrada la referencia del puerto de comunicacin. Figura 3- Espol %ab Con5eyor Close FUENTE: LabVEW 8.5 Librera Espol Lab Conveyor I&stru,e&tos .#rtua"es 'e $o&(#-ura$#%& 93 Es!o" Lab Co&.e0or S!ee', permite ajustar la velocidad del motor especificado en una de sus entradas. Cada banda del sistema se encuentra relacionada con un motor. Figura 3- Espol %ab Con5eyor Speed FUENTE: LabVEW 8.5 Librera Espol Lab Conveyor A continuacin se detallan las entradas y salidas relevantes del bloque: Cual )otor78 esta entrada de tipo MENU RNG, permite especificar el motor sobre el cual se proceder a ajustar la velocidad. Entre las opciones se tiene desde el motor 1 al motor 4, adems de una quinta opcin que permite seleccionar todos los motores. Velocidad8 mediante esta se especifica la velocidad de cada motor, la cual se debe indicar en milmetros por segundo. Es!o" Lab Co&.e0or Co&tro" Loo! Co&sta&tE este instrumento permite cambiar el valor de los parmetros del lazo de control de velocidad del sistema de bandas. Figura 3- Espol %ab Con5eyor Chan!e Control %oop Constant 94 FUENTE: LabVEW 8.5 Librera Espol Lab Conveyor A continuacin se detallan las entradas y salidas relevantes del bloque: Cual Constante78 esta entrada de tipo MENU RNG, permite seleccionar la constante del lazo del control de velocidad a la cual se le va a establecer un valor. Se puede seleccionar entre kp y ki. Valor8 en esta entrada se especfica el valor de la constante que se est configurando. Es!o" Lab Co&.e0or Set Se&sorACa,era D#sta&$eE este instrumento virtual (Figura 3-6) permite ajustar la distancia entre el sensor ptico y el punto donde se detendr el frasco, a travs de la entrada Distancia Sensor-Cmara. El valor debe ser especificado en milmetros. Figura 3- Espol %ab Con5eyor Set Sensor,Camera istance FUENTE: LabVEW 8.5 Librera Espol Lab Conveyor 95 I&stru,e&tos .#rtua"es 'e ,o.#,#e&to Es!o" Lab Co&.e0or Sto!E (Figura 3-7) permite la detencin del sistema de bandas transportadoras. Figura 3- Espol %ab Con5eyor Stop FUENTE: LabVEW 8.5 Librera Espol Lab Conveyor )o5imiento8 esta entrada de tipo MENU RNG, permite seleccionar el tipo de detencin: normal (detiene la banda dejando de proporcionar energa a los motores), suave (detiene la banda disminuyendo la velocidad) y fuerte (detiene la banda conectado los devanados de los motores a tierra, ocasionando una detencin brusca de la banda). Es!o" Lab Co&.e0or Le(tE (Figura 3-8) permite establecer el sentido de movimiento de las bandas hacia la izquierda. Figura 3- Espol %ab Con5eyor %eft 96 FUENTE: LabVEW 8.5 Librera Espol Lab Conveyor Es!o" Lab Co&.e0or R#-/tE permite establecer el sentido de movimiento de las bandas hacia la derecha. Figura 3- Espol %ab Con5eyor Ri!ht FUENTE: LabVEW 8.5 Librera Espol Lab Conveyor Espol Lab Conveyor Left y Espol Lab Conveyor Right tienen una entrada de tipo MENU RNG llamada )o5imiento. Esta entrada permite seleccionar tres tipos de cambios de velocidad: normal (hace girar la banda en la direccin deseada aplicando energa en los devanados de los motores), suave (hace girar la banda en la direccin deseada incrementando la velocidad paulatinamente) y fuerte (hace girar la banda en la direccin deseada preestableciendo la mxima velocidad para que la banda arranque inmediatamente). 97 8+8+ Des$r#!$#%& 'e "as (u&$#o&a"#'a'es 'e" Bra<o Rob%t#$o Los movimientos que puede realizar el brazo robtico se deben gracias a los elementos motrices que lo componen. Estos elementos estn conectados mediante articulaciones de revolucin. Cada par articulacin-elemento motriz constituye un grado de libertad. Entre ms sean los grados de libertad, es mayor la dificultad para controlarlo, ya que se necesita mayor programacin. Existen tres partes importantes en todo brazo robtico: la base, el brazo y el elemento terminal, que en la mayora de los casos es un manipulador o pinza. La estructura del brazo robtico est construida de aluminio y gracias a este material el robot es ligero y se puede mover con facilidad. Adems se dispone de un brazo empuja frascos que realizar la accin de remover objetos que se encuentren encima de la banda en la posicin de anlisis, segn el criterio de selectividad. Cara$ter2st#$as $o&stru$t#.as 'e" Bra<o Rob%t#$o El brazo robtico para la plataforma de trabajo se construy en base a los siguientes aspectos: El brazo dispone de un mecanismo de giro en torno a su eje, de hasta180 mximo. 98 El brazo est conformado por servos con un rango de movimiento de hasta 180 mximo. En funcin de los 3 grados de libertad de un brazo humano: hombro, codo y mueca. Tiene una pieza terminal del tipo pinza, que puede abrirse y cerrarse, para manipular objetos con una abertura de mximo 32mm o 1.25''. Puede levantar un peso de hasta 3.0 oz. Tiene una altura de 10 pulgadas. El brazo robtico est acoplado a una base slida, la cual puede acoplarse fcilmente a la plataforma de bandas, que tambin ser controlada por circuitera desarrollada con dsPCs. Es capaz de girar objetos que se encuentran sobre la banda transportadora. Es capaz de retirar piezas de la cinta transportadora y depositarlas fuera de ella, por ejemplo, en un recipiente. El brazo puede ser manejado desde una interface programada en cualquier lenguaje de programacin. Para este Tpico el lenguaje utilizado fue LabVEW. El desarrollo en LabVEW que controla el brazo puede acoplarse a cualquier otro instrumento virtual. 99 El brazo una vez realizada la accin puede regresar a su posicin original o neutra. Cara$ter2st#$as $o&stru$t#.as 'e" Bra<o e,!u1a (ras$os+ El brazo empuja frasco para la plataforma de trabajo se construy en base a los siguientes aspectos: El brazo empuja frascos debe tener una base con un rango de movimiento de mximo 180. El cuerpo del brazo empuja frascos se encuentra conformado por un solo cuerpo mvil que le da un grado de libertad. Tiene dos extensiones, la una cncava que tiene la forma de la botella y otra recta perpendicular al brazo y paralela al frasco. Es capaz de empujar usando la parte cncava y de un solo movimiento expulsar el frasco de la banda transportadora. El brazo empuja frascos tambin es controlado por un instrumento virtual desde LabVEW. 8+:+ Co&tro" 'e" Bra<o Rob%t#$o Al igual que el sistema de bandas, los brazos robtico y empuja frascos se encuentran controlados directamente por una tarjeta en la cual consta la unidad de control dsPC30F4012. La misma que fue diseada por la tesis "Diseo de brazo robtico y diseo de brazos empuja 100 frascos controlados por LabVEW y DSPCS. Dicha tarjeta cuenta con la caracterstica de comunicacin serial para la recepcin de comandos de control para ambos brazos. Cara$ter2st#$a 'e "a tar1eta 'e $o&tro" 'e "os Bra<os Rob%t#$o 0 E,!u1a Fras$os+ Las caractersticas principales de la tarjeta diseada con la unidad de control en base al dsPC30F4012 son las siguientes: Posee una interface serial regida al estndar RS-232 para establecer comunicacin con una computadora. Tiene 6 Salidas PWM de motor: 3 independientes y 3 complementarias. 5 para los servomotores del brazo robtico y uno para el servomotor del brazo empuja frasco. Capacidad de Programacin Serial en Circuito (CSP). Posee 6 entradas A/D (Analgico/Digital) adicionales para mejoras del sistema como seales de sensores o para interrupcin por cambio de estado. Cuenta con una entrada por interrupcin externa o como salida digital. Comunicacin serial alternativo o tambin puede ser usado como entrada o salida digital, para interrupcin por cambio de estado. 101 I&stru,e&ta$#%& .#rtua" ut#"#<a'a !ara e" e&.2o 'e 'atos a "a !"ata(or,a 'e $o&tro" La unidad de control de la tarjeta de control de los brazos recibir comandos de control a partir de unos instrumentos virtuales desarrollados en LabView. Los mismos que se detallarn a continuacin en la Figura 3-10 Figura 3- V"s para brazo robtico y brazo empuja frascos FUENTE: LabVEW 8.5 Librera Espol Brazo y Empuja Frasco I&stru,e&tos V#rtua"es 'e Co,u&#$a$#%& Estos Vs se encargarn de especificar y configurar el uso de un puerto serie del computador. I&#$#ar Puerto El V de niciar puerto especifica el puerto a utilizar adems de configurarlo respectivamente. Los datos de configuracin corresponden 102 a tiempo de respuesta, tasa de transmisin, control de flujo, bits de trama de datos, bits de parada y bit de paridad. Adems posee una entrada para realizar la configuracin por defecto del brazo robtico y empuja frasco. Figura 3- nicializar Puerto FUENTE: LabVEW 8.5 Librera Espol Brazo y Empuja Frasco Cerrar Puerto Cierra la sesin de uso del puerto abierto para el enlace con la tarjeta de control de los brazos. Figura 3- Cerrar Puerto FUENTE: LabVEW 8.5 Librera Espol Brazo y Empuja Frasco I&stru,e&tos V#rtua"es 'e Co&(#-ura$#%& 'e e"e$tro,e$a&#s,os 103 Los Vs de configuracin permiten configurar la velocidad de los servomotores y las distintas posiciones del brazo empuja frascos. Adems de reiniciar los ajustes a la configuracin por defecto de los brazos. Co&(#-urar .e"o$#'a' 'e ser.os Permite la configuracin de un retardo para el movimiento del brazo a la posicin deseada. Entre mayor sea el valor, mayor tiempo tomar al brazo completar su movimiento. Figura 3- Configurar velocidad de servos FUENTE: LabVEW 8.5 Librera Espol Brazo y Empuja Frasco Co&(#-urar e,!u1a (ras$o Permite el ajuste de tres posiciones para el brazo empuja frasco. Estas posiciones corresponden a la posicin inicial, central y final. 104 Figura 3- Configurar empuja frasco FUENTE: LabVEW 8.5 Librera Espol Brazo y Empuja Frasco Co&(#-ura$#%& !or 'e(e$to Este V enva los valores predeterminados de velocidad y posiciones del brazo robtico y empuja frascos que se tienen al iniciar su respectiva tarjeta de control. Figura 3- Configuracin por defecto FUENTE: LabVEW 8.5 Librera Espol Brazo y Empuja Frasco I&stru,e&tos V#rtua"es 'e E1e$u$#%& 'e ,o.#,#e&tos Estos Vs se encargan del envo de comandos de movimiento de los servomotores de los brazos robtico y empuja frascos. Mo.er Ser.o * 105 Se encarga del envo del comando de movimiento para el servomotor 1 o servomotor de la base. Existen bloques para cada servomotor, inclusive hasta para el que abre y cierra la pinza. Figura 3- Mover servo 1 FUENTE: LabVEW 8.5 Librera Espol Brazo y Empuja Frasco Mo.er Ser.os Este V mueve los 5 servomotores, se puede seleccionar que servo se requiere mover y a que posicin. Figura 3- Mover servos FUENTE: LabVEW 8.5 Librera Espol Brazo y Empuja Frasco 106 E,!u1a Fras$os Este V se encarga de posicionar al brazo empuja frascos en cualquiera de sus tres posiciones: posicin inicial, posicin central o de detencin de frascos y posicin final. Figura 3- Empuja frascos FUENTE: LabVEW 8.5 Librera Espol Brazo y Empuja Frasco El dato a colocar en su respectiva entrada debe ser como sigue: 0: Posicin nicial 1: Posicin Central 2: Posicin Final E&.#ar Se$ue&$#a Este V es til cuando se quiere que el brazo realice una secuencia ya definida, la cual debe ser ingresada mediante archivo de texto. El archivo que contiene la secuencia de posiciones debe indicar el motor, la posicin deseada, y el tiempo de retardo para la ejecucin del mismo. 107 Figura 3- Enviar Secuencia FUENTE: LabVEW 8.5 Librera Espol Brazo y Empuja Frasco El bloque adems posee una entrada de tiempo de espera para realizar el movimiento de cada servo ya que se debe esperar una confirmacin de parte de la tarjeta de control para realizar el siguiente movimiento. El archivo de secuencia debe tener el siguiente formato: Figura 3- Secuencia de archivos FUENTE: Los Autores 108 Motor1, Posicin1, Velocidad1 Motor2, Posicin2, Velocidad2 ... El proceso de ejecucin de la secuencia por el bloque se detalla a continuacin: Se realiza una lectura del archivo y se determina cuantos movimientos tendr el brazo. Luego, el programa empieza enviando el comando de movimiento indicado en la primera lnea del archivo, enva velocidad, servo a mover y su respectiva nueva posicin. Se cambia automticamente el tiempo de espera del puerto. Este valor debe ser colocado con precisin para garantizar que se ejecute correctamente la secuencia teniendo en cuenta que se debe cuidar el rendimiento del mecanismo. El tiempo de espera por defecto es 10s. Se espera por la respuesta de ejecucin del movimiento. Se restablece el tiempo de espera por defecto. Se verifica si existen ms lneas de la secuencia, si existen se repiten los pasos hasta terminar con la secuencia indicada. 8+=+ Proto$o"o 'e $o,u&#$a$#%& e&tre e" !ro-ra,a 'e $o&tro"E e" Bra<o Rob%t#$o 0 "as Ba&'as Tra&s!orta'oras Proto$o"o 'e $o,u&#$a$#%& e&tre !ro-ra,a 'e $o&tro" 0 tar1eta $o&tro"a'ora 'e Bra<o rob%t#$o 0 bra<o e,!u1a (ras$o 109 Para definir la comunicacin entre el programa de control y la tarjeta controladora de Brazo robtico y brazo empuja frasco se defini un protocolo sencillo conformado por el envo de comandos de 3 bytes en la cual el byte ms significativo nos indica qu accin deseamos realizar y los 2 bytes restantes forman 1 word que indica el parmetro que se desea para dicha accin. Los instrumentos virtuales mencionados en la seccin 3.4 son los responsables del envo de los comandos para que el dsPC30F4012 los interprete y realice el control sobre los brazos. La lgica para recepcin y envo de datos se describe a continuacin: Se espera siempre que exista al menos un dato de 8 bits en el buffer de entrada de la interface serial de la unidad de control. Al recibir la informacin se almacena el dato. Luego se espera por la recepcin de un segundo dato, esta vez de 16 bits que ser almacenado en dos bytes, uno para el MSB y otro para el LSB. Se analiza el propsito del comando del primer dato recibido ya que puede ser para configuracin o para realizar movimientos en los brazos. El segundo dato sirve como parmetro de operacin de lo especificado por el primero. 110 La informacin sobre los comandos y parmetros de comunicacin se detalla en la siguiente Tabla 4. 111 Tabla 4 escripcin de comandos y par#metros de comunicacin con el Sistema de Brazos Co,a&'o MASCIIN Des$r#!$#%& 1 Mover servomotor 1 a la posicin rxDato2 (0h-FFFFh) 2 Mover servomotor 2 a la posicin rxDato2 (0h-FFFFh) 3 Mover servomotor 3 a la posicin rxDato2 (0h-FFFFh) 4 Mover servomotor 4 a la posicin rxDato2 (0h-FFFFh) 5 Mover servomotor 5 a la posicin rxDato2 (0h-FFFFh) B Mover brazo empuja frascos a la posicin rxDato2 (0=inicial, 1=central, 2=final) V Configura la velocidad de los 5 servomotores segn el parmetro rxDato2 (0h-FFFFh) Configura posicin inicial del brazo empuja frascos especificada por rxDato2 F Configura posicin final del brazo empuja frascos especificada por rxDato2 C Configura posicin central del brazo empuja frascos especificada por rxDato2 N Envo de identificacin del dispositivo, rxdato2 puede ser cualquier valor * Selecciona configuracin por defecto para lo brazos, rxDato2 puede tomar cualquier valor FUENTE: DSEO DE BRAZO ROBTCO Y DSEO DE BRAZO EMPUJA FRASCOS CONTROLADOS POR LABVEW Y DSPCS, Gabriela Snchez y Carlos Alvarado 112 Proto$o"o 'e $o,u&#$a$#%& e&tre !ro-ra,a 'e $o&tro" 0 tar1eta $o&tro"a'ora 'e" S#ste,a 'e Ba&'as Tra&s!orta'oras La interface desarrollada para la comunicacin de la tarjeta de control del sistema de bandas y el software de control es de fcil entendimiento, concentrando la mayora de instrucciones en tramas de 3 bytes. Sin embargo, en un caso especial, el intercambio de datos se establece con una trama de pedido de 10 bytes y cuya respuesta no tiene una dimensin fija. El protocolo fue diseado para siempre esperar una respuesta de la tarjeta cuando esta reciba una instruccin. Los instrumentos virtuales mencionados en la seccin 3.2 son los responsables del envo de los comandos para que el dsPC30F4011 los interprete y realice el control sobre las bandas. La lgica para recepcin y envo de tramas de configuracin se describe a continuacin: Se espera siempre que exista al menos un dato 1 byte en el buffer de entrada de la interface serie de la unidad de control. Al recibir se almacena el dato. Se espera por la recepcin de un segundo dato, esta vez de 16 bits que ser almacenado en dos bytes, uno para el MSB y otro para el LSB. 113 Se analiza el propsito de la instruccin recibida, pudiendo esta ser de configuracin como aceleracin, velocidad, tipo de reporte, y ajuste de distancia sensor cmara; de accin como direccin y modo de movimiento; de peticin de datos como reporte de objeto en posicin de anlisis; y de consulta de errores. El segundo dato sirve como parmetro de operacin de lo especificado por el primero. Se enva una respuesta acorde a la instruccin recibida. Esta respuesta es de 2 bytes Para el caso de las tramas de accin, estas se componen de 2 bytes de instruccin y 1 byte de parmetro que siempre es cero, la respuesta es de 3 bytes acorde a la peticin que se recept. Para el caso adquisicin de datos del sistema, existen instrucciones que pueden obtener una descripcin de los errores presentados dentro del sistema de bandas. La informacin sobre los comandos y sus parmetros se detalla en la siguiente Tabla 5. 114 Tabla 5 escripcin de comandos y par#metros de comunicacin con el Sistema de Bandas Transportadoras C+,-./ +0 R1023104 -0 D105672578. /19 7.4165-,:7+ /1 /-4+0 T; R; C + . < 7 = 3 6 - 5 7 8 . A## aA Configuracin de la aceleracin de las bandas con parmetro ## en pasos/sg2 K## aK Configuracin de la distancia sensor- cmara con parmetro ## en pulsos V## aV Configuracin de la velocidad de las bandas con parmetro ## en pulsos/periodo R00/Rll aR Configuracin del tipo de reporte manual o automtico A 5 5 7 8 . DL0 aDL Ajuste del movimiento de la banda a la izquierda en forma normal SL0 aSL Ajuste del movimiento de la banda a la izquierda en forma suave HL0 aHL Ajuste del movimiento de la banda a la izquierda en forma fuerte DR0 aDR Ajuste del movimiento de la banda a la derecha en forma normal SR0 aSR Ajuste del movimiento de la banda a la derecha en forma suave HR0 aHR Ajuste del movimiento de la banda a la derecha en forma fuerte DS0 aDS Ajuste de detencin de la banda en forma normal SS0 aSS Ajuste de detencin de la banda en forma suave HS0 aHS Ajuste de detencin de la banda en forma lenta D 4 - . RN0 aR###### Peticin de datos de reporte, la respuesta es de ancho definido Q 6 > . : SYST:ER R? string Peticin de errores del sistema de control y la respuesta es de ancho indefinido FUENTE: Los Autores CAPITULO :+ DISEOO E IMPLEMENTACIN Debido a los altos volmenes de produccin, y a los altos estndares de calidad que demandan el mercado actual. La idea de implementar un sistema de visin en un ambiente de produccin, ya no es una idea futurista, sino una solucin del presente que permite minimizar los riesgos. La solucin que se presenta fue conceptualizada a fin de dar solucin a la necesidad actual de establecer un sistema de control automatizado en donde la calidad del producto y los minutos perdidos no sean la causa de prdidas monetarias. Para el caso particular de esta aplicacin, se trata de una lnea de produccin de flujo continuo en donde las unidades, envases plsticos, son transportados a travs de un circuito de 4 bandas, pasando uno por uno por 116 una estacin de prueba, bien se podra visualizar una lnea de produccin compuesta por varias estaciones en donde se verifiquen diversos parmetros a considerar. :+*+ Deter,#&a$#%& 'e !ar4,etros 'e '#sePo El desarrollo de un software verstil para procesamiento de imgenes en color capaz de establecer las tolerancias apropiadas en la verificacin de una serie de envases de diversos colores es el principal objetivo a ser tomado en cuenta en la parte de Diseo e mplementacin de la solucin. Las soluciones basadas en procesamiento de imgenes se emplean cada vez ms, en especial en el momento de realizar la verificacin y control de calidad de objetos, que se resuelve mediante tcnicas clsicas de proceso de imagen y de bsqueda de patrones de color, histogramas y algoritmos similares. El problema surge cuando bien por la naturaleza del ambiente o bien por percepcin visual, aparecen diferencias entre series de producto que a simple vista pueden considerarse leves y no invalidan la calidad del producto en mayor escala en comparacin a otras que si son consideradas como defectos graves. Ante todo este tipo de parmetros a considerar, se ha desarrollado un sistema que permite la verificacin de envases de diferente color teniendo en cuenta los siguientes parmetros: 117 Tolerancia de las tonalidades de la plantilla de color registrada como vlida, dentro de los rangos aceptables establecidos en los parmetros del software. Diferenciar entre envases vlidos y defectuosos de acuerdo con las plantillas establecidas, considerando un envase vlido si su color corresponde a alguna de las plantillas pre-establecidas y como defectuoso el envase que no corresponda a ninguna de las plantillas. Debe ser capaz de detectar faltas de color, para ello los envases a verificar deben estar llenos hasta aproximadamente 75% su altura. Adaptarse automticamente a cada elemento que constituye en s el sistema: bandas transportadoras, Brazo empuja frasco, cmara y panel de iluminacin. Contabilizar el nmero de plantillas seleccionadas, nmero de muestras tomadas, el nmero de envases vlidos y el de envases defectuosos. Controlar la velocidad de las bandas transportadoras de los envases, teniendo como opciones de posibles movimientos: suave, normal y fuerte. 118 La aplicacin se desarroll bajo la plataforma N, la cual es capaz de adaptarse para ser integrada dentro de un sistema de laboratorio as como tambin a un sistema de produccin de pequea escala. Su robustez, facilidad de uso y mantenimiento son elementos prcticamente tan indispensables como las funcionalidades que ofrece. Los mtodos actuales de inspeccin visual implican el anlisis por medio de operadores humanos y debido a que las jornadas de trabajo son de 24h, surge la necesidad de un control unitario de calidad de color automtico. La tipologa de defectos que puedan presentarse: Variacin de color: distintas intensidades del color admisibles. Color no especificado en las plantillas establecidas. Dado que los defectos no son fcilmente modelizables, se requiri de un sistema de aprendizaje de color con tolerancia adaptativa ante las variaciones del color. El sistema de Visin Robtica trabaja de la siguiente manera: 1. Calibracin del Sistema: inicializacin del sistema. Seleccin y enfoque de la cmara a usar a fin de realizar el ajuste de la imagen 119 posible candidata a ser defina como patrn o plantilla a ser considerada dentro del proceso de seleccin. 2. Seleccin de plantillas a ser utilizadas, ya sea de archivos grabados o en ese momento creacin por parte del usuario, se inspeccionan varias imgenes de muestra a fin de establecer los colores vlidos y el no considerarse dentro de los patrones se asumir como invlido. Definicin de los parmetros de bsqueda y tolerancia para ser considerados al momento de la bsqueda de coincidencias con cada patrn o imagen plantilla 3. Configuracin de parmetros de comunicacin y de accin del Sistema de Bandas Transportadoras. 4. Configuracin de parmetros de comunicacin y de accin del Sistema de Brazos. 5. nicio del Sistema de deteccin. Una vez iniciado el proceso, la banda empezar a moverse acorde a los parmetros establecidos anteriormente. La banda seguir de este modo y parar cuando se detecte un frasco por medio del sensor, se tomar un tiempo para realizar la adquisicin de la imagen y d como resultado el procesamiento de la misma. Este tiempo depender del procesamiento de la computadora en donde se est ejecutando la aplicacin y de la cantidad de patrones a buscar. 120 6. Registro de resultados. Con la imagen adquirida, el sistema evala si el envase tiene el color suficiente para ser considerada errnea. Se lleva un contador de muestras tomadas y muestras con resultados certeros. Adems de llevar un registro en forma de tabla de los resultados obtenidos con cada frasco procesado. Figura 4- Sistema de Visin Robtica FUENTE: Los Autores ArBu#te$tura 'e "a So"u$#%& I,!"a&ta'a El sistema de visin est compuesto por una cmara web de 640x380 pixeles, un sistema de iluminacin frontal, un brazo empuja frascos, 4 bandas transportadoras, una computadora y el paquete MAQ USB de LabVEW 8.5 con alta capacidad de procesamiento de imgenes. La aplicacin de software se desarroll con N Vision Assistant y la librera de imgenes N Vision MAQ de LabVEW 8.5. C4,ara con resolucin color, capacidad de sincronizacin en la captura de cuadros en modo snap, grab y secuencia. Modelo Genius Eye 110. 121 Fras$osE los frascos utilizados son de plstico translcido, de aproximadamente 9 cm de alto y de 3.5 cm en su base. Provisto de una tapa de color blanco, tal como se lo muestra a continuacin: Figura 4- )odelo de 'rasco utilizado FUENTE: Los autores Cara$ter2st#$as 'e" L2Bu#'o5 el lquido contenido en el frasco es de constitucin uniforme, homognea y de colores tales como el amarillo, rojo, azul, anaranjado y verde. El nivel del lquido envasado fijado a una altura aproximada de 5.5 cm. Cara$ter2st#$as 'e" E&tor&o5 a fin de disminuir los efectos del ruido provocados por las variaciones de la iluminacin se emple un armario de tal manera que la iluminacin sea invariante a cualquier hora del da. Para aplicar la iluminacin frontal se emple una lmpara con luz fluorescente de 20w. Dentro del armario se encuentra ubicado el brazo robtico, el brazo empuja frascos, un sensor de movimiento y la cmara 122 USB constituyndose de esta manera la estacin del sistema, en la Figura 4-3 se muestra el armario utilizado. Figura 4- -rmario de "luminacin FUENTE: Los autores :+6+ D#sePo 'e" !atr%& a re$o&o$er En la aplicacin desarrollada, como punto principal al momento de seleccionar la plantilla a reconocer se tomaron en cuenta los siguientes criterios: La imagen elegida como patrn no debe contener varios colores. Al momento de crear la plantilla, el RO de seleccin no debe incluir los bordes del frasco, preferentemente debe ser tomado de la parte central de la imagen. 123 La plantilla a considerar no debe tener falta de colores ni degradacin del mismo, debe ser uniforme. El diseo se enfoc en desarrollar una aplicacin capaz de brindar al usuario la opcin de cargar las plantillas desde archivos guardados en la PC o realizar la eleccin del patrn a reconocer desde una imagen adquirida. Los diagramas de bloques de todos los procesos que se describirn se incluyen en el Anexo C. Crea$#%& 'e "as !"a&t#""as La creacin de la plantillas se realiz en una secuencia de 3 pasos, adjuntados cada uno de ellos en el Anexo C, bajo la referencia de Se$ue&$#a 6 Control Crear. Para iniciar el proceso de creacin de la plantilla, depender de si el usuario presiona el Control Crear, la secuencia 0 consiste en inicializar la cmara para que comience la toma de imgenes de manera continua que se detendr una vez que se presione Capturar magen. En la secuencia 1, se realiza la extraccin del color de inters con el uso de RO, adems se est a la espera de que el usuario guarde la misma. 124 Como paso final, una vez guardada la plantilla, se aade a la lista de Plantillas para deteccin, se muestra la respectiva imagen en el Visor de Plantillas y se muestra su espectro de colores. Figura 4- Proceso de Creacin de plantillas FUENTE: Los Autores Crear Crear nicializar cmara nicializar cmara Captura de magen Captura de magen Captura Modo Grab Captura Modo Grab Creacin de Espacio en Memoria Creacin de Espacio en Memoria Seleccin de RO Seleccin de RO Aadir a arreglo de plantillas Aadir a arreglo de plantillas Guarda r Guarda r V V V 125 Se"e$$#%& 'e P"a&t#""as Para seleccionar plantillas a ser consideradas en el anlisis de color posterior, se hace uso del control Aadir, mediante el siguiente proceso: Figura 4- Proceso de Seleccin de Plantillas FUENTE: Los autores Una vez seleccionada la plantilla deseada, en el visor 2 se muestra una vista previa de la misma, en el momento que se navegue a travs de la lista de Plantillas para deteccin, en cada seleccin se va actualizando tanto la vista previa como el espectro de color de la misma. Aadir Aadir Visualizacin de Cuadro de dilogo para seleccionar plantillas Visualizacin de Cuadro de dilogo para seleccionar plantillas Leer magen Leer magen Aadir a lista Aadir a lista OK V Espectro de color 126 La opcin de Remover est disponible si el usuario decide modificar alguna de las plantillas listadas en Plantillas para deteccin. En el Anexo C, bajo la referencia de Se$ue&$#a 6 Control Aadir y Remover, se adjunta los diagramas de bloques que permiten ejecutar este procedimiento. SubVIs 'esarro""a'os En el Anexo D, se adjuntan los diagramas de bloques que permiten ejecutar los procedimientos relacionados a los SubVs desarrollados. Sa.e+.# El subV Save.vi cuyo cono lo mostramos en la Figura 4-6, lo creamos a fin de guardar cualquier imagen que sea ingresada en su entrada "ma!e, presenta un cuadro de dilogo con la opcin de confirmar el proceso. Los formatos que permite almacenar la imagen son bmp, jpeg, jpeg2000, png, png with Vision info, tiff. Figura 4- SubV" Sa5e>5i FUENTE: Los autores 127 ECtra$tTe,!"ate+.# Permite extraer el color de inters que se almacena como plantilla, se recibe una imagen fuente, el tipo de sensibilidad de color (bajo, medio o alto), el espacio en memoria de la magen Destino (mage Dst), el RO y como salida tiene el espectro de color de la plantilla y la plantilla en s. Figura 4- SubV" E0tractTemplate>5i FUENTE: Los autores I,a-eFro,Pat/+.# Permite leer una imagen desde un directorio definido; como entrada tiene el directorio, el nombre de la imagen a cargar, el tipo y como salida tiene la imagen que se desea cargar. Figura 4- SubV" "ma!e'romPath>5i FUENTE: Los autores 128 A''Te,!"ateToL#st+.# Aade una imagen (plantilla) a la lista de Plantillas a usar (Arreglo). Como entrada, a parte de los parmetros de entrada como el nombre del arreglo, directorio e imagen, permite ingresar nuevos parmetros de la plantilla, cuyos valores pueden ser modificados directamente en el panel frontal. Figura 4- SubV" -ddTemplateTo%ist>5i FUENTE: Los autores Co"orS!e$tru,+.# Presenta el espectro de color de la imagen ingresada, necesita de las entradas de complejidad de color (sensibilidad) y umbral de color. La salida se muestra a manera de grfico de barras. Figura 4- SubV" ColorSpectrum>5i FUENTE: Los autores 129 :+8+ D#sePo 'e" !ro-ra,a e& LabVIEW !ara "a 'ete$$#%& 'e (ras$os 'e '#.ersos $o"ores El panel frontal desarrollado en LabView permite tener control del sistema en general. Una vez iniciado el proceso, el sensor de posicin identifica cuando alguna unidad est esperando para ser inspeccionada y enva un reporte al computador. Una vez que el computador recibe el reporte positivo, este puede iniciar la inspeccin, en ese momento la banda se detiene y la cmara captura un cuadro de la imagen. Se realiza el aprendizaje de las plantillas y se ejecuta la bsqueda de las mismas en la imagen capturada, determinando si la plantilla est presente o no. El resultado de todos los frascos analizados se resume en una seal de pasa o de falla que se visualiza en el panel frontal de la aplicacin junto con el nombre de la plantilla que es reconocida. Esta seal a su vez decide si transfiere el producto a la siguiente estacin (en caso de pasa) o activa el brazo empuja frasco a fin de desechar el producto detenido (en caso de falla), siendo esta ltima caracterstica opcional y configurable por el usuario. La pantalla principal del programa cuenta con controles e indicadores a fin de facilitar al usuario el manejo de la herramienta. Se hace uso de 6 pestaas para evitar que el usuario deba desplazarse horizontal y verticalmente en el panel frontal de LabVEW, el cual a medida que se 130 presiona CONTNUAR en cada una de ellas, se cambia automticamente a la siguiente fase, las etiquetas de las pestaas son: nicio. Ajuste de cmara. Seleccin de Plantillas. Ajuste de Sistema de Bandas. Ajuste de Sistema de Brazos. Deteccin de Frascos de Distintos Colores. PestaPa I&#$#o La pestaa NCO fue creada nicamente para permitir inicializar las variables y muestra un mensaje de introduccin el que espera la confirmacin de Continuar, la Figura 4-11 muestra el mensaje inicial. Figura 4- )ensaje de "nicio 131 FUENTE: Los Autores PestaPa A1uste 'e C4,ara Permite elegir el dispositivo de Visin Artificial, cuenta con controles como OK, Refresh y Continuar, adems del indicador cmara escogida. Al momento presionar OK en el Visor de la pestaa comienza a mostrar de manera continua lo captado por la cmara elegida, dando al usuario la opcin de realizar el ajuste de la misma: variar su posicin, enfoque, etc. de manera manual. Figura 4- Pestaa Ajuste de Cmara FUENTE: Los Autores PestaPa Se"e$$#%& 'e P"a&t#""as 132 Establece las plantillas a ser utilizadas durante la etapa de reconocimiento. Abarca controles como Aadir, Remover, Crear y Modificar: Aade plantillas previamente creadas y almacenadas en el computador. Remueve la(s) plantilla(s) seleccionada(s) anteriormente una por una. Permite la creacin y almacenamiento de plantillas si el usuario no dispone de alguna. Visualiza el espectro de Color de la plantilla seleccionada. Modifica los parmetros de una plantilla. Cada vez que se selecciona una plantilla con los botones Aadir o Crear, la plantilla es incluida en la lista de "Plantillas para deteccin. Cuenta con 2 visores, el primero llamado Entrada de Video, permite mostrar la imagen de donde se extraer la plantilla una vez elegida la opcin Crear. En primera instancia muestra una toma continua, luego de ello es conveniente ingresar el nombre de la nueva plantilla a crear en el control Nombre de Nueva Plantilla, se omite la extensin ya que 133 se ha especificado dentro del desarrollo y puede ser configurada como bmp, jpeg, tiff, siendo png la configurada por default. Una vez conforme con la imagen mostrada en video, se procede con la ayuda del control Capturar magen a tomar una imagen esttica para luego dibujar el recuadro del rea de inters del color a ser considerado como plantilla en la imagen fuente, este ser mostrado en el Visor de menor tamao denominado magen Plantilla. Como ltimo paso del proceso de creacin de Plantilla, se tiene la opcin Guardar Plantilla para confirmar el respectivo almacenamiento de la misma. Luego de ello la plantilla creada ser aadida automticamente a la lista de "Plantillas para deteccin. Cada vez que se seleccione nuevas plantillas, stas se visualizarn en el cuadro magen Plantilla y a su vez se mostrar un espectro de color de la plantilla seleccionada. En la parte derecha de la pestaa que hemos descrito, se muestran 2 clsteres, uno referente a los Parmetros para anlisis de la plantilla y otro con las caractersticas del rectngulo que empleamos para extraer el rea de inters (RO Descriptor). La Figura 4-13 muestra las partes que hemos descrito de la pestaa Plantilla. 134 Figura 4- Pesta2a Seleccin de Plantillas FUENTE: Los Autores Las pestaas Ajuste de Sistema de Bandas y Sistema de Brazos permiten configurar de manera directa ambos sistemas, permitiendo al usuario realizar los ajustes necesarios para adaptar las bandas y los brazos de manera ptima. Se definen en ambas pestaas los puertos de comunicacin, la velocidad tanto de las bandas como de los motores, ajuste de distancias, direccin y tipo de movimiento. El Anexo B muestra todas las pestaas de nuestro Panel Frontal para su referencia. Co&tro"es Pr#&$#!a"es Co&tro"es Pr#&$#!a"es I,a-e& P"a&t#""a I,a-e& P"a&t#""a E&tra'a 'e .#'eo E&tra'a 'e .#'eo Es!e$tro 'e $o"or Es!e$tro 'e $o"or Co&tro"es !ara Crear Co&tro"es !ara Crear P"a&t#""as !ara 'ete$$#%& P"a&t#""as !ara 'ete$$#%& Par4,etros Par4,etros ROI ROI 135 PestaPa Dete$$#%& 'e Fras$os 'e D#st#&tos $o"ores Como ltima pestaa tenemos la base del presente trabajo, luego de haber incurrido en toda la configuracin antes detallada, al llegar a la fase de Deteccin de Frascos de Distintos Colores, el proceso se automatiza y se ejecuta de manera continua el anlisis de los frascos que cursan sobre la banda. En este punto el usuario se ayuda de: 1. Paneles de Visin: formado por 2 visores de igual tamao mostrando en uno una captura continua de video y en el visor de la parte derecha una imagen esttica que es tomada como imagen de anlisis. 2. En otro mdulo se encuentran los botones de control del sistema que permiten iniciar el proceso y detener la banda. 3. Panel de Estado: Compuesto por un indicador del nmero de plantillas seleccionadas para el presente anlisis y seis leds virtuales que muestran el estado del Frasco, Bandas transportadoras y Brazo Robtico que pueden estar en movimiento o no. 4. Panel de Muestras: A fin de contabilizar las pruebas realizadas, se visualizan contadores del nmero total de frascos sensados, nmero de frascos aceptados y nmero de frascos rechazados, 136 esto ayuda a tener una referencia rpida del desempeo general de la estacin de prueba. 5. Resultados: mediante la ayuda visual que brindan los leds virtuales, con uno de se puede conocer si el frasco analizado cumple con las condiciones de color requeridos por las plantillas. Tambin se dispone de un indicador que visualiza el nombre de la plantilla encontrada y como ayuda final se muestra una tabla en donde se presenta informacin adicional como el nombre de la plantilla, parmetros x, y, ngulo y score de la plantilla encontrada. El botn de Detener Deteccin permite finalizar el procesamiento de imgenes en cualquier momento. 137 Figura 4- Pesta2a eteccin de 'rascos de istinto Color FUENTE: Los Autores SubVIs ut#"#<a'os Adems de los Vs descritos en el tema anterior, la bsqueda se efectu gracias al uso del subV GetColor descrito a continuacin. GetCo"or+.# Realiza la bsqueda de las plantillas en la imagen ingresada. Aqu se asocian las caractersticas que regirn los parmetros de bsqueda. Figura 4- SubV" <etColor>5i Pa&e" 'e Muestras Pa&e" 'e Muestras V#sores V#sores Co&tro"es Co&tro"es Esta'o Esta'o 138 FUENTE: Los autores Los parmetros a configurar, se muestran a continuacin: El Peso del color en resultado 3Color Score &ei!ht49 entre 0 1000, determina el porcentaje de contribucin de color a ser considerado por la bsqueda cuando la bsqueda se basa en color y forma. El )odo de la B*s(ueda 3)atch )ode4, indica el modo de variacin a usar cuando se est realizando la inspeccin de la imagen. Si est configurada en Shift invariant, se realiza la bsqueda de la plantilla de color asumiendo que no est rotada mas de 4 grados. Rotation invariant, busca la plantilla de color sin restriccin en la rotacin de la plantilla. El modo del par#metro de B*s(ueda 3)atch 'eature mode4, especifica las caractersticas a buscar cuando se busca una plantilla en la imagen, puede ser color y forma, solo color y solo forma. %a sensibilidad al color 3Color Sensiti5ity49 especifica el nivel de sensibilidad del color, puede ser bajo, medio o alto. 139 %a estrate!ia de B*s(ueda 3Search strate!y4, especifica como las caractersticas del color de la imagen son usadas durante la fase de bsqueda. Se puede elegir entre Conservativa, balanceada, agresiva y muy agresiva El resultado de coincidencia m:nimo 3)inimun )atch Score4, es la mnima valoracin a la coincidencia que puede tener un acierto. :+:+ Co&(#-ura$#%& 'e" so(t?are Basta con tener en cuenta los parmetros de configuracin de la bsqueda de patrones para obtener ptimos o psimos resultados, la Figura 4-16 muestra los parmetros de bsqueda configurados: Figura 4- Par#metros de bus(ueda de la plantilla FUENTE: Los Autores Para obtener ptimos resultados, se eligi una sensibilidad de color Alta a fin de no tener problemas en cuanto al reconocimiento de colores cercanos en el espectro. Adems de ajustar un valor de coincidencia 140 mnimo en 800. La Caracterstica de Bsqueda se fija en solo color debido a que el presente trabajo se basa en deteccin de colores nicamente y es por esto que los parmetros como precisin de subpixel y peso del color se vuelven innecesarios. Y los parmetros restantes Modo de Bsqueda y Estrategia de Bsqueda se configuran acorde al entorno controlado del sistema ya que no hay rotacin y los colores de los frascos contrastan muy bien con el fondo y una bsqueda conservativa da buenos resultados. :+=+ Ca"#bra$#%& 'e" /ar'?are Una vez configurado el sistema en cuanto a software, se haba mencionado la existencia de 2 pestaas, una para el Sistema de Bandas y otra para un Sistema de Brazos, gracias a ellas el usuario tiene el control total del hardware integrado al Sistema de Visin. Los controles que se han proporcionado permiten variar los parmetros detallados a continuacin: Establecer el puerto de comunicacin a conveniencia, de acuerdo a la capacidad de la mquina utilizada (computadora). Variacin de la velocidad del movimiento de las bandas transportadoras. 141 Ajuste de la distancia Sensor Cmara. Determinar la direccin de movimiento de las bandas transportadoras. Establecer el tipo de Movimiento de las bandas transportadoras. Establecer la configuracin Serial del Sistema de Brazos. Realizar Ajustes de la posicin del brazo empuja frascos ante el hecho de no detectar un color conocido. :+K+ S#&$ro&#<a$#%& $o& "as Ba&'as Tra&s!orta'oras 0 Bra<o Rob%t#$o ,a&e1a'os $o& 'sPICs En lo referente al sincronismo del sistema, todo se desenvuelve en el hecho de enviar y recibir seales por parte de los sistemas que interactan con el V principal. Una vez la banda transportadora en movimiento, est a la espera de que el sensor detecte la presencia de algn frasco, una vez detectado el mismo, se enva un comando para que la banda transportadora se detenga, es all cuando el sistema de visin efecta el anlisis de la imagen captada por la cmara y determina la aceptacin o rechazo del frasco. En caso de rechazo, se enva una seal al Brazo empuja frascos a fin de que inicie la accin de rechazar la botella. La Figura 4-17 muestra el proceso descrito del 142 trabajo del Sistema en general y cmo se logra el funcionamiento en conjunto de las bandas transportadoras y el brazo. Figura 4- Proceso de funcionamiento 143 FUENTE: Los Autores nicializacin de parmetros de proceso de reconocimiento de frascos de distintos colores nicializacin de parmetros de proceso de reconocimiento de frascos de distintos colores Seleccin de imgenes de Patrn para comparacin. Seleccin de imgenes de Patrn para comparacin. Run-time del sistema. Banda en movimiento y en espera de la deteccin de un objeto. Run-time del sistema. Banda en movimiento y en espera de la deteccin de un objeto. Objeto detectad o Objeto detectad o Banda detenida. Captura de imagen. Banda detenida. Captura de imagen. Anlisis de magen. Anlisis de magen. Accin de Respuesta. Movimiento de Brazo programado Accin de Respuesta. Movimiento de Brazo programado Verificacin de continuidad de anlisis. Verificacin de continuidad de anlisis. Contina Anlisis Contina Anlisis Finalizacin de Parmetros de proceso. Finalizacin de Parmetros de proceso. 144 :+Q+ A&4"#s#s 'e $ostos Los costos incurridos en la elaboracin de la presente tesis corresponden a los siguientes aspectos: Desarrollo ntelectual: se tom en cuenta el tiempo que se invirti en el desarrollo de la solucin, la creacin de cada uno de los Vs utilizados. Las horas trabajo hombre que se necesit para integrar la aplicacin desarrollada en LabVEW con las bandas Transportadoras y la interaccin con el brazo empuja frasco. El detalle lo presentamos en la Tabla 6 mostrada a continuacin. Tabla 6 =oras in5ertidas en el desarrollo "ntelectual de la solucin Desarro""o I&te"e$tua" Programacin de instrumentos virtuales 180h ntegracin entre Software y Hardware 60h Pruebas con las bandas 30h Pruebas con el brazo 20h TOTAL 6HJ /oras FUENTE: Los autores Los costos de elaboracin del Brazo Robtico, del Brazo Empuja Frascos y de las Bandas Transportadoras, no fueron parte de este trabajo de tesis, ya que fueron desarrollados por otros grupos de 145 estudiantes del mismo Tpico. Sin embargo, estos son detallados en la Tabla 7. Tabla 7 =ard6are Sistema Visin Robtica 3ar'?are S#ste,a V#s#%& Rob%t#$a Tarjeta Control y Brazo Empuja Frasco $68.47 Brazo Robtico $478.88 Sistema de Bandas Transportadoras $835.92 FUENTE: Los autores Cabe mencionar adems los costos por la elaboracin del armario de iluminacin, sistema de iluminacin, frascos utilizados, cmara y cables. Tabla 8 Costos de los materiales complementarios Costos 'e "os ,ater#a"es $o,!"e,e&tar#os Cmara Web Eye 110 1 $17 Lmpara 20 W con panel 1 $7 Frascos Plsticos 25 $6.25 Armario de iluminacin 1 $90 Cable Serial - Usb 2 $26 TOTAL R*:K+6= FUENTE: Los autores CAPITULO =+ DATOS EXPERIMENTALES =+*+ Pruebas rea"#<a'as Una de las primeras pruebas realizadas fue escoger el tipo de iluminacin para favorecer la captura de la imagen tomada por la cmara, con base en las investigaciones, se iniciaron las pruebas teniendo una idea ms certera del tipo de iluminacin que favoreca la apreciacin de imgenes de color. En el captulo 2, el subtema 2.4 muestra los resultados de las distintas iluminaciones que se pueden aplicar; siendo la iluminacin frontal la que ms favorece la deteccin de colores, se debe tomar en cuenta el problema de la reflexin del foco de la luminaria sobre la superficie de los frascos, luego de varias pruebas se determin que es conveniente que la ubicacin de la 147 iluminaria sea superior frontal, pues en ese caso no crea efectos de color faltante dentro del recuadro de anlisis que era donde se sita el lquido de color que es contenido en los frascos. En la Figura 5-1 se puede apreciar los efectos de utilizar luz frontal directa y en el segundo recuadro luz frontal directa superior. Figura 5- %uz 'rontal FUENTE: Los autores El programa permite buscar una cantidad de patrones definido por el usuario durante la ejecucin del programa. Las plantillas pueden ser aadidas segn la necesidad del usuario. Los procedimientos para llevarlo a cabo se detallan en la seccin 4.2. Se realizaron varias pruebas seleccionando tres plantillas de colores amarillo, rojo y verde. Estas mismas fueron creadas en la primera ejecucin del sistema. Aunque el sistema permite la bsqueda de varios patrones y con la posibilidad de obtener ms de una coincidencia en la bsqueda, el desarrollo solo considera que se procesa una botella a la vez. En el 148 desarrollo de la aplicacin es posible realizar variaciones que permitan reconocer ms de una coincidencia como se ve en la Figura 5-2. Figura 5- /so de una aplicacin ejemplo sobre 5arias botellas FUENTE: Los autores El sistema puede perfectamente interactuar con sus perifricos mediante los ajustes de parmetros de los mismos. En las bandas consider las tres posibilidades de movimiento: suave, normal y fuerte, y se configur su velocidad y distancia mas adecuados para llevar a cabo el anlisis de visin. Se realizaron pruebas con colores distantes del espectro y baja sensibilidad de color. Adems entre mas cercanos los colores la sensibilidad deba ser mas alta. De esta manera se permiti determinar cuales son los ajustes necesarios para obtener buenos resultados. La 149 Figura 4-16 muestra los parmetros de bsqueda configurados para obtener los mejores resultados. =+6+ Datos obte&#'os El presente anlisis se bas en 90 pruebas con frascos de colores tales como el amarillo, rojo, verde, anaranjado, y azul siendo lo colores vlidos los 3 primeros y teniendo un solo frasco en cada toma individual. Se introdujeron 50 muestras de colores vlidos y 40 con colores invlidos tal como se muestra en la Figura 5-3, de manera alternada y secuencialmente. Figura 5- )uestras in!resadas para an#lisis FUENTE: Los autores 150 En el Anexo E se muestra el resultado de las pruebas individuales con la respectiva deduccin del anlisis visual y el obtenido por la aplicacin. De lo mencionado del apartado anterior, las pruebas de diferenciacin entre colores parecidos dependen de gran manera de la correcta seleccin de los parmetros a considerar, los resultados de escoger una mala configuracin en los parmetros se muestra en la Figura 5-4. En esta se aprecia que el algoritmo de bsqueda falla debido a que se escoge una sensibilidad al color baja y un mnimo de coincidencia de 700. Figura 5- Ejemplo de diferenciacin de colores similares con par#metros no adecuados FUENTE: Los Autores Deteccin correcta Plantilla Deteccin ncorrecta 151 En cambio, con un ajuste de parmetros en forma adecuada al considerar una alta sensibilidad al color y con un mnimo de coincidencia de 800, se obtiene de esta manera mejores resultados inclusive si es que el nmero de aciertos permitidos fuese mayor a uno. Figura 5- Ejemplo de diferenciacin de colores similares con par#metros adecuados FUENTE: Los Autores =+8+ A&4"#s#s 'e resu"ta'os De acuerdo a la experiencia, durante la etapa de anlisis de la totalidad de los frascos, la Figura 5-6 muestra el nmero total de frascos analizados, segmentados por color que ingresaron a la estacin de prueba de la plataforma de Visin 152 Figura 5- Total de muestras por color analizadas FUENTE: Los autores Se obtuvo que de las pruebas realizadas dieron dos condiciones fallida y al diferencia errneamente entre el rojo y el anaranjado, teniendo as una efectividad del 97.78% para el presente desarrollo. Las razones de dicho fallo se dieron a que en el presente no se estipulaba una alta sensibilidad al color ya que al ser colores cercanos el sistema no los discriminaba de forma correcta, una vez tomado en cuenta este parmetro, los resultados posteriores mejoraron. CONCLUSIONES Y RECOMENDACIONES Las conclusiones del presente trabajo de investigacin son: 1. Las nuevas tecnologas y los mercados actuales apuntan hacia un control de produccin automatizado que permita elevar los niveles de calidad de los productos ofertados, bajar los tiempos en la etapa de control dentro del proceso industrial y reducir costos de operacin, es as que el presente trabajo constituye una solucin viable a la problemtica del control de calidad en lneas de produccin, determinando de esta manera que los sistemas automticos pueden reemplazar perfectamente a los procedimientos manuales que tienen 154 serias desventajas tcnicas y econmicas debido a la dependencia humana. 2. La presente investigacin permiti incorporar funcionalidades que aportan positivamente a la docencia en el campo de Visin Artificial, constituyndose en una herramienta con fines educativos. 3. Esta solucin adems de tener un bajo costo de implementacin, es una opcin con moderado tiempo de ejecucin, siendo esta caracterstica una ventaja a considerar al momento de elegir entre los sistemas automticos de deteccin de colores. 4. Aprovechando la facilidad de uso de recursos elaborados por otros miembros del tpico como son el brazo robtico y las bandas transportadoras, la aplicacin mostr una alta flexibilidad, ya que fue capaz de lograr una buena coordinacin con los dispositivos externos usados. 5. Las diferentes tonalidades de los colores jugaron un papel primordial al momento de establecer la deteccin de los mismos. El sistema respondi satisfactoriamente al momento de diferenciar colores secundarios gracias al uso de parmetros adecuados que aumentaron la efectividad de la solucin. RECOMENDACIONES 1. En un futuro se podran plantear desarrollos basados en lo implementado en la presente tesis, ya que la aplicacin admite la escalabilidad a fin de incluir mejoras y nuevas funcionalidades que permitan que esta aplicacin se vuelva comercial dentro del mercado industrial. 2. Los tiempos de anlisis de imgenes dependen mayormente de la capacidad de procesador del equipo donde se ejecuta el programa y del tiempo de captura de imgenes. Por lo que se recomienda que se realicen pruebas en computadores y cmaras industriales de alta robustez y eficiencia, para observar sistemas de mejores rendimientos adecuados para el ambiente industrial. 3. El adecuado diseo de la estacin de trabajo, en cuanto a iluminacin y fondo de contraste, permite un mejor desempeo del programa de control en el reconocimiento de colores ya que de ello dependen los resultados de la bsqueda de diversos colores. 157 4. La apropiada eleccin de los parmetros de bsqueda como la alta sensibilidad de color y el mnimo grado de coincidencia dan como resultado la correcta deteccin entre los colores a analizar, y ya que los colores distantes en el espectro tienen mejor respuesta, se recomienda experimentar con colores ms cercanos, por ejemplo colores similares con diferentes tonalidades. 5. Verificar si en el mercado existen nuevos modelos o bloques de procesamiento de imgenes de mayor eficiencia en programas similares a LabVEW a fin de buscar soluciones alternativas. A&eCo A PROGRAMACIN DEL DSPIC CONTROLADOS DEL BRA;O ROBTICO Uart1_nit(9600) while TRUE if Uart1_Data_Ready = 1 then 'Se verifica si hay dato 'listo en el buffer rxDato1 = Uart1_Read_Char() 'Si hay dato, se procede a leer while Uart1_Data_Ready = 0 wend rxDato2High = Uart1_Read_Char() while Uart1_Data_Ready = 0 wend rxDato2Low = Uart1_Read_Char() select case rxDato1 'ngreso de la nueva posicin de cada servo case "1","2","3","4","5" rxDato2Low = rxDato2Low and $00FF rxDato2High = rxDato2High << 8 rxDato2 = rxDato2High or rxDato2Low index=rxDato1-0x0030
'Se resta de 30 para cambia a notacin Decimal MotorNuevaPosicion[index] = rxDato2 'Variable de la nueva posicin case "B" rxDato2Low = rxDato2Low and $00FF rxDato2High = rxDato2High << 8 rxDato2 = rxDato2High or rxDato2Low select case rxDato2 case 0 PR5=nicio 'Posicin ncial del empuja frascos case 1 PR5=Centro 'Posicin Central del empuja frascos case 2 PR5=Fin 'Posicin Final del empuja frascos end select 'ngreso de la velocidad de los servos del brazo robtico case "V" rxDato2Low = rxDato2Low and $00FF rxDato2High = rxDato2High << 8 VelocidadSeleccionada = rxDato2High or rxDato2Low
'ngreso de la Posicin nicial del empuja frascos case "" rxDato2Low = rxDato2Low and $00FF rxDato2High = rxDato2High << 8 nicio = rxDato2High or rxDato2Low
'ngreso de la Posicin Final del empuja frascos case "F" rxDato2Low = rxDato2Low and $00FF rxDato2High = rxDato2High << 8 Fin = rxDato2High or rxDato2Low
'ngreso de la Posicin Central del empuja frascos case "C" rxDato2Low = rxDato2Low and $00FF rxDato2High = rxDato2High << 8 Centro = rxDato2High or rxDato2Low 'dentificacin del dispositivo case "N" Uart1_Write_Text("200")
'dentificacin de comando para reseteo del sistema case "*" nicio_Reset() end select end if A&eCo B PANEL FRONTAL DETECCIN DE FRASCOS DE DIFERENTE COLOR PestaPa I&#$#o PestaPa A1uste 'e $4,ara PestaPa Se"e$$#%& 'e P"a&t#""as A1uste 'e S#ste,a 'e ba&'as A1uste 'e S#ste,a 'e Bra<os Dete$$#%& 'e Fras$os 'e D#st#&tos Co"ores A&eCo C DIAGRAMAS DE BLO@UES DE LA APLICACIN DE DETECCIN DE FRASCOS DE DISTINTO COLOR Diagrama de Bloques de MAINSPa&e"+.# Se$ue&$#a J Se$ue&$#a * Se$ue&$#a 6 Proceso de Seleccin de Plantillas Control Crear Secuencia 0 Secuencia 1 Secuencia 2 Control Aadir Control Remover Control Modificar Secuencia 0 Secuencia 1 Secuencia 2 Secuencia 3 Proceso para actualizacin de Visor magen de Plantilla y Espectro de color al momento de seleccionar otra plantilla de la lista de Plantillas haciendo clic en los respectivos nombres de los tems. Se$ue&$#a 8 Se$ue&$#a : nicio True Secuencia 0 nicio True Secuencia 1 nicio True Secuencia 2 nicio True Secuencia 1 A&eCo D SUBVIS UTILI;ADOS SubVI Sa.e+.i: Guarda imagen en el directorio de Templates cono Diagrama de Bloques SubVI ECtra$tTe,!"ate+.#: Extrae el rea de inters de la imagen fuente a fin de crear la plantilla. cono Diagrama de Bloques SubVI I,a-eFro,Pat/+.#: Extrae una imagen de un directorio pre-establecido. cono Diagrama de Bloques SubVI A''Te,!"ateToL#st+.#: Aade una imagen (plantilla) a la lista de Plantillas a usar (Arreglo) cono Diagrama de Bloques Secuencia 0 Secuencia 1 Secuencia 2 Secuencia 3 SubVI Co"orS!e$tru,+.#: Presenta el espectro de color de la imagen ingresada cono Diagrama de Bloques 0 Secuencia: Color Spectrum Low Sensitivity 1 Secuencia: Color Spectrum Medium Sensitivity 2 Secuencia: Color Spectrum High Sensitivity Low Medium SubVI GetCo"or+.#: Realiza la bsqueda de las plantillas en la imagen ingresada cono Diagrama de Bloques A&eCo E DATOS OBTENIDOS DE BTS@UEDA DE COLOR Hemos definido O como Pasa y X como Falla. I,a-e& No+ Co"or I&s!e$$#%& Rea" A!"#$a$#%& 'e LabVIEW 1 Amarillo O O 2 A.-6-.?- /+ X O 3 Rojo O O 4 Rojo O O 5 Azul X X 6 Anaranjad o X X ) Amarillo O O " Verde O O 9 Azul X X 1@ Amarillo O O 11 Amarillo O O 12 Azul X X 13 Anaranjad o X X 14 Anaranjad o X X 15 Rojo O O 16 Verde O O 1) Amarillo O O 1" Amarillo O O 19 Verde O O 2@ Rojo O O 21 Azul X X 22 Azul X X 23 Azul X X 24 Anaranjad o X X 25 Amarillo O O 26 Amarillo O O 2) Rojo O O 2" Verde O O 29 Verde O O 3@ Verde O O 31 Rojo O O 32 Amarillo O O 33 Azul X X 34 Anaranjad o X X 35 Anaranjad o X X 36 Azul X X 3) Rojo O O 3" Rojo O O 39 Azul X X 4@ Amarillo O O 41 Anaranjad o X X 42 Verde O O 43 Rojo O O 44 Azul X X 45 Rojo O O 46 Rojo O O 4) Rojo O O 4" Rojo O O 49 Anaranjad o X X 5@ Amarillo O O 51 Amarillo O O 52 Amarillo O O 53 Verde O O 54 Azul X X 55 Azul X X 56 Anaranjad o X X 5) Anaranjad o X X 5" Azul X X 59 Azul X X 6@ Anaranjad o X X 61 Amarillo O O 62 Rojo O O 63 Rojo O O 64 Azul X X 65 Verde O O 66 Verde O O 6) Anaranjad X X o 6" Amarillo O O 69 Rojo O O )@ Anaranjad o X X )1 Anaranjad o X X )2 Anaranjad o X X )3 Azul X X )4 Verde O O )5 Verde O O )6 Azul X X )) Rojo O O )" Rojo O O )9 Anaranjad o X X "@ Verde O O "1 Azul X X "2 Amarillo O O "3 Azul X X "4 Rojo O O "5 Azul X X "6 Azul X X ") Rojo O O "" Anaranjad o X X "9 Rojo O O 9@ Anaranjad o X X BIBLIOGRAFA 1. Travis J., Kring J., ULABVIEW FOR EVERYONEVE Prentice Hall, Julio 2007. 2. Klinger T., WIMAGE PROCESSING WIT3 LABVIEW AND IMA@ VISIONWE Prentice Hall, 2003. 3. Sanchez G., Alvarado C., Tesis de Grado5 UDISEOO DE BRA;O ROBTICO Y DISEOO DE BRA;O EMPU)A FRASCOS CONTROLADOS POR LABVIEW Y DSPICSVE Espol, 2008. 4. Paucar L, Pea V., Tesis de Grado: UDISEOO DE DOS BANDAS TRANSPORTADORAS DE *JJX*JCM Y DOS DE 8JX*JCM CON MOTORES CONTROLADOS CON DSPICS V, Espol, 2008. 5. Celis M., UFISIOLOGA 3UMANAV, Ganong, 1999, Pg. 50-57. 6. Universidad Miguel Hernandez, "SISTEMAS DE VISIN ARTIFICIAL, http://isa.umh.es, Marzo 2008. 7. Prez C., Vicente M., Fernndez C., Reinoso O., Gil A., "APLICACIN DE LOS DIFERENTES ESPACIOS DE COLOR PARA DETECCIN Y SEGUIMIENTO DE CARAS", Universidad Miguel Hernndez, Abril 2008. 8. Pajares G., UAPLICACIONES INDUSTRIALES DE LA VISION POR COMPUTADOR, Universidad Complutense de Madrid, 9. Molina R, "DEL PROCESAMIENTO A LA VISIN ARTIFICIAL, Universidad de Granada, Abril 2008. 10. Universidad Politcnica de Madrid, UINTRODUCCIN A LA VISIN ARTIFICIALV,http://www.elai.upm.es/spain/Asignaturas/Robotica/Apun tesVA/cap1ntroVA.pdf 11. Neira J., UVISIN POR COMPUTADORV, Abril 2008 12. AUTS ngenieros, UVISIN ARTIFICIALV, http://www.autis.es, Abril 2008. 13. Lynx Visin, UINTRODUCCIN A LA VISIN ARTIFICIALV, http://www.lynxvision.net/, Mayo 2008. 14. Panasonic Electric Works Europe AG, "VISIN ARTIFICIALV, http://www.panasonicelectricworks.es/pewes/es/downloads/sf_x633_vi sion_artificial_es_0707.pdf 15. National nstruments Corporation, UCOMPACT VISION SYSTEMS, http:/www.ni.com, 2008. 16. National nstruments Corporation, "NI VISION ASSISTANT TUTORIAL, http:/www.ni.com, 2008. 17. National nstruments Corporation, "IMA@ VISION FOR MEASUREMENT STUDIO USER MANUAL, http:/www.ni.com, 2008. 18. National nstruments Corporation, "NI VISION CONCEPTS MANUAL, http:/www.ni.com, 2008. 19. National nstruments Corporation, "IMA@ VISION BUILDER, http:/www.ni.com, 2008.