Eduardo José Torres Sampaio Rocha
Paulo Gustavo Soares Fonseca
O que é RoboCup
 RoboCup - abreviação de Robot World Cup
Initiative é uma iniciativa internacional de
educação e pesquisa que objetiva
impulsionar as pesquisas na área de IA e
robótica propondo um problema real onde
diversas tecnologias podem ser integradas.
 Para este propósito, a RoboCup utiliza o jogo
de futebol como framework para a aplicação
destas diversas teconologias..
Histórico
 1992: Prof. Alan Macworth propõe a idéia de
robôs jogarem futebol em seu paper “On
seeing robots” .
 Outubro/1992: Um grupo de pesquisadores
japoneses promovem workshop para
discutir os grandes desafios da robótica.
 Junho/1993: Um grupo de pesquisadores
japoneses lançam uma competição de
robótica - a Robot-J-League.
 1993: Antendendo a apelos da comunidade
científica, a Robot-J-League toma contornos
internacionais e torna-se a Robot World Cup
Initiative - RoboCup.
Histórico
 1994/5: Itsuki Noda e sua equipe da ETL
(EletroTechnical Laboratories - Japão)
anunciam o SoccerServer 0 (LISP), o primeiro
siestema de simulação aberto para futebol
baseado no princípio de multi-agentes. Esta
versão fora brevemente substituída pela
versão 1 (C++) distribuída via www.
 1995: Durante a International Joint
Conference of Artificial Intelligence (IJCAI)
foram anunciados os jogos da 1a. RoboCup a
serem realizados durante a IJCAI-97.
Histórico
 Novembro 1996: É realizada a Pre-RoboCup96 durante a International Conference on
Intelligent Robotics and Systems em Osaka Japão.
 1997: Acontece 1a. RoboCup oficial com
mais de 40 competidores e 5000
expectadores.
 1998: A 2a. RoboCup Internacional é realizada
paralelamente à Copa do Mundo da França
em Paris .
Organização
 Atualmente, a competição é dividida mas
seguintes quatro categorias:




Simulador
Robôs Pequenos
Robôs Médios
Robôs Médios com pernas Sony
Robôs Pequenos
 Esta categoria é disputada por times de no
máximo 05 robôs.
 Cada robô ocupa um área máxima de
180cm2,.
 As dimensões do campo de jogo são 152.5cm
x 274cm, o que equivale a uma mesa de
pingue-pongue.
 A bola utilizada é uma bola de golf alaranjada.
 As partidas são disputadas em dois tempos
de 10min. com morte súbita em caso de
empate.
Robôs Pequenos
Robôs Médios
 Esta categoria é disputada por times de no
máximo 05 robôs.
 Cada robô ocupa um círculo máximo de
50cm de diâmetro.
 As dimensões do campo de jogo são 457.5cm
x 822cm.
 A bola utilizada é uma bola de Futsal tamanho
4.
 As partidas são disputadas em dois tempos
de 5min. com morte súbita em caso de
empate.
Robôs Médios
RoboCup
Categoria Simulador
Introdução
 A divisão simulador da RoboCup tem como
objetivo oferecer um ambiente para
experimentação com os conceitos de
software envolvidos.
 É a categoria mais acessível da competição.
Para participar basta saber programar e ter
noções de IA.
 Pode ser implementado em qualquer
paradigma de programação, desde que a
linguagem escolhida tenha suporte a socket.
Componentes
 O Servidor (Soccer Server)
 Responsável pela modelagem e manipulação do
ambiente (campo de jogo).
 Simula o movimento da bola e dos jogadores
atualizando o “estado” do mundo periodicamente
em intervalos típicos de 100ms.
 Os Clientes
 Um cliente é um programa que se conecta ao
servidor e controla exatamente um jogador.
 Cada time é composto de 1~11 clientes.
Arquitetura
 A divisão simulador da RoboCup baseia-se na
arquitetura cliente/servidor.
 Os clientes comunicam-se com o servidor via
pacotes UDP/IP.
 A comunicação entre clientes é efetuada via
servidor.
 O Conteúdo destes pacotes são strings
ASCII.
Arquitetura
Time A
Time B
Client 1
Client 1
UDP/IP
Client 11
Soccer Server
UDP/IP
Client 11
Soccer Server
 É um programa que cria um campo “virtual”
por onde dois times podem jogar futebol.
 O campo e os objetos sobre ele são
considerados em 2 dimensões.
 Tanto os jogadores como a bola são
representados por círculos.
Soccer Server
O Cliente
 Clientes são programas conectados ao
servidos que controlam jogadores.
 O cliente obtém informações sobre o
ambiente (percepções) através do servidor.
 A partir destas informações, o cliente atualiza
