Jacques Robin CIn-UFPE. O que é RoboCup? *Copa de mundo de futebol para robôs físicos e software multi-agentes (softbots) *Competição anual associada.

Slides:



Advertisements
Apresentações semelhantes
IA Importância da IA em jogos Aplicações.
Advertisements

Renata S.S. Guizzardi Inteligência Artificial – 2007/02
Inteligência Artificial Alex F. V. Machado. Tecnologia de Processamento da Informação que envolve processos de raciocínio, aprendizado e percepção. Winston.
1 Agentes Inteligentes Alex F. V. Machado. 2 Um programa de IA pode ser visto como um Agente Racional Plano da aula O que é um Agente Racional (inteligente)?
Aprendizado de Máquina
Os Sistemas Multi-agente Viviane Torres da Silva
Agentes Inteligentes Introdução.
IA em jogos modelagem de comportamento de personagens
Modelos Baseados em Agentes
Aluno: Peter F. Dam Orientador: Prof. Marcos V. Villas
Sugestões de projetos.
Sugestões de projetos.
Eduardo José Torres Sampaio Rocha Paulo Gustavo Soares Fonseca
Börje Karlsson.
FACENS – Engenharia da Computação Inteligência Artificial
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
1 Simulação baseada em multiagentes – aplicação em educação O processo de simulação significa dirigir o modelo de um sistema com entradas satisfatórias.
SISTEMAS DE INFORMAÇÃO Inteligência Artificial 2011/01
Tópicos em Sistemas Distribuídos
Tema: Metodologia do Esporte Coletivo
A Framework for Robots Development and Programming Based on Genetic Algorithms Palmeira P.F.M Silvino J.S. de Melo J.C.D DEE-UFMG DELT-UFMG.
UNIVERSIDADE CATÓLICA DE GOIÁS
Agentes inteligentes e sistemas multiagentes
Desafios do desenvolvimento de software
Informática Teórica Engenharia da Computação
Monitoria de Introdução à Computação
Localização de fonte sonora utilizando microfones
Com Vetores Cria-se o vetor de velocidade dos agentes e calcula-se sua trajetória Se as trajetórias de um par de agentes cruzar, é identificada a colisão.
Linguagem de Programação IV
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Sistemas Inteligentes
FUNDAMENTOS DO FUTSAL Passe Drible Chute Condução
Vetores e movimento em duas dimensões
INF 1771 – Inteligência Artificial
Futebol de robôs, uma aplicação de robótica
3 – Agentes e 4 – Multiagentes
Agentes em Jogos. Equipe Renato Ferreira Renato Ferreira Saulo Pessoa Saulo Pessoa Jobson Ronan Jobson Ronan Guilherme Oliveira Guilherme Oliveira Henrique.
BOTs Multiplayer Thiago Jamir e Silva – 20/07/2007.
Tópicos Avançados em Inteligência Artificial
Jacques Robin CIn-UFPE Aplicações práticas da descoberta de conhecimento em BD.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Experimento... Wumpus Ambientes Arquiteturas
Programação Evolutiva e Lógica Fuzzy
Sistemas Inteligentes
Padrões de Interação com o Usuário
Aprendizagem por Reforço Alexandre Luiz G. Damasceno.
Metodologia de Ensino do Futsal
Inteligência Artificial I
Resolução de Problemas de Busca
Robolog Ulisses Reina Montenegro
1 Agentes Inteligentes Flávia Barros Patrícia Tedesco.
CIn- UFPE Agntes Autônomos e os Perfis da Graduação a/grade_curricular_reforma.html.
Projetos de descobertas de conhecimento em banco de dados e mineração de dados Jacques Robin, Francisco de Assis e Paulo Adeodato CIn-UFPE.
Agent-Oriented Programming Luanda Philippi Remáculo Sabrina Schürhaus
Desenvolvimento de Sistemas Baseados em Conhecimento Conceitos Iniciais.
Programa de Educação Tutorial Universidade Federal do Espírito Santo Departamento de Informática 1º Time de Futebol de Robôs Capixaba Clebson Joel Mendes.
Disciplina: Administração e Finanças Prof. Ms Marcos A. Ribeiro
Programa de Educação Tutorial Universidade Federal do Espírito Santo Departamento de Informática 1º Time de Futebol de Robôs Capixaba.
Mestrando Gabriel G. Detoni Orientador Prof. Dante Barone Controle para Futebol de Robôs Utilizando Processamento Paralelo Seminário de Andamento.
Rampa Lateral Rampa interna (circular ao gol e as cestas) Cama Elástica Região que o goleiro fica Gol (futebol normal) e 3 cestas de Basquete, na mesma.
RoboCup Criação de uma Equipa para Liga Mixed Reality do RoboCup Orientador: Prof. Dr. Luís Paulo Reis Hugo Mendes – 2.
Sistemas Distribuídos Nadilma Nunes Aula Inicial – Apresentação da disciplina.
Introdução à inteligência artificial
Algoritmos Genéticos Uma visão geral do método Cláudio M. N. A. Pereira.
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
CIn- UFPE 1 Resolução de Problemas. CIn- UFPE ? Agente solucionador de problemas O agente reativo Escolhe suas ações com base.
JOGADORES E SISTEMAS TÁTICOS
Introdução à Robocup RoboCupCIn. Introdução By the year 2050, develop a team of fully autonomous humanoid robots that can win against the human world.
Unity 3D Inteligência Artificial
INFORMÁTICA E EDUCAÇÃO FÍSICA
Transcrição da apresentação:

