Buscar este blog

Información semanal de las clases de electrónica y las sucesivas prácticas realizadas por Guillermo Cayetano Espejo alumno del Ciclo de Grado Superior de Manteniemintos Electronicos de 2º Curso del CIFPN1 (Peñacastillo,Santander) Dpto:Electricidad y Electrónica

lunes, 29 de mayo de 2017

Practica 11: Medir Pieza Vision Builder



Introducción:
En esta práctica lo que queremos conseguir es mediante dos cámaras colocadas en los extremos de un tablón, poder medir una pieza metálica colocada debajo del tablón junto a una cinta métrica en la que los objetivos de las cámaras abarquen los extremos de dicha barra, y al desplazar la barra unos centímetros en dirección horizontal de izquierda a derecha, sin salirse de la visión de cualquiera de las dos cámaras podamos obtener una medición de la longitud de la misma con una precisión de 1mm.
Desarrollo:
Para esta práctica utilizaremos el programa Vision Builder el cual es una extensión de LabView, el cual está adaptado para hacer programas de Visión Artificial, se podría hacer perfectamente el programa directamente en LabView, pero sería más complicado, por eso National Instruments decidió crear esta extensión mucho más intuitiva de utilizar, de echo una vez acabado el programa en Vision Builder existe la posibilidad de migrarlo a un proyecto en LabView y te compila todo el programa en Vsion Builder en lenguaje G de LabView.

Lo primero que haremos será colocar nuestro objeto a medir en el soporte, una vez hayamos colocado y sujetado firmemente las cámaras al mismo y las hayamos conectado a nuestro PC. Una vez hecho esto abrimos nuestro programa de Vision  Builder y seleccionamos Adquirir imagen, seleccionamos una de nuestras dos cámaras y acto seguido nos saldrá una ventana con lo que ve la cámara en tiempo real, colocamos el extremo de la barra más o menos en el medio de la imagen, y seleccionamos la opción de calibrar imagen, se nos congelara la imagen y aparecerá otro cuadro en el que tendremos que poner nombre a la calibración y otras características como el tipo de calibración, la fuente de la imagen y el tipo de unidades en el que queremos que mida nuestra calibración, es decir le asignamos dos puntos y le decimos al programa a cuanto equivale es longitud, de ahí que tengamos que utilizar una cinta métrica. Por ultimo le daremos un eje de coordenadas como referencia.



Seguido a esto el siguiente paso es quitar un plano de color, ya que es más fácil detectar tonos de blancos y negros, que un conjunto de colores, esto se hará con el Vision assistant.


Esta es la ventana que no sale cuando aplicamos el Vsion Assitant

Añadimos en la nueva ventana el bloque siguiente

Este bloque nos ofrece la opción de quitar planos de color con 3 modos diferentes, RGB, HSV o HSL, en mi caso optare por utilizar el modo RGB para que me quede una imagen definida en blanco y negro.


Al seleccionar cada color se te muestra la imagen sin ese plano de color, y probando decidí que el mejor plano para quitar era el plano verde.
 
Y el último paso para esta imagen será detectar el borde del objeto a medir, esto l haremos con el paso “Find Straight Edge”, que detecta líneas verticales de distinto tono, se puede poner que detecte de oscuro a claro o viceversa, por eso es recomendable que nuestro soporte sea de tono contrario a nuestro objeto, ya que mi objeto a medir es de tono metalizado (claro), pondré cinta aislante en el soporte de color negra para crear contraste entre el objeto y la pieza y así detectara el borde más fácilmente.


La imagen que aparece al seleccionar este bloque es la siguiente

El cuadro verde con líneas azules indica la zona por donde se quiere detectar borde y tiene una serie de características que mostrare a continuación.

En este cuadro elegiremos la dirección por donde se detectara el borde de la pieza, si queremos que detecte de oscuro a blanco o viceversa, como mi imagen normalmente será oscura y será cuando aparezca la pieza cuando aparecerá claro lo he puesto de oscuro a blanco, también se puede especificar si queremos encontrar el mejor borde de todos los que detecte o solo el primero en ser detectado, y finalmente la intensidad con la que queremos detectar bordes si aumentas mucho el “Gap” y el “Minimun Edge Strengt” al mínimo borde que se detecte lo dará por válido y viceversa si lo pones muy bajo.
 
Acabado esto haremos exactamente lo mismo para la otra cámara.
Cuando terminamos la segunda cámara, pondremos el siguiente paso “Set Inspection Status”, que sirve para que el programa no avance hasta que no se hayan realizado los pasos anteriores, de esta manera si no se detecta un borde o cualquier otro error, el programa no continuara.


Podremos seleccionar las siguientes características

Como se muestra en la imagen podemos darle distintos modos de funcionamiento a este bloque, como lo que yo quiero es qué se mantenga en “FAIL” mientras cualquiera de los otros pasos anteriores estén en “FAIL”, elijo el primero modo de funcionamiento.
 

El siguiente paso es calcular la longitud de la barra, hay que decir que debemos saber de antemano cuanto ha de medir la barra, ya que el programa en si comprueba que mida lo que se le ha dicho no te da la longitud de cualquier barra, solo de las barras de una misma longitud, mi barra media 425 mm por lo tanto la operación a realizar es la siguiente. Le sumo el borde derecho a la longitud de la barra (borde drch+425), y le resto el borde izquierdo, de este modo al mover la barra siempre ha de dar el mismo resultado, ya que si aumentas la longitud con el borde izquierdo disminuye en igual medida el borde derecho. También le pondré unos límites aceptables de error.


Al seleccionarlo aparecerá una ventana en blanco, donde podremos seleccionar algunas opciones de programación en lenguaje de LabView, como estructuras, operadores etc…

Lo que he hecho ha sido asociar a dos controles la distancia medida en cada extremo de la barra, a uno le he sumado la longitud de la barra y al resultado de dicha suma l he restado la distancia el otro extremo, luego he colocado dos comparadores entre los cuales muestro el resultado de la medición.
 
Por ultimo con el paso “Custom Overlay” muestro por pantalla un mensaje con la longitud de la barra.


Conclusión:
Este programa es verdaderamente útil para hacer mediciones con cámaras, sin embargo presenta una serie de dificultades difíciles de solventar, por ejemplo si se varia en demasía la luz incidente puede alterar el resultado de la medición ya que puede convertir tonos claros en oscuros y viceversa. También la optimalizad curva de los objetivos hace que solo se pueda mover la barra unos pocos centímetros en el eje horizontal antes de que pierda la calibración asignada. No obstante en condiciones favorables y estables puede ser una gran herramienta a utilizar.

Archivo Fuente 

No hay comentarios:

Publicar un comentario