43
RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos

RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Embed Size (px)

Citation preview

Page 1: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

RoboCup

The Robot World Cup

Initiative

Daniela D. da S. Bagatini

Prof. Dr. Luis Otávio Campos Alvares

Page 2: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Sistemas Multiagentes e a RoboCup

Desafio para SMA.

A RoboCup estimula a pesquisa na construção de agentes avançados (comportamento

inteligente).

Um Problema Padrão• Plataforma para pesquisas:

– agentes autônomosagentes autônomos

– colaboração de sistemas multiagentescolaboração de sistemas multiagentes

– aquisição de estratégias de pesquisa em tempo realaquisição de estratégias de pesquisa em tempo real

– entre outros.entre outros.

Page 3: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Um Problema Padrão

– exemplo: xadrez (ignora dificuldades)exemplo: xadrez (ignora dificuldades)

CaracterísticasCaracterísticas XadrezXadrez RoboCupRoboCupMeio ambiente estáticoestático dinâmicodinâmico

Mudança de estado turnos de temposturnos de tempos tempo realtempo realAcessibilidade de completocompleto incompletoincompletoinformações

Controle centralcentraldistribuídodistribuído

• domínios específicosdomínios específicos• pesquisas de sistemas do mundo realpesquisas de sistemas do mundo real

Page 4: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Um Problema Padrão• Lida com a complexidade do mundo real:

– comportamento reativo e cognitivo, aquisição de comportamento reativo e cognitivo, aquisição de

estratégias, aprendizado, planejamento em tempo estratégias, aprendizado, planejamento em tempo

real, sistemas multiagentes, visão, decisões real, sistemas multiagentes, visão, decisões

estratégicas, controle motor, controle de robôs estratégicas, controle motor, controle de robôs

inteligentes, e muitas outras.inteligentes, e muitas outras.

• Alto nível de competência para a realização de tarefas, como

chutar, interceptar.

• Colaboração em um problema dinâmico.

• Característica:Característica: promover pesquisas com a oportunidade de

demostrar resultados, na forma de competição em um

ambiente dinâmico.

Page 5: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

RoboCup - The Robot World Cup

“Reúne a necessidade de lidar com a complexidade do mundo real

criando robôs simulados que demonstrem um alto nível de

competência para a realização de tarefas, como chutar , interceptar,

entre outros.” [KITANO]

Problema:Problema: – Uma partida de futebol

Avaliação:Avaliação:– Competição

97 Nagoya (IJCAI), 98 Paris (ICMAS), 99 Stockholm, 2000 Melborn, 2001 Seattle, ...

Page 6: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Objetivos

““Por volta do século 21, um time de robôs Por volta do século 21, um time de robôs

humanóides autônomos deve enfrentar o humanóides autônomos deve enfrentar o

time campeão da copa do mundo conforme time campeão da copa do mundo conforme

as regulamentações da FIFAas regulamentações da FIFA”. ”. [ASA 99]

Conjunto de pequenos objetivos:Conjunto de pequenos objetivos:

– avaliar os méritos da proposta de pesquisa usando tarefas padrões

de SMA:

• planos, conhecimentos, capacidades, emoções e outros.planos, conhecimentos, capacidades, emoções e outros.

– generalização da arquitetura para diversas outras aplicações.

Page 7: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

O Desafio• O trabalho em grupo é complexo;

• Domínios dinâmicos de sistemas multiagentes requer alta flexibilidade de

coordenação e comunicação para superar as incertezas;

• Cumprir responsabilidades;

• Planejamento de coordenação em domínios com tantas possibilidades de

ação é uma tarefa complicada;

• O dinamismo do domínio causado pelas ações não previstas do

oponente torna a situação consideravelmente mais complexa.

Uma das maiores razões porque a RoboCup atrai tantas Uma das maiores razões porque a RoboCup atrai tantas

pesquisas está no fato de requer a integração de pesquisas está no fato de requer a integração de

tecnologias dentro de um time completo de agentes.tecnologias dentro de um time completo de agentes.

Page 8: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