Jacques Robin CIn-UFPE

O que é RoboCup? *Copa de mundo de futebol para robôs físicos e software multi-agentes (softbots) *Competição anual associada a uma conferência internacional de IA, robótica ou sistemas multi- agentes *Roteiro da apresentação: /Motivação e desafios da RoboCup /Competições e resultados /SoccerServer /RoboLog /Times do CIn-UFPE /Melhores times da RoboCup’99 divisão softbots

Motivação e desafios da RoboCup *Integrar pesquisa e tecnologia fragmentadas da IA /Percepção computacional (visão, integração de sensores) /Robótica (controle e integração de ações físicas) /Raciocínio, representação do conhecimento e planejamento (reativo e deliberativo) /Aprendizagem de máquina /Sistemas multi-agentes e IA distribuída (comunicação, cooperação, inteligência coletiva emergente) /IA tempo-real *Novo teste de Turing para a IA depois do xadrez /já que conseguimos tornar os computadores mais inteligentes do que Kasparov, /vamos agora tentar eleva-los a um nível de inteligência muito mais alto: o de Zidane !

Histórico *1992: idéia nasce em um workshop japonês de robótica *1993: anuncio da Robot-J-League, que logo globaliza- se em Robot World Cup Initiative atendendo apelos da comunidade científica internacional *1996: pré-RoboCup em Osaka na International Conference on Inteligent Robotics and Systems *1997: 1a RoboCup em Nagoya no IJCAI’97 *1998: 2a RoboCup em Paris no ICMAS’98 durante a Copa do Mundo de futebol humano *1999: 3a RoboCup em Stockholm no IJCAI’99 *2000: 4a RoboCup em Melbourne no PRICAI’2000

Competições *4 divisões: /Robôs grandes :11 robôs do tamanho de R2D2 em quadra de futebol de salão /Robôs pequenos :5 robôs de diâmetro max 18cm em mesa de ping-pong :visão global autorizada /Robôs com pernas :3 robô-cachorros da Sony :hardware padronizado /Software multi-agentes (robôs virtuais) :Arquitetura cliente-servidor simulando jogo :SoccerServer implementa o ambiente :22 clientes implementam os agente jogadores :Comunicação entre jogadores apenas através de strings passadas via o SoccerServer

Competições: fotos *Robô grande: *Robôs pequenos: *Robôs cachorros:

Campeões *1997: /Grandes: 5 times, 1. ISI/USC (us) /Pequenos: 4 times, 1. CMU (us) /Virtuais: 33 times, :1. Humboldt U. (de), 2. Tokyo IT (jp), 3. ISI/USC, 4. CMU *1998 /Grandes: 16 times, 1. Freiburg U, (de), 2. Tubligen U. (de) /Pequenos: 12 times, 1. CMU, 2. Roborros (au) /Virtuais: 34 times, 1. CMU, 2. Humboldt U. *1999 /Grandes: 20 times, 1. Sharif (?), 2. ART (?), 3. Freiburg U. /Pequenos: 16 times, 1. BigRed (?), 2. FUFighter (?), 3. Lucky Star (?) /Cachorros: 9 times, 1. LRP (fr), 2. UNSW (uk), 3. CMU /Virtuais: 38 times, 1. CMU (us), 2. Freiburg U. (de), 3. Essex (uk)

SoccerServer: arquitetura *Arquitetura clientes-servidor implementa simulador multi-agentes *Servidor atualiza: ambiente dos agentes = campo dos jogadores *Cliente do SoccerServer = agente = jogador *Time = software multi-agentes distribuído em 11 clientes Soccer Server UDP/IP Client 1 Client 11 Client 1 Time ATime B Soccer Monitor

SoccerServer: comunicação *Recebe strings dos clientes jogadores /codificando suas ações no campo (correr, girar, chutar...) *Atualiza seu modelo do ambiente campo /as conseqüências das ações escolhidas pelos agentes *Manda strings para os clientes jogadores /codificando suas percepções no campo atualizado /visão da bola, dos outros jogadores, audição de mensagens,... *Modelo do campo: /bi-dimensional, atualizado cada 100ms *Comunicação entre jogadores apenas indireta: /ação de falar mandada para o SoccerServer /percepção auditiva recebida do SoccerServer

