Implementac¸˜ao de Estrat´egias para Futebol de Robˆos
utilizando Campos Potenciais
∗Gedson Faria
SCE – ICMC – USP
gedson@icmc.usp.br
Lu´ıza C. F. Teizen
SCE – ICMC – USP
lcft@grad.icmc.usp.br
Roseli A. F. Romero
SCE – ICMC – USP
rafrance@icmc.usp.br
Resumo
Neste trabalho apresenta-se uma abordagem para construc¸˜ao de estrat´egias para futebol de robˆos utilizando-se a t´ecnica de campos potenciais. Para isto, deutilizando-senvolveu- desenvolveu-se m´odulos de ataque e defesa, os quais foram testados no simulador da FIRA (SimuroSot). Embora o m´etodo de campos potenciais possua limitac¸˜oes o resultado dos experimentos foram bastante satisfat´orios fazendo com que nossa estrat´egia ganhasse da estrat´egia padr˜ao que acompanha o simulador.
1. Introduc¸˜ao
A id´eia de robˆos jogando futebol foi mencionada, pela primeira vez, pelo professor Alan Mackworth, em um ar-tigo de 1992, intitulado “On Seeing Robots”[13]. Desde ent˜ao, duas grandes organizac¸˜oes mundiais estabeleceram-se como referˆencia na ´area de Futebol de Robˆos. S˜ao elas a RoboCup e FIRA (Federation of International Robot-soccer Association). Ambas deram in´ıcio `as suas ativida-des no ano de 1996. A RoboCup ´e uma iniciativa japonesa que, atualmente, conta com o apoio macic¸o de grandes em-presas de tecnologia. J´a a FIRA, por sua vez, ´e uma inici-ativa do meio acadˆemico coreano. Com o passar dos anos, ambas as iniciativas tornaram-se organizac¸˜oes de ˆambito internacional, que realizam campeonatos anualmente. As duas entidades possuem diversas categorias, que envolvem simulac¸˜ao, micro-robˆos e at´e robˆos b´ıpedes.
Futebol de robˆos ´e uma iniciativa internacional voltada `a pesquisa e educac¸˜ao, visando promover desenvolvimentos ligados `as ´areas de Inteligˆencia Artificial e Rob´otica Inteli-gente [10]. Uma das maiores raz˜oes do futebol de robˆos ser adotado como ambiente de estudo ´e o fato deste ser um problema padr˜ao e portanto, a pesquisa pode ser cla-ramente definida e acompanhada. Al´em disto, atrav´es da adoc¸˜ao deste problema pode-se fazer avaliac¸˜oes de v´arias teorias, algoritmos, arquiteturas e desempenhos. Tudo isto
∗Apoio financeiro da CAPES
aliado a uma grande variedade de tecnologias que podem ser integradas e analisadas [5].
V´arias t´ecnicas tem sido aplicadas para construir os comportamentos de ataque, defesa e cooperac¸˜ao para os robˆos. A estrat´egia utilizada pelo time Guaran´a consiste em utilizar uma m´aquina de estados para selecionar as ac¸˜oes de ataque e defesa. Ap´os selecionada a ac¸˜ao, um processo ite-rativo ´e executado para selecionar uma rota sem colis˜oes at´e sua meta [5]. Park et al. [15] propˆos uma abordagem na qual dividiu o campo em quadrantes de ataque e defesa. Cada quadrante possui um ´unico robˆo que planeja suas trajet´orias utilizando a t´ecnica de campos potenciais [1]. Sendo que, para esta estrat´egia foi considera a existˆencia de ´areas de intersecc¸˜ao entre os quadrantes e foi utilizado um algoritmo de aprendizado por reforc¸o [16] conhecido como Q-learning [18] para selecionar qual robˆo deveria chutar a bola. Uma outra t´ecnica de campos potenciais na qual se utiliza um mapa para representar o ambiente [6], conhecida como Virtual Field Histogram (VFH) [3], foi utilizada por Gomes & Campos [8] para que os robˆos planejassem suas trajet´orias livres de colis˜oes.
No presente trabalho, a t´ecnica de campos potenciais que est´a sendo utilizada se assemelha a abordagem Motor-Schema proposta por Arkin [1] acrescida de t´ecnicas que permitem encontrar metas espec´ıficas para cada robˆo. Uma meta, ou ponto de atrac¸˜ao, foi a forma utilizada para im-plementar tanto as estrat´egias de ataque como as defesa. A meta atrai o robˆo fazendo com que ele se posicione no campo de acordo com a estrat´egia escolhida para ele. Ao mesmo tempo, cada robˆo considera a posic¸˜ao dos ou-tros robˆos como um ponto de repuls˜ao. Assim, cada robˆo planeja sua trajet´oria at´e sua meta desviando dos demais robˆos.
Este trabalho est´a organizado como segue. Na sec¸˜ao 2, uma revis˜ao sobre campos potenciais. As modificac¸˜oes na implementac¸˜ao dos m´odulos que calculam as forc¸as de atrac¸˜ao e as estrat´egias de ataque e defesa utilizadas s˜ao apresentadas na sec¸˜ao 3. Finalmente, na sec¸˜ao 4, as con-clus˜oes e sugest˜oes para trabalhos futuros.
2. Campos Potenciais
A id´eia de imaginar forc¸as atuando sobre um robˆo foi su-gerida por Khatib [9]. Neste m´etodo, obst´aculos exercem forc¸as repulsivas e a meta aplica uma forc¸a atrativa sobre o robˆo. A forc¸a resultante−→F ´e composta de uma forc¸a atra-tiva direcionada para a meta e forc¸as repulsivas proveniente de obst´aculos. Sendo que para cada nova posic¸˜ao do robˆo todas as forc¸as dever˜ao ser novamente calculadas. Com isto, ´e poss´ıvel que o robˆo desvie dos obst´aculos e chegue at´e a meta.
Krogh [11] aprimorou este conceito ao considerar a ve-locidade do robˆo na vizinhanc¸a dos obst´aculos. Thorpe [17] aplicou o m´etodo campo potencial para planejamento off-line. Krogh & Thorpe [12] sugeriram uma combinac¸˜ao do m´etodo para planejamento de caminhos locais e globais utilizando para isto uma abordagem denominada Generali-zed Potential Field.
Para os m´etodos acima descritos assumiu-se um modelo conhecido do mundo, com formas geom´etricas predefini-das representando obst´aculos e o caminho do robˆo ´e gerado off-line. No entanto, Brooks [4] e Arkin [1] se destacam dentre os primeiros trabalhos realizados em um ambiente real. Eles utilizaram robˆos m´oveis equipados com sensores ultrassˆonicos (sonar) para calcular os campos potenciais. Brooks utilizou campos potenciais como um controlador reflexivo sem nenhum tipo de racioc´ınio deliberativo. O controlador simplesmente reage executando ac¸˜oes direta-mente ligadas as percepc¸˜oes, resultando assim em respos-tas imediarespos-tas a est´ımulos externos. Um m´etodo similar, de-nominado Motor Schema, foi utilizado por Arkin em seus robˆos. Este m´etodo consiste em ativar v´arios comporta-mentos simultˆaneos que produzem um vetor forc¸a (atrac¸˜ao ou repuls˜ao) como resposta. A direc¸˜ao a ser seguida pelo robˆo ser´a o vetor resultante da soma de todos os vetores ge-rados. No entanto, os robˆos operam em baixa velocidade, desviando de obst´aculos a uma velocidade de 0.12 cm/sec. Tanto Brooks como Arkin n˜ao armazenam informac¸˜oes do ambiente, calculam o campo potencial sobre os dados re-cebidos pelos sensores em cada instante de tempo.
Em uma outra abordagem, sugerida por Borenstein & Koren [2], utiliza-se um mapa para representar o ambiente com seus obst´aculos [6]. A partir da probabilidade de uma c´elula estar ocupada ´e que ser´a gerado o campo potencial para uma dada posic¸˜ao do robˆo.
Outras abordagens utilizando campos potenciais para o planejamento de trajet´orias utilizando robˆos m´oveis foram sugeridas por Faria & Romero [7], Pacheco & Costa [14] e Gomes & Campos [8].
Nas subsec¸˜oes seguintes ser´a mostrado como realizar os c´alculos das forc¸as de repuls˜ao, atrac¸˜ao e da forc¸a resul-tante.
2.1. Forc¸a de Repuls˜ao
Na Figura 1(a) mostra-se que a forc¸a de repuls˜ao de-cai ao se afastar de um obst´aculo, pois a forc¸a de repuls˜ao (−→Fr) ´e um vetor cujo m´odulo ´e inversamente proporcional ao quadrado da distˆancia (d) entre o robˆo (R) e objeto ob-servado (O) (Figura 1(b)). O vetor−→Fr tamb´em pode ser
re-Fr θ Fry Fr O ∆y ∆x R x y d Frx (a) (b)
Figura 1. (a)Forc¸a de repuls ˜ao na vizinhanc¸a de um obst ´aculo; (b) Forc¸a de repuls ˜ao do objeto O sobre um rob ˆo localizado emR.
presentado por suas componentes: m´odulo e direc¸˜ao, apre-sentados na Equac¸˜ao 1.
¯
¯−→Fr¯¯ = Q
d2 e θ−→Fr = arctan(−∆y, −∆x) (1)
sendo que: Q representa um escalar constante de repuls˜ao; arctan ´e uma func¸˜ao na qual se considera os sinais de
∆x e∆y para fornecer o ˆangulo correto cuja tangente seja (−∆y/−∆x); e os sinais negativos de∆x e∆y fornecem uma direc¸˜ao oposta ao objeto detectado (O).
Para calcular a forc¸a de repuls˜ao para v´arios obst´aculos, deve-se fazer o somat´orio dos vetores das forc¸as de re-puls˜ao geradas, como mostrado na Equac¸˜ao 2.
− →
FR=
∑
−→Fr (2)2.2. Forc¸a de Atrac¸˜ao
Na Figura 2(a) e Figura 2(b) mostra-se o campo poten-cial de atrac¸˜ao, no qual deve-se considerar¯¯−→Fa
¯
¯ constante
para que o agente seja atra´ıdo pela meta mesmo estando distante da mesma (Equac¸˜ao 3).
¯
¯−→Fa¯¯ = C e θ−→
Fa= arctan(∆
y,∆x) (3) no qual C representa um escalar constante de atrac¸˜ao. Note que∆x e∆y diferem da Equac¸˜ao 1 por n˜ao estarem acom-panhados do sinal negativo. Como resultado, a direc¸˜ao do vetor forc¸a de atrac¸˜ao ser´a na direc¸˜ao da meta.
∆y ∆x Fa R M θF a m Fx Fay a x y (a) (b)
Figura 2. (a)Campo de atrac¸ ˜ao constante; (b)Atrac¸ ˜ao entre o rob ˆoRe a metaM.
2.3. Forc¸a Resultante
Ao realizar a soma dos vetores forc¸a de atrac¸˜ao e forc¸a de repuls˜ao obt´em-se a forc¸a resultante dada pela Equac¸˜ao 4.
− →
F =−→Fr+−→Fa (4) Para ilustrar a superposic¸˜ao dos campos de atrac¸˜ao e re-puls˜ao, mostra-se na Figura 3 o campo e a trajet´oria obtida para encontrar a meta.
Figura 3. Campo potencial e trajet ´oria seguida evi-tando obst ´aculos.
3. Modelagem do Problema
As estrat´egias de jogo foram montadas utilizando-se o conceito de campos potenciais, seja para desviar dos ou-tros robˆos (forc¸a de repuls˜ao) seja para encontrar e chutar a bola (forc¸a de atrac¸˜ao). As rotinas foram implementadas em m´odulos e inicialmente est˜ao rodando no simulador da FIRA e em breve ser´a transferida para um time de robˆos reais.
O simulador da FIRA passa para as rotinas as seguintes informac¸˜oes: limites do campo, limites dos gols, posic¸˜ao e orientac¸˜ao de todos robˆos, posic¸˜ao da bola e que time tem a posse da bola.
3.1. Estrat´egias de Jogo
O sistema foi constru´ıdo visando comportamentos tanto de ataque quanto de defesa. O sistema foi iniciado com comportamentos mais simples e no decorrer do projeto fo-ram implementadas rotinas mais elaboradas. Para tanto, ser´a descrito a seguir os passos seguidos na construc¸˜ao das estrat´egias utilizadas pelos robˆos.
FASE I Nesta fase optou-se por fazer com que a bola
atra´ısse um robˆo artilheiro e que este tamb´em desvi-asse dos robˆos de seu pr´oprio time. Apesar dos chutes serem certeiros, o robˆo n˜ao direcionava a bola ao gol advers´ario. Esta estrat´egia criou um comportamento no qual o robˆo segue a bola para chut´a-la sem se im-portar para qual direc¸˜ao a bola pudesse ir, podendo inclusive marcar gols contra (Figura 4). Embora, isto n˜ao fosse desejado, observou-se que o robˆo utilizando o m´etodo de campos potenciais atingia sua meta com precis˜ao. 0 10 20 30 40 50 60 70 80 0 20 40 60 80 100 Campo Gol1 Gol2 home 0 home1 home2 home3 home4 oponente 0 oponente 1 oponente 2 oponente 3 oponente 4 bola
Figura 4. Caso no qual um rob ˆo utilizando-se da es-trat ´egia “seguir a bola” marca um gol contra.
FASE II Para criar um comportamento de defesa, foram
criadas quatro retas imagin´arias (l1, l2, l3e l4) que
cor-tam o campo longitudinalmente e uma reta (r) que liga o centro do gol a bola (Figura 5). Como a bola est´a sempre em movimento, a reta r dever´a ser atualizada antes de cada movimento, pois a estrat´egia de defesa consiste em fazer com que cada robˆo n˜ao-atacante n seja sempre atra´ıdo pelo ponto de intersecc¸˜ao de sua reta lncom a reta r.
FASE III Uma estrat´egia mais elaborada foi
implemen-tada para que o robˆo atacante passasse a evitar os gols contra. Para isto, foi criada uma reta imagin´aria s que passa pelo centro do gol advers´ario e pela bola. Com isto, encontra-se um ponto (P) pertencente a s de modo que P fique a uma distˆancia constante (i) da bola. A partir destes dados faz-se com que o robˆo
bola atacante vetor de atração l1 goleiro r l2 l3 l4
Figura 5. Estrat ´egias de ataque e defesa da fase II.
dirija-se ao ponto P para poder chutar a bola. Para construir este comportamento, considerou-se que a bola repelisse e que o ponto P atra´ısse o robˆo (Figura 6). Note que, se a forc¸a de repuls˜ao da bola for maior
s I força de atração bola P
Figura 6. Estrat ´egias de ataque da fase III.
do que a atrac¸˜ao do ponto P ent˜ao o robˆo nunca con-seguir´a atingir P. Por este motivo, considerou-se que a bola repele menos que os outros objetos, ou seja, a bola possui uma constante de repuls˜ao menor do que Q.
Deve-se observar tamb´em que o robˆo n˜ao pode chu-tar a bola antes de alcanc¸ar o ponto P ou pelo menos uma ´area pr´oxima de P. Quando isto ocorrer, o robˆo muda de comportamento passando a perseguir a bola e com isto, aumenta as possibilidades de chutes cer-teiros ao gol advers´ario e evita gols contra. Este com-portamento pode ser observado na Figura 7. Contudo, a tarefa de encontrar as constantes de atrac¸˜ao K e de repuls˜ao Q ´e feita empiricamente. Uma atrac¸˜ao alta provoca colis˜oes pois a bola atrai mais do que os obst´aculos repelem, entretanto, valores altos para repuls˜ao podem atrapalhar o robˆo a alcanc¸ar a bola. Isto pode ser observado na Figura 8 na qual mostra-se o comportamento de desvio de obst´aculo. Tamb´em
0 10 20 30 40 50 60 70 80 0 20 40 60 80 100 Campo Gol1 Gol2 home 0 home1 home2 home3 home4 oponente 0 oponente 1 oponente 2 oponente 3 oponente 4 bola
Figura 7. Rob ˆo contornando a bola e chutando ao gol corretamente.
´e poss´ıvel observar que estes mesmos obst´aculos atra-palham o atacante a alcanc¸ar a bola. Um fato que deve
0 10 20 30 40 50 60 70 80 0 20 40 60 80 100 Campo Gol1 Gol2 home 0 home1 home2 home3 home4 oponente 0 oponente 1 oponente 2 oponente 3 oponente 4 bola
Figura 8. Desvio de obst ´aculo e chute ao gol.
ser considerado, ´e que todos os robˆos se movem cons-tantemente e assim comportamentos como o mostrado na Figura 8 dificilmente ocorrem. A dinˆamica do jogo tamb´em minimiza o problema de m´ınimos locais no qual forc¸a de atrac¸˜ao e forc¸a de repuls˜ao se anulam impedindo o movimento.
4. Conclus˜ao e Trabalhos Futuros
V´arios jogos com todos os robˆos em movimento fo-ram realizados para testar os comportamentos implemen-tados. Todavia, tamb´em foram observados os comporta-mentos para um ´unico robˆo em movimento, pois n˜ao ´e uma tarefa f´acil analisar o comportamento de um robˆo em um ambiente dinˆamico.
A partir destes testes, observou-se que: (1) O compor-tamento de seguir a bola utilizando-se potencial de atrac¸˜ao foi muito satisfat´orio. No entanto, quando combinado com o comportamento para evitar colis˜oes, sua eficiˆencia fica
bastante alterada. Isto pode ser observado na Figura 8 na qual os obst´aculos atrapalham o atacante a alcanc¸ar a bola; (2) O m´etodo de ataque implementado na FASE III foi bas-tante eficiente reduzindo o n´umero de gols contra e fazendo com que o time que o estivesse utilizando passasse a ga-nhar o jogo; (3) O fato dos robˆos estarem em movimento minimiza o problema de m´ınimos locais no qual forc¸a de atrac¸˜ao e forc¸a de repuls˜ao se anulam impedindo o movi-mento. (4) Os robˆos movimentam-se rapidamente, a uma velocidade m´axima de 317cm/s, mesmo assim, o m´etodo de campos potenciais mostrou-se bastante eficiente no con-trole de trajet´oria.
O maior problema foi encontrar empiricamente os va-lores para as constantes de repuls˜ao Q e atrac¸˜ao K. Para cada nova modificac¸˜ao na estrat´egia novos valores tinham que ser testados. Isto ocorre, pois s˜ao estas constantes que determinam a distˆancia com que o robˆo ir´a desviar dos obst´aculos. Como soluc¸˜ao para este problema, pretende-se utilizar o potencial dos algoritmos de aprendizado por reforc¸o [16] para encontrar valores ´otimos para as constan-tes de repuls˜ao Q e de atrac¸˜ao K.
Embora minimizado ainda ocorrem situac¸˜oes de m´ınimos locais, no qual forc¸a de atrac¸˜ao ´e igual a de repuls˜ao. Isto acontece normalmente quando algum obst´aculo fica entre o robˆo e a bola. Para solucionar este problema, pretende-se a utilizar do m´etodo Virtual Field Histogram (VFH) proposto por Borenstein & Koren [3].
Referˆencias
[1] Arkin, R. C. (1989). Motor schema-based mobile ro-bot navigation. The International Journal of Roro-botics Research, 4(8), 92–112.
[2] Borenstein, J. & Koren, Y. (1989). Real-time obstacle avoidance for fast mobile robots. IEEE Transactions on Systems, Man, and Cybernetics, 19(5), 1179–1187. [3] Borenstein, J. & Koren, Y. (1991). The vector field
histogram – fast obstacle avoidance for mobile robots. IEEE Journal of Robotics and Automation, 7(3), 278– 288.
[4] Brooks, R. A. (1986). A robust layered control sys-tem for a mobile robot. IEEE Journal of Robotics and Automation, 2(1), 14–23.
[5] Costa, A. H. R. & Pegoraro, R. (2000). Construindo robˆos autˆonomos para partidas de futebol: O time Gua-ran´a. SBA Controle e Automac¸˜ao, 11(3), 141–149. [6] Elfes, A. (1989). Occupancy Grids: A Probabilistic
Framework for Robot Perception and Navigation. PhD thesis, Carnegie Mellon University.
[7] Faria, G. & Romero, R. A. F. (2000). Incorporating fuzzy logic to reinforcement learning. In Proceedings of the 9th IEEE International Conference on Fuzzy Sys-tems, volume 1 (pp. 847–851).
[8] Gomes, M. R. S. & Campos, M. F. M. (2001). Des-vio de obst´aculos para micro-robˆos m´oveis utilizando campo potencial. In Anais do V Simp´osio Brasileiro de Automac¸˜ao Inteligente (SBAI) Canela/RS.
[9] Khatib, O. (1985). Real-time obstacle avoidance for manipulators and mobile robots. In IEEE International Conference on Robotics and Automation (pp. 500–505). St. Louis, Missouri.
[10] Kitano, H., Kuniyoshi, Y., Noda, I., Asada, M., Mat-subara, H., & Osawa, H. (1997). Robocup: A challenge problem for ai. AI Magazine, 1(18), 73–85.
[11] Krogh, B. H. (1984). A generalized potential field ap-proach to obstacle avoidance. In International Robotics Research Conference Bethlehem, Pennsylvania. [12] Krogh, B. H. & Thorpe, C. E. (1986). Integrated path
planning and dynamic steering control. In Proceedings of the 1986 IEEE International Conference on Robotics and Automation (pp. 1664–1669). San Francisco, Cali-fornia.
[13] Mackworth, A. K. (1993). On seeing robots. In A. Basu & X. L. World (Eds.), Computer Vision: Systems, Theory, and Applications (pp. 1–13). Singapore: World Scientific Press.
[14] Pacheco, R. N. & Costa, A. H. R. (2002). Navegac¸˜ao de robˆos m´oveis utilizando o m´etodo de campos poten-ciais. In M. T. S. Sakude & C. de A. Castro Cesar (Eds.), Workshop de Computac¸˜ao WORKCOMP’2002 (pp. 125–130). ITA – S˜ao Jos´e dos Campos/SP: SBC. [15] Park, K.-H., Kim, Y.-J., & Kim, J.-H. (2001).
Modi-fied uni-vector field navigation and modular q-learning for soccer robots. In Proceedings of the 32nd Internati-onal Symposium on Robotics - ISR (pp. 19–21). [16] Sutton, R. S. & Barto, A. G. (1998). Reinforcement
learning: An introduction. In MIT Press Cambridge, MA.
[17] Thorpe, C. (1984). Path Relaxation: Path Planning for a Mobile Robot. Technical Report CMU-RI-TR-84-05, Robotics Institute, Carnegie Mellon University, Pittsburgh, PA.
[18] Watkins, C. J. C. H. (1989). Learning from Delayed Rewards. PhD thesis, University of Cambridge.