Emulação da CMUcam2#

A CMUcam2 tem as seguintes capacidades:

  • Seguir blobs de cor definidos pelo utilizador a até 50 fotogramas por segundo (a taxa de fotogramas depende das configurações de resolução e de tamanho da janela)

  • Seguir movimento utilizando frame differencing a 26 fotogramas por segundo

  • Encontrar o centroide de quaisquer dados de seguimento

  • Recolher dados de cor média e variância

  • Recolher um histograma de 28 bins de cada canal de cor

  • Processar imagens filtradas por arestas horizontalmente (não suportado)

  • Transferir um bitmap binário em tempo real dos pixels seguidos numa imagem

  • Janelamento de imagem arbitrário

  • Down sampling de imagem

  • Ajustar as propriedades de imagem da câmara

  • Fazer o dump de uma imagem raw (canal único ou múltiplos canais)

  • Resolução até 176 x 255

  • Suporta baud rates de: 115,200 57,600 38,400 19,200 9,600 4,800 2,400 1,200 BPS

  • Controlar 5 saídas de servo

  • Modo de processamento de imagem paralelo escravo a partir de um único barramento de câmara (não suportado)

  • Utilizar automaticamente servos para fazer seguimento de cor em dois eixos

  • Saída de vídeo analógico a preto e branco (PAL ou NTSC, dependendo do módulo de câmara utilizado)

  • Personalização flexível dos pacotes de saída

  • Modo de baixo consumo

  • Processamento de imagem de múltiplas passagens numa imagem em buffer

Imagens de Emulação da CMUcam2 Pré-compiladas#

Compiled Firmware Image

Existem várias diferenças entre a emulação da CMUcam2 e a CMUcam2 real. Abaixo está uma lista de toda a funcionalidade da CMUcam2 com as funcionalidades não suportadas riscadas. Muitas funcionalidades riscadas serão suportadas num futuro próximo.

BM Buffer Mode
CR Camera Register
CP Camera Power
DC Difference Channel
DS Down Sample
FD Frame Difference
FS Frame Stream (added r553)
GB Get Button
GH Get Histogram
GI Get Aux IO inputs
GM Get Mean
GS Get Servo Positions
GT Get Tracking Parameters
GV Get Version
GW Get Window
HC Historgram Configure
HD High Resolution Difference
HR Hi-Res Mode
HT Set Histogram Track (not supported)
L0 Led Control
LF Load Frame to Difference
LM Line Mode
MD Mask Difference (not supported)
NF Noise Filter
OM Output Packet Mask
PD Pixel Difference (not supported)
PF Packet Filter
PM Poll Mode
RF Read Frame into Buffer
RM Raw Mode
RS Reset
SF Send Frame
SM Servo Mask
SO Servo Output
SP Servo Parameters
ST Set Track Command
SV Servo Position
TC Track Color
TI Track Inverted
TW Track Window
UD Upload Difference buffer (not supported)
VW Virtual Window

Os seguintes comandos não serão suportados num futuro próximo:

CT Set Camera Type
DM Delay Mode
L1 Led Control (look at SO instead)
PS Packet Skip
SD Sleep Deeply
SL Sleep Command

Diferenças da Emulação da CMUcam2#

  • Servo Input Range

    • Os servos são agora valores de 8 bits de 0-255

  • Jumpers

    • Devido à falta de jumpers na CMUcam3, as alterações de baud rate e de direção do servo têm de ser feitas em tempo de compilação - estas são controladas por #defines no início do código-fonte cmucam.c

  • Set Input (SI pino ) Comando

    • Define o pin como sendo uma entrada

  • Software Color Space (CS valor ) Comando

    • CS 0 define o espaço de cor para a predefinição do hardware (RGB ou YCrCb)

    • CS 1 faz uma conversão por software para o espaço de cor HSV

      • A conversão assume que o hardware está definido para RGB para resultados corretos

      • O espaço HSV é um espaço inteiro onde todos os valores são escalados entre 16 e 240

    • Nota: Isto só está disponível em r504 e superior

  • Set Output pode controlar os LEDs Azul e Laranja

    • Os servos 2 e 3 deixarão de funcionar

    • SO 2 1 -> Blue on

    • SO 2 0 -> Blue off

    • SO 3 1 -> Orange on

    • SO 3 0 -> Orange off

  • No Slave Mode

    • É possível, mas atualmente não o suportamos

  • Output Mask (OM)

    • Apenas suporta pacotes T e S (tipo 0 e 1)

  • Line Mode (LM)

    • Apenas suporta o modo track color (LM 0 1)

    • Estatísticas de track color adicionadas na r523 (LM 0 2)

  • Send JPEG (SJ)

    • Envia um frame comprimido em jpeg, cabeçalho e tudo

  • Demo Mode

    • Uma vez que manter o botão de programação premido coloca a CMUcam3 em modo de programação, precisa de premir o botão meio segundo após o arranque para entrar no modo de demonstração

  • Hi-Res Frame Difference

    • Isto funciona agora da mesma forma que o frame differencing de baixa resolução, apenas com uma resolução mais alta