• Nenhum resultado encontrado

MR-SoccerServer: Um Simulador de Futebol de Robôs usando Realidade Mista

N/A
N/A
Protected

Academic year: 2021

Share "MR-SoccerServer: Um Simulador de Futebol de Robôs usando Realidade Mista"

Copied!
11
0
0

Texto

(1)

MR-SoccerServer: Um Simulador de Futebol de Robˆos

usando Realidade Mista

Jos´e Grimaldo da S. Filho1

, Adailton de J. Cerqueira Jr.1 , Juliana F. Reichow1 , Fagner de A. M. Pimentel1 , Elen M. R. de J. Casaes2 1

N´ucleo de Arquitetura de Computadores e Sistemas Operacionais (ACSO) Universidade do Estado da Bahia (UNEB) – Salvador – BA – Brasil

{jose.jgrimaldo, adailton.junior, jufajardini, fagnerpimentel}@gmail.com 2

Centro Universit´ario da Bahia (FIB) Salvador – BA – Brasil

elenmargareth@gmail.com

Abstract. This article describes the scientific and technical work of the

Bahi-aMR team in 2007 to 2009. The BahiBahi-aMR is the current latin american and brazillian champion in the mixed reality category, obtaining, respectively, the fourth and third places in the world competitions on Robocup in 2007 and 2008. During this period the team worked in the construction of a new server to the soccer game, and was used officialy for the first time during the Latin American RoboCup Open 2008. This article describes the concept of mixed reality and how it serves the purpose of the RoboCup initiative. We describe the implemen-tation of the MR-SoccerServer and the MR-Simulator: two important tools for the mixed reality (MR) sub-league.

Resumo. Este artigo descreve o trabalho t´ecnico-cient´ıfico da equipe BahiaMR

no per´ıodo 2007/2009. O BahiaMR ´e o atual campe˜ao brasileiro e latino ame-ricano na modalidade Realidade Mista da RoboCup e obteve respectivamente o quarto e terceiro lugares nos torneios de futebol das competic¸˜oes Mundiais Ro-boCup em 2007 e 2008 nesta modalidade. Neste per´ıodo a equipe trabalhou na construc¸˜ao do novo servidor do jogo de futebol que foi usado pela primeira vez numa competic¸˜ao oficial durante o Latin American RoboCup Open 2008. Este artigo explica o conceito de realidade mista e como ele serve aos prop´ositos da iniciativa RoboCup. N´os descrevemos a implementac¸˜ao do MR-SoccerServer e MR-Simulator: importantes ferramentas para sub-liga Realidade Mista (MR).

1. Introduc¸˜ao

A RoboCup (Robot World Cup Initiative) ´e uma iniciativa internacional de educac¸˜ao e pesquisa que objetiva impulsionar as pesquisas na ´area de Inteligˆencia Artificial e rob´otica propondo um problema real onde diversas tecnologias podem ser integradas, dentro da RoboCup existem quatro categorias: Futebol de Robˆos (RoboCup Soccer), Resgate de V´ıtimas de Desastres (RoboCup Rescue), Desafios Dom´esticos (RoboCup

@Home) e RoboCup Junior [Kitano et al. 1997a]. No RoboCup Soccer est˜ao

engloba-das as competic¸˜oes de futebol rob´otico: Middle size league (Liga de robˆos de m´edio

(2)

porte), Small size league (Liga de robˆos pequenos), Standard plataform league (Liga de Plataforma padr˜ao) , Simulation league (Liga de Simulac¸˜ao) e Humanoid league (Liga de robˆos human´oides).

Na liga de simulac¸˜ao agentes autˆonomos jogam futebol em um campo virtual, atrav´es de um software simulador (servidor) comum aos dois times em competic¸˜ao, e ´e o ´unico que sabe todas as informac¸˜oes do jogo de futebol, ambos os times recebem do simulador a informac¸˜ao visual restringida sobre o estado do jogo. A liga de simulac¸˜ao ´e subdividida em 2D, 3D e Realidade Mista (Mixed Reality).

Em 2007, a liga de simulac¸˜ao de futebol de robˆos (Soccer Simulation) da RoboCup iniciou a subliga Realidade Mista - originalmente denominada Visualizac¸˜ao F´ısica

(Phy-sical Visualization) - apresentando a mistura de robˆos reais com ambientes simulados,

segundo o conceito de Realidade Aumentada [Guerra et al. 2008b, Guerra et al. 2007b]. Desde o primeiro ano, a equipe BahiaMR obteve qualificac¸˜ao para disputar a liga

Mixed Reality(MR), participando na RoboCup 2007 em Atlanta e 2008 em Suzhou, na

