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.