PIC , Robots y automatismos
CMUcam4GUI
20.03.2014 04:30El programa CMUcam4GUI es un programa en entorno gráfico que suministra el fabricante.
Con este programa podemos comprobar el funcionamiento de la cámara, ya que contempla todos los comandos que puede recibir la cámara y nos muestra toda la información que la cámara puede mandar.
Tiene 4 fichas:
Viewing: en esta pestaña podemos ajustar la resolución a la que la cámara toma las imágenes, veremos las imágenes que toma la cámara y también ajustaremos el color que queremos que siga la cámara de esta imagen.
También podemos comprobar cuántos píxeles está viendo la cámara del color seleccionado, utilizando Send Bitmap.
Tracking: en esta pestaña podemos poner a la cámara en modo seguir color y ver como el color aparece en formato bitmap, (imagen de puntitos azules), rodeado de la bounding box. En (Tracking Information), podemos seguir los valores que va tomando el paquete de tipo T que manda la Cámara, también podemos ver el histograma de la imagen.
Options: en esta pestaña podemos ajustar los límites del color a seguir, auto ganancia, auto valance, modo poll, modo line, controlar el movimiento de los servos,(si los tenemos conectados a la cámara)etc.
Disk: en esta se pueden controlar todos comandos relativos al manejo de la tarjeta de memoria que puede llevar la cámara.
Una vez conectada la CMUcam4 al puerto serie de nuestro ordenador, a través del MAX232, abrimos el programa CMUcam4GUI.exe.
Clicamos sobre el icono Begin y seleccionamos el puerto serie "COM" por el que comunica nuestro ordenador.
Si el ordenador tiene más puertos serie y no se establece comunicación, tendría que probar con el COM2, COM3, etc. Pulso OK...
Tras dar al OK en el paso anterior, para conseguir que la cámara comunique, yo pulso el botón de reset de la cámara, (en alguna ocasión esta operación la tengo que repetir varias veces hasta conseguir que comunique).
Con el HyperTerminal me comunica siempre al primer intento.
El icono End. se pondrá de color rojo cuando la cámara y el ordenador comiencen a hablar.
Para comprobar la imagen que toma la cámara, cliqueo en Send Frame, y la CMU manda una imagen al PC. Dependiendo de la resolución seleccionada en el apartado (Send Frame Control) la CMU tarda más o menos tiempo en mandar la foto.
Procuro no moverme cuando hago esto, si me muevo la foto sale distorsionada, pues en esta operación la cámara consume varios segundos.
Según el fabricante, para seguir un color debemos:
En la pestaña (Options)
Seleccionar (YUV)
Esperar 5 segundos
Quitar la selección a (Autogain) y (Autowhite Balance)
En pestaña (Viewing)
Poner (Horizontal Resolution) en 160
Poner (Vertical Resolution) en 120
Dirigir la cámara hacia el objeto del cual queremos seguir el color, sin mover el objeto ni la cámara cliqueo (Send Frame).
Esperamos hasta que la foto sale en pantalla y el led auxiliar de la cámara deja de parpadear.
Seleccionamos el área con el color que queremos seguir, sin salirnos de este color.
hacer click en (Track Selection).
hacer click con 50 como valor por defecto.
Si aparecen puntos azules dibujados sobre el color, hacer click otra vez sobre (Track Selection) y cambiar el valor a 60.
Repetir lo anterior hasta que consigamos estos resultados con el valor de (Track Selection) más alto posible.
A continuación en la pestaña (Options)...
hacer el valor (green min) = 0 y el valor de (green max) = 255, esto ajusta (Ymin) a 0 e (Ymax) a 255
Si vemos que seguimos colores no deseados, podemos intentar hacer límites menos amplios, hasta conseguir delimitar el objeto que queremos.
Podemos comprobar lo que estamos siguiendo en la pestaña (viewing) haciendo click en el botón (Send Bitmap).
(con esto aparecerán puntos de color azul sobre la imagen del color a seguir que certifican que la cámara ve el color entre los límites seleccionados).
Además si se desea, también se pueden ampliar los límites de (V/red) y (V/blue) manualmente.
Esto ayuda a hacer el sistema más robusto en diferentes condiciones de luz.
Y todo esto ¿para qué?.
Con todo lo que hemos hecho más arriba, lo que se pretende es conseguir los valores de ((Red Min), (Red Max), (Green Min), (Green Max), (Blue Min), (Blue Max).) óptimos.
Cuando la cámara sigue un cierto color, lo que hace es seguir todos los colores que entren dentro de los márgenes de estos límites.
Si los márgenes son muy amplios, valores Min = 0 y valores Max = 255, la CMU seguirá cualquier color.
Si los márgenes son muy estrechos, valores Min muy próximos a valores Max, la CMU seguirá un solo color. Esto tiene un inconveniente y es que si las condiciones de luz varían, la cámara interpreta que está viendo otro color y no seguirá el color indicado por estos límites. Es necesario hacer pruebas, tomando imágenes y ajustar estos valores hasta conseguir unos límites optimos de estos valores para que nuestra CMU siga el color deseado.
Si hemos fabricado un ROBOT, el cual tiene una CMUcam4 como sensor, y queremos que siga un cierto color...
Primero .- Deberemos conseguir el valor de los límites de color, utilizando el programa CMUcamGUI.
Segundo .- Nuestro microcontrolador le tendrá que decir a la CMU los límites para ese color. esto lo haremos vía RS232, el comando en concreto es:
ST [red min – Integer] [red max – Integer] [green min – Integer] [green max – Integer] [blue min – Integer] [blue max – Integer] ‘\r’
Con este comando ajustaremos los valores máximos y mínimos para cada uno de los colores que componen nuestro color a seguir.
—————