SoccerMonitor

SoccerServer: propriocepção *Parâmetros: /senseBody(Time, % momento da propriocepção viewMode(Quality, Width), % compromisso entre largura, % qualidade e freqüência da visão stamina(Stamina, % reserva de energia do jogador % parcialmente: - consumida por cada ação % - reabastecida a cada ciclo Effort) % f(Stamina) = percentual da força desejada % da próxima ação efetivamente disponível Speed, % ~ velocidade do jogador HeadAngle, % ângulo cabeça/corpo actionCounts(Kicks, Dashes, Turns, Says, NeckTurns) % número de ações de cada tipo já executada pelo jogador ) *Freqüência: 1 por ciclo

SoccerServer: parámetros da visão *see(Time, % tempo da visão ObjName, % estrutura identificando objeto visto Distance, % posição relativa do objeto visto em coords Direção, % polares centrado no jogador olhando DistChng, DirChng, % derivadas dessas coordenadas polares BodyDir, % quando objeto visto é um jogador, orientação HeadDir) % do corpo e da cabeça relativamente a direção *ObjName = ball | /player(Team,Number) | /goal({l;r}) | % l = left, r = right /line({l|r|t|b}) % t = top, b = bottom /flag/1 | % pontos de referência no campo: /flag/2 | % com argumentos l,r,t,b, e/ou /flag/3). % c = center, p = penalty area, g = goalpoast.

SoccerServer: limites da visão *Campo: /circulo de raio VisibleDistance fixo ao redor do jogador /cone centrado no rosto do jogador de ângulo ViewWidth = {180;90;45} escolhido pelo jogado *Clareza: diminuí com a distância /de perto direção e distância do objeto e se for jogador também cor e número /de longe apenas direção do objeto e se for jogador sem cor nem número /variação contínua entre os dois influência pela escolha de ViewQuality pelo jogador *Confiabilidade: ruído aumenta com distância *Freqüência: inversamente proporcional a ViewQuality e ViewWidth

SoccerServer: audição *Parâmetros: /hear( Time, % tempo da audição Direction, % angulo da procedência da mensagem auditíva % 2 exceções: Direction = self ou referee Message) % string da mensagem em linguagem natural % exceção: linguagem artificial para mensagens % do juiz = kick_off_l | kick_in_l | % corner_kick_r |... *Limites: /Raio = 50m /Freqüência: :1 mensagem de jogador por ciclo :caso vários são mandados, apenas o primeiro é ouvido /Nenhum limite para mensagens do juiz

SoccerServer: ações *move(X,Y): posicionar jogador no início do jogo *dash(Power): acelerar no eixo com força Power *turn(Moment): girar corpo de um angulo dependente de Moment e da velocidade do jogador *turnNeck(Angle): girar pescoço relativo ao corpo *kick(Power,Dir): chutar na direção Dir com força Power *catch(Dir): mergulhar na direção Dir para pegar bola; reservado para goleiros *say(Message): mandar string no único canal de comunicação compartilhado pelos 22 jogadores *change_view(Angle,Quality): mudar compromisso entre largura, profundidade e freqüência da visão /Angle = ângulo do cone de visão, 180, 90 ou 45 /Quality = :high: direção e distancia de cada objeto no cone de visão :low: apenas direção dos mesmos /Freqüência diminua automaticamente quando Angle e Quality aumentam

SoccerServer: tipo de ambiente *inacessível (percepção parcial e ruidosa) *não determinístico: /execução ruidosa das ações /imprevisibilidade das escolhas do agentes adversários /não confiabilidade de UDP/IP *episódico? (melhor ação depende apenas do estado atual do ambiente e não da sua história?) *dinâmico (o jogo é tempo-real, limite de 100ms para raciocinar sem o ambiente mudar) *contínuo (parâmetros reais em algumas percepções e ações) *ambos cooperativo e antagônico

RoboLog *Interface de alto nível para usar o SoccerServer a partir de Eclipse Prolog (implementado em C) *Estruturado em 4 camada: /camada de redes: :predicados Prolog isomorfos aos comandos do SoccerServer :mas discretizando flux de percepções a ações :e assim implementando sincronização cliente/servidor /camada de raciocínio qualitativo e trigonometria /camada de percepções e ações complexas: :predicados de percepção e ação de granularidade maior do que os comando do SoccerServer /camada de jogador: :código de um agente exemplo com estratégia de jogo simplória :base para prototipagem rápido de times

