You are on page 1of 9

Sistema de Gerao de Estratgias e Viso Computacional da Equipe de Futebol de Robs Ararangu Intruders

Thiago Steckert1, Elder D. Tramontin1, Anderson Luiz Fernandes Perez


1

Universidade Federal de Santa Catarina Campus Ararangu Laboratrio de Automao e Robtica Mvel Ararangu SC Brasil

thiagosteckert@hotmail.com, elder10010@hotmail.com, anderson.perez@ufsc.br

Abstract. This article describes the main features of the software architecture of the Robot Soccer Team Ararangu Intruders, participant of the F-180 category (Small Size League) of Robocup. The presented architecture is composed by two modules: Computer Vision and Strategy and Control. Keywords: Robot Soccer, Mobile Robotic, Artificial Intelligence, Strategies Generation, Computer Vision. Resumo. Esse artigo descreve as principais caractersticas da arquitetura de software da Equipe de Futebol de Robs Ararangu Intruders, participante da categoria F-180 (Small Size League) da Robocup. A arquitetura apresentada composta por dois mdulos: Viso Computacional e Estratgia e Controle. Palavras-chave: Futebol de Robs, Robtica Mvel, Inteligncia Artificial, Gerao de Estratgias, Viso Computacional.

1. Introduo
Com o intuito de incentivar o desenvolvimento de novas tecnologias foi criada, em 1997, a RoboCup. Ela consiste em uma competio internacional que tem por objetivo promover pesquisa e desenvolvimento na rea de robtica mvel e inteligncia artificial. A maioria das divises da liga RoboCup voltada para o futebol de robs, dentre estas, est a Small Size League (F-180), onde duas equipes de 5 robs, limitados com o dimetro mximo de 180mm e a altura mxima de 150mm, se enfrentam com base em regras semelhantes ao futebol. Tambm existem algumas categorias voltadas para outras reas de aplicao da robtica, como por exemplo a Home, que tem por objetivo a introduo de robs autnomos na sociedade, e Resgate, cujo desafio socorrer vtimas de um terremoto em um ambiente simulado (Kitano et al, 1997). O futebol de robs uma atividade multidisciplinar, uma vez que abrange conhecimentos de diversas reas, tais como mecnica, eletrnica e inteligncia artificial. Este domnio prope diversos desafios, pois os robs devem ser autnomos, devendo funcionar sem nenhum tipo de interveno humana. No jogo h regras a serem seguidas e o objetivo marcar o maior nmero de gols. Para isto necessrio ter uma arquitetura de software e hardware robusta e bem integrada. A arquitetura de software dividida basicamente em trs mdulos: Viso Computacional, Estratgia e Controle e

Comunicao. Este artigo ir descrever as principais caractersticas da arquitetura de software da Equipe de Futebol de Robs Ararangu Intruders. A seo 2 trar uma viso geral sobre sistemas de viso computacional, apresentando o SSL Vision, sistema oficial e de uso obrigatrio em competies oficiais da RoboCup para a categoria SSL F-180, e tambm o sistema de viso desenvolvido e utilizado pela equipe de futebol de robs Ararangu Intruders, que atua nesta categoria. Na seo 3 ser apresentado o mdulo de Gerao de estratgias e Controle, onde sero expostas as tcnicas utilizadas para o controle e movimentao dos robs.

2. Viso Computacional no Futebol de Robs