A Origem• O Soccerserver (Noda, 1995) é realístico em alguns aspectos:

• a visão do jogador é limitada; a visão do jogador é limitada;

• o jogador pode comunicar-se enviando recado;o jogador pode comunicar-se enviando recado;

• todos os jogadores são controlados por processos separados; todos os jogadores são controlados por processos separados;

• cada jogador tem 10 companheiros e 11 oponentes; cada jogador tem 10 companheiros e 11 oponentes;

• cada jogador tem energia limitada; cada jogador tem energia limitada;

• ações e sensores têm ruídos; ações e sensores têm ruídos;

• e o jogo ocorre em tempo real.e o jogo ocorre em tempo real.

• Várias complexidades do mundo real são asseguradas.

Page 9: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

A Origem• Federação RoboCup:Federação RoboCup: organização internacional, envolve mais de 35

países e 150 universidades, institutos de pesquisas nacionais e cooporações privadas.

• Idéia discutida em 1993.

• O mais extraordinário está no aprimoramento do jogo desde a inauguração da copa mundial em 1997.

Copa Mundial de RobôsCopa Mundial de Robôs Local/DataLocal/Data TimesTimes

PrimeiraPrimeira

SegundaSegunda

TerceiraTerceira

HojeHoje

AmanhãAmanhã

+ 40+ 40

Paris, Julho de 1998Paris, Julho de 1998

StockholmStockholm

MelbourneMelbourne

SeattleSeattle

Nagoya, Japão, Agosto de 1997Nagoya, Japão, Agosto de 1997

+ 50+ 50

+ 120+ 120

+ 150+ 150

Page 10: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Análise da Estrutura Simulator LeagueSimulator League (Liga do Simulador) (Liga do Simulador)

Small-size real robot leagueSmall-size real robot league (Liga de Robôs Reais de Pequeno Porte):

O campo possui o mesmo tamanho e a mesma cor de uma mesa de

ping-pong e apresenta cinco robôs por time, jogando uma partida com

uma bola de golfe.

Midle-size real robot leagueMidle-size real robot league (Liga de Robôs Reais de Médio Porte): O

campo é do tamanho e da cor de 3 mesas de ping-pong e apresenta

cinco robôs por time, utilizando a bola de Futsal-4.

Sony four leggedSony four legged leagueleague: Eles tem de coordenar todas as suas quatro

pernas para levar a bola para dentro do gol. O robô Sony joga em um

campo de carpete verde com declive.

Page 11: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

O simulador Soccer Server [NODA95]

Page 12: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Possibilidades Futuras Robôs para desenvolver tarefas perigosas.Robôs para desenvolver tarefas perigosas.

Robôs de pesquisa e Resgate. Robôs de pesquisa e Resgate.

Futuros sistemas de transporte.Futuros sistemas de transporte.

Robôs de brinquedo.Robôs de brinquedo.

Robôs para socorrer idosos e deficientes.Robôs para socorrer idosos e deficientes.

Robôs para trabalhar na indústria.Robôs para trabalhar na indústria.

Baterias de alta eficiência e uso de energia.Baterias de alta eficiência e uso de energia.

Novos materiais e aparelhos.Novos materiais e aparelhos.

Evolução de Software.Evolução de Software.

Vida Artificial.Vida Artificial.

Page 13: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

O simulador Soccer Server [NODA95]

número limitado de informaçõesnúmero limitado de informações

• CaracterísticasMeio Ambiente

Mudança

Acesso

Controle

DinâmicoDinâmico

Tempo realTempo real

IncompletoIncompleto

DistribuídoDistribuído

• Problema padrão para SMA – desempenho– cooperação– aprendizado– habilidades do agente

envia mensagens pelo simuladorenvia mensagens pelo simulador contém ruídocontém ruído

considera aspectos físicos como: considera aspectos físicos como: inércia, energia, ventoinércia, energia, vento

Page 14: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

O Simulador da RoboCup• O campo de futebol:

– objetos bidimensionais objetos bidimensionais

