Preguntas frecuentes#

Preguntas generales#

¿Qué tiene de único la CMUcam1?#

Tradicionalmente se necesitan computadoras rápidas para capturar y procesar imágenes de cámara. También es necesario escribir el software para realizar este procesamiento. Debido a esto, es difícil usar la visión como sensor en sistemas sencillos.

El sistema de visión CMUcam1 usa un microcontrolador rápido y de bajo costo para manejar todo el procesamiento de alta velocidad de los datos de la cámara y contiene software para realizar tareas de visión sencillas. Debido a que el usuario puede elegir emitir solo información de alto nivel y bajo ancho de banda del sistema de visión, como que el objeto rojo está en la posición X-Y, es posible que un procesador sencillo como un microcontrolador PIC lea estos datos y dirija a un pequeño robot en tareas como perseguir una pelota de color. El sistema de visión CMUcam1 hace posible ignorar la complejidad de la conexión con la cámara y usar la visión como cualquier otro sensor (por ejemplo, el sonar) que se usa a menudo en sistemas robóticos.

¿Cuál es la velocidad de fotogramas de la CMUcam1?#

La velocidad de fotogramas más rápida es de 16,7 fotogramas por segundo. Esto significa que la CMUcam1 puede indicarle la posición de un objeto unas 17 veces por segundo. Usando el protocolo de software serie puede ralentizar esto si lo desea.

¿Qué velocidades en baudios admite la CMUcam1?#

A partir de la última versión del firmware (v1.12), la CMUcam1 puede comunicarse a velocidades en baudios de 9600, 19200, 38400 o 115200. La velocidad en baudios se selecciona mediante la configuración de puentes en la placa.

¿Cómo actualizo el firmware de mi CMUcam1?#

Si actualmente usa el firmware v1.11, no hay razón para actualizar a menos que necesite soporte para las velocidades en baudios más bajas. La versión 1.11 admite 38400 y 115200 baudios. La versión 1.12 admite esas velocidades en baudios y añade soporte para 9600 y 19200 baudios. Para actualizar su firmware, necesitará reprogramar la memoria flash de su chip procesador. Si tiene un programador, puede descargar la versión actual de nuestra página Descargas y volver a grabar el procesador usted mismo.

¿Funciona la CMUcam1 en exteriores?#

La CMUcam1 funciona en exteriores, pero no bajo luz solar directa. La cámara CMOS que usamos no tiene un filtro IR de alta calidad, por lo que la luz solar satura los píxeles rojos y la imagen se vuelve, esencialmente, monocroma bajo luz solar directa. Es posible añadir un filtro externo para mejorar el funcionamiento en exteriores. Tenemos un breve escrito que le muestra cómo las condiciones de iluminación afectan a la CMUcam1 que puede descargar aquí.

¿Puedo escribir código personalizado para la CMUcam1?#

Por supuesto. Para hacer esto, pídanos el código fuente del firmware, adquiera un entorno de programación en C para el chip Ubicom y adelante. Cuando le enviemos el código fuente del firmware, también le enviaremos un resumen de cómo está estructurado el código e información sobre el entorno de programación que utilizamos.

¿Cuánta energía consume la CMUcam1?#

El sistema completo consume aproximadamente 200 miliamperios.

¿Cuál es el campo de visión de la CMUcam1?#

Esto depende del objetivo que monte en la cámara CMOS. Si pide la cámara CMOS tal como se vende de forma estándar, terminará con un campo de visión de aproximadamente 25 grados, que es relativamente estrecho. Sin embargo, puede pedir por encargo objetivos de ángulo más amplio cuando pida su cámara CMOS.

¿Qué procesador usa la CMUcam1?#

Nuestro código de procesamiento de imagen reside en un chip microcontrolador de Ubicom que funciona a 75 MHz, el SX28AC. Este chip lee todos los píxeles de la cámara CMOS a través de una interfaz paralela y realiza todo el procesamiento en tiempo real. Luego comunica los resultados a su microcontrolador o computadora a través de una interfaz de puerto serie.

¿Qué cámara CMOS usa la CMUcam1?#

Usamos una cámara CMOS que utiliza la cámara CMOS en un chip OV6620 de OmniVision. Usamos una placa de cámara CMOS de número de modelo C3088 sobre la que está montado el sensor, un conector y un objetivo.

¿Funciona la CMUcam1 con otras cámaras CMOS?#

No. Actualmente el sistema de hardware y software se ha diseñado para funcionar específicamente con la cámara CMOS OV6620 de OmniVision. El sistema tendría que rediseñarse por completo para funcionar con otra cámara.

¿Hay algún lugar donde pueda encontrar respuestas a preguntas adicionales que tengo?#

Sí. Tenemos algo de información sobre preguntas más técnicas en esta página.

¿Dónde puedo obtener más información sobre visión artificial en general?#

