Perguntas Frequentes#

Perguntas Gerais#

O que há de único na CMUcam1?#

Tradicionalmente, computadores rápidos são necessários para capturar e processar imagens de câmera. Também é necessário escrever o software para realizar esse processamento. Por causa disso, é difícil usar a visão como um sensor em sistemas simples.

O sistema de visão da CMUcam1 usa um microcontrolador rápido e de baixo custo para lidar com todo o processamento de alta velocidade dos dados da câmera e contém software para realizar tarefas simples de visão. Como o usuário pode optar por emitir apenas informações de alto nível e baixa largura de banda do sistema de visão, como o objeto vermelho está na posição X-Y, é possível que um processador simples, como um microcontrolador PIC, leia esses dados e direcione um pequeno robô em tarefas como perseguir uma bola colorida. O sistema de visão da CMUcam1 torna possível ignorar a complexidade do interfaceamento da câmera e usar a visão como qualquer outro sensor (por exemplo, sonar) frequentemente usado em sistemas robóticos.

Qual é a taxa de quadros da CMUcam1?#

A taxa de quadros mais rápida é de 16,7 quadros por segundo. Isso significa que a CMUcam1 pode lhe dizer a posição de um objeto cerca de 17 vezes por segundo. Usando o protocolo de software serial, você pode diminuir isso se desejar.

Quais taxas de baud a CMUcam1 suporta?#

A partir da versão mais recente do firmware (v1.12), a CMUcam1 pode se comunicar em taxas de baud de 9600, 19200, 38400 ou 115200. A taxa de baud é selecionada por meio das configurações de jumper na placa.

Como faço para atualizar o firmware da minha CMUcam1?#

Se você está usando atualmente o firmware v1.11, não há razão para atualizar, a menos que você precise de suporte para as taxas de baud mais baixas. A versão 1.11 suporta 38400 e 115200 baud. A versão 1.12 suporta essas taxas de baud e adiciona suporte para 9600 e 19200 baud. Para atualizar seu firmware, você precisará reprogramar a memória flash no chip do seu processador. Se você tiver um programador, pode baixar a versão atual na nossa página de Downloads e regravar o processador você mesmo.

A CMUcam1 funciona ao ar livre?#

A CMUcam1 funciona ao ar livre, mas não sob luz solar direta. A câmera CMOS que estamos usando não tem um filtro de IR de alta qualidade, então a luz solar satura os pixels vermelhos e a imagem se torna, essencialmente, monocromática sob luz solar direta. É possível adicionar um filtro externo para melhorar a operação ao ar livre. Temos um breve resumo que mostra como as condições de iluminação afetam a CMUcam1, que você pode baixar aqui.

Posso escrever código personalizado para a CMUcam1?#

Certamente. Para fazer isso, peça-nos o código-fonte do firmware, adquira um ambiente de programação C para o chip Ubicom e mãos à obra. Quando enviarmos o código-fonte do firmware, também enviaremos um resumo de como o código está estruturado e informações sobre o ambiente de programação que utilizamos.

Quanta energia a CMUcam1 consome?#

O sistema completo consome cerca de 200 miliamperes.

Qual é o campo de visão da CMUcam1?#

Isso depende da lente que você coloca na câmera CMOS. Se você pedir a câmera CMOS como ela é vendida por padrão, acabará com um campo de visão de cerca de 25 graus, que é relativamente estreito. No entanto, você pode encomendar sob medida lentes de ângulo mais amplo quando pedir a sua câmera CMOS.

Qual processador a CMUcam1 usa?#

Nosso código de processamento de imagem reside em um chip microcontrolador da Ubicom rodando a 75 MHz, o SX28AC. Este chip lê todos os pixels da câmera CMOS por meio de uma interface paralela e faz todo o processamento em tempo real. Em seguida, ele comunica os resultados ao seu microcontrolador ou computador por meio de uma interface de porta serial.

Qual câmera CMOS a CMUcam1 usa?#

Usamos uma câmera CMOS que utiliza a câmera CMOS em um chip OV6620 da OmniVision. Usamos uma placa de câmera CMOS de número de modelo C3088 na qual estão montados o sensor, um conector e uma lente.

A CMUcam1 funciona com outras câmeras CMOS?#

Não. Atualmente, o sistema de hardware e software foi projetado para funcionar especificamente com a câmera CMOS OV6620 da OmniVision. O sistema precisaria ser completamente reprojetado para funcionar com outra câmera.

Existe algum lugar onde eu possa encontrar respostas para perguntas adicionais que eu tenha?#

Sim. Temos algumas informações sobre perguntas mais técnicas nesta página.