– apresenta um campo virtual (apresenta um campo virtual (soccer monitorsoccer monitor))

– o tamanho do campo: regras de futebol humanoo tamanho do campo: regras de futebol humano• comprimento é de 105m comprimento é de 105m

• largura é de 68mlargura é de 68m

• largura do gol é dupla, sendo 14.64mlargura do gol é dupla, sendo 14.64m

• jogadores e bola são representados como círculosjogadores e bola são representados como círculos

• Existem os seguintes objetos:– objetos móveis (a bola e os jogadores) e objetos móveis (a bola e os jogadores) e

– objetos visíveis (gols, objetos visíveis (gols, flagsflags e linhas). e linhas).

Page 15: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Características Sistema cliente-servidor

Proporciona um campo virtual

Um cliente é o cérebro do jogador em campo, e

controla as ações do jogador

Sistema aberto: Clientes podem ser escritos por

algum sistema de programação que tem interface

UDP/IP.

Múltipla plataforma. O SS roda em SunOS 4.1.x,

Solaris 2, DEC OSF/1, NEWS-OS, Linux e Irix 5.

Page 16: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Características• Fatores randômicosFatores randômicos na ação e restrições de desempenho

em seus sentidos.• Não sabe a posição exataposição exata de muitos objetos distantes

(ruído) • A incorreta sincronizaçãoincorreta sincronização: comportamento completamente

indesejado.• IncertezaIncerteza: Nem sempre os comandos enviados ao servidor

são executados. Nada garante que o efeito do comando seja percebido.

• A informação enviada pelo simulador pode ser inconsistenteinconsistente.

• Os movimentos movimentos dos jogadores não são tão seguros. Comando: turn, kick

Page 17: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Características (cont.)

• Limite do sensor de informação: informação visual.• As informações sobre os jogadores visualizados são

perdidasperdidas, quando as distâncias entre os objetos são longas.

• Cada jogador possui uma certa energiaenergia (stamina).• ColisõesColisões são também simplificadas• Força negativaForça negativa pode causar ao agente caminhar para

trás, causando o consumo de energia duas vezes mais.• O servidor proporciona um canal de comunicaçãocomunicação

(através de comandos say e hear), mas com capacidade restrita.

Page 18: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

A Partida• A partida é basicamente controlada pelo módulo juiz.

• Faltas como obstrução, possibilita que um juiz humano possa marcar.

• O módulo árbitro controla o jogo da seguinte forma: GolGol

Bola fora de campoBola fora de campo

DesobstruçãoDesobstrução

Controle do modo de jogoControle do modo de jogo

Final do primeiro tempo e final de jogoFinal do primeiro tempo e final de jogo

• O primeiro tempoO primeiro tempo: 5 minutos (3000 ciclos).

• O intervaloO intervalo: 5 minutos, os competidores podem modificar os programas clientes.

• O segundo tempoO segundo tempo: 5 minutos.

• ProrrogaçãoProrrogação: tempo extra (até ocorrer um gol).

Page 19: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

A Partida

• Cada partida pode assumir os seguinte estados:

• before_kick_offbefore_kick_off:: jogo parado, aguardando início.

time_overtime_over:: final de jogo.

play_onplay_on:: quando a bola está em jogo.

kick_off_l kick_off_l ou ou kick_off_rkick_off_r:: saída de bola.

kick_in_lkick_in_l ou ou kick_in_rkick_in_r:: reposição de bola em jogo.

free_kick_l free_kick_l ou ou free_kick_rfree_kick_r:: chute livre.

corner_kick_l corner_kick_l ou ou corner_kick_rcorner_kick_r:: cobrança de escanteio.

goal_kick_lgoal_kick_l ou ou goal_kick_rgoal_kick_r:: cobrança de tiro de meta.

goal_lgoal_l ou ou goal_rgoal_r:: ocorrência de um gol.

Page 20: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Comunicação cliente/servidor

UDPUDP

socketsocket

socketsocket

socketsocket

percepçãopercepção

açãoação

