A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "RoboCup The Robot World Cup Initiative Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares."— Transcrição da apresentação:

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

2 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ônomos –colaboração de sistemas multiagentes –aquisição de estratégias de pesquisa em tempo real –entre outros.

3 Um Problema Padrão –exemplo: xadrez (ignora dificuldades) CaracterísticasXadrezRoboCup estáticodinâmico Meio ambienteestático dinâmico turnos de tempostempo real Mudança de estadoturnos de tempostempo real completoincompleto Acessibilidade de completoincompleto informações central distribuído Controlecentral distribuído domínios específicosdomínios específicos pesquisas de sistemas do mundo realpesquisas de sistemas do mundo real

4 Um Problema Padrão Lida com a complexidade do mundo real: –comportamento reativo e cognitivo, aquisição de estratégias, aprendizado, planejamento em tempo real, sistemas multiagentes, visão, decisões estratégicas, controle motor, controle de robôs 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.

5 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: –Uma partida de futebol Avaliação: –Competição 97 Nagoya (IJCAI), 98 Paris (ICMAS), 99 Stockholm, 2000 Melborn, 2001 Seattle,...

6 Objetivos Por volta do século 21, um time de robôs humanóides autônomos deve enfrentar o time campeão da copa do mundo conforme as regulamentações da FIFA.Por volta do século 21, um time de robôs humanóides autônomos deve enfrentar o time campeão da copa do mundo conforme as regulamentações da FIFA. [ASA 99] 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. –generalização da arquitetura para diversas outras aplicações.

7 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 pesquisas está no fato de requer a integração de tecnologias dentro de um time completo de agentes.

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

9 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 O mais extraordinário está no aprimoramento do jogo desde a inauguração da copa mundial em Copa Mundial de Robôs Local/DataTimes Primeira Segunda Terceira Hoje Amanhã + 40 Paris, Julho de 1998 Stockholm Melbourne Seattle Nagoya, Japão, Agosto de

10 Análise da Estrutura Simulator League (Liga do Simulador) Simulator League (Liga do Simulador) Small-size real robot league Small-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 league Midle-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 legged league Sony four legged league: 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.

11 O simulador Soccer Server [NODA95]

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

13 O simulador Soccer Server [NODA95] número limitado de informações número limitado de informações Características Meio Ambiente Mudança Acesso Controle Dinâmico Tempo real Incompleto Distribuído Problema padrão para SMA –desempenho –cooperação –aprendizado –habilidades do agente envia mensagens pelo simulador envia mensagens pelo simulador contém ruído contém ruído considera aspectos físicos como: inércia, energia, vento considera aspectos físicos como: inércia, energia, vento

14 O Simulador da RoboCup O campo de futebol: –objetos bidimensionais –apresenta um campo virtual (soccer monitor) –o tamanho do campo: regras de futebol humano comprimento é de 105mcomprimento é 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 visíveis (gols, flags e linhas).

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

16 Características Fatores randômicosFatores randômicos na ação e restrições de desempenho em seus sentidos. posição exataNão sabe a posição exata de muitos objetos distantes (ruído) incorreta sincronizaçãoA incorreta 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. inconsistenteA informação enviada pelo simulador pode ser inconsistente. movimentosOs movimentos dos jogadores não são tão seguros. Comando: turn, kick

17 Características (cont.) Limite do sensor de informação: informação visual. perdidasAs informações sobre os jogadores visualizados são perdidas, quando as distâncias entre os objetos são longas. energiaCada jogador possui uma certa energia (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. comunicaçãoO servidor proporciona um canal de comunicação (através de comandos say e hear), mas com capacidade restrita.

18 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: Gol Gol Bola fora de campo Bola fora de campo Desobstrução Desobstrução Controle do modo de jogo Controle do modo de jogo Final do primeiro tempo e final de jogo Final 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).

