Controle para Futebol de Robôs Utilizando Processamento Paralelo Plano de Estudos e Pesquisa (PEP) Mestrando Gabriel Detoni Orientador Prof. Dante Barone Agenda • • • • Visão Geral Motivação Objetivos Metodologia Agenda • • • • Visão Geral Motivação Objetivos Metodologia Contexto • Futebol de robôs, Robocup e a UFRGS. • Small Size é a modalidade de futebol de robôs escolhida para o trabalho. • O que está sendo proposto e porquê? – Processamento paralelo é acessivel. – Estudo e aplicação de técnicas novas de programação. – Ampliação da capacidade de processamento para controle do sistema (time). Agenda • • • • Visão Geral Motivação Objetivos Metodologia Desafios • • • • Processar informação em tempo real. Superar oponentes. Desenvolver e/ou aplicar técnicas novas. Produzir resultados melhores utilizando a infra-estrutura já existente. • Trabalhar com fluxos de dados e controle assíncronos. Habilitadores • • • • Acesso a processadores de múltiplos núcleos. Equipe PET. Linguagens de programação de alto nível. Definições e código fonte de equipes consagradas. Agenda • • • • Visão Geral Motivação Objetivos Metodologia Visão • Habilitar a equipe de futebol de robôs da UFRGS para tirar proveito cedo de um futuro onde processamento paralelo passa a ser o paradigma. Objetivos • Propor uma arquitetura eficiente para controle orientada a processamento paralelo. • Gerar resultados e fundamentação teórica consistentes. • Colaborar com o desenvolvimento da equipe da UFRGS. É! • Definição de arquitetura para controle orientada a processamento paralelo. • Compilação de trabalhos correlatos e técnicas de apoio. • Prototipação e validação de uma proposta. Não é! • Um sistema multi-agentes. • Um software pronto para competir. • Uma nova tecnologia. Agenda • • • • Visão Geral Motivação Objetivos Metodologia Proposta • Compilar fundamentação teórica e trabalhos correlatos em processamento paralelo e IA para controle de futebol de robôs. • Propor uma arquitetura própria para controle de futebol de robôs. • Implementar um protótipo e analisar os resultados. Cronograma 2009 Ação 2010 Mar Abr Mai Jun Jul Ago Set Out Nov Dez Jan Fev Mar Abr Mai Revisão bibliográfica sobre o estado da arte em futebol de robôs. Revisão bibliográfica sobre o padrões técnicos recomendados para processamento paralelo de informações. Desenvolvimento de um simulador de futebol de robôs. Planejamento de uma arquitetura e sua subseqüente aplicação no desenvolvimento de um time de futebol de robôs. Coleta de resultados Reuniões Periódicas com o Prof. Orientador Seminário de Andamento Redação e revisão da dissertação Entregar a dissertação Defender a dissertação Envolvimento principal Envolvimento secundário Envolvimento marginal Situação • Alguns resultados. Proposta inicial • Baseada em ciclos. The Proposed Architecture • Designed for multi-core processors – The higher is the number of cores available, the higher is parallelism achieved – Very few synchronization points – Plays, actions and activities designed for simultaneous execution • Based on steady architecture from champion teams Game Situation Strategy Attack Group Play Quick Pass Actions Pass Ball Run Receive Ball Receive Ball Pass Ball Activities Pass Ball Run Dribble Turn Avoid Obstacles Kick Receive Ball Dribble Turn Go to Target Dribble Turn Receive Ball Dribble Turn Pass Ball Kick Threads View Threads that control the execution of the actions and manage the results asynchronously. Permanent Team Control Threads Strategy State Prediction Grouping Permanent System Threads Plays Executor Threads that establish the team objectives controlling its behavior. Actions Executor Activities Executor Robot Commander Transient Execution Threads Play 1 Action 1 Activity 1 Play 2 Action 2 Activity 2 Play n Action 3 Activity 3 Action n Activity n Threads that execute actions to met team objectives. Proposta em desenvolvimento • Utiliza a maior parte da proposta anterior porem é baseada em eventos (estímulos). Definitions Activity: Respond to sensors and provide motor commands. One robot can perform several activities at same time as part of a single action Action: Control one or more activities to perform a higher task. Activities shall pass via stimulus, all the information the action need. One Robot can perform one action at time. Strategy: Defines attack or defend behavior, group players and set the plays each group shall perform. Play: Defines what action each Robot shall do according to a game strategy. Stimuli Based Architecture Motion Vision Read live vision information 30ms Command Orchestrator Dispatch Commands to robots Game Monitor Ball position has changed Read produced commands that are ready. Activity 1: “Robot 1 go to ball” Asynchronous stimuli. Robot 2 position has changed Activity 2: “Robot 2 avoid collision” Stimuli Based Architecture Game Monitor Ball position has changed Activity 1: “Robot 1 go to ball” Robot 2 position has changed Activity 2: “Robot 1 avoid collision” Closer to objective Closer to objective Action 1: “Dribble” Stimuli Based Architecture • Activities receive stimulus asynchronously and update their results based on that. • While processing, no new stimulus can be received. The receiver is saturated. • As soon as possible new stimuli will be processed Stimuli Based Architecture Game Monitor Ball position has changed Activity 1: “Robot 1 go to ball” Robot 2 position has changed Activity 2: “Robot 1 avoid collision” Closer to objective Closer to objective Action 1: “Dribble” Stimuli Based Architecture Action 2: “Support dribbler” Action 1: “Dribble” Lost ball Play 1: “Individual Attack” Failed Strategy: “Attack” Stimuli There is one listener for each stimulus. Sensor Robot 1 Moved Ball Moved Processor 2 Processor 1 Ball Moved React Robot Moved React Ball Moved React Ball Moved Stimuli Sensor Processor 1 React Robot Moved React Ball Moved Processor 2 React Ball Moved Stimuli Sensor Processor 2 Processor 1 Ball Moved React Robot Moved React Ball Moved React Ball Moved Stimulus received while thread is waiting will overwrite the old ones Demonstração Controle para Futebol de Robôs Utilizando Processamento Paralelo Plano de Estudos e Pesquisa (PEP) Mestrando Gabriel Detoni Orientador Prof. Dante Barone