Emulación de la CMUcam2#

La CMUcam2 tiene las siguientes capacidades:

  • Rastrear manchas de color definidas por el usuario a hasta 50 fotogramas por segundo (la velocidad de fotogramas depende de la configuración de resolución y de tamaño de ventana)

  • Rastrear el movimiento usando la diferenciación de fotogramas a 26 fotogramas por segundo

  • Encontrar el centroide de cualquier dato de seguimiento

  • Reunir datos de color medio y de varianza

  • Reunir un histograma de 28 casillas de cada canal de color

  • Procesar imágenes con filtrado horizontal de bordes (no compatible)

  • Transferir un mapa de bits binario en tiempo real de los píxeles rastreados en una imagen

  • Ventaneo de imagen arbitrario

  • Submuestreo de imagen

  • Ajustar las propiedades de imagen de la cámara

  • Volcar una imagen en bruto (uno o varios canales)

  • Hasta resolución 176 x 255

  • Admite velocidades en baudios de: 115.200 57.600 38.400 19.200 9.600 4.800 2.400 1.200 BPS

  • Controlar 5 salidas de servo

  • Modo de procesamiento de imagen paralelo esclavo a partir de un solo bus de cámara (no compatible)

  • Usar servos automáticamente para hacer seguimiento de color de dos ejes

  • Salida de vídeo analógico en blanco y negro (PAL o NTSC, según el módulo de cámara utilizado)

  • Personalización flexible de paquetes de salida

  • Modo de apagado

  • Procesamiento de imagen de múltiples pasadas sobre una imagen almacenada en búfer

Imágenes de emulación de la CMUcam2 precompiladas#

Compiled Firmware Image

Hay varias diferencias entre la emulación de la CMUcam2 y la CMUcam2 real. A continuación se presenta una lista de toda la funcionalidad de la CMUcam2 con las características no compatibles tachadas. Muchas características tachadas serán compatibles en un futuro cercano.

BM Modo búfer
CR Registro de la cámara
CP Alimentación de la cámara
DC Canal de diferencia
DS Submuestreo
FD Diferencia de fotogramas
FS Flujo de fotogramas (añadido en r553)
GB Obtener botón
GH Obtener histograma
GI Obtener entradas de Aux IO
GM Obtener media
GS Obtener posiciones de los servos
GT Obtener parámetros de seguimiento
GV Obtener versión
GW Obtener ventana
HC Configurar histograma
HD Diferencia de alta resolución
HR Modo de alta resolución
HT Establecer seguimiento de histograma (no compatible)
L0 Control de LED
LF Cargar fotograma para diferenciar
LM Modo de línea
MD Diferencia de máscara (no compatible)
NF Filtro de ruido
OM Máscara de paquete de salida
PD Diferencia de píxeles (no compatible)
PF Filtro de paquetes
PM Modo de sondeo
RF Leer fotograma en búfer
RM Modo en bruto
RS Reiniciar
SF Enviar fotograma
SM Máscara de servo
SO Salida de servo
SP Parámetros de servo
ST Comando de establecer seguimiento
SV Posición de servo
TC Rastrear color
TI Rastreo invertido
TW Rastrear ventana
UD Subir búfer de diferencia (no compatible)
VW Ventana virtual

Los siguientes comandos no serán compatibles en el futuro cercano:

CT Establecer tipo de cámara
DM Modo de retardo
L1 Control de LED (mire SO en su lugar)
PS Omisión de paquetes
SD Suspensión profunda
SL Comando de suspensión

Diferencias de la emulación de la CMUcam2#

  • Rango de entrada del servo

    • Los servos ahora son valores de 8 bits de 0 a 255

  • Puentes

    • Debido a la falta de puentes en la CMUcam3, los cambios de velocidad en baudios y de dirección del servo deben realizarse en tiempo de compilación; estos se controlan mediante #defines en la parte superior del código fuente cmucam.c

  • Comando Set Input (SI pin )

    • Establece el pin como entrada

  • Comando Software Color Space (CS valor )

    • CS 0 establece el espacio de color al valor predeterminado del hardware (RGB o YCrCb)

    • CS 1 realiza una conversión por software al espacio de color HSV

      • La conversión asume que el hardware está configurado en RGB para obtener resultados correctos

      • El espacio HSV es un espacio de enteros donde todos los valores se escalan entre 16 y 240

    • Nota: Esto solo está disponible en r504 y superiores

  • Set Output puede controlar los LED azul y naranja

    • Los servos 2 y 3 dejarán de funcionar

    • SO 2 1 -> Azul encendido

    • SO 2 0 -> Azul apagado

    • SO 3 1 -> Naranja encendido

    • SO 3 0 -> Naranja apagado

  • Sin modo esclavo

    • Es posible, pero actualmente no lo admitimos

  • Máscara de salida (OM)

    • Solo admite paquetes T y S (tipo 0 y 1)

  • Modo de línea (LM)

    • Solo admite el modo de seguimiento de color (LM 0 1)

    • Seguimiento de estadísticas de color añadido en r523 (LM 0 2)

  • Send JPEG (SJ)

    • Envía un fotograma comprimido en jpeg, con encabezado y todo

  • Modo demostración

    • Dado que mantener presionado el botón de programación pone la CMUcam3 en modo de programación, necesita presionar el botón medio segundo después del arranque para entrar en el modo demostración

  • Diferencia de fotogramas de alta resolución

    • Esto ahora funciona igual que la diferenciación de fotogramas de baja resolución, solo que a una resolución más alta