19 A Partida Cada partida pode assumir os seguinte estados: before_kick_off:before_kick_off: jogo parado, aguardando início. time_over: time_over: final de jogo. play_on: play_on: quando a bola está em jogo. kick_off_l ou kick_off_r: kick_off_l ou kick_off_r: saída de bola. kick_in_l ou kick_in_r: kick_in_l ou kick_in_r: reposição de bola em jogo. free_kick_l ou free_kick_r: free_kick_l ou free_kick_r: chute livre. corner_kick_l ou corner_kick_r: corner_kick_l ou corner_kick_r: cobrança de escanteio. goal_kick_l ou goal_kick_r: goal_kick_l ou goal_kick_r: cobrança de tiro de meta. goal_l ou goal_r: goal_l ou goal_r: ocorrência de um gol.

20 Comunicação cliente/servidor UDPsocket socket socketpercepção ação Informações Sensoriais: see see hear hear sense_body sense_body Cliente Cliente Cliente... Comandos de Ação: kick kick dash dash turn turn turn_neck turn_neck move move catch catch

21 Comandos de Controle (move X Y) (move X Y) (turn Moment): (turn Moment): -180 (minmoment) ~ 180 (maxmoment). –Inércia: em sua velocidade máxima (1.0), o máximo de turn efetivo que pode fazer é -30 ~ 30. (turn_neck Angle):(turn_neck Angle): –90 ~ 90. O ângulo da cabeça = ângulo de visão. (dash Power):(dash Power): aceleração para a direção atual, -30 ~ 100. –Power negativo = dash para trás (duas vezes energia). (say Message):(say Message): mensagens num raio de 50m. –caracteres do alfabeto, números e símbolos ("+-*/_"), com tamanho máximo de 512 caracteres. (kick Power Direction):(kick Power Direction): -30 ~ 100, -180 ~ 180. –Kickablearea –Distância inicial.

22 Comandos de Controle (change_view Width Quality):(change_view Width Quality): narrow= 45, normal= 90, wide= 180 e a qualidade pode ser low ou high. –A informação visual depende do modo de visão utilizado (catch Direction): (catch Direction): agente goleiro A possibilidade: catch_probability A possibilidade: catch_probability Para pegar a bola: goalie_cacthable_area. Para pegar a bola: goalie_cacthable_area. Pode fazer um catch a cada catch_ban_cycle) Pode fazer um catch a cada catch_ban_cycle) Sucesso: modo free_kick, o goleiro pode se mover dentro da área de pênalti junto com a bola. Sucesso: modo free_kick, o goleiro pode se mover dentro da área 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.

23 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). (see 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).

24 Posição Absoluta Percepção do mundo

25 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. (hear Time Direction Message) Informação do corpo do jogadorInformação do corpo do jogador: sense_body. (sense_body Time (view_mode View_Quality ViewWidth) (view_mode View_Quality ViewWidth) (stamina Stamina Effort) (stamina Stamina Effort) (speed AmountOfSpeed) (speed AmountOfSpeed) (head_angle HeadDirection) (head_angle HeadDirection) (kick KickCount) (kick KickCount) (dash DashCount) (dash DashCount) (turn TurnCount) (turn TurnCount) (say SayCount) (say SayCount) (turn_neck TurnNeckCount)) (turn_neck TurnNeckCount))