La CMUcam1 realiza la sencilla tarea de visión artificial para la que fue diseñada en un paquete pequeño y económico. Sin embargo, el problema general de visión artificial de intentar reconocer objetos arbitrarios en condiciones arbitrarias sigue siendo un tema de investigación muy activo y muy lejos de estar cerca de ser un problema resuelto.

Si desea aprender más sobre visión artificial, quizás quiera probar estos enlaces:

Preguntas técnicas#

¿Cuál es la secuencia exacta de pasos que realiza el modo demostración al encenderse?#

Aquí está la secuencia exacta que el modo demostración realiza al encenderse:

  1. Reinicie la cámara.

  2. Espere 5 segundos a que el ajuste automático de los parámetros de la cámara se estabilice.

  3. Envíe la cadena de registro de la cámara: CR 18 32 19 32 que selecciona el modo YCrCb y desactiva la ganancia automática.

  4. Ejecute el comando TW.

Tras lo cual, la cámara comenzará a mover un servo hacia la masa central del color detectado por el comando TW.

¿Cuál es la secuencia exacta de pasos que realiza el comando «TW»?#

Aquí está la secuencia exacta que realiza el comando TW:

  1. Reduce la ventana a 1/4 del tamaño (en cada dimensión) de la ventana actual a una nueva ventana centrada en el centro de la ventana actual.

  2. Llame a get mean.

  3. Restaure la ventana al tamaño completo de la imagen.

  4. Establezca el valor máximo y mínimo de cada canal de color como la media de ese canal +/- 30.

Tras lo cual, la cámara comenzará a transmitir paquetes de tipo C, M o N.

¿En qué condiciones se enciende el LED de seguimiento cuando el modo automático está habilitado?#

El LED se encenderá cuando el pixel_count devuelto >= 2. El pixel_count devuelto = (actual_pixel_count + 4) / 8.

Si la cámara CMOS tiene una resolución de 352 x 288 píxeles, ¿por qué la resolución de la CMUcam1 es solo de 80 x 143?#

La cuestión aquí es cómo funcionan las cámaras digitales de color. En todas las cámaras digitales de color (incluso las muy caras, excepto algunas basadas en una tecnología muy avanzada) solo se obtiene una medición de canal de color por ubicación de píxel; esto se llama filtrado de mosaico. Aquí hay un diagrama útil que ayuda a explicar esto:

Mosaic

(Diagrama cortesía de Foveon, Inc.)

Así que lo que puede ver es que los píxeles pueden considerarse dispuestos en grupos de cuatro, donde hay dos mediciones G y una R y una B por grupo. Si descarta una de las mediciones G (que es lo que hacemos), verá que la resolución real de una cámara de 352x288 está más cerca de 176x144. Ejecutamos la cámara en modo de media resolución, que omite cada segundo bloque de 2x2 horizontalmente, lo que le da 88x144. Debido a las limitaciones de memoria del procesador, descartamos 8 columnas horizontalmente y una fila verticalmente, que contiene un patrón de prueba, lo que le da 80x143 como resolución final.

Solo para su información, las cámaras digitales estándar usan técnicas de interpolación complejas para intentar rellenar los valores de color faltantes en cada píxel y darle algo un poco más cercano a la resolución completa del sensor.

¿Cómo puedo enfocar la CMUcam1 con precisión?#

Por supuesto, la mejor manera de proceder con el enfoque es tomar volcados de fotogramas usando la GUI. Puede que no tenga una computadora a mano, o puede que esté usando una CMUcam1 BotBall, que no tiene resolución suficiente a su velocidad en baudios fija de 9600 para que esto funcione bien.

En ese caso, hay dos alternativas. Primero, puede intentar contar las roscas. El objetivo no está completamente enroscado en el enfoque óptimo. Más bien, hay una separación de aproximadamente 1 milímetro de rosca visible. En términos de número de roscas, eso es aproximadamente 2 roscas visibles en la separación entre el objetivo y la montura del objetivo.

La segunda alternativa se basa en la idea de que cuando una imagen es nítida, las zonas oscuras son las más oscuras y las brillantes las más brillantes. En otras palabras, cuando el contraste es mayor. Cuando la imagen se desenfoca, entonces los extremos se desvanecen hacia una distribución más uniforme de intensidades. Así, si inicia el modo de transmisión continua y luego llama a GM (Get Mean), puede enfocar en tiempo real. Observe la desviación del rojo. A medida que enfoca nítidamente sobre un objeto de alto contraste (como una hoja de papel con mucho texto escrito) a la distancia deseada, habrá un pico notable en la desviación del rojo cuando esté enfocado con la mayor nitidez. Tenga en cuenta que este enfoque para enfocar requiere que tenga la cámara y el objetivo bastante firmemente asentados mientras gira el objetivo.