Emulação da CMUcam2#

A CMUcam2 possui os seguintes recursos:

  • Rastrear blobs de cor definidos pelo usuário a até 50 quadros por segundo (a taxa de quadros depende das configurações de resolução e tamanho da janela)

  • Rastrear movimento usando diferenciação de quadros a 26 quadros por segundo

  • Encontrar o centroide de quaisquer dados de rastreamento

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

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

  • Processar imagens com filtro de bordas horizontais (não suportado)

  • Transferir um bitmap binário em tempo real dos pixels rastreados em uma imagem

  • Janelamento arbitrário de imagem

  • Redução de amostragem de imagem

  • Ajustar as propriedades de imagem da câmera

  • Despejar uma imagem bruta (canal único ou múltiplos canais)

  • Resolução de até 176 x 255

  • Suporta taxas de baud 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âmera (não suportado)

  • Usar automaticamente servos para fazer rastreamento de cor em dois eixos

  • Saída de vídeo analógico P&B (PAL ou NTSC, dependendo do módulo de câmera usado)

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

  • Modo de desligamento

  • Processamento de imagem em múltiplas passagens em uma imagem armazenada 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 os recursos não suportados riscados. Muitos recursos riscados serão suportados em um futuro próximo.

BM Modo de Buffer
CR Registrador da Câmera
CP Alimentação da Câmera
DC Canal de Diferença
DS Redução de Amostragem
FD Diferença de Quadro
FS Fluxo de Quadros (adicionado r553)
GB Obter Botão
GH Obter Histograma
GI Obter entradas Aux IO
GM Obter Média
GS Obter Posições dos Servos
GT Obter Parâmetros de Rastreamento
GV Obter Versão
GW Obter Janela
HC Configurar Histograma
HD Diferença em Alta Resolução
HR Modo Alta Resolução
HT Definir Rastreamento de Histograma (não suportado)
L0 Controle de Led
LF Carregar Quadro para Diferenciar
LM Modo de Linha
MD Diferença por Máscara (não suportado)
NF Filtro de Ruído
OM Máscara de Pacote de Saída
PD Diferença de Pixel (não suportado)
PF Filtro de Pacotes
PM Modo de Polling
RF Ler Quadro para o Buffer
RM Modo Bruto
RS Reset
SF Enviar Quadro
SM Máscara de Servo
SO Saída de Servo
SP Parâmetros de Servo
ST Comando Definir Rastreamento
SV Posição de Servo
TC Rastrear Cor
TI Rastrear Invertido
TW Rastrear Janela
UD Enviar buffer de Diferença (não suportado)
VW Janela Virtual

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

CT Definir Tipo de Câmera
DM Modo de Atraso
L1 Controle de Led (veja SO em vez disso)
PS Pular Pacote
SD Hibernar Profundamente
SL Comando de Hibernação

Diferenças da Emulação da CMUcam2#

  • Faixa de Entrada do Servo

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

  • Jumpers

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

  • Set Input (SI pino ) Comando

    • Define o pino como uma entrada

  • Software Color Space (CS valor ) Comando

    • CS 0 define o espaço de cor para o padrã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á configurado para RGB para obter resultados corretos

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

    • Nota: Isso só está disponível na r504 e superior

  • Set Output pode controlar os LEDs Azul e Laranja

    • Os servos 2 e 3 pararão de funcionar

    • SO 2 1 -> Azul ligado

    • SO 2 0 -> Azul desligado

    • SO 3 1 -> Laranja ligado

    • SO 3 0 -> Laranja desligado

  • Sem Modo Escravo

    • É possível, mas atualmente não damos suporte a isso

  • Máscara de Saída (OM)

    • Suporta apenas pacotes T e S (tipo 0 e 1)

  • Modo de Linha (LM)

    • Suporta apenas o modo de rastreamento de cor (LM 0 1)

    • Estatísticas de rastreamento de cor adicionadas na r523 (LM 0 2)

  • Send JPEG (SJ)

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

  • Modo Demo

    • Como segurar o botão de programação coloca a CMUcam3 em modo de programação, você precisa pressionar o botão meio segundo após a inicialização para entrar no modo demo

  • Diferença de Quadro em Alta Resolução

    • Isso agora funciona da mesma forma que a diferenciação de quadros em baixa resolução, apenas em uma resolução mais alta