China. Nestas competic¸˜oes obteve o quarto e terceiro lugar, respectivamente, no torneio de futebol. Outras importantes conquistas s ˜A£o o bicampeonato brasileiro (2007/2008) na Brazilian RoboCup Open e o t ˜Atulo latino americano na Latin American RoboCup Open (2008).

Nesta liga, al´em do torneio de futebol de robˆos, as equipes disputam competic¸˜oes de desenvolvimento em que as contribuic¸˜oes em termos de hardware ou software para a infra-estrutura da liga s˜ao avaliadas. Tamb´em s˜ao avaliadas propostas de novas aplicac¸˜oes utilizando o conceito de realidade mista. Em 2008, o BahiaMR obteve o quarto lugar na RoboCup.

Este artigo relata duas contribuic¸˜oes para a plataforma de realidade mista da Ro-boCup: um servidor-simulador para o futebol (sec¸˜ao 4), e um simulador gen´erico (sec¸˜ao 5). Na sec¸˜ao 2 ser´a descrito o conceito de realidade mista e como ele serve aos prop´ositos da iniciativa RoboCup. A sec¸˜ao 3 descreve a arquitetura de software desenvolvida para a liga realidade mista da RoboCup.

2. O conceito de Realidade Mista na Iniciativa RoboCup

Uma das formas de fomentar e testar t´ecnicas de Inteligˆencia Artificial (IA) ´e atrav´es de desafios padr˜ao. Em 1997, o Deep Blue, um computador, venceu o campe˜ao mundial de xadrez, Garry Kasparov. Na mesma d´ecada, alguns pesquisadores visualizaram que o jogo de futebol fornecia um ´otimo campo de desafios para a IA e a rob´otica inteligente, por apresentar um ambiente multiagentes competitivo e colaborativo, dinˆamico, estoc´astico, de tempo real, parcialmente observ´avel, sequencial e cont´ınuo[Russel and Norvig 2002, Kitano et al. 1995].

Com este intento, surge a iniciativa RoboCup, para apoiar o desenvolvimento da Rob´otica Inteligente, fomentando a Inteligˆencia Artificial, a Rob´otica e as ´areas relaciona-das [Kitano et al. 1997a, Kitano et al. 1997b]. Na iniciativa RoboCup o futebol ´e usado como desafio padr˜ao. As t´ecnicas desenvolvidas neste contexto posteriormente podem servir de base para sistemas de gerenciamento de tr´afego, de energia, para comunicac¸˜ao entre robˆos autˆonomos etc. Para atingir estes objetivos, foi criada uma organizac¸˜ao de-nominada RoboCup Federation que passou a organizar um evento anual - RoboCup - que

(3)

re´une um simp´osio cient´ıfico e competic¸˜oes de robˆos. A meta desta iniciativa ´e que, at´e 2050, um time de futebol de robˆos human´oide completamente autˆonomos seja capaz de vencer o time humano campe˜ao mundial do momento[Kitano et al. 1997b].

Neste artigo iremos abordar apenas a liga de simulac¸˜ao Realidade Mista1. Dentro

do escopo da RoboCup, esta nova liga traz alguns pontos interessantes:

• Funcionar, possivelmente, como uma ponte entre as ligas simuladas e

f´ısicas[Gerndt et al. 2008].

• Mudar o foco das competic¸˜oes do desenvolvimento intra-equipes de agentes

joga-dores para a colaborac¸˜ao com vistas a um sistema de propostas e desenvolvimen-tos auto-suficiente, c´ıclico e cooperativo, que possa manter a liga em constante evoluc¸˜ao[Guerra et al. 2008a, Guerra et al. 2007a].

• Preencher a lacuna entre a RoboCupJunior e as ligas Sˆenior da

Robo-Cup (nas quais tradicionalmente est˜ao envolvidos pesquisadores com n´ıvel de mestrado ou doutorado), abrindo espac¸o ent˜ao para estudantes de graduac¸˜ao[Guerra et al. 2008a].

Outro diferencial para a iniciativa RoboCup ´e justamente trazer o conceito de Realidade Mista, e suas potencialidades[Gerndt et al. 2008], para as competic¸˜oes.

