Última alteração: 2011-09-19
Resumo
O projeto desenvolvido criou material didático para aulas de visão computacional em laboratório, utilizando a biblioteca OpenCV, de código aberto e voltada a utilizações em tempo real. Este tipo de aplicação é muito útil na área da robótica, e para demonstrar este vínculo foi construída uma aplicação física da visão robótica, um veículo seguidor autônomo.
Um brinquedo de radiocontrole foi adaptado para suportar uma câmera sem fio a bordo (no caso, um aparelho celular). Seu objetivo é encontrar, no ambiente visto pela câmera, um símbolo preto-e-branco previamente definido, com contorno escuro, impresso em uma folha de papel. Se o símbolo for encontrado, o veículo vai em direção a ele se este estiver distante ou se afasta dele se este estiver muito próximo, visando manter uma distância constante de aproximadamente 1 metro entre o veículo e o símbolo mesmo que este se movimente.
Todos os quadros da câmera são enviados através de uma interface sem fio para um computador próximo. Cada imagem obtida é inicialmente filtrada para bloquear ruídos do processo de captação. Em seguida ela é convertida para escala de cinza e posteriormente tornada binária (apenas preto e branco) com 5 limiares diferentes para cobrir diversas possibilidades de luminosidade sobre o símbolo. Em cada uma das imagens procura-se por regiões quadradas de fronteira entre claro e escuro, para buscar o contorno externo do símbolo. Dentro de cada uma destas regiões é executada uma comparação entre os momentos planos de ordem até 3 das figuras internas ao quadrado encontrado na imagem e o símbolo previamente definido armazenado na memória do computador. Se essa comparação for menor que um limiar ajustável o símbolo é considerado encontrado.
Se isto acontecer, o computador envia um comando em uma saída USB para um microcontrolador adaptado no controle remoto do veículo, comandando-o para se mover em uma determinada direção. Com o veículo reposicionado, uma nova imagem é enviada ao computador reiniciando o ciclo.
O sistema consegue desempenhar sua função mesmo considerando os ruídos de uma implementação real. No entanto, o posicionamento do veículo é impreciso devido à mecânica deste o que não garante a distância prevista dele para o alvo.