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.