350 likes | 498 Views
RoboCup 2010 - Criação de uma Equipa para Liga Mixed Reality do RoboCup. Orientador: Prof. Dr. Luís Paulo Reis. Hugo Mendes – ee02108@fe.up.pt. Estrutura da apresentação. RoboCup Liga Mixed Reality Funções de mais baixo nível Decisões de alto nível Resultados obtidos Dúvidas.
E N D
RoboCup 2010 - Criação de uma Equipa para Liga Mixed Reality do RoboCup Orientador: Prof. Dr. Luís Paulo Reis Hugo Mendes – ee02108@fe.up.pt
Estrutura da apresentação • RoboCup • Liga Mixed Reality • Funções de mais baixo nível • Decisões de alto nível • Resultados obtidos • Dúvidas
Objectivos da RoboCup • Fomentar a pesquisa em: • Inteligência artificial • Sistemas multi-agente • Robótica • Fusão sensorial • Aquisição de estratégias • Criação uma equipa de futebol robótico capaz de vencer a equipa humana campeã do mundo
Importância do Futebol Robótico • Fornece alguns desafios interessantes: • Ambiente dinâmico • Ambiente não determinístico • Incerteza no estado do mundo
Aplicação dos agentes • Investigação em agentes e inteligência artificial aplica-se em: • Interacção homem-máquina • Processos de controlo industrial • Aplicações na internet • …
Estrutura da apresentação • RoboCup • Liga Mixed Reality • Funções de mais baixo nível • Decisões de alto nível • Resultados obtidos • Dúvidas
RoboCup Soccer: Mixed Reality • Ligas simuladas / Ligas com robôs físicos • Agentes autónomos
O robô • Robô criado pela CITIZEN sem fins comerciais
Estrutura da apresentação • RoboCup • Liga Mixed Reality • Funções de mais baixo nível • Decisões de alto nível • Resultados obtidos • Dúvidas
Simulador • Substitui: • Vision Tracking • Robot Control
Principais constituintes do agente • WorldData - Contém o software necessário para a extracção do estado do mundo (posições de jogadores, posição da bola, velocidade de um colega de equipa, etc.) • BasicPlayer - Contém todas as acções que um jogador pode desempenhar (chutar, passar, parar, driblar, …) • SampleAgent – Contém o ciclo principal de raciocínio do agente
WorldData • Informação disponível
WorldData • Qual o companheiro mais próximo de um dado ponto? • Qual o adversário mais próximo de um dado ponto? • Qual o adversário mais próximo de um dado companheiro? • Qual o companheiro mais próximo de um outro companheiro? • Qual o adversário mais próximo de um outro adversário? • Qual o companheiro mais próximo da bola? • Qual o adversário mais próximo da bola? • Qual o estado do jogo? • Quais as dimensões do campo? • Qual a posição da bola? • Qual a velocidade da bola? • Qual a minha posição no campo? • Qual a minha orientação? • Quais as posições dos meus colegas? • Sou o agente mais perto da bola? • Qual o vector polar que me une ao centro da baliza adversária? • Qual o vector polar que me une ao centro da minha baliza? • Posso avançar com a bola? • …
Principais constituintes do agente • WorldData - Contém o software necessário para a extracção do estado do mundo (posições de jogadores, posição da bola, velocidade de um colega de equipa, etc.) • BasicPlayer - Contém todas as acções que um jogador pode desempenhar (chutar, passar, parar, driblar, …) • SampleAgent – Contém o ciclo principal de raciocínio do agente
Basic Player • Movimentos básicos: • Chutar a bola • Rodar à direita/esquerda • Parar • Passar a bola a um companheiro de equipa • Rematar à baliza • …
Basic Player • Mas também: • Decisões para o guarda-redes • Decisões dos demais agentes • Envio de comandos para o servidor • Funções disponíveis de origem: • Chutar para um ponto, dado um vector polar • Ir para um ponto, dado um vector polar
Ir para um ponto (X,Y) • Método semelhante para chutar para um ponto (X,Y)
Guarda Redes • Sempre entre o centro da baliza e a bola
Guarda Redes • Se o guarda-redes tiver a posse da bola: • Passa a bola ao colega mais próximo • Chuta para a intersecção da linha do meio campo com a linha lateral • Chuta para a sua bandeira de canto • O guarda-redes tenta interceptar a bola se: • A bola está muito próxima da baliza • Existe um adversário isolado, já próximo da baliza
Zona de remate para golo • Caso um jogador esteja a uma distância em que pode fazer golo, tenta: • Chutar para o centro da baliza • Se não, chuta para um dos lados que esteja livre • Caso não tenha ângulo para rematar para nenhum destes pontos, passa ao colega mais próximo
Principais constituintes do agente • WorldData - Contém o software necessário para a extracção do estado do mundo (posições de jogadores, posição da bola, velocidade de um colega de equipa, etc.) • BasicPlayer - Contém todas as acções que um jogador pode desempenhar (chutar, passar, parar, driblar, …) • SampleAgent – Contém o ciclo principal de raciocínio do agente
SampleAgent • Ciclo principal: • Actualizar o estado do mundo • Decidir estratégia (Formação, táctica, …) • Achar um ponto para chutar (se tiver a bola) • Achar o ponto para onde deve ir (no caso de não ter a bola)
Strategy • Decisões de alto nível da FCPortugal
Decisões de Alto Nível • Posicionamento estratégico – Quando o jogador não tem a bola
Decisões de Alto Nível • Posicionamento estratégico – Quando o jogador não tem a bola - MatchFlow
Decisões de Alto Nível • Matriz de fluxo
Decisões de Alto Nível • Matriz de fluxo
Decisões de Alto Nível • Outros factores de decisão: • Segurança O jogador tende também a fugir dos adversários!
Testes - BahiaMR • RoboCup 2007: 4º Lugar • RoboCup Brazil: 1º Lugar • German Open: 2º Lugar • RoboCup 2008: 3º Lugar • RoboCup Latino Americana: 1º Lugar • Japan Open: 2º Lugar • RoboCup 2009: 3º Lugar • Iran Open: 3º Lugar • Japan Open: 1º Lugar
Testes de formações e fluxosResultados estatísticos contra a BahiaMR
Conclusões • As funções criadas têm um bom funcionamento. • É possível usar as decisões de alto nível desenvolvidas pela FCPortugal. • É necessário adquirir o sistema de jogo real, de forma a poder melhorar o deslocamento dos robôs.
FIM Questões?