Módulo de captura de imagens do sistema Sci- soccer
Transcrição
Módulo de captura de imagens do sistema Sci- soccer
1 Módulo de captura de imagens do sistema Scisoccer Rafael Antonio Barro [1] Jailton Farias de Carvalho [2] Resumo: Este artigo descreve como funciona o módulo de captura de imagens do software Sci-soccer, que tem como principal função capturar imagens da câmara de vídeo para realizar o rastreamento dos robôs e da bola e determinar suas posições através de técnicas de processamento de imagens dando ênfase a configuração e identificação do robô. Para uma boa captura das imagens é necessário que o ambiente não sofra com variações muito grande de luz, o ideal é que a iluminação do campo esteja dentro da faixa de 500 lux possibilitando o reconhecimento da imagem. Palavras-Chave: Robocup, Sci-soccer, captura de imagens, robôs. I. INTRODUÇÃO A Robocup é uma competição que se iniciou em 1997, com o objetivo de desenvolver a Inteligência Artificial (IA), a robótica e campos relacionados. Aos poucos, a Robocup foi adquirindo prestígio e transformando o futebol de robôs em uma tradição com reconhecimento internacional. As competições de futebol de robôs são uma tentativa de promover o desenvolvimento científico e tecnológico nas áreas de Robôs Autônomos e Mecatrônica. Estas competições possuem grande parte dos desafios encontrados pela robótica móvel do mundo real, tais como, navegação em ambientes dinâmicos, exploração de ambiente, realização de procedimentos de contingência em ambientes perigosos ou insalubres e monitoramento ambiental. Durante uma partida de futebol de robôs existe um sistema de visão computacional global, situado sobre o campo, responsável por rastrear todos os jogadores e a bola, fornecendo para o sistema de estratégia as suas respectivas posições. Com a informação da posição dos jogadores e da bola, o sistema de estratégia vai determinar uma nova ação que será executada pelo robô. Para que a informação chegue ao robô jogador, há um protocolo de comunicação responsável por transmitir uma mensagem do computador para o robô. Os motores, as rodas e os dispositivos mecânicos e eletrônicos presentes no robô são responsáveis por executar a ação recebida. O sistema de futebol de robôs desenvolvido, denominado Sci-Soccer, inclui os robôs (de um a cinco por time), o rádio Rafael Antonio Barro, Centro Universitário Central Paulista – Unicep. e-mail: [email protected] Jailton Farias de Carvalho, Centro Universitário Central Paulista – Unicep. e-mail: [email protected] base e o software, com bibliotecas para desenvolvimento e interface do jogo. O hardware dos robôs foi desenvolvido considerando as normas da Robocup, categoria Small Size, e utilizando comunicação wireless (rádio base). O software do Sci-Soccer é uma interface gráfica que envolve quatro módulos: (i) Módulo de captura de imagens; (ii) Módulo de rastreamento; (iii) Módulo de comunicação; (iv) Módulo de estratégia de jogo. As características principais do software do Sci-Soccer são: (i) Captura das imagens da câmera para realizar o rastreamento dos robôs e da bola; (ii) Processamento das imagens recebidas para determinar a posição dos mesmos; (iii) Carregamento da estratégia de jogo; (iv) Comunicação entre o robô e o computador. O software é livre de maneira que possa ser adequado às necessidades do usuário e também possibilita a criação e execução de novas estratégias de jogo. O software Sci-Soccer foi desenvolvido para ser utilizado nos sistemas operacionais Debian 6 ou Ubuntu 10.10 [3]. II. REQUISITOS RECOMENDADOS DE HARDWARE O software Sci-Soccer foi instalado e testado em dois computadores com configurações distintas: (i) O primeiro computador com processador AMD Athlon 64, dois clocks de 2.5 GHz e 2 GB de memória RAM utilizando o Sistema Operacional Debian 6 com kernel 3.2 e GNOME 3; (ii) O segundo computador com processador Intel Pentium Dual Core 3.2 GHz e 1 GB de memória RAM utilizando o Sistema Operacional Ubuntu 10.10 com kernel 2.6 e GNOME 2. Os testes realizados mostraram que estas configurações foram suficientes para a integração e funcionamento dos módulos de captura, rastreamento, estratégia e comunicação. Além das configurações citadas acima, é necessário que o computador tenha uma porta USB 1.1 ou superior e uma placa de captura (ou aquisição) de vídeo. 2 III. SISTEMA DE AQUISIÇÃO DE IMAGENS O software Sci-Soccer utiliza técnicas de processamento de imagens para determinar as posições dos robôs e da bola. Para realizar a aquisição de imagens, o sistema necessita de um hardware específico, que inclui uma câmera de aquisição, uma lente varifocal (com autoíris) e uma placa de captura de vídeo. Caso tenha uma captura de imagens pela câmera de vídeo rápida e o processador do computador for lento, acaba ficando limitado pela velocidade do processador, pois o sistema utiliza uma fila para capturar a imagem. Agora se a captura das imagens pela câmera for lenta e o processador do computador for rápido, fica limitado pelos frames por segundo da câmera [1]. Uma deficiência do processador ou do sistema de captura de vídeo faz com que imagens sejam descartadas. Figura 2. Tabela de iluminância e cálculo luminotécnico. IV. CÂMERA As imagens são obtidas a partir de uma câmera posicionada sobre o campo, aproximadamente a quatro metros de altura. A câmera deve ter as seguintes especificações: (i) Câmera de vídeo colorida; (ii) Sensor CCD; (iii) Obturador eletrônico com modos de ajustes manuais (1/60, ..., 1/100.000); (iv) Formato de vídeo NTSC (525 linhas); (v) Conector de saída BNC; (vi) Compatível com lentes DC (DC Íris), com controle automático de ganho (AGC). A câmera é conectada à placa de captura de vídeo por meio de um cabo blindado (por exemplo, cabo coaxial), como mostrado na Figura 1, com comprimento suficiente que permita a conexão, tendo até 20 metros [3]. VI. PLACA DE CAPTURA O software Sci-soccer é executado no sistema operacional Linux. As placas de captura, melhor suportadas por este sistema operacional, são as que possuem driver bttv, pois incluem a maior parte das placas PCI de baixo custo, como as PixelView PlayTV, PixelView PlayTV Pro e Pinnacle PCTV Studio/Rave e vários outros modelos [3]. Figura 3. Exemplo de placa de captura PlayTV MPEG2. VII. CALIBRANDO O CAMPO Figura 1. Ilustração do sistema adotado no futebol de robôs. V. ILUMINAÇÃO DO CAMPO Uma variação muito grande de luz impossibilita o reconhecimento da imagem. Para uma boa captura das imagens é recomendado que a iluminação do campo estivesse dentro de uma faixa de 500 lux [1]. Na Figura 2 existe uma tabela de como fazer o cálculo da luminosidade do ambiente [2]. Execute o programa Sci-soccer por meio do terminal no Linux e digite sciSoccer e pressione Enter. Ao iniciar o programa seguir os passos descritos para a calibração do campo [3]. A Interface do Sci-soccer tem poucos recursos no seu menu, facilitando assim a configuração por parte de novos usuário. No canto inferior esquerdo do menu tem as coordenadas do campo e as coordenadas da imagem sendo diferenciada pela origem. São fornecidas também as informações em HSI(Hue,saturation,intensity) e em RGB(red,Green,blue) do ponto que esta o cursor, informações em tempo real, conforme figura 4. 3 Figura 4. Coordenadas do campo, imagem. Passo 1: Ative o checkbox conforme a Figura 5. Figura 7. Opções de calibração. VIII. CALIBRANDO OS ROBÔS PARA IDENTIFICAÇÃO Figura 5. Opções de calibração. Passo 2: Clique no menu calibrações > campo, conforme a Figura 6. Execute o programa Sci-soccer por meio do terminal no Linux e digite sciSoccer e pressione Enter. Ao iniciar o programa seguir os passos descritos para a calibração dos robôs [3]. Passo 1: Ative o checkbox conforme a Figura 8. Figura 6. Opções de calibração. Passo 3: Posicione a câmera no centro do campo e mexa nos valores até que a demarcação na tela se alinhe com o campo. Em seguida clique em ”Feito”, conforme a Figura 6. A movimentação é dada em coordenadas X e Y, alterando a escala e distorção, pois dependendo da altura da câmera o campo pode ficar oval. Figura 8. Opções de calibração. Passo 2: Clique no menu calibrações > identificações, conforme a Figura 9. . Figura 9. Menu Calibração. Passo 3: Ative o checkbox Amostragem e coloque Raio =1, Quadros = 2 e Substituir, conforme a Figura 10. Pega a menor e maior tonalidade, saturação e intensidade de todos os pontos amostrados usando o critério do raio e do número de quadros substituindo a regra e expandi esse hiperespaço como se ele guardasse os pontos anteriores e colocando esses pontos a mais [1]. 4 identificação não estiver muito boa, ou seja, quando está pegando outros objetos e partes do campo repita o passo 5. Figura 13. Identificando a cor do time. Figura 10. Opções de Amostragem. Passo 7: Faça os passos de 4 a 6 com os dois times. Passo 8: Clique em amostrar no campo bola para poder identificar a bola, conforme Figura 14. Passo 4: Ative o checkbox Amostrar no time a ser identificado, conforme Figura 11. Figura 11. Opções de Amostragem. Passo 5: Clique no círculo do meio que está em cima do robô do time. Este círculo identifica a cor do time, conforme Figura 12. Figura 12. Identificando a cor do time. Passo 6: Confirme se há um círculo identificando apenas os robôs do mesmo time, conforme Figura 13. Caso a Figura 14. Identificando a bola. Passo 9: Clique na bola até que ela seja identificada com um quadrado vermelho no jogo sem problemas, conforme figura 15. Figura 15. Selecionando a bola. Passo 10: Ative o checkbox Amostrar no campo laterais, conforme Figura 16. 5 se o software está identificando apenas o que você está pedindo, conforme Figuras 18 e 19. O exibir regra é a forma que o software está entendendo pelas cores selecionadas (após o filtro-segmentação) [1]. Figura 16. Identificando as laterais. Passo 11: Selecione adicionar, conforme Figura 17. Figura 19. Exibição de regras. Figura 17. Adicionando configurações. Passo 12: Clique nas laterais dos robôs para o software identificar a frente de cada um, conforme Figura 18. Figura 20. Visualiza os robôs que estão sendo identificados. Passo 14: Se estiver correta a identificação conforme sua visualização, clique em “Feito”, conforme Figura 21. Figura 18. Identificando a frente de cada robô. Passo 13: Para visualizar se os robôs e a bola estão sendo identificados corretamente, basta clicar em exibir regra e ver Figura 21. Salvando a identificação das laterais dos robôs. 6 IX. CONSIDERAÇÕES FINAIS O propósito deste artigo foi o de apresentar o funcionamento do módulo de captura de imagens do sistema Sci-soccer. Apresentamos também o rastreamento dos robôs, da bola e a calibração do campo, podemos observar que a interface do sistema Sci-soccer é bem simples, com um menu pouco carregado, facilitando assim a configuração por parte de novos usuários. X. REFERÊNCIAS BIBLIOGRÁFICAS [1] XBOT 1http://www.xbot.com.br/help_sci_soccer/?page_id=23 – Acessado em 05/06/2013. [2] XBOT 2- http://www.xbot.com.br/help_sci_soccer/wpcontent/uploads/tabela.png - Acessado em 05/06/2013. [3] XBOT 3http://www.xbot.com.br/externo/cd_scisoccer/Manual_Sci -Soccer_v2.0%20novo.pdf – Acessado em 05/06/2013.