domingo, 4 de marzo de 2012

Detección de tapa por estados


Hola  a todos en esta práctica vamos a realizar un proceso mediante estados. Lo que haremos será utilizar concretamente el programa de visión basado en la captación de una tapa, de tal manera que nos dirá que está bien cuando los botes que vayan pasando por la cinta estén bien cuando tengan tapa, y si no la tienen, nos dirá que está mal.

Esto saldrá cuando esté bien:




Y esto cuando esté mal:




En definitva lo que es el programa, va a ser exactamente al que hemos hecho en la entrada de “detector de tapa” solo que esta vez haremos cada parte en un estado.

Este sería el diagrama de los estados.


Como veis, comenzamos en el Start, después lo que hacemos es un chequeado de pieza, posteriormente en función de si tiene o no tapa, pasará a un estado en que hay un overlay que marcará un “bien” o un “fail” en función de si encuentra o no la placa.

En esta explicación me extenderé tanto puesto que cada apartado está mejor explicado en la entrada de “detector de tapa” así que si encontráis insuficiente esta información, echad un vistazo a la otra entrada, por favor.

Ahora lo que haré será ir cada estado explicando un poco el procedimiento. En primer lugar lo que vamos a ir haciendo será crear el diagrama, es decir, cada estado, cada transición y demás. Al principio el programa solo tiene un “inspect”, en él vamos  a meter la primera parte.
Primero daremos a este icono para meternos al entorno de los estados.






Entonces nos meterá en el entorno de estados. Después será el momento de meternos en el “inspect “ y poner estas dos funciones.




En primer lugar meteremos la secuencia de imágenes. Porque estamos usando las imágenes de tutorial que nos vienen de visión, y después metemos un match pattern.
 Es prácticamente el mismo que el que hago en la anterior entrada, así que echadle un vistazo. Sin embargo, os aconsejo que metáis una template nueva, que es la que os enseño a continuación.





De tal manera que cuando el bote se encuentre en el centro, nos capte, porque si solo cogemos el patrón de un lado, cuando esté rozando el otro borde, no se verá. Lo demás como en la anterior práctica.

En segundo lugar crearemos otro estado nuevo, para eso, desde el entorno de estados vamos a dar botón derecho .


Y nos aparecerá otro estado, cogeremos el “default “ del anterior estado y lo uniremos a este nuevo estado, para que sea una transición.
En el siguiente estado pondremos lo siguiente.



Esta función se denomina “caliper”, con ella vamos a chequear el bote para ver si tiene o no la tapa. En esta foto os muestro la región que debéis coger y cómo debéis tener configurado las settings.






Importante en los limites ponemos un mínimo de 138 pixeles y un máximo de 160.





Ya con esto tendríamos la función que chequea si hay tapa o no. Ahora solo nos quedará poner los dos estados, el de “bien “ y “fail”, en el que tan solo en su interior se encontrará un overlay con las siguientes características.




En este caso me he metido en el overlay de “fail” pero el de “viene s exactamente igual, solo que cambia el texto y su color. Tan solo ponemos el nombre del texto y el lugar donde queremos visualizarlo. Obviamente añadiendo primero la función del overlay.
Haremos lo mismo con el de bien, y uniremos ambos estados al stop, con esto ya tendremos nuestro proceso de chequeo de tapas por estados finalizado.

Esto sería el vídeo explicativo de su funcionamiento.



Espero que os halla gustado un saludo!

Descargar








No hay comentarios:

Publicar un comentario