A Realidade Mista localiza-se dentro do chamado Continuum Realidade-Virtualidade (ver figura 1) que representa a mudanc¸a gradual do mundo real para o virtual. Ela se estende da realidade aumentada `a virtualidade aumentada[Milgram et al. 1994, Milgram and Kishino 1994, Stapleton et al. 2002, Drascic and Milgram 1996], e deno-mina a superposic¸˜ao de real e virtual. Para mais informac¸˜oes acerca destes conceitos, veja [Azuma 1997, Biocca and Levy 1995, Vince 2004, Vince 1995].

Figura 1. Representac¸ ˜ao simplificada de um continuum Realidade-Virtualidade[Milgram et al. 1994]

A realidade aumentada pode ser definida como a inserc¸˜ao de objetos virtuais em um ambiente f´ısico. O contr´ario, a inserc¸˜ao de objetos reais em um ambiente virtual, ´e denominado virtualidade aumentada. Ent˜ao, o torneio de futebol da MR, parte das competic¸˜oes desta sub-liga, ´e um exemplo virtualidade aumentada, pois apresenta mini-robˆos f´ısicos (os agentes jogadores) interagindo com elementos virtuais: a bola, as flags localizadoras, o campo. Um aspecto interessante do sistema provido pela MR ´e que ou-tras aplicac¸˜oes podem se beneficiar das mesmas configurac¸˜oes deste, mas para traba-lhar com a realidade aumentada. Um exemplo dessa outra abordagem ´e o Labirinto do Minotauro[SILVA et al. 2007], jogo concebido pelo grupo no qual os mini-robˆos devem salvar Atenienses virtuais contra um Minotauro enquanto atravessam um labirinto que possui paredes f´ısicas (e n˜ao apenas simuladas). Assim, esta sub-liga oferece um bom

(4)

ambiente de testes para que pesquisadores atuem largamente no espectro da simulac¸˜ao e interac¸˜ao entre o real e o virtual. Mais detalhes em uma an´alise sobre as possibilidades em simulac¸˜ao dentro da MR podem ser encontrados em [Gerndt et al. 2008].

A configurac¸˜ao do ambiente provido pela MR, para possibilitar o discutido acima est´a descrita em [Guerra et al. 2007a]: um ou mais mini-robˆos jogam sobre uma tela plana LCD, onde o ambiente em si, bem como outros objetivos virtuais, ´e mostrado. Os robˆos podem interagir, tamb´em, com outros objetos f´ısicos. Seus movimentos s˜ao capturados por uma cˆamera de alta resoluc¸˜ao e as imagens processadas s˜ao utilizadas para alimen-tar o simulador, que envia a vis˜ao individual para cada agente, depois de processar os efeitos das ´ultimas ac¸˜oes enviadas para si no ambiente simulado. Tais decis˜oes s˜ao fei-tas pelos agentes, hospedados em computadores, e enviadas aos mini-robˆos atrav´es de comandos infra-vermelho. Mudanc¸as ocorridas no mundo simulado podem ser acompa-nhadas atrav´es do display.

A primeira vers˜ao do software para amparar este ambiente era monol´ıtica e, por-tanto, pouco flex´ıvel. Descreveremos, a partir de agora, os esforc¸os desenvolvidos, no ˆambito da sub-liga MR, conjuntamente com equipes de pa´ıses como Alemanha e Canad´a, no sentido de prover um sistema modularizado e mais robusto como plataforma para a liga.

3. Arquitetura de Software da Liga Realidade Mista

Com a criac¸˜ao da liga em 2007, foi desenvolvido um servidor com uma arquitetura mo-nol´ıtica, cuja manutenc¸˜ao e atualizac¸˜ao eram extremamente penosas e complexas. Ap´os a RoboCup 2007, as equipes participantes da liga trabalharam conjuntamente para defi-nir uma arquitetura modular para o software de suporte `a simulac¸˜ao em Realidade Mista. Esta arquitetura prevˆe um baixo acoplamento entre os m´odulos permitindo inclusive que os mesmos sejam desenvolvidos e aperfeic¸oados de forma independente. A figura 2 ilustra esta nova arquitetura.

Figura 2. Nova arquitetura modular da subliga Realidade Mista

(5)

e o protocolo de comunicac¸˜ao desenvolvido usando XML para a comunicac¸˜ao entre os m´odulos.

3.1. Os m´odulos da arquitetura

Conforme pode ser visto na figura 2, h´a um m´odulo independente respons´avel por enviar os comandos aos robˆos, genericamente chamado de Robot Control (RC). Ele recebe os comandos enderec¸ados aos robˆos em mensagens com uma linguagem de alto n´ıvel - o XML -, e os traduz em comandos b´asicos de baixo n´ıvel, compreendidos pelos robˆos. Al´e disso, tamb´em trata dos detalhes t´ecnicos do infravermelho, atrav´es do qual ´e feita a comunicac¸˜ao com os micro-robˆos. O tratamento das imagens ´e feito pelo Vision Tracking (VT), que a partir das capturas de imagens sem tratamento feitas pela cˆamera, reconhece a localizac¸˜ao dos objetos que estejam no campo, especialmente os robˆos, e envia os dados sobre a captura interpretada para a aplicac¸˜ao, tamb´em em XML. O Graphics pode exibir as imagens da simulac¸˜ao; normalmente est´a conectado ao monitor sobre o qual est˜ao os agentes. Est˜ao tamb´em previstos no protocolo os clientes - Clients, que tanto podem ser baseados em um cliente b´asico provido por alguma equipe, atualmente desenvolvido pela UNEB, quanto serem desenvolvidos independentemente, desde que sigam o protocolo de comunicac¸˜ao e conex˜ao da aplicac¸˜ao.