26 Referências KITANO, H. RoboCup: The Robot World Cup Initiative. In: International Joint Conference on Artificial Intelligence (IJCAI95), 14., 1995, Montreal. Proceedings... Canada, 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, Disponível em (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 STONE, Peter. The CMUnited-99 Simulator Team In: RoboCup-99: Robot Soccer World Cup. Disponível em (10, junho de 2000).

27 Um Sistema Multiagente para o Simulador Soccer Server Daniela D. da S. Bagatini Prof. Dr. Luis Otávio Campos Alvares

28 Clientes (times) CMUnited (desde 1996) AT Humboudt (desde 1997) UFSC Team (desde 1998) UFRGS Arquitetura Híbrida Característica BDI Controles difusos HíbridaSubsunção Layered Learning Híbrida Subsunção

29 Agente A Arquitetura Proposta Socket UDP Ação variáveis de controle Informação Sensorial simulador Escolha da Ação Percepção do Mundo Interface de Entrada Interface de Saída

30 Modelo do Mundo Parser recv 2035: (see 14 ((goal r) 73 -7) ((flag r t) ) ((flag r b) ) ((flag p r t) ) ((flag p r c) ) ((flag p r b) ) ((player A) ) ((ball) ) ((line r) )) 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: Direção: 40

31 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. Servidor

32 Interface de Comunicação Interpretador de mensagens String de recebimento bruta Acesso 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. Servidor Função receive() - duas opções: socket bloqueante ou não-bloqueante.

33 Processamento Concorrente Send Buffer Recv Buffer Thread Principal Thread Principal Thread de Recebimento Thread de Recebimento Thread de Envio Thread de Envio Timer 100ms Variáveis compartilhadas: RecvBuffer e SendBuffer. Timer na Thread de envio.

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

35 Agente A Arquitetura Proposta Socket UDP Ação variáveis de controle Informação Sensorial simulador Escolha da Ação Percepção do Mundo Interface de Entrada Interface de Saída

36 A Arquitetura - Interface Entrada/Saída Interface de Entrada Interface de Saída Recebe percepção Controle das ações de saída Envia ação Previsão 100 ms see kick Cliente dash

37 Recebido : (see 341 ((goal r) ) ((flag c) ) ((flag c t) ) ((flag c b) ) ((flag r t) ) ((flag r b) ) ((flag p r t) ) ((flag p r c) ) ((flag p r b) ) ((flag g r t) ) ((flag g r b) ) ((flag t l 10) ) ((flag t 0) ) ((flag t r 10) ) ((flag t r 20) ) ((flag t r 30) ) ((flag t r 40) ) ((flag t r 50) ) ((flag b l 10) ) ((flag b 0) ) ((flag b r 10) ) ((flag b r 20) ) ((flag b r 30) ) ((flag b r 40) ) ((flag b r 50) ) ((flag r t 30) ) ((flag r t 20) ) ((flag r t 10) ) ((flag r 0) ) ((flag r b 10) ) ((flag r b 20) ) ((flag r b 30) ) ((ball) ) ((player ufrgs 2) ) ((player ufrgs 3) ) ((player) ) ((player) ) ((line r) )) A Arquitetura - Percepção do MundoPercepção do Mundo Parser Atualizar variáveis variáveis Modelo do Mundo Memória Variáveis de Controleestou_desmarcadocompanheiro_perto_da_bola companheiro_aproxima_da_bola... Objeto1Objeto 2Objeto 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 Mundo 21 0

38 A Arquitetura - Escolha da Ação Escolha da Ação Regras de decisão: Conjunto de condição/ação Enviado : (dash 80) Enviado : (dash 80) SE posso_chutar e companheiro_perto_da_bola ENTÃO 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ção

39 Escolha da ação: exemplo simnão sim Posso pegar a bola? pegar a bola Estou no ponto de interseção? sim não girar para o ponto de interseção caminhar para o ponto de interseção Estou na direção do ponto de interseção?

40 A Arquitetura - Um exemplo Vantagens: Comportamentos bem definidos (arquitetura de subsunção) resultados eficientes comportamento e cooperação emergente ESCANTEIO e companheiro_perto_da_bola comportamento( ir para a área do gol oponente ) Cond Ação

41 Atacante vê bolaCondição 3: vê bola –procurar a bola posse de bolaCondição 1: posse de bola –chutar à gol –driblar (conduzir) –passar a bola posse de bolaCondição 2: posse de bola –ir para a bola (marcar e interceptar) –acompanhar ataque –posicionar estrategicamente –fugir da marcação Objetivo:fazer gol Objetivo: fazer gol

42 Atacante posse de bola Condição 2: 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 4

43 Dificuldades Inconsistência Inconsistência informações sensoriais Incerteza Incerteza comandos enviados X comandos executados informação de percepção Sincronização Sincronização controle dos ciclos Documentação Documentação boa com relação a RoboCup e aos clientes difícil com relação ao Soccer Server (manual)


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

Apresentações semelhantes


Anúncios Google