Projeto time de futebol simulado 2D sertão-UEFS [2009]

Preview:

DESCRIPTION

Projeto do time de futebol simulado 2D sertão-UEFS [2009], desenvolvido por estudantes de graduação na Universidade Estadual de Feira de Santana / Bahia, em 2008-2009.

Citation preview

Competição de Robôs Autônomos

Anderson Marques

Gregory Porto

Ícaro Dourado

Jairo Calmon

Lígia Silva

Nathalia Moraes

Técnicos:•Angelo Loula•Matheus Pires

Descrição do Projeto

Competições e Tipos de Modalidades

A Competição Robocup de Futebol Simulado 2D

Projeto do time SERTÃO-UEFS

Conclusão

Metas de Continuidade

Projeto Anual – Competição de Robôs Autônomos.Robôs e Agentes Autônomos. O que são?Realizar objetivos desejados sem interferência humana

contínua.

Diferentes níveis de autonomia.

Aprendizado autônomo: aquisição de estratégias.

Aplicação no cenário real das competições envolvendo Robôs e Agentes Autônomos.Resgate em terrenos de acidentes e escombros.

Identificação de ambientes.

Trabalhar sem interferência humana.

RoboCupCompetições simuladas e reais. “Uma Copa do Mundo em versão mecânica” (Revista

Superinteressante, junho de 2006, pp 26 e 27).Meta final: desenvolver até 2050, um time de robôs

humanóides completamente autônomo capaz de vencer otime humano campeão da copa do mundo na ocasião.

Liga de Futebol Humanóide

RoboCup

Simulador UsarSim.

RoboCupSub-Liga Robôs Virtuais de Resgate Simulado 3D.

RoboCupSub-Liga Robôs Virtuais de Futebol Simulado 3D.

Humanóides 3D.

RoboCupSub-Liga Robôs Virtuais de Futebol Simulado 2D.

Soccer Simulator.

Soccer Simulator

SoccerServerSimular andamento do jogo.Controle de posição, status dos jogadores e da bola.

Interferência e comunicação com os jogadores.Transmitir informações do jogo.

Permitir operações dos agentes, a exemplo de chutar e correr.

Parâmetros de jogo configuráveis.Ex.: duração e velocidade de jogo.

• SoccerMonitor Exibição de jogo.

• LogPlayer Re-exibição do jogo

Interpretação do arquivo de log registrado pelo servidor para cada jogo.

• Regras

• Sensores

• Atuadores

Esquema de comunicação inter-processos

Esquema troca de mensagens do servidor.

Apresentação.

Código Base: Time Uva Trilearn 2003

Modelagem com bom nível de abstração inicial do cenário de jogo.

Lida com os detalhes de transmissão de pacotes com o servidor.

Incorporação de melhorias ao Time BaseTomada de decisões.

Raciocínio Lógico.

Flexibilização para futuras expansões.Torná-lo mais apto a participar de versões futuras das

competições.

Revisão Arquitetural do Uva Trilearn.

Organização das classes por visão lógica:Classes Bases.Modelam e armazenam informações de cada objeto em

jogo, além do próprio jogador.

WordlModel.

Classes Auxiliares.

Lidam com cálculos matemáticos, geométricos e tempo.

Classes de Infra-Estrutura.Gravação e leitura em arquivos de configuração.

Comunicação por sockets com o servidor.

Organização das classes por visão lógica:Classes de Informação e Configuração.Armazenam configurações e informações importantes do

jogo.Classes relacionadas à formação.Formação tática dos jogadores em campo. Define o tipo de jogador. Ex.: Atacante.

Classes-Chave .Unidade de raciocínio lógico do jogador.Implementação das rotinas para atuação do jogador em

campo.

Nível Decisório.

Decisão de que medida um agente deve tomar em um dado instante.Tem posse de bola?

Pode carregar a bola com segurança?

Pode passar a bola?

Está com stamina baixa?

Nível Decisório do Time Sertão-UEFS.

Algoritmo básico

para reger o nível

decisório do