´

E poss´ıvel haver um operador - Operator - conectado `a aplicac¸˜ao, para receber poss´ıveis mensagens de erro ou autorizar alguma ac¸˜ao no decorrer dos jogos. No contexto do jogo de futebol, o operador poderia ser o juiz humano que, apoiado pelas informac¸˜oes e controles providos pelo servidor de futebol, d´a a palavra final sobre os eventos mais im-portantes da partida - como um gol. Um simulador do ambiente est´a sendo desenvolvido pelo time BahiaMR, no qual s˜ao dispensadas as utilizac¸˜oes do Robot Control e Vision Tracking, como descrito na sec¸˜ao 5.

3.2. O protocolo de comunicac¸˜ao XML

Como a arquitetura, o protocolo XML foi um trabalho em conjunto, como citado na subsec¸˜ao anterior. A construc¸˜ao do protocolo tem como objetivo a comunicac¸˜ao entre os m´odulos, que foram desenvolvidos por equipes geograficamente distintas, funcionasse de um modo coeso, pois a definic¸˜ao de um protocolo de comunicac¸˜ao permite uma interface padronizada. A linguagem escolhida foi a Extensible Markup Language (XML), tornando o protocolo mais adapt´avel `as poss´ıveis demandas que surjam, como novos softwares agregados `a subliga.

A atual vers˜ao, 1.3, contempla aspectos gen´ericos, como o formato das mensagens enviadas ao m´odulo gr´afico oficial, mas apresenta tamb´em conte´udos mais voltados `a aplicac¸˜ao de futebol. O simulador de futebol descrito na pr´oxima sec¸˜ao ´e completamente compat´ıvel com tais especificac¸˜oes.

4. O Desenvolvimento do MR-SoccerServer

Conforme citado na sec¸˜ao 2, o futebol ´e uma das poss´ıveis aplicac¸˜oes do conceito de reali-dade mista. N´os desenvolvemos um simulador/servidor, o MR-SoccerServer, respons´avel por todas as funcionalidades relacionadas ao futebol, controlando quest˜oes como modos de jogo (i.e., tiro de meta, meio de campo), gols e placar da partida relativo a cada time.

(6)

O operador, m´odulo que auxilia o controle do fluxo da partida (comec¸ar, pausar, autori-zar um gol, por exemplo), tamb´em depende diretamente do servidor para realizac¸˜ao desta tarefa.

Estas funcionalidades proporcionam muitas vantagens em relac¸˜ao ao servidor uti-lizado no primeiro ano da liga, em 2007 (RoboCup Atlanta), e tamb´em em 2008, na RoboCup China. Tornou-se mais f´acil dar manutenc¸˜ao e extender o software, bem como adicionar novas funcionalidades, como detecc¸˜ao autom´atica de gols, tiros de meta, con-trole autom´atico do tempo, concon-trole do jogo remotamente, e, como um trabalho ainda em desenvolvimento, podemos citar tamb´em detecc¸˜ao de faltas, escanteios e prorrogac¸˜ao. Atualmente, o servidor comporta partidas com 12 jogadores, 6 em cada time. Note-se que, no primeiro software, eram permitidos apenas dois mini-robˆos por time.

4.1. Desgin do Software

As caracter´ısticas apresentadas por esta sub-liga mostraram-se um grande desafio em ter-mos de design de software. ´E preciso levar em conta as limitac¸es de tempo-real impostas pelos requisitos n˜ao funcionais da liga, como tamb´em necessidades de gerenciar o au-mento natural de complexidade na medida em que novas regras e requisitos s˜ao criados. Analisar e desenvolver tais soluc¸˜oes baseados em Padr˜oes de Projeto provou-se uma tarefa dif´ıcil.

Um software simploriamente planejado pode levar a uma r´apida decadˆencia de seu c´odigo. As raz˜oes disto est˜ao descritas em muitos estudos, e sintetizadas por [Erich Gamma 1995] e [Eick et al. 2001]. Cada m´odulo ´e independente em funcionali-dade, mas eles est˜ao ligados por um pocote gen´erico de classes e func¸˜oes que guiam o desenvolvimento do c´odigo. Eles compartilham uma framework composta de padr˜oes de reutilizac¸˜ao, que pode orientar apropriadamente o processo de desenvolvimento; esta