Informações Sensoriais:Informações Sensoriais:• seesee• hearhear• sense_bodysense_body

ClienteCliente

ClienteCliente

ClienteCliente

......

Comandos de Ação:Comandos de Ação:• kickkick• dashdash• turnturn• turn_neckturn_neck• movemove• catchcatch

Page 21: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Comandos de Controle ((movemove X Y) X Y)

((turnturn MomentMoment):): -180 (minmoment) ~ 180 (maxmoment).

– Inércia: em sua velocidade máxima (1.0), o máximo de Inércia: em sua velocidade máxima (1.0), o máximo de turnturn efetivo que pode efetivo que pode

fazer é -30 ~ 30. fazer é -30 ~ 30.

• ((turn_neckturn_neck AngleAngle):): –90 ~ 90. O ângulo da cabeça = ângulo de visão.

• ((dashdash PowerPower):): aceleração para a direção atual, -30 ~ 100.

– PowerPower negativo = negativo = dashdash para trás (duas vezes energia). para trás (duas vezes energia).

• ((saysay MessageMessage):): mensagens num raio de 50m.

– caracteres do alfabeto, números e símbolos ("+-*/_"), com tamanho máximo de caracteres do alfabeto, números e símbolos ("+-*/_"), com tamanho máximo de

512 caracteres.512 caracteres.

• ((kick Power Directionkick Power Direction):): -30 ~ 100, -180 ~ 180.

– KickableareaKickablearea

– Distância inicial.Distância inicial.

Page 22: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Comandos de Controle• ((change_viewchange_view WidthWidth QualityQuality):): narrow= 45, normal= 90, wide= 180 e a

qualidade pode ser low ou high.

– A informação visual depende do modo de visão utilizadoA informação visual depende do modo de visão utilizado

((catch Directioncatch Direction):): agente goleiro

A possibilidade: “A possibilidade: “catch_probabilitycatch_probability””

Para pegar a bola: “Para pegar a bola: “goalie_cacthable_areagoalie_cacthable_area”. ”.

Pode fazer um Pode fazer um catchcatch a cada a cada catch_ban_cyclecatch_ban_cycle))

Sucesso: modo Sucesso: modo free_kickfree_kick, o goleiro pode se mover dentro da área , o goleiro pode se mover dentro da área

de pênalti junto com a bola.de pênalti junto com a bola.

• O modelo de ação é discreto (movimentos ocorrem ao final do ciclo).

• Os comandos podem não causar os efeitos esperados (física e ruídos).

• A mensagem enviada está limitada ao tamanho máximo de 256 bytes.

• O servidor aceitará apenas um comando de ação de cada cliente, em cada ciclo de simulação.

Page 23: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Informações Sensoriais• Um cliente possui três tipos de informações sensoriais: visuais,

auditivas e do próprio corpo.

• As informações visuais:As informações visuais: informa a distância e o ângulo relativo aos

"pontos estacionários" aos jogadores (nome do time, número do

uniforme, distância e ângulo dos jogadores) e a bola (distância e

ângulo).

((seesee Time ObjInfo ObjInfo ...Time ObjInfo ObjInfo ...))

• No campo existem 55 "pontos estacionários”.

• O jogador pode também "ver" na visible_distance. Se o objeto está

nessa distância mas não no cone de visão, o jogador pode saber

somente o tipo do objeto (Player, Goal, Flag).

Page 24: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Posição AbsolutaPercepçãoPercepçãodo mundodo mundo

Page 25: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Informações Sensoriais• Toda comunicação entre clientes é feita pelo servidor: say.• Informadas aos jogadores distantes até 50m. • As informações auditivas:As informações auditivas: são mensagens assincronamente enviadas por

outros jogadores através do Soccerserver ou pelo próprio árbitro.

((hearhear Time Direction MessageTime Direction Message))• Informação do corpo do jogadorInformação do corpo do jogador: sense_body.

