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
Archivo Fuente
No hay comentarios:
Publicar un comentario