ELECTRONIC MEMORIES

Tutorial 6 de vision

Posted by discobolo100 en 23 febrero, 2011

Tutorial 6

En esta entrada mostraré el sexto tutorial que han impartido en clase como formación teorico-práctico sobre vision builder. Así que comencemos.

La finalidad de este tutorial a mi modo de ver es acercarnos al entorno de builder con un ejercicio en este caso algo más complejo que los demás en el que tenemos que decir sin los pines de un integrado están con las medidas requeridas o no.

Para la realización de este ejercicio usaremos una maquina de estados con la que obtendremos el resultado que buscamos. La máquina de estados estará formada por 4 estados.

Lo primero es la adquisición de las imágenes que vamos a analizar; para encontrarlas tenemos que usar la instrucción “Simulate Adquisition” hacer clik en ella y seleccionar la primera imagen de la carpeta, por si no la encuentran… pongo la dirección que seguramente será donde se encuentre en vuestro ordenador a C:\Program Files (x86)\National Instruments\Vision Builder AI 2009 SP1\DemoImg\Tutorial 6.

No necesitaremos calibrar la imagen puesto que usaremos como unidad de medida el pixel, todas las imágenes tienen la misma resolución y como tal el mismo número de pixeles, así que pasaremos de la calibración y sólo pondremos el nombre al estado “adquirir imagen”; posteriormente daremos al botón de OK.

Vamos a centrarnos un poco en la esquina superior derecha de nuestro entorno de trabajo, en esa zona podemos ves un circulo verde, un globo color carne y otro circulo rojo; si hacemos doble click se puede apreciar que es una maquina de estados de un solo estado. Esa maquina de estados la vamos a modificar a lo largo des tutorial.

Primero cambiaremos de nombre al estado para tener una idea general de lo que se realizara en ese estado, en ese estado lo que haremos sera adquirir las imagenes y encontrar el número de pines que tiene el integrado. Así que como nombre al estado yo le he puesto “Adquirir Imagen & encontrar pines” es un poco largo pero tiene toda la información necesaria para saber en que momento estamos de la maquina de estados.

Hacemos click en el estado y buscamos la instrucción de “Find Edegs” y clickeamos en ella. Al hacerlo se nos despliega un menú con 4 pestañas. En la primera pestaña, la de main, pondremos el nombre del estado.

En la segunda pestaña, la de settings, tendremos que configurarla de la siguiente manera: tenemos que decirle que busque todos los puntos pero que solo recoja los puntos que vayan de brillo a oscuro y aunque en tutorial viene quitada la opción del “Auto setup” yo la he dejado puesta para que vean que funciona de igual manera y además nos ahorra un tiempo de configuraciones.

La siguientes dos pestañas, advanced y limits, las dejaremos tal y como vienen por defecto. Aunque puedo añadir que la pestaña de advanced no podemos configurar nada sino visualizar los resultados que se obtienen y en la de limits podemos configurar el número mínimo y máximo de puntos que a de tener el estado para ser considerado como valido o no.

Si damos a “OK” pasamos al siguiente punto, el cuál hasta ahora no lo habíamos utilizado, estamos hablando de una variable global.La usaremos para llevar el conteo de los pines.

Buscamos la instrucción “Set Variable” y clikeamos en ella, una vez hecho eso no salta un mensaje en el que nos dice que no tenemos creada ninguna variable y que debemos crear una, una vez leído daremos a “aceptar” y nada más presionar el botón se nos desplegara un menú con 3 pestañas pero que sólo haremos caso a la primera de la izquierda “Inspection Variable” en esa pestaña haremos clik en “add”, al hacerlo se nos desplegara otro pequeño menú en el que escribiremos el nombre de la variable que en nuestro caso será llamada “contador” y que inicializaremos en 1. Damos a “OK” y se nos cierra ese menú y vemos como se nos a creado la variable “contador” y el valor con la que la hemos iniciado(1).

Damos a “OK” y se nos cierran todos los menúes que se nos crearon excepto el principal, en ese haremos clik en la casilla “Get to Contant” y pondremos 1. una vez realizados todos estos pasos ya habremos creado la variable contador con un valor inicial de 1 asi que dando a “OK” tendremos terminada la configuración de la variable.

En la captura de pantalla que os facilito abajo se muestran los distintos pasos que se han de realizar para la creación de variables.

Ahora tenemos que crear otro estado en el que inspeccionemos los pines en busca de errores, para ello nos vamos de nuevo a la zona de la maquina de estados, y creamos otro estado con el nombre de “Inspeccionar Pin”. Por si tienen dudas de como hacerlo dejo una captura de pantalla explicativa de como hacerlo.