Onde posso saber mais sobre visão computacional em geral?#

A CMUcam1 realiza a tarefa simples de visão computacional para a qual foi projetada em um pacote pequeno e barato. No entanto, o problema geral de visão computacional de tentar reconhecer objetos arbitrários sob condições arbitrárias ainda é um tópico de pesquisa muito ativo e muito longe de estar perto de ser um problema resolvido.

Se você quiser aprender mais sobre visão computacional, talvez queira experimentar estes links:

Perguntas Técnicas#

Qual é a sequência exata de passos executada na inicialização pelo modo demo?#

Aqui está a sequência exata que o modo demo executa na inicialização:

  1. Reinicie a câmera.

  2. Aguarde 5 segundos para que o ajuste automático dos parâmetros da câmera se estabilize.

  3. Envie a string de registro da câmera: CR 18 32 19 32 que seleciona o modo YCrCb e desliga o auto-ganho.

  4. Execute o comando TW.

Depois disso, a câmera começará a acionar um servo em direção à massa central da cor detectada pelo comando TW.

Qual é a sequência exata de passos executada pelo comando “TW”?#

Aqui está a sequência exata que o comando TW executa:

  1. Reduza a janela para 1/4 do tamanho (em cada dimensão) da janela atual, para uma nova janela centralizada no centro da janela atual.

  2. Chame get mean.

  3. Restaure a janela para o tamanho completo da imagem.

  4. Defina o valor máximo e mínimo de cada canal de cor como a média daquele canal +/- 30.

Depois disso, a câmera começará a transmitir pacotes do Tipo C, M ou N.

Sob quais condições o LED de rastreamento acende quando o modo automático está habilitado?#

O LED acenderá quando o valor retornado pixel_count >= 2. O valor retornado pixel_count = (actual_pixel_count + 4) / 8.

Se a câmera CMOS tem uma resolução de 352 x 288 pixels, por que a resolução da CMUcam1 é de apenas 80 x 143?#

A questão aqui é como as câmeras digitais coloridas funcionam. Em todas as câmeras digitais coloridas (mesmo as muito caras - exceto por algumas baseadas em alguma tecnologia muito avançada) você obtém apenas uma medição de canal de cor por localização de pixel; isso é chamado de filtragem mosaico. Aqui está um diagrama interessante que ajuda a explicar isso:

Mosaic

(Diagrama cortesia de Foveon, Inc.)

Assim, o que você pode ver é que os pixels podem ser pensados como organizados em grupos de quatro, onde há duas medições de G e uma de R e uma de B por grupo. Se você descartar uma das medições de G (o que fazemos), verá que a resolução real de uma câmera 352x288 é mais próxima de 176x144. Nós operamos a câmera no modo de meia resolução, que pula a cada dois blocos 2x2 horizontalmente, o que lhe dá 88x144. Devido às limitações de memória no processador, descartamos 8 colunas horizontalmente e uma linha verticalmente, que contém um padrão de teste, o que lhe dá 80x143 como resolução final.

Apenas para sua informação, câmeras digitais padrão usam técnicas complexas de interpolação para tentar preencher os valores de cor ausentes em cada pixel e lhe dar algo um pouco mais próximo da resolução total do sensor.

Como posso focar a CMUcam1 com precisão?#

É claro que a melhor maneira de proceder com a focagem é fazer despejos de quadro usando a GUI. Você pode não ter um computador à mão, ou pode estar usando uma CMUcam1 BotBall, que não tem resolução suficiente na sua taxa de baud fixa de 9600 para que isso funcione bem.

Nesse caso, há duas alternativas. Primeiro, você pode tentar contar as roscas. A lente não fica totalmente rosqueada no ponto de foco máximo. Em vez disso, há cerca de 1 milímetro de folga de rosca aparecendo. Em termos de número de roscas, isso corresponde a cerca de 2 roscas aparecendo na folga entre a lente e a montagem da lente.

A segunda alternativa baseia-se na ideia de que, quando uma imagem está nítida, as áreas escuras estão mais escuras e as claras mais claras. Em outras palavras, quando o contraste é maior. Quando a imagem se torna desfocada, então os extremos desaparecem para uma distribuição mais uniforme de intensidades. Assim, se você iniciar o modo de streaming e depois chamar GM (Get Mean), você pode focar em tempo real. Observe o desvio do vermelho. À medida que você foca nitidamente em um objeto de alto contraste (como um pedaço de papel com muita escrita) na distância desejada, haverá um pico perceptível no desvio do vermelho quando estiver mais nitidamente focado. Observe que essa abordagem de focagem exige que você mantenha a câmera e o alvo bem firmes enquanto gira a lente.