sua concepção do mundo e efetua ações
sobre o ambiente (também através de
mensagens transmitidas ao servidor).
 Os sentidos básicos do cliente são a audição
e a visão.
 As ações básicas do cliente são: virar-se,
deslocar-se, chutar e falar.
Percepções do Cliente
(Visão)
 O jogador é capaz de enxergar objetos que se
encontram nos seguintes locais:
 No interior do seu campo visual ou cone de visão.
 Em qualquer direção no raio de 3m - entretanto,
neste caso, se o objeto estiver fora do cone de
visão, o jogador só será capaz de identificar o tipo
do objeto (jogador, bola, gol, etc.) e não qual objeto
especificamente.
 As informações visuais passadas pelo
servidor ao cliente informam sua posição
relativa a outros objetos no campo e não suas
coordenadas absolutas em relação ao campo
Percepções do Cliente
(Visão)
 A visão do jogador possui dois parâmetros
que podem ser ajustados durante os jogos:
 Ângulo do Cone de Visão: determina a amplitude do
campo visual:
- 45o (modo narrow)
- 90o (modo normal)
- 180o (modo wide)
 Qualidade da Visão: determina a quantidade de
informação contida num estímulo visual:
- Modo high - informa direção, distância, mudança na
direção e mudança na velocidade- Modo low - informa apenas a direção.
Percepções do Cliente
(Visão)
 A freqüência da informação visual passada ao
jogador depende do seu modo de visão:
 No modo normal/high, a taxa típica é de 1 estímulo
a cada 300ms.
 Se o ângulo é incrementado, a taxa é reduzida à
metade. Se o ângulo diminui, a taxa é dobrada.
Exemplos: wide/high = 600ms,
narrow/normal=150ms.
 A mesma relação é valida para a o critério
qualidade. Exemplo: narrow/low = 75ms
Percepções do Cliente
(Visão)
 A precisão da informação visual passada ao
jogador depende da sua distância em relação
ao objeto enxergado: quanto mais próximo do
objeto, maior a veracidade da informação
passada pelo servidor com respeito
exclusivamente ao parâmetro “distância”.
Percepções do Cliente
(Audição)
 O jogador também pode obter informações
auditivas que são frutos de mensagens
transmitidas por outros jogadores e pelo
árbitro.
 Cada jogador pode escutar mensagens de
objetos que estejam a uma distância de até
50m.
 Cada jogador pode receber no máximo uma
informação auditiva a cada ciclo, sendo que a
cada dois ciclos só uma mensagem pode ser
do seu time, tendo a outra que ser do time
adversário.
Ações do Cliente
 Virar-se: Gira o jogador numa direção
especificada.
 Deslocar-se: Movimenta o jogador com uma
“energia” especificada.
 Chutar: Chuta a bola numa certa direção e
com uma certa energia.
 Falar: Transmite uma mensagem para os
demais jogadores.
Ações do Cliente
 No início da partida cada jogador possui uma
energia (stamina) de 2000 unidades.
 Ao efetuar uma ação (deslocar-se ou chutar)
com uma certa energia X, sua energia total é
decrescida deste valor.
 Se o jogador não dispuser das X unidades, a
ação é efetuada com toda a energia que ele
dispõe.
 A cada ciclo sem efetuar uma ação, o jogador
recupera 20 unidades até o máximo de 2000
unidades.
Arbitragem
 Algumas situações são controladas
automaticamente pelo Soccer Server:





gol
bola fora
distância regulamentar (tiro de meta e faltas)
modos de jogo
início, intervalo e fim de jogo
 Outras são julgadas pelo comissário
(operador do Soccer Server):
 jogadas desleais
O Processo de uma Partida
1. Cada cliente conecta-se ao servidor via um
comando init.
2. Quando todos os clientes estiverem prontos,
o comissário (operador do servidor) inicia a
partida pressionando o botão kick-off. Iniciase o 1o. tempo.
3. O primeiro tempo dura cerca de 05 minutos.
Após este tempo, o servidor suspende a
partida.
4. O intervalo dura 05 minutos. Durante o
intervalo, os competidores podem
substituir os clientes.
O Processo de uma Partida
5. Antes do 2o. Tempo, todos os clientes devem
reconectar-se ao servidor via um comando
reconnect.
6. Quando todos os clientes estiverem prontos,
o comissário (operador do servidor) inicia a
partida pressionando o botão kick-off. Iniciase o 2o. tempo.
7. O segundo tempo dura também cerca de 05
minutos. Após este tempo, o servidor pára a
partida.
8. Em caso de empate, proceder-se-á a uma
prorrogação com morte súbita.
FIM
Download

Robocup