O documento descreve um projeto de competição de robôs autônomos, incluindo detalhes sobre o time Sertão-UEFS que participa da competição RoboCup de futebol simulado 2D, como seu código base, arquitetura, nível decisório e sistema de registro.
4. 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
5. 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.
6. RoboCup
Competiçõ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 o
time humano campeão da copa do mundo na ocasião.
11. Soccer Simulator
SoccerServer
Simular 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.
12. • 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
13. Esquema de comunicação inter-processos
Esquema troca de mensagens do servidor.
15. 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 Base
Tomada 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.
17. 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.
18. 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.
20. 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?
21. Nível Decisório do
Time SertãoUEFS.
Algoritmo básico
para reger o nível
decisório do
jogador no Time
Sertão-UEFS.
22. 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.
23. 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.
24. 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.”
25. 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
26. 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.
27. 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.
28. 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.
Nível Decisório –
Chute a Gol do
Time Sertão-UEFS
Decisões analisadas
se o jogador estiver
na região lateral.
31. 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.
33. •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.
•No Time Sertão-UEFS
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.
34. •No Time Base
Classificação das
mensagens
Tipo
Limite
Imprime mensagens entre
a faixa de level mínimo e
máximo.
•No Time Sertão-UEFS
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.
36. 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.
37. 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.
38. 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.
39. Participação na Competição Robocup 2010.
Conversão C++ para Java
Flexibilizar movimento do goleiro.
Posicionamento estratégico dos jogadores.
40. 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), Engenharia
de 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.