((sense_bodysense_body TimeTime

(view_mode View_Quality ViewWidth)(view_mode View_Quality ViewWidth)

((staminastamina Stamina EffortStamina Effort))

((speedspeed AmountOfSpeedAmountOfSpeed))

((head_anglehead_angle HeadDirectionHeadDirection))

((kick KickCountkick KickCount))

((dash DashCountdash DashCount))

((turn TurnCountturn TurnCount))

((say SayCountsay SayCount))

((turn_neck TurnNeckCountturn_neck TurnNeckCount))))

Page 26: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Referências• KITANO, H. RoboCup: The Robot World Cup Initiative. In: International Joint

Conference on Artificial Intelligence (IJCAI’95), 14., 1995, Montreal. Proceedings...

Canada, 1995.

• CORTEN, E; DORER, K; HEINTZ, F; KOSTIADIS, K; KUMMENEJE, J; MYRITZ, H;

NODA, Itsuki; RIEKKI, J; RILEY, P; STONE, Peter; YEAP, T. Soccer Server manual.

Technical report, RoboCup Federation, 1999. Disponível em

http://www.dsv.su.se/~johank/RoboCup/manual/ (10, junho de 2000).

• NODA, Itsuki; MATSUBARA, Hitoshi. Soccer Server and Researches on Multi-Agent

Systems. In: International Conference on Intelligent Robots and Systems (IROS-96),

1996, Osaka. Proceedings... 1996.

• STONE, Peter. The CMUnited-99 Simulator Team In: RoboCup-99: Robot Soccer

World Cup. Disponível em

http://www.ida.liu.se/ext/robocup/simul/CMUnited99/teampage.html (10, junho de

2000).

Page 27: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Um Sistema Multiagente

para o Simulador Soccer

Server

Daniela D. da S. Bagatini

Prof. Dr. Luis Otávio Campos Alvares

Page 28: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Clientes (times)

• CMUnited (desde 1996)

• AT Humboudt(desde 1997)

• UFSC Team (desde 1998)

• UFRGS

ArquiteturaArquitetura

Híbrida

Híbrida

Híbrida

CaracterísticaCaracterística

BDI

Controlesdifusos

Híbrida “Subsunção”

Layered Learning

HíbridaHíbrida ““Subsunção”Subsunção”

Page 29: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

AgenteAgente

A Arquitetura Proposta

Socket UDPSocket UDP

Ação

variáveis de controle

Informação Sensorial

simulador

Escolha da Ação

Percepçãodo Mundo

Interfacede Entrada

Interfacede Saída

Page 30: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Modelo do Mundo

Parser

recv 2035: (see 14 ((goal r) 73 -7) ((flag r t) 84 -31) ((flag r b) 76.7 18) ((flag p r t) 63.4 -28) ((flag p r c) 56.8 -10) ((flag p r b) 56.8 10) ((player A) 13.2 40) ((ball) 22.2 -26 0 0) ((line r) 72.2 -90))

• Comando: see

...

• Bloco2: - Objeto: flag r t

- Time e Numero:null

- Distância: 84

- Direção: -31

• Bloco7: - Objeto: player

- Time: A

- Numero: null

- Distância: 13.2

- Direção: 40

Page 31: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Interface de Comunicação Funções de envio:

• init (TeamName, Goalie)

• catch (Direction)

• change_view (Width, Quality)

• dash (Power)

• kick (Power, Direction)

• move (x, y)

• say (Message)

• sense_body()

• turn (Angle)

• turn_neck (Angle)

Funções de envio:

• init (TeamName, Goalie)

• catch (Direction)

• change_view (Width, Quality)

• dash (Power)

• kick (Power, Direction)

• move (x, y)

• say (Message)

• sense_body()

• turn (Angle)

• turn_neck (Angle)

String de envio montada

Comando parametros

String de envio montada

Comando parametros

Acesso ao socket UDP

Uso da função send(), envio

da mensagem através da

porta de comunicação.

Acesso ao socket UDP

Uso da função send(), envio

da mensagem através da

porta de comunicação.

ServidorServidor

Page 32: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Interface de Comunicação

Interpretador de mensagensInterpretador de mensagens