Os sistemas de viso computacional visam emular a viso biolgica. Eles so responsveis pela aquisio e extrao de pontos de interesse, provendo ao computador a capacidade de percepo do ambiente sobre o qual atua. A rea de Viso computacional est em crescente ascenso, pois ela essencial para o desenvolvimento de outras tecnologias, entre elas a robtica mvel. Na robtica mvel sistemas de viso so fundamentais para o reconhecimento do ambiente no qual o rob atua, sendo responsveis por extrair dados para que se possa realizar as tomadas de decises. Um exemplo de aplicao de um sistema de Viso Computacional na Robtica Mvel o futebol de robs. Um Sistema de Viso Computacional consiste em uma juno de hardware e software, onde cmeras cumprem o papel de entrada de dados e computadores e algoritmos, realizam a anlise e processamento das imagens. Ele deve ser capaz de reconhecer e extrair informaes relevantes sobre o estado e caractersticas de objetos presentes no ambiente onde ele atua. A juno de diversos fatores prejudica o desempenho dos sistemas de viso. Geralmente, antes de sua execuo necessrio que ele seja calibrado. A calibrao pode ser feita manualmente pelo operador, ou de forma autnoma pelo sistema, dependendo do tipo de aplicao. Durante este processo realizada a definio dos valores limites das cores dos elementos a serem identificados. Esse processo geralmente demorado e precisa ser refeito muitas vezes, pois em determinados ambientes pode haver variaes de interferncias de luz e de sombras (Gonzales, 2012). A maioria das cmeras de vdeo provm imagens no espao de cores RGB. Muitas vezes mais complicado trabalhar com este espao, devido a dificuldades na separao das cores, sendo necessrio realizar a converso de cada uma das imagens recebidas para o padro HSI. Isto exige a manipulao de cada um de seus pxeis, gerando atraso, podendo tornar o sistema ineficiente. Deve ser considerado que, durante a aquisio, pr-processamento, analise das imagens e extrao dos pontos de interesse, vo existir atrasos e o ambiente onde o sistema atua pode ser muito dinmico. Por isso essencial que o sistema minimize atrasos sabendo prev-los e trat-los de forma adequada (Filho; Soares; Tusset, 2010).

2.1 SSL-Vision
Durante as primeiras competies da Small Size League (SSL), a Viso Computacional era de responsabilidade de cada uma das equipes. Cada equipe tinha o seu prprio software e hardware de viso. Era permitido usar cmeras locais aos robs ou globais, localizados acima do campo ou nas laterais. A maioria das equipes utilizava duas

cmeras globais cada, fixadas acima do campo. Isto era um grande problema, pois a cada jogo era necessrio que cada equipe desmontasse e remontasse seu hardware de viso, tendo que calibr-lo novamente. Isto levava muito tempo. Para superar este problema a comisso da SSL optou por migrar para uma arquitetura de viso compartilhada, onde haveria apenas um conjunto de duas cmeras localizadas acima do campo que seriam conectadas a um servidor compartilhado com as equipes. O software para este servidor precisaria ser flexvel e escalvel, para suportar futuras alteraes e ser aberto a novas abordagens, no podendo restringir o desempenho das equipes de ponta. A partir destes critrios foi desenvolvido o SSL-Vision. Ele o sistema de viso computacional que est sendo utilizado pela RoboCup Small Size League desde 2010. Foi desenvolvido em C++, com a utilizao do Nokia Qt toolkit, seus plugins de captura suportam cmeras de vdeo IEEE 1394 / DCAM. Um dos objetivos principais do projeto deste sistema era que ele suportasse o processamento concorrente de imagens de mltiplas cmeras em uma nica aplicao, integrando as funcionalidades de configurao, visualizao e processamento. Para ter um melhor desempenho com as recentes arquiteturas multi-core e hyper-threaded ele utiliza uma abordagem multi-threaded, onde a thread principal responsvel pela interface grfica e o processamento de cada cmera ocorre em segmentos diferentes permitindo que as cmeras sejam processadas concorrentemente (Zickler et al., 2009). A Figura 1, ilustra a arquitetura do SSL-Vision.