jogador no Time

Sertão-UEFS.

Posicionamento dos Jogadores.Arquivo de configuração.

Formação de cobrança inicial: todo o time em um lado do campo.

Diferentes formações para o time: ofensivas e defensivas.

Diferentes posições assumidas.

Se está perto ou longe da bola.

Longe da bola, assume posições pré-definidas.

Implementação de movimentação e drible.Passe X Conduzir bola.Se identificar teammates em boas condições de receber a

bola e mais avançado que o jogador da posse da bola, o jogador passa.

Se não há teammates desmarcados à frente, o jogador opta por conduzir a bola.

Conduzir a bola.Preferência por conduzir ao gol adversário.

Se desmarcado, movimenta-se com maior velocidade.

Se marcado, movimentação em drible.

Nível Decisório –Passe no Time Sertão-UEFS.

• Essa figura descreve o

esquema de passe pelo

jogador do Sertão-UEFS.

•Fatores:

•Raio total

•Marcação dos jogadores

que irão receber a bola.

•Interceptação de outros

jogadores.

•“Estar a frente.”

Implementação de cobranças de bola parada.Escanteios, faltas, pênaltis e impedimentos.

Não é possível faltas de tiro indireto.

A todas as faltas é permitido chutar diretamente a gol.

Juiz determina critérios de posicionamento .

