Academia.eduAcademia.edu

Controladores Fuzzy Para Agentes Robôs Jogadores De Futebol

2007, Workshop de Trabalhos de …

This paper presents the initial research results of Bahia Robotics Team. This is a new research group created to investigate the application of artificial intelligence methods in the standard problem of robotics soccer. In this work, fuzzy controllers are used to improve some abilities of the players. In the case of the attackers, the kick and the positioning ability were improved. The midfielders had their positioning and passing ability improved. The goalkeeper and the defenders had their positioning ability improved. The generated Bahia2D soccer team was tested in matches against some victorious teams from Robocup Brazil Open 2006 and from previous editions of the Robocup World Competition. The positive results achieved and the ongoing works to improve the current limitations are also presented.

Controladores Fuzzy para Agentes Robôs Jogadores de Futebol* Hugo da Luz Silva1, Jessica Meyer1, Victor Souza1, Simon Viegas2, Marco A. C. Simões1, 2, Helder Guimarães Aragão2 1 Núcleo de Arquitetura de Computadores e Sistemas Operacionais (ACSO) Universidade do Estado da Bahia (UNEB) Rua Silveira Martins, 2555, Cabula. Salvador – BA – Brasil 2 Grupo de Pesquisa em Computação Inteligente (GPCI) Centro Universitário da Bahia (FIB) Rua Xingu, nº. 179, Jardim Atalaia/STIEP. Salvador – BA – Brasil [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] Abstract. This paper presents the initial research results of Bahia Robotics Team. This is a new research group created to investigate the application of artificial intelligence methods in the standard problem of robotics soccer. In this work, fuzzy controllers are used to improve some abilities of the players. In the case of the attackers, the kick and the positioning ability were improved. The midfielders had their positioning and passing ability improved. The goalkeeper and the defenders had their positioning ability improved. The generated Bahia2D soccer team was tested in matches against some victorious teams from Robocup Brazil Open 2006 and from previous editions of the Robocup World Competition. The positive results achieved and the ongoing works to improve the current limitations are also presented. Key Words: Fuzzy Logic, Robots' Soccer, Robocup. Resumo. Este artigo apresenta os resultados iniciais do grupo de pesquisa Bahia Robotics Team. Neste trabalho, controladores fuzzy são usados para melhorar algumas habilidades dos jogadores. Para os atacantes, o chute e o posicionamento foram aperfeiçoados. Os meiocampistas tiveram seu posicinamento e tomada de decisões abordados. Goleiro e defensores tiveram o posicionamento tratado. O time gerado Bahia2D foi testado em partidas contra algumas equipes vitoriosas no Ropocup Brasil Open 2006 e em edições anteriores da competição mundial da Robocup. Apresenta também os resultados positivos obtidos até o momento, bem como os trabalhos em andamento para solucionar problemas que ainda são encontrados. Palavras chave: Lógica Fuzzy, Futebol de Robôs, Robocup. * Este projeto é parcialmente financiado pelos Programas de Bolsas de Iniciação Científica PICIN/UNEB e PIBIC/FIB. 1. Introdução Este artigo apresenta os primeiros resultados do projeto de pesquisa desenvolvido pelo consórcio denominado Bahia Robotics Team (BRT). O BRT é uma união de dois grupos de pesquisa – o Núcleo de Arquitetura de Computadores e Sistemas Operacionais (ACSO/UNEB) e o Grupo de Pesquisa em Computação Inteligente (GPCI/FIB) – visando investigar o estado da arte nas pesquisas em robótica inteligente. Para atingir este objetivo, o BRT optou por dedicar-se ao projeto internacional de pesquisa conhecido como RoboCup. Inicialmente este projeto conta com apoio financeiro dos programas PICIN/UNEB e PIBIC/FIB através de bolsas de iniciação científica. Os alunos envolvidos na pesquisa tiveram significativa participação no desenvolvimento do projeto, através da criação dos controladores fuzzy, da avaliação dos resultados e da elaboração do presente artigo. A RoboCup foi criada em 1996 por um grupo de pesquisadores objetivando desenvolver um desafio padrão para os estudos de inteligência artificial e robótica. O primeiro problema abordado por esta iniciativa foi o futebol de robôs. O futebol de robôs é uma atividade científica reconhecida pelo IEEE (Institute of Electrical and Electronics Engineers), que tem apoiado a realização das competições mundiais na forma de congressos científicos (Kitano, 1997). A Robocup World Federation é uma iniciativa que aglutina pesquisadores das áreas de inteligência artificial e robótica. A Robocup é dividida em quatro categorias: RobocupSoccer, RobocupRescue, Robocup@Home e RobocupJunior. A RobocupSoccer é a categoria que aborda o problema do futebol de robôs que está sendo investigado pelo BRT, sendo subdividida em ligas: simulação, robôs pequenos, robôs médios, robôs com 4 patas e robôs humanóides. Inicialmente, o BRT está trabalhando com a liga simulação; esta liga é dividida em duas subligas: 2D e 3D. A liga simulação funciona simulando uma partida de futebol entre dois times, de onze robôs cada, através de um software simulador disponibilizado gratuitamente pela comunidade de pesquisa RoboCup. Existem duas versões deste software, uma para cada subliga. Na versão 2D, é considerado um ambiente bidimensional; na versão 3D, o ambiente torna-se mais realista considerando três dimensões e, conseqüentemente, um significativo aumento na complexidade do problema. No primeiro momento, o BRT está atuando na subliga 2D. A RobocupRescue é uma categoria que impõe desafios de resgate de vítimas de acidentes, desmoronamentos, etc. A Robocup@Home visa desenvolver a indústria de robôs domésticos e propõe desafios domésticos comuns, como limpar uma casa ou mover móveis de lugar, para robôs autônomos. A RobocupJunior é a categoria educacional da Robocup; tem por objetivo despertar a curiosidade científica e o senso de investigação em estudantes do ensino médio e fundamental através de desafios simplificados como futebol, dança e resgate. O futebol é um dos jogos de equipe mais praticados no mundo e possui como principal característica a cooperação entre os jogadores para alcançar a vitória. Por ser um ambiente imprevisível, não-determinístico e dinâmico, tem sido considerado um problema padrão para a Inteligência Artificial e gerado vários tópicos de pesquisa em diversas áreas, tais como: sistemas com múltiplos agentes, algoritmos de cooperação, inteligência artificial distribuída, aprendizagem, reconhecimento de padrões e robótica inteligente. O presente artigo apresenta um estudo, modelagem e aplicação de controladores fuzzy em agentes inteligentes jogadores de futebol de robôs simulado em 2 dimensões. O objetivo é desenvolver controladores nebulosos para os agentes jogadores de futebol especializados nas diversas posições em campo, de forma a construir uma equipe de agentes inteligentes capaz de disputar as competições da RoboCup Federation. Especificamente, as habilidades de chute, passe, posicionamento sem bola e tomada de decisão estão sendo abordadas neste artigo. Na próxima seção, são descritos os fundamentos básicos de lógica fuzzy utilizados neste trabalho. Na seção 3, apresenta-se sucintamente o ambiente do simulador utilizado neste projeto. Os modelos desenvolvidos pelo grupo para controlar cada um dos jogadores do time estão descritos na seção 4. Na seção 5, discute-se os resultados parciais obtidos, os trabalhos em andamento e os futuros. 2. Lógica Fuzzy A lógica Fuzzy foi desenvolvida por Zadeh em 1965 para representar conhecimento incerto e impreciso (Zadeh, 1965). Esta lógica fornece uma maneira aproximada, mas efetiva de descrever o comportamento de sistemas que são muito complexos, maldefinidos ou de difícil análise matemática. A intenção de Zadeh era flexibilizar a pertinência de elementos em conjuntos que não possuíam fronteiras bem definidas. Para isso, ele criou o conceito de grau de pertinência e, dessa forma, um elemento poderia pertencer parcialmente a um dado conjunto. Figura 1: Estrutura básica de um controlador nebuloso. Adaptada de (Sandri, 1999). 2.1 Conjuntos Fuzzy Segundo Russell (2003), a teoria dos conjuntos Fuzzy é uma maneira de especificar o quanto um objeto satisfaz a uma descrição vaga. Fabri (2000) afirma que a força da Lógica Fuzzy deriva de sua habilidade em inferir conclusões e gerar respostas baseadas em informações vagas, ambíguas, incompletas e imprecisas. Neste aspecto, os sistemas de base Fuzzy têm habilidade de raciocinar com base em premissas parciais ou imprecisas. Seu comportamento é representado de maneira muito simples e natural, levando à construção de sistemas compreensíveis e de fácil manutenção. Estes conjuntos são formados por Variáveis Lingüísticas que possuem valor expresso qualitativamente por um termo lingüístico e, quantitativamente, por uma função de pertinência (Ortega, 2001). Estas variáveis podem conter modificadores que alteram seu valor. Esses modificadores podem amenizar ou intensificar seu valor; alguns exemplos mais comuns são: “muito”, “pouco”, “não muito”, “mais ou menos”. 2.2 Controladores Fuzzy As técnicas de controle fuzzy se caracterizam pela utilização de regras lógicas no algoritmo de controle, com a intenção de descrever em uma rotina a experiência humana, intuição e heurística para controlar um processo. Esses controladores são bastante versáteis quando o modelo físico é complexo e de difícil representação matemática. Eles são utilizados em sistemas não-lineares ou onde a incerteza se faz presente de maneira intrínseca. A figura 1 apresenta a estrutura básica de um controlador nebuloso, descrita a seguir. Interface de Fuzificação – Possui a função de identificar os valores das variáveis de entrada, que caracterizam o estado do sistema, e normalizá-los em um universo de discurso padronizado. Base de Regras – Possui a função de caracterizar a estratégia de controle e as metas do controlador. É formada por estruturas do tipo: Se <premissa> Então <conclusão> (Sandri, 1999). Estas regras, juntamente com os dados de entrada, são processadas pela máquina de inferência, que infere as ações de controle de acordo com o estado do sistema, aplicando o operador de implicação. Máquina de Inferência – O processo de inferência consiste em: a) Verificação do grau de compatibilidade entre os fatos e as cláusulas nas premissas das regras. b) Determinação do grau de compatibilidade global da premissa de cada regra. c) Determinação do valor da conclusão, em função do grau de compatibilidade da regra com os fatos e a ação de controle constante no conseqüente das regras. d) Agregação dos valores obtidos como conclusão nas várias regras, conseguindo-se uma ação de controle global. Interface de Defuzificação – Nos controladores nebulosos do tipo clássico, a interface de defuzificação é utilizada para obter uma única ação de controle precisa, a partir do conjunto nebuloso. Os métodos mais utilizados são (Sandri, 1999): a) Primeiro Máximo (SOM): Encontra o valor de saída através do ponto em que o grau de pertinência da distribuição da ação de controle atinge o primeiro valor máximo. b) Média dos Máximos (MOM): Encontra um valor de saída que representa o valor médio de todos os valores em que a função de pertinência atinge o máximo. c) Centro da Área (COA): Também conhecido como Centróide. O valor de saída é o centro de gravidade da função de distribuição de possibilidade da ação de controle. 3. O Ambiente do Futebol de Robôs Simulado O ambiente no qual os agentes interagem é o simulador Soccer Server 2D. Ele fornece um campo de futebol virtual que segue as regras do futebol normal e possui, proporcionalmente, as mesmas medidas (aproximadamente 105m de comprimento e 68m de largura). O servidor, disponibilizado pela RoboCup Federation, é implementado em C e C++ e possui uma arquitetura estilo cliente-servidor onde os clientes (jogadores) podem ser escritos em qualquer linguagem de programação que tenha interface UDP/IP. Esse servidor é um sistema em tempo real que trabalha com intervalos discretos (ciclos). Atualmente, o jogo ocorre em dois tempos de 5 minutos (3000 ciclos), portanto, cada ciclo tem uma duração de 100ms. O Soccer Server também inclui uma ferramenta de visualização chamada 'monitor de futebol' que exibe o que está acontecendo dentro do servidor durante um jogo. O servidor e o monitor são conectados por UDP/IP. Assim que o servidor é conectado ao monitor, ele passa a enviar informações relativas ao estado atual do mundo a cada ciclo. 4. Controladores Difusos para Robôs Jogadores de Futebol Inicialmente, o grupo de pesquisa dedicou-se à investigação de outras equipes vitoriosas em competições promovidas pela Robocup internacional e brasileira. Nesta investigação, percebeu-se que muitos times atuais são construídos a partir de outros times chamados times-base. Um time-base fornece uma interface mais amigável de interação entre o agente jogador e o simulador. Usando um time-base pode-se abstrair todos os detalhes de comunicação UDP e ainda utilizar um modelo de representação do ambiente mais rico e funcional. Existem vários códigos disponibilizados gratuitamente para servir de timebase e, dentre os diversos investigados, optou-se por utilizar o do UvA Base 2003. Este código corresponde a parte do código fonte do UvA Trilearn 2003 (KOK et al, 2003), equipe desenvolvida pela Universidade de Amsterdã e atual campeã da competição mundial na categoria 2D. A escolha do UvA Base deu-se pela alta expressividade do seu modelo de ambiente e pela facilidade da interface oferecida para comunicação com o simulador. Os estudos do UvA Base 2003 conduziram ao seu predecessor – UvA Trilearn 2001 (BOER & KOK, 2001) – que possui farta documentação sobre o simulador e o ambiente em foco. Decidido o código base a ser utilizado, foi iniciado o trabalho de definição de variáveis lingüísticas de entrada e saída e bases de regras fuzzy para os controladores. Estes modelos estão descritos nas subseções a seguir. Para todo o processo de modelagem foi utilizada a ferramenta XFuzzy 3.0. Após testes empíricos, optou-se pela utilização de um time com formação 4-3-3 ofensivo. Isto significa que o time é composto por um goleiro, dois zagueiros, dois laterais, um meio campo defensivo, dois meio campo ofensivos e três atacantes. As figuras 2,3,5,6,7,8,9 e 10 nesta seção representam a definição dos termos lingüísticos usados para cada variável. O eixo Y destes gráficos indicam o grau de pertinência de cada valor no eixo X aos termos lingüísticos descritos no corpo do gráfico. 4.1 Controlador para Posição de Chute O objetivo do controlador para posição de chute é encontrar o ponto no gol onde a possibilidade de marcar seja a maior possível, sendo a bola chutada da posição atual do agente. Dessa forma, o agente vai escolher o canto do chute de acordo com sua posição em relação ao gol e a posição relativa do goleiro. A variável de saída é a Posição do Chute, que representa a posição no gol em que o agente irá chutar a bola. Seu universo de discurso varia de -7.0 à 7.0, correspondente à posição das traves no eixo Y. O valor do eixo X a ser considerado é o limite do campo, o mesmo da linha do gol, 52.5. A variável possui os termos lingüísticos apresentados na figura 2. Figura 2: Conjunto fuzzy para as variáveis posição no gol e do goleiro As variáveis de entrada que influenciam a saída são: Posição do Goleiro, que representa a posição do goleiro no gol e a Posição do Jogador, que representa a posição relativa do agente no campo, com universo de discurso variando de -7.0 à 7.0. Os termos lingüísticos utilizados são apresentados na figura 3. Figura 3: Conjunto fuzzy para a variável posição do jogador. As regras para esse controlador foram criadas a partir da combinação entre as variáveis de entrada, visando a posição no gol mais distante possível do goleiro sem desconsiderar a posição do jogador. O mesmo peso foi atribuído para todas as regras da base. Este controlador foi inicialmente utilizado pelos três agentes atacantes. Posteriormente, o mesmo foi reutilizado também pelos meio campo ofensivos no momento em que se encontram em situação favorável a chutar para o gol. 4.2 Controlador para Posicionamento sem a Bola O objetivo do controlador para o posicionamento sem a bola é permitir aos atacantes, quando sem a posse da bola, encontrarem uma posição no campo do adversário baseando-se em sua posição atual, na linha de impedimento e na posição da bola. Foi utilizada a abordagem de divisão do campo em zonas (adaptada da proposta de Boer e Kok, 2002), onde a metade do campo do adversário foi dividida em uma matriz de 9 zonas. A figura 4 apresenta essa divisão. Figura 4: Divisão do campo em zonas, para o time que começa à esquerda. Adaptada de (Reis, 2003). Figura 5: Conjunto fuzzy para as variáveis do eixo X. Figura 6: Conjunto fuzzy para as variáveis do eixo Y. A ferramenta XFuzzy possibilitou a modelagem de dois controladores para a posição: um para o eixo X e outro para o eixo Y. Esses dois controladores foram integrados a um sistema que possui duas bases de regras independentes. Essa divisão simplificou a criação das regras e não gerou ruído no resultado desejado, pois a variável de saída do eixo X não é influenciada pelas variáveis de entrada no eixo Y e o mesmo ocorre com a saída no eixo Y. Dessa forma, o sistema funciona como um único controlador com cinco entradas e duas saídas. As variáveis de saída utilizadas pelo controlador são a Posição X e a Posição Y, que representam a posição final para onde o agente deve se deslocar nos eixos X e Y, respectivamente. A figura 5 apresenta os termos lingüísticos utilizados para as variáveis do eixo X. A figura 6 descreve o universo de discurso das variáveis do eixo Y. As variáveis de entrada são: a posição do jogador e da bola nos eixos X e Y e a posição de impedimento no eixo X. As regras para esse controlador foram criadas de forma que o agente se deslocasse apenas entre quadrantes adjacentes. Dessa forma, a movimentação ocorre entre distâncias curtas, pois a cada ciclo as percepções podem mudar e, conseqüentemente, a direção a seguir. Por exemplo, um agente posicionado no quadrante 8 só poderá se deslocar até os quadrantes 4, 5, 6, 7, 8 e 9, pois não conseguirá chegar aos quadrantes 1, 2 e 3 no próximo ciclo. Isso foi definido criando-se regras que possuem os mesmos valores para as entradas, mas com saídas e pesos diferentes. As regras para o agente permanecer no quadrante atual, quando a bola está em outro quadrante, possuem peso menor, fazendo com que ele se movimente sempre na direção da bola. Figura 7. Universo de discurso para a variável posição X do agente 4.3 Controlador para Tomada de Decisão dos Meias Ofensivos O objetivo do controlador fuzzy para tomada de decisão dos meias ofensivos é controlar qual atitude estes deverão tomar quando estiverem com a posse de bola num determinado ponto do campo. Sendo assim, o atacante deverá tomar a decisão do que fazer analisando a posição X e Y global do agente, a distância do agente ao adversário mais próximo, a distância do agente ao gol adversário, a distância ao gol adversário do agente companheiro mais próximo, a quantidade de adversários próximos ao agente companheiro e a distância do agente ao companheiro. A variável de saída será um valor e dependendo do intervalo em que esteja será tomada a decisão de chutar, driblar, passar a bola, tocar à frente ou carregar a bola. O universo de discurso da variável de saída varia de 0 a 5, onde cada intervalo representa uma decisão. Os termos lingüísticos utilizados pelas variáveis do eixo X e do eixo Y, e a quantidade de adversários, estão representados respectivamente nas figuras 7, 6 e 8. Os termos lingüísticos utilizados pelas variáveis distância do agente ao adversário mais próximo, distância do agente ao gol advesário, distância do companheiro mais próximo ao gol adversário e distância do agente ao companheiro mais próximo estão representados na figura 9. A figura 10 ilustra o universo de discurso da variável de saída que representa a decisão tomada pelo agente meio campista. Figura 8. Universo de discurso para a variável quantidade de adversários próximos ao agente companheiro Figura 9. Universo de discurso para as variáveis: distância do agente ao adversário, distância do agente ao gol, distância do agente companheiro mais próximo ao gol e distância do agente ao companheiro. Figura 10. Universo de discurso para a variável de saída do controlador dos meias ofensivos. As regras para o controlador foram criadas a partir da combinação das variáveis de entrada, sempre visando dificultar ao máximo a perda da posse da bola e aumentar as possibilidades de gol. 4.4 Controlador para Posicionamento do Meia Defensivo O meia-defensivo possui um controlador fuzzy cujo objetivo é posicionar estrategicamente o agente na sua área de atuação, levando em consideração a posição da bola e a sua própria posição. Para esse controlador foram definidas duas bases de regras: uma para o eixo X (na direção de um gol ao outro) e outro para o eixo Y (na direção de uma lateral a outra). A tática para o eixo X é movimentar-se em direção da bola, e a intensidade desta ação depende da posição global da bola e do jogador, ou seja, a depender da posição de cada objeto o jogador tenderá a se aproximar mais ou menos da bola. Para o eixo Y, a movimentação ocorre de modo similar a do eixo X, só que levando em consideração a coordenada Y. Além disso, para esta base de regras é acrescentada a coordenada do eixo X da bola, que tem um peso expressivo sobre a decisão final de posicionamento. Quanto mais a bola estiver afastada do campo defensivo do time do agente, mais ele tenderá a ficar no centro do campo (em relação ao próprio eixo Y), evitando assim um deslocamento desnecessário, já que a bola está, teoricamente, afastando-se de sua zona de atuação. 4.5 Controlador para Posicionamento dos Laterais O objetivo do controlador para posicionamento dos laterais é permitir a estes, quando estiverem sem a posse da bola, que se movimentem ao longo das laterais do campo de defesa ao ataque. O controlador faz com que o lateral sempre seja atraído pela bola. Desta forma, com a bola indo para o ataque o lateral também avança até um pouco mais da metade do campo adversário. Esse comportamento faz com que os laterais se posicionem como “alas”, defendendo ou atacando a depender da posição da bola. As variáveis de saída utilizadas pelo controlador são a Posição X e a Posição Y, que representam a posição final para a qual o agente deve se deslocar no eixo X e Y, respectivamente. As variáveis do eixo X possuem os seguintes termos lingüísticos: Perto, que varia de -45 à -15; Médio, que varia de -15 à 15; e Longe, que varia de 15 à 45. 4.6 Controlador para Posicionamento dos Zagueiros O objetivo do controlador para posicionamento dos zagueiros é permitir que estes, quando estiverem sem a posse da bola, se posicionem em busca da bola e mantenham-se no centro da zaga. Para esse controlador o eixo Y foi dividido em mais duas zonas, CentroEsquerda e CentroDireita, fazendo com que seu posicionamento se concentre no centro da defesa, deixando o espaço nas laterais para os alas. As variáveis de saída utilizadas pelo controlador são a Posição X e a Posição Y, que representam a posição final para a qual o agente deve se deslocar no eixo X e Y, respectivamente. As variáveis do eixo X possuem os seguintes termos lingüísticos: Perto, que varia de -45 à -28.125; Médio, que varia de -28.125 à -11.25; e Longe, que varia de -11.25 à 0. As variáveis do eixo Y possuem os seguintes termos lingüísticos: Esquerda, variando de -34.0 à -19.428; CentroEsquerda, variando de -19.428 à -4.85; Centro, de -4.85 à 9.71; CentroDireita, de 9.71 à 24.28; e Direita, de 24.28 à 34. 4.7 Controlador para Posicionamento do Goleiro O controlador para posicionamento do goleiro faz com que este se desloque para determinada posição do gol, ao perceber que um jogador do time adversário está a uma distância apta a chutar a gol. A depender de qual posição do campo venha o jogador adversário e de sua própria posição atual, o goleiro reage seguindo uma base de regras definidas no XFuzzy, posicionando-se em determinada faixa de coordenadas (préestabelecidas de acordo com estas regras). Caso o atacante adversário esteja a uma distância considerada próxima demais do gol, o goleiro passa então a ter um outro comportamento mais adequado para a situação. A Posição do Goleiro e a Posição do Jogador (o adversário que estiver com a posse de bola e apto a chutar) são as variáveis de entrada para a base de regras Agarra. Baseada nessas variáveis de entrada, a base de regras fornece uma variável de saída, que é justamente a posição que o goleiro deve tomar para agarrar a bola, chamada de Posição Agarra. Após alguns testes, este modelo foi considerado ainda incompleto pois determina apenas a posição do goleiro no eixo Y. Isto faz com o que o goleiro fique muito adiantado em chutes feitos das laterais do campo ou nas cobranças de faltas pelo adversário. 5. Resultados Parciais e Trabalhos Futuros O método escolhido para a validação dos controladores nebulosos foi execução de partidas entre o time descrito na seção 4 (Bahia2D) e o UvA Trilearn Base, UvA Trilearn 2003, MecaTeam (COSTA et al, 2006), Brainstormers (RIEDMILLER e GABEL, 2006) e o Dainamite (ENDERT, 2006). Os controladores descritos na seção 4 foram adicionados aos poucos. Assim, é possível analisar o efeito de cada controlador no desempenho dos jogadores individualmente e do time como um todo. Inicialmente, apenas os controladores de chute e posicionamento dos atacantes foram adicionados. Com esta configuração, foram realizadas dez partidas contra cada um dos times, totalizando 50 partidas. Para analisar os dados dos jogos foi utilizada a ferramenta Team Assistant. No total o Bahia2D venceu 10 partidas e perdeu 40. Em 50 jogos o Bahia2D marcou 28 gols (média de 0,56 gols por jogo) e sofreu 461 (média de 9,22 gols por jogo). Nos jogos contra o UvA Base os atacantes obtiveram o melhor desempenho observado, com o maior número de vitórias, chutes a gol e gols. Contra o Mecateam os jogos foram bastante equilibrados, os atacantes conseguiram uma boa média de gols (0,9 por partida) chegando a vencer quatro partidas. Contra os demais times melhor qualificados, as derrotas eram esperadas, pois o Bahia2D ainda carecia da implementação dos outros controladores para os demais jogadores. Isto dificultava a chegada da bola ao ataque. Mesmo assim, alguns chutes a gol conseguiram ser executados e três gols marcados contra o Dainamite. A tabela 2 mostra a relação entre gols e chutes dos atacantes do Bahia2D e seus adversários, isto é, a quantidade de gols marcados a cada 100 chutes. Esses valores indicam uma pequena superioridade do Bahia2D sobre o Mecateam e o UvA Base e o alto nível de aproveitamento das equipes mais qualificadas. Tabela 2: Relação gols por 100 chutes dos times. Bahia2D Gols/ 100 Chutes 6,52 UvA Base 6,03 Mecateam 5,45 UvA 2003 65,57 Dainamite 60,30 Brainstormers 48,94 Com relação à escolha do canto do chute a gol contra os times mais simples, os atacantes do Bahia2D apresentaram o comportamento esperado, chutaram muito a gol e fizeram um número de gols razoável. Mas contra os times complexos, as oportunidades de chute não foram bem aproveitadas o que indica a necessidade de outros métodos para complementar o comportamento dos atacantes e as rotinas de chute. Com relação ao posicionamento, a dificuldade em tirar conclusões é maior, mas alguns dados podem ser considerados em favor dos controladores implementados: a) O número de situações de impedimento dos atacantes foram 10, sendo 5 nos jogos contra o UvA Base, 3 contra o Mecateam e 2 contra o Dainamite, durante as 50 partidas de teste, demonstrando seu bom posicionamento em campo. b) Os atacantes do Bahia2D tiveram oportunidades de chutar ao gol em todas as partidas e conseguiram marcar em 20 dos 50 jogos de teste e em 3 dos 5 jogos do torneio. Dessa forma, pode-se concluir que os atacantes participaram ativamente das partidas e seu posicionamento foi satisfatório. Concluídos os primeiros testes com os controladores dos agentes atacantes, o passo seguinte foi integrar os demais controladores. O trabalho de integração do código foi concluído, mas os testes e análise de resultados ainda estão em andamento. Uma observação empírica das primeiras partidas disputadas demonstra que o time começa a conseguir levar a bola mais ao ataque, melhorando a qualidade de passe no meio de campo, dificultando os chutes a gol dos adversários através do melhor posicionamento dos jogadores de defesa e meio campo. Estas observações, entretanto, carecem de ser validadas através de métricas e observações mais metódicas que estão sendo realizadas pelo grupo atualmente. Este trabalho apresentou os primeiros controladores nebulosos implementados nos jogadores atacantes do time chamado Bahia2D, do grupo de pesquisa Bahia Robotics Team. Os agentes atacantes apresentados representam o começo do desenvolvimento desse time, que está pré-inscrito para a competição mundial Robocup 2007, em Atlanta EUA. Os testes dos agentes atacantes demonstraram que isoladamente esses jogadores apresentaram o comportamento esperado, mas os demais tipos de jogadores ainda estão sendo testados. Como continuidade deste trabalho, será concluída a análise dos resultados dos demais controladores ainda não devidamente testados. Com os resultados desta análise, eventuais aperfeiçoamentos serão efetuados nos mesmos. Outro trabalho a ser desenvolvido é complementar o controlador do goleiro para abordar as situações de movimento no eixo X. Ainda como trabalhos futuros serão investigadas a aplicação de outros métodos de inteligência artificial, como redes neurais, aprendizagem por reforço, computação evolutiva, dentre outros, partindo dos referenciais bibliográficos e dos experimentos dos grupos para otimizar os comportamentos básicos descritos neste trabalho. Referências BOER, Remco de, KOK, Jelle. The Incremental Development of a Synthetic MultiAgent System: The UvA Trilearn 2001 Robotic Soccer Simulation Team. Amsterdam: Faculty of ScienceUniversity of Amsterdam, Dissertação de mestrado para Inteligência Artificial e Ciência da Computação. Amsterdã, Holanda, 2002. COSTA, Augusto Loureiro da, JÚNIOR, Orivaldo Vieira Santana, SOUZA, João Paulo Rocha de, LINDER, Marcelo Santos. MecaTeam: Um sistema Multiagente para o futebol de robôs simulado baseado no Agente Autônomo Concorrente. ENRI - III Encontro de Robótica Inteligente, Campo Grande, 2006. ENDERT, Holger. The Dainamite 2006 Team Description. Faculty of Electrical Engineering and Computer Science. Berlin, Alemanha, 2006. FABRI, José Augusto. Um Sistema Especialista Fuzzy Aplicado a Classificação de Arquiteturas de Computadores. Semana de Informática (SEMINFO) da Universidade Federal da Bahia realizado na Universidade Federal da Bahia (UFBA) – Salvador – BA, período de 09 a 12 de maio de 2000. Disponível em: http://users. femanet.com.br/~fabri/trabcien.htm. Acesso em: 20 out. 2006, 20:30. KITANO, Hiroaki, ASADA, Minoru, KUNIYOSHI, Yasuo, NODA, Itsuki, OSAWA, Eiichi. RoboCup -The Robot World Cup Initiative. Japão, 1997. KOK, Jelle, VLASSIS, Nikos, GROEN, Frans. UvA Trilearn 2003 Team Description. Faculty of Science, University of Amsterdam, Amsterdã, Holanda, 2003. ORTEGA, Neli Regina S. Aplicação da Teoria de Conjuntos Fuzzy a Problemas da Biomedicina. Tese de Doutorado em Ciências. Universidade de São Paulo. São Paulo, 2001. REIS, Luís Paulo. Coordenação em Sistemas Multi-Agente: Aplicações na Gestão Universitária e Futebol Robótico. Tese de PhD, FEUP - Faculdade de Engenharia da Universidade do Porto, Porto, Portugal, 2003. RIEDMILLER, Martin, GABEL, Thomas. Brainstormers 2D – Team Description 2006. Universidade Osnabrück, Osnabrück, Alemanha, 2006. RUSSELL, Stuart, NORVIG, Peter. Inteligência Artificial: uma abordagem moderna. Ed. Campus, 2ª Edição. São Paulo, 2003. SANDRI, Sandra, CORREA, Cláudio. Lógica Nebulosa. V Escola de Redes Neurais, ITA, São José dos Campos, 1999. ZADEH, L. A. Fuzzy Sets – Information and Control. University of California, Berkeley, California, Estados Unidos, 1965.