29
Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca

Embed Size (px)

DESCRIPTION

Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca. O que é RoboCup. - PowerPoint PPT Presentation

Citation preview

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