Post on 17-Apr-2015
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-RoboCup-96 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
RoboCupCategoria 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
Soccer ServerUDP/IP UDP/IP
Client 1
Client 11Client 11
Client 1
Time A Time B
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. Inicia-se 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 Partida5. 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. Inicia-se 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