fra-mework inclui funcionalidade para gerar logs, comunicac¸˜ao e identificac¸˜ao. Prover tais

caracter´ısticas de um modo que vise a reutilizac¸˜ao foi um dos aspectos principais durante o desenvolvimento do MR-SoccerServer.

Esta abordagem provˆe, tamb´em, mais seguranc¸a e robustez ao software, permi-tindo a detecc¸˜ao de erros de forma mais f´acil e segura. Tradicionalmente, os grupos que produzem software para competic¸˜oes cient´ıficas de rob´otica negligenciam as boas pr´aticas de engenharia de software e o uso de padr˜oes de projeto, tornando os ambientes inst´aveis e com ciclo de vida reduzido. Portanto, o m´etodo adotado no desenvolvimento do MR-SoccerServer representa uma significativa inovac¸˜ao dentro desta comunidade.

4.2. Fluxo de Informac¸˜ao

Uma definic¸˜ao l´ogica do fluxo de informac¸˜ao no Soccer Server pode ser dividida em fa-ses. ´E interessante, de todo modo, notar como um ambiente de realidade mista difere de uma simulac¸˜ao pura, como citado em [Noda and Stone 2003]. A cada ciclo do servidor (que dura 66 milissegundos), a informac¸˜ao ´e recebida e processada conforme mostrado na figura 3. ´E importante observar que ´e recebida uma mensagem de imagem por ciclo2.

Antes de aplicar as ac¸˜oes dos clientes ao jogo, a nova informac¸˜ao recebida da cˆamera (Vi-sion Tracking) ´e aplicada: a despeito do fato de que esta informac¸˜ao n˜ao estava dispon´ıvel

266 milissegundos ´e o tempo m´ınimo necess´ario para o Vision Tracking receber a processar a imagem

(7)

Figura 3. O fluxo de informac¸ ˜ao

para o cliente, n˜ao faz sentido que um chute seja baseado na posic¸˜ao n˜ao atualizada do mini-robˆo, j´a que para os expectadores humanos poderia parecer que o robˆo est´a chutando em ˆangulos ou posic¸˜oes inesperados. Os clientes devem levar em considerac¸˜ao o pequeno intervalo entre a mensagem que ´e enviada e sua ac¸˜ao afetar o ambiente, o que aumenta o realismo, criando todo um conjunto de novas estrat´egias, como diminuir a velocidade para aumentar a precis˜ao do chute.

Ap´os o recebimento da informac¸˜ao das posic¸˜oes dos mini-robˆos do Vision Trac-king, o servidor atualiza o estado do mundo, simula a partida e envia aos clientes dados como posic¸˜ao dos robˆos e da bola, da perpectiva do agente. Os clientes tˆem no m´aximo 66 milissegundos para process´a-los, decidir a melhor ac¸˜ao a tomar (atualmente, chutar ou mover-se), e responder ao servidor. Se nenhuma ac¸˜ao for tomada, ou se chegar ap´os o final do ciclo, o cliente perde a chance de fazer algo neste ciclo, e ter´a de esperar pelo pr´oximo. Na vers˜ao atual do servidor, os seguintes comandos s˜ao permitidos aos clientes:

• wheel velocities (velocidade das rodas): o cliente envia informac¸˜ao sobre a

velo-cidade de cada roda

• kick (chutar): ac¸˜ao de chutar a bola com ˆangulo e forc¸a determinados

Ap´os a ac¸˜ao ser recebida e especificada, o comando de chute ´e processado dentro do motor de simulac¸˜ao de f´ısica utilizado, a ODE - Open Dynamics Engine [Smith et al. 2005] -, e a forc¸a resultante ´e aplicada ´a bola. As velocidades do comando para as rodas s˜ao repassadas para o m´odulo Robot Control, para traduc¸˜ao e transmiss˜ao sobre infra-vermelho (veja a sec¸˜ao 3 para mais detalhes).

O juiz resolve uma preocupac¸˜ao transversal em reforc¸ar as regras de futebol no jogo, e pode atuar sobre diversos locais pr´e-definidos. Os pontos principais de ac¸˜ao ocor-rem ap´os o final do ciclo, principalmente depois do passo de simulac¸˜ao. Isto ´e ´util para muitas ac¸˜oes, como cancelar ac¸˜oes de agentes baseado no estado do jogo, ou sinalizar a ocorrˆencia de um gol (e por conseguinte alterar o estado da partida). O juiz possui uma funcionalidade distinta e bem definida, e sempre checa o estado do jogo antes de reali-zar qualquer ac¸˜ao. Tais funcionalidades tamb´em est˜ao definidas apenas para momentos escolhidos, e n˜ao para todas as poss´ıveis fases de jogo.