Casos de cobrança de bola parada no Time Sertão-UEFS:Cobrança inicial (Kick off

Cobrança de lateral

Nível Decisório –Chute a Gol do Time Sertão-UEFS. V 0.1.

•A Versão 0.1. da

decisão para chute

a gol baseia-se nas

coordenadas da

posição da bola:

• Se estiver próximo ao gol e na região central, chuta para o gol.

• Se estiver próximo ao gol e na região lateral, cruza em direção ao gol.

Nível Decisório –Chute a Gol do Time Sertão-UEFS V 0.2.

•A Versão 0.2 da decisão

para chute a gol, além das

coordenadas da posição

da bola, baseia-se em:

•Análise de 4 posições do

gol para chutar se o

jogador estiver na região

central:

•Distância do goleiro à

posição.

•Distância do agente à

posição,

•Número de oponentes

entre o agente e a posição

do gol.

Análise de Jogadores Teammates na região central ao gol:

Realiza análise da posição ideal para cada um chutar.

Realiza análise da segurança de repassar a bola para cada um dos jogadores.

Seleciona aquele melhor posicionado, de acordo com os fatores avaliados e aquele que tem maior probabilidade de receber a bola com segurança.

Decisões analisadas

se o jogador estiver

na região lateral.

Nível Decisório –Chute a Gol do Time Sertão-UEFS

Nível Decisório do goleiro.

Algoritmo

decisório do

goleiro .

Nível decisório do goleiro

Essa figura

descreve o

comportamento

do goleiro, que

procura sempre

se alinhar com a

bola.

Nível decisório do goleiro.

Essa figura

mostra a área de

movimentação

livre do goleiro,

restrita a 70% do

comprimento da

grande área e a

40% da largura

do campo.

Sistema Interno de Logging

•No Time Base

Método

log(level, msg)

Estrutura de Armazenamento

Único arquivo pro time no diretório local.

Impressão

Identificação de tempo corrente e mensagem.

Método log(detalhe, level, classe,

msg)

Estrutura de Armazenamento Arquivo de log para cada

jogador em diretórios específicos.

Impressão Identificação de tempo

corrente, classe que originou a mensagem, nível de severidade e mensagem.

•No Time Sertão-UEFS

•No Time Base

Classificação das mensagens

Tipo

Limite

Imprime mensagens entre a faixa de level mínimo e máximo.

Classificação das mensagens Tipo e nível de severidade.

Limite Imprime mensagens entre

faixa de level mínimo e máximo, e acima do detalhe mínimo.

O diferencial Opção de desativar e ativar

mensagens por classe. Ativar e desativar

mensagens de log do UVA.

•No Time Sertão-UEFS

Sistema Interno de Treinamento e Avaliação

Existência de Treinador online(coach). Único agente do time a receber continuamente informações

de todos os jogadores em campo e da bola, livres de erro.

Treinador offline. Não é permitido na competição Robocup. Controlar o modo de jogo;. Enviar mensagens livres para todos os agentes em campo; Mover agentes e bola para qualquer ponto do campo e definir

sua direção e velocidade; Receber dados livre de ruído sobre a bola e todos os agentes

em campo. Utilizado na automatização do treinamento e teste dos

agentes de um time.

Identificação de problema referente ao treinador. Sintaxe do arquivo de instruções é diferente da sintaxe

definida no manual do soccer server.

Problema reportado aos desenvolvedores do servidor.

Alteração do modo de inicialização dos agentes do time pelo coach. Contemplar o caso de uma conexão ao servidor como trainer.

Não impedir a inicialização manual do jogo em situações de treinamento.

Competições simuladas estimulam o desenvolvimento de Sistemas Inteligentes.

Melhoria incremental de um Time Base para participação em competições.

Princípio de um núcleo de pesquisa em Sistemas Inteligentes.

Participação na Competição Robocup 2010.

Conversão C++ para Java

Flexibilizar movimento do goleiro.

Posicionamento estratégico dos jogadores.

BERGKVIST, M.; OLANDERSSON, T. Machine learning in simulated RoboCup: Optimizing the decisions of an Electric Field Agent. Ronneby: Blekinge Institute of Technology, 2003, 28. Tese (Mestrado), Engenhariade Software, Department of Software Engineering and Computer Science, Ronneby, Suécia, 2001.BOER, R.; KOK, J. The Incremental Development of a Synthetic Multi-Agent System: The UvA Trilearn 2001 Robotic Soccer Simulation Team. 2002.KOK, J. et al. UvA Trilearn. 2005. Disponível em: <http://staff.science.uva.nl/~jellekok/robocup>.PERI, V.; SIMON, D. Fuzzy Logic Control For An Autonomous Robot. Department of Electrical and Computer Engineering, Cleveland State University, Cleveland, Ohio, USA. 2005.SAFFIOTI, A.; WASIK, Z. Using Hierarchical Fuzzy Behaviors in the Robocup Domain. Center for Applied Autonomous Sensor Systems, Dept of Technology, Örebro University. Örebro, Sweden. 2003.SHI L.; JIANG C.; ZHEN Y.; ZENGQI SUN. Learning Competition in Robot Soccer Game Based on an Adapted Neuro-Fuzzy Inference System. Department of Computer Science. The State Key Lab of Intelligent Technology & Systems, Tsinghua University, Beijing, China. 2001.STONE, P; SUTTON, R. Scaling Reinforcement Learning toward RoboCup Soccer. International Conference on Machine Learning, v.18, pp. 537-544, Williamstown, MA, USA. 2001.STONE, P.; VELOSO, M. A Layered Approach to Learning Client Behaviors in the RoboCup Soccer Server. Applied Artificial Intelligence, Pittsburgh, v.12. 1998.TINÓS, R. Comportamento Auto-Organizável em Algoritmos Genéticos Aplicados a Robôs Móveis em Ambientes Dinâmicos. Departamento de Física e Matemática, FFCLRP, Universidade de São Paulo (USP), Ribeirão Preto, São Paulo, Brasil. Revista Controle & Automação. 2007.TREVISAN, F.; BARROS, L. Robótica Cognitiva: Programação Baseada em Lógica Para Controle de Robôs. Departamento de Ciência da Computação, Instituto de Matemática e Estatística da Universidade de São Paulo (IME-USP), São Paulo -SP, Brasil. Revista Controle & Automação. 2007.TZAFESTAS, S.; RIGATOS, G. Neural and Neurofuzzy FELA Adaptive Robot Control Using Feedforward and Counterpropagation Networks. Intelligent Robotics and Automation Laboratory, Department of Electrical and Computer Engineering, National Technical University of Athens, Zografou 15773, Athens, Greece. 1998.