RoboLog camada 2: ações e percepções complexas *self(Time,X,Y,Dir): posição absoluta instantânea do jogador *myside(Side) e goalside(Side): lado do time do jogador e do gol oposto *goalie(Team,Nr): número dos goleiros *goals(Time,Team,N): placar *object(Time,Name,Id, Dist,Dir,DDist,DDir,X,Y,FaceDir): /coords relativas e absolutas do um objeto qualquer *kick_to(Distance,Dir): chama primitiva kick_to(Power,Dir) várias vezes até a bola estar na distancia Distance

RoboLog camada 4: jogador exemplo com habilidades mínimas *Procura ver a bola e o gol do adversário *Se bola estiver bastante perto para ser dominada: /girar para ficar atrás dela na direção do gol /se a trajetória bola-gol estiver bloqueada por um jogador :tentar driblar jogador lateralmente /senão :se a bola estiver bastante perto do gol, chutar para o gol :senão driblar na direção do gol *Senão /se a bola estiver abaixo de um certo limiar de distância: :girar para ficar orientado na sua direção e acelerar /senão voltar para sua posição de base no campo

CMUnited bi-campeão do mundo: arquitetura em camadas camada 1: atualização do modelo do ambiente(t) *interpretação das percepções recebidas (passivo) *ações de percepção e de comunicação (ativo, guiado por objetivos das camadas mais altas) *ex,: onde está a bola agora? camada 2: previsão do modelo do ambiente(t+n) *ex,: onde estará a bola daqui a 3 ciclos se chutar nela com força F? *envolve modelagem do comportamento dos outros camada 3: habilidades técnicas *decomposta em sub-camadas *ex, driblar adversários envolve saber conduzir a bola camada 4: habilidades táticas individuais *decomposta em sub-camadas *ex, chutar ou passar? se passar, passar para quem? camada 5: participação em planos de jogadas coletivas *jogadas de bola parada *impedimento *marcação coordenada

CMUnited bi-campeão do mundo: tecnologias *Representação do conhecimento e raciocínio simbólico /regras heurísticas analíticas *Aprendizagem de máquina /aprendizagem supervisionado :conexionista (redes neurais) na camada 3, ex, getToBall :simbólico (árvores de decisão) na camada 4, ex, o que fazer com a bola: driblar, passar, chutar para o goal? /aprendizagem por reforço :simbólico na camada 4, ex, para onde lançar a bola? *Ambiente de avaliação e treinamento empírico usando: /SoccerServer Coach Client /Rastreamento em camada *Implementação em C++

Time UMGP (Univeristy of Maryland’s Genetic Programming) *Time automaticamente programada usando aprendizagem evolucionista *2 vitórias e 2 derrotas na RoboCup’97 *Prêmio da contribuição científica

O que é aprendizagem evolucionista? *Entrada: /sopa primordial de instruções primitivas e construtores /critério de seleção natural (fitness measure) /operadores de criação de novos indivíduos-programas :reprodução, mutação *Saída: /programa combinando instruções primitivas por meio de construtores /melhor indivíduo da ultima geração *Processo iterativo: /criar geração inicial de combinações (programas) aleatórias /organizar torneio entre eles e selecionar os vencedores /criar nova geração combinando seus genes (sub-programas) /recomeçar até veteranos derrotam novatos

Evolução dos times da UMGP *Time aleatória (arqueozóico)*Futebol de quintal (paleozóico)

Evolução dos times da UMGP *Aprender a proteger gol (mesozóico) *Aprender ocupação racional do território (cenozóico)

RoboJornalistas: ISAAC Zeng99 annihilated by CMU99! CMU99 absolutely devastated Zeng99 in a 11-0 rout. CMU99 showed their offensive muster, pressing the attack on Zeng99 and keeping the ball in their half of the field for 86% of the game. With this field dominance, they had an easy time scoring on Zeng99. CMU99 handled the ball well, keeping control of the ball for 74% of the game. Zeng99 had their players close together in this game. Better positioning may have helped them contain the CMU99 offense. CMU99 scored using their dribbling technique for 2 of their goals. CMU99 scored using their passing skills for 8 of their goals. CMU99 scored after stealing the ball from an opponent for 1 of their goals. CMU99 did not keep a good amount of distance between their players. Zeng99 did not keep a good amount of distance between their players. CMU99 showed some good ball control skills. This game summary was produced by ISAAC.

Idéias de projetos RoboCup no CIn-UFPE *Times do CIn: /MaracatuRC00 para RoboCopa Brasil 2000 /MaractuRC01 para RoboCup 2001 *Divisão Lego Mindstorm *Ambiente de Desenvolvimento de SoccerBots: /GUI com vasto menu de predicados e classes prontos para testar rapidamente idéias táticas via “cortar e colar” *Ambiente de Suporte a Decisão: /Data Warehouse de estatísticas de jogos /Mineração de dados do data warehouse para descobrir táticas vencedoras /Geração de resumos (hiper)textuais dos resultados da mineração de dados /Disponibilizado na Web para usuários externos