(8)

O MR-SoccerServer j´a foi utilizado oficialmente durante o Latin American

Robo-Cup Open em outubro de 2008 em Salvador e ser´a utilizado durante o German RoboRobo-Cup Open na Alemanha (abril de 2009) e o Japan RoboCup Open no Jap˜ao (maio de 2009).

Com os relat´orios de erros e demandas por melhorias que vˆem sendo continuamente gera-dos, o software ir´a chegar at´e a RoboCup 2009 em Graz ( ´Austria) no mˆes de julho pronto para ser usado como simulador oficial da liga.

5. MR-Simulator: simulando o ambiente completo

Apesar de a MR estar enquadrada dentro da liga de simulac¸˜ao da RoboCup, ela ´e, como dito na sec¸˜ao 2, um misto de realidade e virtualidade. Deste modo, alguns elementos deste ambiente n˜ao s˜ao simulados, como robˆos, cˆamera, transmissores infra-vermelho. Entretanto, nem todos os times em potencial j´a tˆem toda esta infra-estrutura montada em seus laborat´orios. Isto torna dif´ıcil testar os agentes e trazer novos desenvolvimentos para a liga.

Por outro lado, uma das principais propostas da liga ´e prover uma ferramenta edu-cacional para tornar f´acil ensinar a programac¸˜ao de robˆos. Quando usando esta ferramenta em larga escala, em escolas com pouca infra-estrutura, ´e dif´ıcil dispor de muitas cˆameras, transmissores infra-vermelhos, grandes telas e robˆos. Por estas raz˜oes, ´e altamente de-sej´avel obter uma ferramenta que simule todos os elementos f´ısicos deste ambiente. As-sim, grupos de estudantes e cientistas poderiam compartilhar a mesma infra-estrutura f´ısica, que serviria para testes e competic¸˜oes, e desenvolver as suas pesquisas utilizando a simulac¸˜ao.

O MR-simulator, um trabalho em fase de desenvolvimento, est´a apto a simular o comportamento de robˆos reais, substituindo os m´odulos RC e VT descritos na sec¸˜ao 3. Assim, ´e poss´ıvel rodar jogos sem usar cˆameras, robˆos e transmissores infravermelhos. Este simulador ´e compat´ıvel com a arquitetura modular apresentada, podendo ser usado para qualquer aplicac¸˜ao, e n˜ao s´o para jogos de futebol.

O principal problema do MR-simulator ´e simular a trajet´oria correta dos robˆos. Ele recebe como entrada as posic¸˜oes atuais e comandos enviados para o robˆo e a sa´ıda deve ser a posic¸˜ao futura do robˆo. Iremos descrever agora como simulamos estas tra-jet´orias.

Considere a sucess˜ao de tempos ti = t0, t1, ..., tn em que as velocidades v1,i

(esquerda) e v2,i (direita) das duas rodas s˜ao atualizadas. A posic¸˜ao das rodas em cada

tempo tk ´e dada pelo par de coordenadas (x1,k, y1,k) (esquerda) e (x2,k, y2,k) (direita).

Durante cada intervalo de tempo Ii = [ti, ti+1) as velocidades de ambas rodas s˜ao

