eduardo josé torres sampaio rocha paulo gustavo soares fonseca

29
Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

Upload: internet

Post on 17-Apr-2015

103 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

Eduardo José Torres Sampaio Rocha

Paulo Gustavo Soares Fonseca

Page 2: 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..

Page 3: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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.

Page 4: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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.

Page 5: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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 .

Page 6: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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

Page 7: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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.

Page 8: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

Robôs Pequenos

Page 9: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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.

Page 10: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

Robôs Médios

Page 11: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

RoboCupCategoria Simulador

Page 12: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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.

Page 13: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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.

Page 14: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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.

Page 15: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

Arquitetura

Soccer ServerUDP/IP UDP/IP

Client 1

Client 11Client 11

Client 1

Time A Time B

Page 16: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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.

Page 17: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

Soccer Server

Page 18: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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.

Page 19: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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

Page 20: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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.

Page 21: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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

Page 22: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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”.

Page 23: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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.

Page 24: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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.

Page 25: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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.

Page 26: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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

Page 27: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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.

Page 28: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

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.

Page 29: Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

FIM