String de recebimento brutaString de recebimento brutaAcesso ao socket UDP

Uso da função receive(), recebimento

da mensagem através da porta de

comunicação.

Acesso ao socket UDP

Uso da função receive(), recebimento

da mensagem através da porta de

comunicação.

ServidorServidor

• Função receive() - duas opções: socket bloqueante ou não-bloqueante.

Page 33: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Processamento Concorrente

SendBuffer

RecvBuffer

ThreadPrincipalThread

PrincipalThread de

RecebimentoThread de

RecebimentoThread de

EnvioThread de

Envio

Timer100ms

• Variáveis compartilhadas: RecvBuffer e SendBuffer.

• Timer na Thread de envio.

Page 34: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Processamento Paralelo

• Socket bloqueante para não perder processamento da CPU.

• Sincronização entre as threads - MutEx.

• Thread bloqueadas esperando para acesso à memória.

• Envio de mais de um comando por ciclo - Soccer Server aceita apenas um.

• Processamento principal deve ser o mais rápido possível.

Page 35: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

AgenteAgente

A Arquitetura Proposta

Socket UDPSocket UDP

Ação

variáveis de controle

Informação Sensorial

simulador

Escolha da Ação

Percepçãodo Mundo

Interfacede Entrada

Interfacede Saída

Page 36: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

A Arquitetura - Interface Entrada/Saída

InterfaceInterfacede Entradade Entrada

InterfaceInterfacede Saídade Saída

• Recebe percepção

• Controle das ações de saída• Envia ação• Previsão

100 ms 100 ms

seesee

kickkick

ClienteCliente

dashdash

Page 37: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Recebido : (see 341 ((goal r) 69.4 1) ((flag c) 17.6 12 -0 0) Recebido : (see 341 ((goal r) 69.4 1) ((flag c) 17.6 12 -0 0) ((flag c t) 34.1 -61) ((flag c b) 42.1 64) ((flag r t) 75.9 -24) ((flag r b) 79.8 27)((flag c t) 34.1 -61) ((flag c b) 42.1 64) ((flag r t) 75.9 -24) ((flag r b) 79.8 27)((flag p r t) 55.1 -18) ((flag p r c) 53.5 2) ((flag p r b) 58.6 23) ((flag p r t) 55.1 -18) ((flag p r c) 53.5 2) ((flag p r b) 58.6 23) ((flag g r t) 69.4 -3) ((flag g r b) 70.8 7) ((flag t l 10) 35.2 -80) ((flag g r t) 69.4 -3) ((flag g r b) 70.8 7) ((flag t l 10) 35.2 -80) ((flag t 0) 38.5 -65) ((flag t r 10) 43.8 -53) ((flag t r 20) 50.9 -44) ((flag t 0) 38.5 -65) ((flag t r 10) 43.8 -53) ((flag t r 20) 50.9 -44) ((flag t r 30) 58.6 -38) ((flag t r 40) 66.7 -33) ((flag t r 50) 75.2 -29) ((flag t r 30) 58.6 -38) ((flag t r 40) 66.7 -33) ((flag t r 50) 75.2 -29) ((flag b l 10) 44.3 78) ((flag b 0) 46.5 66) ((flag b r 10) 51.4 56) ((flag b l 10) 44.3 78) ((flag b 0) 46.5 66) ((flag b r 10) 51.4 56) ((flag b r 20) 57.4 47) ((flag b r 30) 64.1 40) ((flag b r 40) 71.5 35) ((flag b r 20) 57.4 47) ((flag b r 30) 64.1 40) ((flag b r 40) 71.5 35) ((flag b r 50) 79.8 31) ((flag r t 30) 79 -20) ((flag r t 20) 75.9 -13)((flag b r 50) 79.8 31) ((flag r t 30) 79 -20) ((flag r t 20) 75.9 -13)((flag r t 10) 74.4 -6) ((flag r 0) 74.4 1) ((flag r b 10) 75.9 9) ((flag r t 10) 74.4 -6) ((flag r 0) 74.4 1) ((flag r b 10) 75.9 9) ((flag r b 20) 78.3 16) ((flag r b 30) 82.3 22) ((ball) 73.7 -24)((flag r b 20) 78.3 16) ((flag r b 30) 82.3 22) ((ball) 73.7 -24)((player ufrgs 2) 16.4 42 -0 0.1 -42 -42) ((player ufrgs 3) 12.2 16 -0 0 -21 -21) ((player ufrgs 2) 16.4 42 -0 0.1 -42 -42) ((player ufrgs 3) 12.2 16 -0 0 -21 -21) ((player) 66.7 2) ((player) 66.7 -18) ((line r) 69.4 88)) ((player) 66.7 2) ((player) 66.7 -18) ((line r) 69.4 88))