mantidas constantes e iguais `a velocidade configurada comot = ti. Seja ∆t o passo da

atualizac¸˜ao de cada roda. Ent˜ao, durante o intervaloIi um total demi = (ti+1− ti)/∆t

movimentos do robˆo deve ser completado. Definindoa0 como a distˆancia entre as rodas,

(x1,1, y1,1) e (x2,1, y2,1) a posic¸˜ao inicial da roda esquerda e direita, respectivamente,

f = 0.5 um fator de correc¸˜ao sim´etrica. ´E definido tamb´em k = 1 e executadas as

seguintes operac¸˜oes:

Para cada intervalo de tempoi = 1, 2, ..., n fac¸a:

(9)

2. ex = x2,k − x1,k

3. ct= ey/a0

4. st= −ex/a0

5. mi = (ti+1− ti)/∆t

Para cada movimento do robˆoj = 1, 2, ..., mi fac¸a:

1. x1,k+1= x1,k+ v1,ict∆t

2. x2,k+1= x2,k+ v2,ict∆t

3. y1,k+1= y1,k + v1,ist∆t

4. y2,k+1= y2,k + v2,ist∆t

Corrija a posic¸˜ao da roda (a) ey = y2,k+1− y1,k+1 (b) sy = sign(ey) (c) ex= x2,k+1− x1,k+1 (d) sx = sign(ex) (e) ea= q e2 y+ e 2 x− a0

Para correc¸˜ao da velocidade dependente defina i. f2 = v2,i/(v2,i+ v1,i)

ii. f1 = 1 − f2

5. x2,k+1= x2,k+1− sxeaf2

6. x1,k+1= x1,k+1+ sxeaf1

7. y2,k+1= y2,k+1− syeaf2

8. y1,k+1= y1,k+1+ syeaf1

coloque a roda esquerda nas coordenadas (x1,k+1, y1,k+1) e a roda direita em

(x2,k+1, y2,k+1).

9. k=k+1

Como trabalho em andamento, estamos investigando o tratamento de colis˜ao du-rante tais trajet´orias. As seguintes colis˜oes devem ser tratadas: robˆo-bola, robˆo-robˆo, robˆo-parede e bola-parede.

A subliga MR est´a em constante evoluc¸˜ao e uma das metas de curto-prazo ´e rodar jogos 5x5. Como o MR-Simulator ´e completamente compat´ıvel com MR-SoccerServer (veja sec¸˜ao 4), uma de suas caracter´ısticas ´e estar apto a alcanc¸ar esta expectativa de simular com qualquer n´umero de robˆos. Outra func¸˜ao presente no simulador ´e o controle manual dos robˆos virtuais. Neste momento, o sistema apenas aceita comandos para a direita, esquerda, cima e baixo, possibilitando estudos de movimento e tornando f´acil criar situac¸˜oes de teste. Usando esta caracter´ıstica, ´e poss´ıvel reposicionar o robˆo no campo.

6. Conclus˜oes e Trabalhos Futuros

Este artigo apresentou o MR-SoccerServer, um software funcional concebido para apoiar as competic¸˜oes da sub-liga de Realidade Mista da RoboCup. Conforme mostramos, esta aplicac¸˜ao est´a apta a prover um jogo de futebol mais completo (e portanto mais realista), al´em trazer um desenvolvimento mais planejado e robusto do que das vers˜oes utilizadas

(10)

nos eventos de 2007 e 2008. Atrav´es de t´ecnicas de engenharia de software, desenvolve-mos uma aplicac¸˜ao mais est´avel, que pode trazer mais avanc¸os para a liga.

Outro trabalho em andamento, em fase de validac¸˜ao, aqui apresentado ´e o MR-Simulator, uma ferramenta complementar que habilita pesquisadores e estudantes a de-senvolver trabalhos na liga, n˜ao necessariamente no ˆambito do futebol, e se beneficiar dos conceitos da realidade mista mesmo sem acesso `a infra-estrutura requerida (cˆamera, tela, mini-robˆos). Mostramos, aqui, o modelo matem´atico para calcular mais fielmente a trajet´oria dos robˆos simulados.

Como trabalhos futuros, trabalheremos para tornar o modo de comunicac¸˜ao mais robusto, para que seja poss´ıvel trabalhar com 11 jogadores por time. Outra meta ´e encap-sular o cliente nos robˆos, algo fact´ıvel, j´a que o mini-robˆo possui em seu hardware um processador ARM AT91SAM7X256, dedicado atualmente a decodificar os comandos re-cebidos do infra-vermelho. Com isso, poderemos ter agentes completamente autˆonomos na liga. Para atingir este objetivo, j´a comec¸amos a trabalhar com escalonamento de tempo-real adaptativo, para ser parte do sistema embarcado do mini-robˆo[Simoes et al. 2008]. O citado Labirinto do Minotauro ser´a desenvolvido e apresentado para a comunidade da liga como uma poss´ıvel aplicac¸˜ao educacional que se utiliza dos conceitos de realidade mista.

Referˆencias

Azuma, R. (1997). A survey of augmented reality. PRESENCE-CAMBRIDGE MASSACHUSETTS-, 6:355–385.

Biocca, F. and Levy, M. R. (1995). communication in the age of virtual reality. Lawrence Erlbaum Associates.

Drascic, D. and Milgram, P. (1996). Perceptual issues in augmented reality. In

PROCEEDINGS-SPIE THE INTERNATIONAL SOCIETY FOR OPTICAL ENGINE-ERING, pages 123–134. SPIE INTERNATIONAL SOCIETY FOR OPTICAL.

Eick, S., Graves, T., Karr, A., Marron, J., and Mockus, A. (2001). Does code decay? assessing the evidence from change management data. IEEE TRANSACTIONS ON

SOFTWARE ENGINEERING, pages 1–12.

Erich Gamma, Richard Helm, R. J. J. M. V. (1995). Design Patterns: Elements of

Reusa-ble Object-Oriented Software. Addison-Wesley Professional.

Gerndt, R., Schridde, C., and da Silva Guerra, R. (2008). On the aspects of simulation in the robocup mixed reality soccer systems. In Workshop at International Conference

on Simulation, Modeling and Programming for Autonomous Robots.

