Baixe o app para aproveitar ainda mais
Prévia do material em texto
VII SBAI/ II IEEE LARS. São Luís, setembro de 2005 O TIME POTI DE FUTEBOL DE ROBÔS DA UFRN Auciomar C. T. de Cerqueira1, Filipe C. de A. Lins1, Jonathan P. P. Pereira1, Pablo J. Alsina1, Adelardo A. D. Medeiros1 goi, campos, jonathan, pablo, adelardo@dca.ufrn.br 1Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação UFRN-CT-DCA – Campus Universitário – 59072-970 Natal-RN Brasil ABSTRACT This paper presents POTI, the robot soccer team developed by DCA-UFRN. We present some construction aspects of the overall structure, the robots and the transmitters, as well as some implementation characteristics of the perception, strategy definition and robot control modules. KEYWORDS: Robot soccer, Poti. RESUMO Este artigo apresenta a equipe POTI, desenvolvida pelo DCA-UFRN para disputa de jogos de futebol de robôs. São apresentados alguns aspectos de construção da estrutura do jogo, dos robôs e dos transmissores, além de algumas características de implementação dos módulos de percepção, definição de estratégia e controle dos robôs. PALAVRAS CHAVES: Futebol de robôs, Poti. 1 INTRODUÇÃO A equipe POTI de futebol de robôs foi desenvolvida no DCA-UFRN [Yamamoto et al., 2004], sendo composta de três robôs principais e três robôs reservas. Para auxiliar o desenvolvimento dos módulos e facilitar os testes, foi também implementado um simulador em tempo real [Yamamoto et al., 2003].para o futebol de robôs, com as características específicas da equipe POTI A maior parte do processamento é realizada externamente, em computadores que se comunicam com os robôs via rádio. Podemos dividir o sistema como um todo em cinco módulos: robô, percepção, estratégia, controle e comunica- ção. Este esquema pode ser visto na figura 1. Figura1: Arquitetura do Sistema de futebol de robôs. Os aprimoramentos mais recentes na equipe POTI, descritos neste artigo, visam incorporar maior robustez aos sistema de percepção, estratégia e controle. 2 OS ROBÔS Os robôs da equipe foram construídos em acrílico de modo a não ultrapassar as dimensões de um cubo com aresta de 7,5cm (figura 2). Figura 2: Robô. VII SBAI/ II IEEE LARS. São Luís, setembro de 2005 2 O sistema de tração de cada robô é composto por dois motores DC e duas rodas de raio 3,3cm, que estão em contato direto com os motores (acionamento direto). Sem as engrenagens de redução, o jogador apresenta uma boa velocidade final, mas sua controlabilidade fica prejudicada. Cada robô possui ainda um receptor FM Radiometrix RX2, responsável pela captura das informações enviadas pelo computador, e um microcontrolador PIC16F876, além de oito pilhas 1,2V e diversos componentes discretos. Para o acionamento dos motores é utilizado um circuito integrado L293 que possui duas pontes-H. O microcontrolador gera a modulação em largura de pulso (PWM), necessária para aplicar ao motor a tensão solicitada. 3 SISTEMA DE PERCEPÇÃO O sistema de aquisição da imagem é constituído de uma estrutura de iluminação e uma câmera, localizados acima do campo (figura 3) e de uma placa de aquisição de imagem National PCI 1411, que fornece uma imagem a uma taxa de 30 quadros por segundo. A superfície do campo é preta, a bola é de cor laranja e cada robô possui obrigatoriamente um rótulo azul ou amarelo, indicando o seu time. No nosso caso, um segundo rótulo nas cores verde, rosa e ciano distingue os jogadores. Figura 3: Estrutura de iluminação e câmera. Figura 4: Configuração das cores do jogo. O sistema de percepção deve enfrentar dois desafios principais, a serem rapidamente resolvidos em tempo real: • fazer a segmentação da imagem; • uma vez segmentada, etiquetar os objetos. 3.1 Segmentação A segmentação de uma imagem consiste em reconhecer se um determinado pixel faz parte de um objeto (robô ou bola) ou do campo. Para isso duas filosofias foram testadas: • limiar de luminância; • desvio em relação a uma imagem padrão. 3.1.1 Limiar de luminância Como o campo é majoritariamente preto, a luminância (média das componenentes R, G e B) dos seus pixels é baixa. Portanto, para fazer a segmentação, basta que se defina um limiar de luminância, abaixo do qual um pixel é considerado como pertencente ao campo. A limitação desta abordagem é que as linhas brancas de marcação do campo não poderão ser separadas dos objetos (figura 5). Figura 5: Imagem segmentada com limiar de luminância. 3.1.2 Comparação com imagem padrão Inicialmente são adquiridas 100 imagens do campo vazio. Para cada pixel computam-se os valores médios e os desvios padrão de suas componentes RGB. O limiar RGB é o número de desvios padrão, que define faixas em torno dos valores médios RGB de cada pixel do campo vazio. Pixels dentro destas faixas serão considerados como campo. A limitação desta técnica é que alguns pixels próximos aos objetos são incluídos no objeto (figura 6). Figura 6: Imagem segmentada com limiar RGB. VII SBAI/ II IEEE LARS. São Luís, setembro de 2005 3 3.1.3 Estratégia adotada Para a solução destes problemas utilizou-se a conjunção das duas abordagens anteriores. Apenas os pixels considerados como pertencentes a algum objeto em ambos os casos serão considerados como tal. Isto permite segmentar eficiente- mente a imagem. (figura 7). Figura 7: Imagem segmentada. 3.2 Etiquetagem Etiquetar um objeto consiste em identificá-lo como sendo um dos robôs ou a bola. Cada imagem adquirida pela placa de aquisição é percorrida a procura de pixels que sejam segmentados como pertencentes a objetos. Caso isso ocorra, é feita uma busca na sua vizinhança, a fim de se encontrar mais pixels que sejam deste mesmo tipo, formando assim uma região (conjunto de pixels vizinhos segmentados como objetos). Então, cada uma delas é rotulada com a sua coordenada central, com a sua quantidade de pixels e com sua cor média (valor médio RGB dos pixels da região). Durante a calibração, conforme se verá a seguir, foram definidos valores RGB nominais (centróides) para cada um dos objetos que participam do jogo. Durante a execução, calcula-se a distância euclidiana da cor média da região para cada um dos centróides de cor calculados na calibração off-line. A cor do centróide menos distante do valor médio RGB será a etiqueta de cor da região. Uma vez rotuladas, as regiões são co-relacionadas: aquela que apresentar uma cor mais próxima do centróide laranja será a bola; os rótulos amarelos nunca podem ser agrupados com os azuis para representar um robô, pois identificam times diferentes; regiões distantes não podem representar um robô, pois estes possuem uma dimensão limitada de 7,5cm. Seguindo essa linha de raciocínio, obtém-se no final deste módulo a localização de cada objeto, a qual será usada no desenvolver da estratégia. 3.3 Calibração off-line Antes do início da partida, alguns dados são coletados por um programa separado do sistema principal. Através de clicks, o usuário informa quais são os pontos notáveis do campo na imagem adquirida (pixels que delimitam o campo e as quinas da área), bem como os dois limiares utilizados na segmentação. Os pontos notáveis, além de delimitarem a região de varredura da imagem em tempo real, permitem calibrar os parâmetros intrínsecos e extrínsecos da câmera, tornando precisa a conversão de pixels para centímetros. Além disso, o usuário fornece a etiqueta de cor de cada região segmentada em uma imagem inicial, que deve conter todos os robôs e a bola. A partir destas etiquetas fornecidas são calculados os centróides de cada região, a serem utilizados durante a fase de etiquetagem em tempo real. 4 ESTRATÉGIA A estratégia desenvolvida [Yamamoto, 2005] baseia-se no conceito de papéis [Stone and Veloso, 1999]. Determinamos um conjunto pré-definido de papéis, tais como goleiro, alinhar, chutar e conduzir, e atribuímos dinamicamente estes papéis aos jogadores. O princípiogeral da estratégia é que o robô mais próximo do gol faça o papel de goleiro, o jogador mais próximo da bola assuma o papel de alinhar, chutar ou conduzir e o terceiro robô tenha diferentes papéis, como defender ou esperar. O robô com o papel goleiro se posiciona em frente ao gol do próprio time. O robô mais próximo da bola tenta se posicionar para colocá-la entre ele e o gol adversário; quando o consegue, pode chutar a bola (se estiver no ataque) ou conduzi-la (caso esteja na defesa). O terceiro robô pode tomar ações distintas de acordo com a situação do jogo. Se o time estiver ganhando, ele se posicionará no campo de defesa tentando bloquear a bola. Já se o time estiver perdendo, ele atuará como um segundo atacante, posicionando-se para aproveitar as bolas perdidas. 5 CONTROLE A partir das referências geradas pelo módulo de estratégia, o controle calcula as tensões a serem enviadas aos motores. A estratégia adotada [Vieira et al., 2004] se baseia em uma modelagem linear dos robôs, o que permite a adoção de técnicas clássicas de controle. Figura 8: Controladores angular e linear do robô. De forma resumida, a abordagem adotada se baseia na separação do controle de posição em dois controladores independentes: um controlador angular e um controlador VII SBAI/ II IEEE LARS. São Luís, setembro de 2005 4 linear, conforme indicado na figura 8. O controlador angular se preocupa em apontar o robô para a referência desejada, enquanto o controlador linear procura posicioná- lo, ao longo da reta que coincide com sua orientação atual, no ponto R mais próximo da referência desejada. 6 SISTEMA DE COMUNIÇÃO Os módulos transmissores possuem um transmissor FM Radiometrix TX2, um microcontrolador PIC16F877, uma antena e componentes discretos. A informação é recebida do computador através da porta paralela e serializada pelo PIC. A taxa de transmissão é de 9.600Kbps. O protocolo de comunicação com os robôs envia ciclicamente um start byte seguido de seis bytes que contêm o valor das tensões desejadas para os dois motores de cada um dos três robôs do time. Em cada byte de velocidade, o primeiro bit indica o sentido de rotação do motor e os sete bits restantes o valor da tensão a ser aplicada, em percentual da tensão máxima. Cada robô leva em conta apenas os dois bytes que lhe dizem respeito. 7 CONCLUSÃO A equipe POTI foi inteiramente projetada e construída localmente, com custos bastante reduzidos (exceto pela placa de aquisição de imagens). Alguns aspectos que se mostraram importantes para o bom resultado do projeto foram a redução de ruídos elétricos nos robôs, a calibração inicial do sistema de visão e o tratamento de situações especiais (bola presa, quinas, etc.) na estratégia. Várias modificações e inovações foram feitas desde o início do projeto. No momento é investigada a possibilidade de incorporação de mecanismos de aprendizado ao sistema. REFERÊNCIAS Stone, P. and Veloso, M. (1999). Task decomposition, dy- namic role assignment and low-bandwidth commu- nication for real-time strategic teamwork. Artificial Intelligence, 110(2):241-273. Vieira, F. C., Medeiros, A. A. D., Alsina, P. J., and Araújo Jr., A. P. (2004). Position and orientation control of a two-wheeled differentially driven nonholonomic mobile robot. In Submitted to ICINCO - Internatio- nal Conference on Informatics in Control, Automa- tion and Robotics, Setúbal, Portugal. Yamamoto, Marcelo M. (2005). Planejamento Cooperativo de Tarefas em um Ambiente de Futebol de Robôs. Dissertação de Mestrado defendida junto à UFRN, Natal, RN, Brasil, 08/2004. Yamamoto, Marcelo M.; Araújo Jr., Antônio P.; Alsina, Pablo J.; Medeiros, Adelardo A.D. A equipe POTI de futebol de robôs (The POTI team of robot soc- cer). I JRI - Jornada de Robótica Inteligente. Salva- dor, BA, Brasil, 08/2004. Yamamoto, M. M., Pedrosa, D. P. F., and Medeiros, A. A. D. (2003). Um simulador dinâmico para mini-robôs móveis com modelagem de colisões. In SBAI – Sim- pósio Brasileiro de Automação Inteligente, Bauru, SP, Brasil.
Compartilhar