Figura 1. Arquitetura do SSL-Vision. Extrado de (Zickler et al., 2009

3 Desenvolvimento de Sistema de Viso Computacional para Robs Mveis


O LARM, Laboratrio de Automao Robtica Mvel, ao qual a equipe Ararangu Intruders est vinculada, no possui cmeras de vdeo suportadas pelo SSL-Vison, o que impossibilita sua utilizao. Portanto foi necessrio desenvolvimento de um novo sistema de viso, para ser utilizado para treinos e testes de estratgia, adaptado as caractersticas de hardware do laboratrio. Durante o desenvolvimento do sistema, uma srie de fatores teve de ser considerado. Ele precisou ser totalmente compatvel com o restante da arquitetura de software e hardware da equipe, bem como com os protocolos de comunicao e tipos de dados retornados pelo SSL-Vision. Isto evitou que fosse necessrio fazer ajustes no sistema como um todo, o que teria certo nvel de complexidade, considerando que a equipe iria utilizar tambm o SSL-Vision, em pocas de competies. O sistema foi desenvolvido para Linux, na linguagem C++, utilizando o Nokia Qt toolkit, a biblioteca de funes OpenCV e o Google Protocol Buffers como mecanismo de serializao de dados. Houve um considervel reaproveitamento de cdigo do SSLVision, sendo que muitas classes foram reutilizadas. Optou-se pelo uso da linguagem C++ no s pela compatibilizao dos sistemas, mas tambm por seu bom desempenho, por ser uma linguagem de programao multiparadigma, de uso geral, por combinar caractersticas de baixo e alto nvel e pelo grande nmero de utilizadores, possuindo farta documentao disponvel. O ambiente de desenvolvimento utilizado foi o Qt Creator, por gerar um considervel aumento de produtividade, que em conjunto com o Qt toolkit possibilitou o desenvolvimento e edio da interface grfica de maneira eficiente. O OpenCV uma biblioteca de funes de cdigo aberto voltada para o desenvolvimento de aplicativos de viso computacional, desenvolvida pela Intel em 2000. Ela possui mdulos de lgebra Linear, Estrutura de Dados, Processamento de imagens e vdeo e interface grfica de usurio. Algumas classes desta biblioteca foram utilizadas, as quais foram de grande importncia para o desenvolvimento do sistema. O Google Protocol Buffers uma linguagem de serializao de dados para o uso em protocolos de comunicao e armazenamento de dados. O SSL-Vision o utiliza para a serializao dos pacotes com os resultados a serem enviados para os servidores de estratgia. Com a reutilizao destes pacotes, a entrada de dados do sistema de estratgia e controle ficou transparente, pois ele receber os mesmos dados independentemente do sistema utilizado. 3.1 Captura A Figura 2 mostra a interface grfica do sistema de Viso Computacional desenvolvido, ela retorna informaes sobre os robs e a bola, tais como posio e orientao. possvel definir quais os robs devero ser localizados. No centro da interface pode ser visualizada a imagem capturada.

Figura 2: Tela de Inicial do Sistema de Viso Computacional da Equipe de Competies Tecnolgicas Ararangu Intruders.

O sistema interpreta os robs atravs das cores, que so fixadas em cada um deles e de seu formato circular. Quando em execuo, ele far a analise de imagens frame a frame. Para a extrao de pontos de interesse a partir das imagens capturadas foram utilizadas duas tcnicas, a segmentao por thresholding e a transformada de Hough. Na segmentao por thresholding so selecionados pontos na imagem que esto entre um intervalo especificado de cores. Durante a Transformada de Hough so detectados pontos que possuem forma semelhante a um modelo parametrizado, nesse caso, o crculo. Inicialmente realizada a segmentao por thresholding da imagem, onde os pontos da imagem que esto entre o intervalo de cores so selecionados e os que no esto so descartados. Aps isto aplicado a Transformada de Hough, na imagem resultante da segmentao, com o objetivo de localizar formas circulares com o dimetro especificado (Duda; Hart, 1972). A juno destas duas tcnicas aumentou a confiabilidade e preciso do sistema, pois considera tanto as cores como o formato em crculo dos objetos a serem identificados. 3.2 Calibrao Uma ferramenta muito importante a Tela de Calibrao. Por ela so feitos os ajustes para que a entrada de dados no contenha rudos e o processamento ocorra perfeitamente. A figura 3 mostra a Tela de Calibrao do Sistema de Viso. Nela possvel determinar os parmetros da segmentao por thresholding e da Transformada de Hough. A imagem mostrada no centro uma visualizao das cores que esto dentro dos nveis mnimos e mximos de valores RGB setados previamente pelas ferramentas ao

lado. Em branco esto destacados os pxeis que possuem valores de RGB dentro dos limites.

Figura 3: Tela de Calibrao do Sistema de Viso Computacional da Equipe de Competies Tecnolgicas Ararangu Intruders.

A interface beneficia a rpida calibrao j que tudo pode ser feito de modo dinmico, em tempo de execuo, obtendo instantaneamente a imagem de retorno. Ainda na tela de calibrao, para facilitar e agilizar o processo, existem os opes para salvar e carregar predefinies. Com isso pode-se guardar as configuraes de cada cor em disco para que possam ser carregadas posteriormente. 3.3 Reconhecimento de Padres Para diferenciao dos robs, so utilizadas sequncias de cores diferentes para cada um, sendo a cor central responsvel pela identificao do time e as demais cores pela identificao do nmero do rob. O sistema utiliza uma disposio de cores diferente da usada como padro na SSL. A reta entre o crculo central e o crculo mais prximo deste representa a direo da frente do rob. Por meio de clculos geomtricos com a posio desses dois crculos obtida a orientao de cada rob. A partir dela, consegue-se identificar qual a ordem da sequncia de cores e obter a ID de cada um.

4. Gerao de Estratgia e Controle


O sistema de controle e estratgia responsvel por receber as informaes do sistema de viso, fazer o processamento das informaes e realizar a tomada de decises, j que durante a partida os robs so completamente autnomos. Ao obter, por meio do sistema de viso, a localizao dos elementos no campo, o sistema de estratgia definir

dinamicamente um estado para cada um dos robs, que corresponder a sua funo na partida. Existem 5 estados: Goleiro, Defensor, Marcao, Seguir Bola e Atacante. O goleiro se mantm parado no centro do gol enquanto a bola est longe e os adversrios no esto em posio de chute, para poupar gasto de bateria desnecessrio. Quando os adversrios esto prximos a bola e orientados para o gol, o goleiro se desloca para a posio a qual a direo dos adversrios se projeta na trave, j que este ser o possvel destino da bola. Realizado o chute, ele passa a levar em conta s a projeo da bola em direo ao gol. O rob defensor, analogamente, age para evitar a situao de chute do atacante adversrio, se posicionando no campo de defesa entre a bola e o gol. O estado marcao tem o objetivo de bloquear as jogadas dos robs adversrios, buscando impedir passes, chutes e evitar que a bola chegue ao campo de defesa. O estado Seguir Bola faz que o rob se aproxime da bola, posicionando-se atrs dela, e ativando o sistema de domnio de bola, de modo a carreg-la para frente. Com a bola dominada, ele poder armar uma jogada, realizar um passe ou concluir a gol disparando o mecanismo de chute. Por fim o rob atacante procura se posicionar no campo de ataque, buscando receber um passe ou um rebote que lhe de chances de concluir a gol. Para a movimentao sem choque entre os jogadores, de mesmo time ou adversrios, utilizado o algoritmo de busca A*, que ir considerar as posies de todos os jogadores em campo, para definir a melhor trajetria entre o rob e sua posio destino, gerando uma trajetria em tempo real de modo a evitar colises, respeitar as regras do jogo e as decises do rbitro. Algumas das heursticas utilizadas so: Best First Search, Euclidean e Manhattan (Hart; Nilsson; Raphael, 1968). Para uma melhor movimentao, e aproveitando a disposio das rodas, a estratgia pondera as velocidades em cada uma das 4 rodas, para que, mesmo tendo de girar, os robs andem sempre visando uma trajetria reta. De acordo com as trajetrias definidas, um algoritmo de controle ir adequar cada um dos robs a sua respectiva trajetria definindo algumas variveis como direo, velocidade e fator de acelerao para cada uma das rodas de cada rob, informando tambm quando o rob dever acionar os sistemas de domnio, chute a gol ou chute para troca de passes. Essas informaes so passadas para o sistema de comunicao, que faz a transmisso via rdio frequncia para cada um dos robs.

Figura 4: Tela do Sistema de Gerao de Estratgias e Controle da Equipe de Futebol de Robs Ararangu Intruders.

A figura 4 mostra a interface do sistema, onde se podem visualizar os dados recebidos pelo sistema de viso, assim como as decises do rbitro e selecionar alguns parmetros relevantes, como definir o lado do campo onde o time jogar, qual ser a cor da equipe e tambm quais robs estaro ativados, podendo-se visualizar o estado que o sistema define para eles.

5. Consideraes Finais
Apesar de a equipe estar muito longe de ter o hardware ideal, que seja compatvel com equipes de ponta, o que dificulta e limita muito o desempenho, desenvolvimento e testes dos sistemas, a arquitetura de software da Equipe de Futebol de Robs Ararangu Intruders, continua em constante desenvolvimento e aperfeioamento. Foram analisados conceitos de Viso Computacional e realizado um estudo detalhado do SSL-Vision, para que fosse possvel desenvolver um sistema de Viso que se adequasse a arquitetura de Hardware e Software da equipe e possibilitasse o uso de web cams comuns. O mdulo de Viso Computacional mostrou-se eficiente na captura e extrao de imagens, possuindo certa preciso na identificao de pontos de interesse. Porm, ele no reage bem a interferncias no ambiente. Mudanas de luminosidade e sombras assim como certos atrasos de processamento podem atrapalhar o seu desempenho. O mdulo de Gerao de Estratgias e Controle foi testado apenas em um ambiente simulado, com a utilizao do simulador de cdigo aberto grSim(Monajjemi; Koochakzadeh; Ghidary, 2012). Este mdulo mostrou-se flexvel, pelo fato de poder receber dados de viso do SSL-VISION, do sistema de viso da equipe ou do simulador grSim e gerar estratgias tanto para simulao quanto para um ambiente real. E escalvel pelo fato de possibilitar futuras atualizaes, sem comprometer o resto da arquitetura.

Referncias
Duda, R.; Hart, P. Use of the Hough transform to detect lines and curves in pictures. Graphics and Image processing. Filho, P. L. P.; Soares, J. C.; Tusset, M, A.;. Utilizao de um Sistema de Viso Computacional para o Controle de um Rob Mvel. 9th Brazilian Conference on Dynamics, Control and their Applications. Serra Negra, SP. Junho 07-11, 2010. pag 817-823. Gonzales, R. C. Woods, R. E. Processamento de Imagens Digitais. Edgard Blucher, 2000. Hart, E. P.; Nilsson, N. J.; Raphael, B.; A Formal Basis for the Heuristic Determination of Minimum Cost Paths. IEEE Transactions of Systems Science and Cybernetics, vol. ssc-4, NO. 2, July 1968, Pages 100-107. Kitano, H.; Asada, M.; Kuniyoshi, Y.; Noda, I.; Osawa, E.; RoboCup: The Robot World Cup Initiative .Proceedings of the first international conference on Autonomous agents , 1997, pp. 340-347. Monajjemi V.; Koochakzadeh A.; Ghidary. S. S.; grSim RoboCup Small Size Robot Soccer Simulator. Lecture Notes in Computer Science, 2012, Volume 7416, RoboCup 2011: Robot Soccer World Cup XV, Pages 450-460. Zickler S.; Laue T.; Birbach O.; Wongphati M. Veloso M.;SSL-Vision: The Shared Vision System for the RoboCup Small Size League. RoboCup 2009: Robot Soccer World Cup XIII. Springer. 2009. 425-436.

You might also like