A Arquitetura - Percepção do Mundo

PercepçãoPercepçãodo Mundodo Mundo

• Parser

AtualizarAtualizar variáveis variáveis

• Modelo do Mundo

• Memória

• Variáveis de Controle

estou_desmarcadoestou_desmarcado

companheiro_perto_da_bolacompanheiro_perto_da_bola

companheiro_aproxima_da_bolacompanheiro_aproxima_da_bola......

Objeto1 Objeto 2 Objeto n...

Tipo:Nome:Distancia:Direção:...

Tipo:Nome:Distancia:Direção:...

Tipo:Nome:Distancia:Direção:...

Tipo:Nome:Distancia:Direção:...

Tempo 0

Tempo 1

Tempo 2

Modelo do MundoModelo do Mundo

22 11 00

Page 38: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

A Arquitetura - Escolha da AçãoEscolha Escolha da Açãoda Ação

• Regras de decisão:Conjunto de condição/ação

Enviado : (dash 80)Enviado : (dash 80)

SE SE posso_chutar e posso_chutar e companheiro_perto_da_bola ENTÃO companheiro_perto_da_bola ENTÃOcomportamento( ir para a bola )comportamento( ir para a bola )

++

--

Chutar p/ comp. perto do gol desmarcado

Chutar p/ comp. perto do gol

Chutar p/ posição

Arquitetura de subsunçãoArquitetura de subsunção

Page 39: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Escolha da ação: exemplo

sim não

nãosim

Posso pegar a bola?

pegar a bola Estou no ponto de interseção?

sim não

girar para o ponto de interseção

girar para o ponto de interseção

caminhar para o ponto de interseção

Estou na direção do ponto de interseção?

Page 40: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

A Arquitetura - Um exemplo

Vantagens:Vantagens:

Comportamentos bem definidos (arquitetura de subsunção)Comportamentos bem definidos (arquitetura de subsunção)

resultados eficientes comportamento e cooperação emergente

ESCANTEIO e companheiro_perto_da_bolaESCANTEIO e companheiro_perto_da_bola

comportamento( ir para a área do gol oponente )comportamento( ir para a área do gol oponente )

Cond

Ação

Page 41: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Atacante

• Condição 3: vê bola vê bola– procurar a bola

• Condição 1: posse de bolaposse de bola– chutar à gol– driblar (conduzir)– passar a bola

• Condição 2: posse de bola posse de bola– ir para a bola (marcar e interceptar)– acompanhar ataque– posicionar estrategicamente– fugir da marcação

Objetivo:Objetivo: fazer golfazer gol

Page 42: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Atacante Condição 2: posse de bola posse de bola

– ir para a bola (marcar e interceptar)– acompanhar ataque– posicionar estrategicamente

– fugir da marcação

fugir_da_marcação*

(vejo_a_bola) && (estou_marcado) && (bola_aproxima) && (não_meu_lado_de_campo)

Cond

Ação

* modificar posição, não perder a visão da bola

Regra 4Regra 4

Page 43: RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

Dificuldades InconsistênciaInconsistência

informações sensoriais

IncertezaIncerteza comandos enviados X comandos executados informação de percepção

SincronizaçãoSincronização controle dos ciclos

DocumentaçãoDocumentação boa com relação a RoboCup e aos clientes difícil com relação ao Soccer Server (manual)