Guerra, R., Boedecker, J., and Asada, M. (2007a). Physical visualization sub-league: A new platform for research and edutainment. In 24th SIG-CHALLENGE Workshop, pages 15–20.

Guerra, R., Boedecker, J., Mayer, N., Yanagimachi, S., Hirosawa, Y., Yoshikawa, K., Namekawa, M., and Asada, M. (2008a). Introducing physical visualization sub-league. In Lecture Notes in Computer Science.

Guerra, R., Boedecker, J., Mayer, N., Yanagimachi, S., Hirosawa, Y., Yoshikawa, K., Namekawa, M., and Asada, M. (2008b). RoboCup 2007: Robot Soccer World Cup

(11)

XI, volume 5001 of Lecture Notes on Computer Science, chapter Introducing Physical

Visualization Sub-League, pages 496–503. Springer.

Guerra, R., Boedecker, J., Yanagimachi, S., and Asada, M. (2007b). Introducing a new minirobotics platform for research and edutainment. In Symposium on Autonomous

Minirobots for Research and Edutainment (AMIRE’07), Buenos Aires.

Kitano, H., Asada, M., Kuniyoshi, Y., Noda, I., and Osawa, E. (1997a). Robocup: The robot world cup initiative. In AGENTS ’97: Proceedings of the first international

conference on Autonomous agents, pages 340–347, New York, NY, USA. ACM.

Kitano, H., Asada, M., Kuniyoshi, Y., Noda, I., Osawa, E., and Matsubara, H. (1997b). Robocup: A challenge problem for ai. AI magazine, 1(18):13.

Kitano, H., Tambe, M., Stone, P., Veloso, M., Noda, I., OSAWA, E., and ASADA, M. (1995). The robocup synthetic agents challenge. In Proceedings of the International

Joint Conference on Artificial Intelligence (IJCAI).

Milgram, P. and Kishino, F. (1994). A taxonomy of mixed reality visual displays. IEICE

TRANSACTIONS ON INFORMATION AND SYSTEMS E SERIES D, 77:1321–1321.

Milgram, P., Takemura, H., Utsumi, A., and Kishino, F. (1994). Augmented reality: A class of displays on the reality-virtuality continuum. In Telemanipulator and

Telepre-sence Technologies, volume 2351. SPIE.

Noda, I. and Stone, P. (2003). The RoboCup Soccer Server and CMUnited Clients: Im-plemented Infrastructure for MAS Research. Autonomous Agents and Multi-Agent

Systems, 7(1):101–120.

Russel, S. and Norvig, P. (2002). Artificial Intelligence. Prentice-Hall, 2 edition.

SILVA, H., FERREIRA, F., SIMOES, M. A. C., MEYER, J., ARAGAO, H., and LIMA, R. (2007). Bahia-pv: The robotics soccer team in augmented reality environment. In

Brazilian Symposium on Intelligent Automation, Florianopolis, Brazil. Brazilian

Soci-ety on Automation (SBA).

Simoes, M. A. C., Lima, G., and Camponogara, E. (2008). A ga-based approach to dyna-mic reconfiguration of real-time systems. In Proceedings of Workshop on Adaptive and

Reconfigurable Embedded Systems (APRES ’08), St. Louis, MO, USA. IEEE

Compu-ter Society.

Smith, R. et al. (2005). Open Dynamics Engine. Computer Software. Retrieved December

28, 2005, from http://www. ode. org.

Stapleton, C., Hughes, C., and Moshell, J. (2002). Mixed reality and the interactive imagination. In Proceedings of the First Swedish-American Workshop on Modeling

and Simulation, pages 30–31.

Vince, J. A. (1995). Virtual Reality Systems. Addison-Wesley.

Referências

Documentos relacionados

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a

Na imagem abai- xo, por exemplo, as dimensões e o posicionamento dos personagens (Tio Sam e Cardoso) traduzem, em linguagem simples, o desnível geopolítico existente entre Brasil

Para atingir este fim, foram adotados diversos métodos: busca bibliográfica sobre os conceitos envolvidos na relação do desenvolvimento de software com

Detectadas as baixas condições socioeconômicas e sanitárias do Município de Cuité, bem como a carência de informação por parte da população de como prevenir

Nos tempos atuais, ao nos referirmos à profissão docente, ao ser professor, o que pensamos Uma profissão indesejada por muitos, social e economicamente desvalorizada Podemos dizer que

esta espécie foi encontrada em borda de mata ciliar, savana graminosa, savana parque e área de transição mata ciliar e savana.. Observações: Esta espécie ocorre

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

ed è una delle cause della permanente ostilità contro il potere da parte dell’opinione pubblica. 2) Oggi non basta più il semplice decentramento amministrativo.