Builder nos da la posibilidad de Indexar, y lo hace mediante la instrucción de “Index Measurement” en la que al hacer click en ella se nos abre un menú con una sola pestaña en la como nombre pondremos “obtener la posición”. Seleccionaremos dentro del cuadro de Measurement las casillas de “Edge [i]. X Pocition (Pixel)” y “Edge [i]. Y Pocition (Pixel)” . Dentro del cuadro de Index pondremos la variable contador y con valor 1.

Posteriormente daremos a “OK”.

 

Usaremos la instrucción de “Set Coordinate System” para ubicar los puntos dentro de la imagen. Al hacer click en ella se nos abre un menos compuesto por tres pestañas llamadas “Main” donde pondremos el nombre del estado(“coordenadas”), “Settings” donde lo configuraremos con el modo horizontal y como origen pondremos la posición inicial; y en la de “limits” la dejaremos como esta por defecto. Posteriormente pulsaremos el botón de “OK” para continuar.

Hasta ahora tenemos el numero de pines, y la ubicación de los mismos gracias a la indexacino y las coordenadas, ahora mediremos el espacio existente entre pin y pin. Esa medición la realizaremos con ayuda de la instrucción de “Caliper”.

La instrucción de caliper se compone de 3 pestañas que tendremos que configurar, en la primera la de main pondremos el nombre del estado, al que hemos llamado “medida entre pines”, la región de interés sera constante y diremos que se referencie con “coordenadas” (instrucción anterior”.

La segunda pestaña se llama “Settings” y su configuración ha de ser como la que pondré en la captura de pantalla que os facilitaré abajo.

Por último en la pestaña de Limits pondremos mínimos y máximos para ser exactos pondremos que habré como mínimo 30 pixeles y como máximo 46 para que el estado de positivo.

Después de medir la distancia entre los pines tenemos que incrementar la variable “contador” para ello usaremos la instrucción “Set Variable” en la que incrementaremos en valor del contador. Hacemos click en la instrucción y apreciamos que esta vez no nos sale el mensaje de advertencia que nos mandaba crear una variable porque aun no teníamos ninguna, pero al tenerla directamente nos sale la variable contador en el menú la cuál vamos a incrementar haciendo clik en la casilla de “increment”. Una vez hecho eso damos a “OK” para continuar con el siguiente paso.

El siguiente paso sera mostrar un mensaje en caso de que el espacio entre pin y pin no se corresponda con los margenes especificados para ello usaremos una instrucción que hasta ahora no hablamos nombrado en ninguno de los tutoriales anteriores, estamos hablando de la instrucción “Custom Overlay” . Con esa instrucción pondremos un mensaje buleano, un led rojo que nos indique la inspección da error o fallo. Debido a que sólo queremos que se muestre el led cuando da error  pondremos que cuando el resultado sea valido que no se nos muestre nada.

La posición del led dependerá de la indexación, creando un efecto tal que se muestre debajo del pin que da fallo un led que dice que da fallo. El efecto es muy interesante

Terminamos con la instrucción dando a “OK”.

Acabamos de terminar con el estado de “Inspecionar Pin” así que voy a aprovechar para terminar de crear el resto de estados y transiciones de nuestra máquina de estados tal y como se muestra en la siguiente captura de pantalla.

Hacemos click en el globo de “Inspección Fallida” y en el creamos con la ayuda de la instrucción “Set Inspection” un estado de error. Para ello hacemos click en la instrucción y en el menú que se nos lanza ponemos de nombre “Inspección fallida” y como estado de la inspección ponemos “FAIL” y damos a “OK”.

 

Lo siguiente que haremos sera mostrar la imagen, así que usaremos la instrucción de “Display Image” esta instrucción es bastante simple de hecho cuando hacemos clik en ella solo aparece una pestaña con 3 posibilidades, de las posibilidades que tiene a nosotros nos interesa solo la primera, por lo que hacemos click en la casilla que le corresponde y le decimos que la muestre siempre.

Con esta instrucción habremos terminado con el estado de “Inspección Fallida” así que nos vamos de nuevo a la zona de la máquina de estados y hacemos click en el globo que pone “Inspección Correcta” y hacemos prácticamente lo mismo que hicimos en el anterior estado. Usando la instrucción de “Set Inpection” diremos que de como resultado del estado válido y como nombre le pondremos “Inspección válida”. Después daremos a “OK” para continuar.

Para terminar con el estado y con la máquina de estados pondremos igual que en el anterior globo una instrucción llamada “Display Image” y además la pondremos con la misma configuración que entonces, diremos que la imagen se muestre siempre.

Como colofón de la máquina de estados subo un video de la misma en funcionamiento.

 

Para descargar el tutorial hacer click en el siguiente enlace: http://cid-2d81d75b5f40e144.office.live.com/self.aspx/.Public/VISION/tutorial%206.rar

 

 

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: