ESTRAT´
EGIAS DE NAVEGA¸
C˜
AO COOPERATIVA APLICADAS AO
FUTEBOL DE ROB ˆ
OS AUT ˆ
ONOMOS DA EQUIPE BDP/UFV
Alexandre Santos Brand˜
ao
∗ alexandre.brandao@ufv.brCarlos Roberto Castelano Junior
∗ carloscastelano@gmail.comRafael Rosado Cruz
∗ rafael.cruz@ufv.brAndr´
e Sales Sasaki
∗ andre.ssasaki@gmail.comTalles Barbosa Portilho
∗ tallesportilho@gmail.comMauro de Oliveira Prates
∗ mauroprates@ufv.br∗Departamento de Engenharia El´etrica, Universidade Federal de Vi¸cosa, Vi¸cosa, Minas Gerais, Brasil
ABSTRACT
This paper aims to explain the techniques used by BDP team - Belive, Do n’ Play - of the Federal University of Vi¸cosa to perform the cooperative control of five robots in robot soccer competition during the Small Size League F-180. In order to validate the proposed algo-rithms, a computer simulation platform was developed to accurately represent the real game conditions, consid-ering systematic errors caused by sensors, visual system delay and other factors not considered in the mathemati-cal modeling of the robot navigation. This work involves the analysis of the kinematic model of robots, trajectory planning, position prediction, classification of game sit-uations through decision trees and suitable strategies for each situation.
KEYWORDS: Mobile Robotics, Control Systems, Kine-matic Model, Decision Tree, Simulation Platform.
RESUMO
Este trabalho tem por objetivo explanar as t´ecnicas uti-lizadas pela equipe BDP - Belive, Do n’ Play da Uni-versidade Federal de Vi¸cosa para realizar o controle co-operativo de cinco robˆos, na competi¸c˜ao de futebol de robˆos da categoria Small Size F-180. Para valida¸c˜ao dos algoritmos propostos, foi desenvolvida uma plataforma de simula¸c˜ao computacional, que pudesse representar condi¸c˜oes reais de jogo, considerando erros sistem´ ati-cos causados pelos sensores, atrasos do sistema de vis˜ao e outros fatores n˜ao abrangidos durante a modelagem matem´atica da navega¸c˜ao dos robˆos. Este trabalho leva em considera¸c˜ao an´alise do modelo cinem´atico dos robˆos, t´ecnicas de escolha de trajet´oria com evas˜ao de colis˜oes, m´odulo de predi¸c˜ao de posi¸c˜ao, classifica¸c˜ao de situa¸c˜oes de jogo por meio de ´arvore de decis˜ao e es-trat´egias condizentes com cada situa¸c˜ao de jogo.
KEYWORDS: Rob´otica M´ovel, Sistemas de Controle, Modelo Cinem´atico, ´Arvore de Decis˜ao, Plataforma de Simula¸c˜ao.
1
INTRODU ¸
C˜
AO
A BDP - Believe, Do n’ Play - equipe de futebol de robˆos da Universidade Federal de Vi¸cosa foi criada em 2005 (na ´epoca, denominada BDP - Bonde dos Pato-las) atrav´es da iniciativa pr´opria de um grupo de alunos do curso de Engenharia El´etrica. No decorrer dos anos, a equipe BDP/UFV alcan¸cou grandes ˆexitos tanto em n´ıvel acadˆemico quanto em n´ıvel pessoal, pois o que antes era uma divers˜ao tornou-se uma plataforma de desenvolvimento e aplica¸c˜ao de conhecimentos te´oricos e pr´aticos.
Inicialmente, a equipe BDP/UFV se dedicava ao pro-jeto de robˆos r´adio controlado guiados pelos pr´oprios integrantes da equipes atrav´es de joysticks. Depois de desbravar tal tecnologia aplicada a este tipo de problema e de obter resultados relevantes e dignos de orgulho em competi¸c˜oes regionais de rob´otica, a Equipe BDP/UFV decidiu avan¸car mais um passo e se dedicar ao futebol de robˆos autˆonomos, onde n˜ao h´a interven¸c˜ao humana durante o controle das entidades rob´oticas no campo de jogo.
Neste contexto, com o intuito de participar em com-peti¸c˜oes de futebol de robˆos da categoria F-180 Small Size, a equipe BDP/UFV adquiriu um kit de robˆos autˆonomos junto `a empresa Xbot e se dedicou ao de-senvolvimento de um sistema computacional capaz de control´a-los atrav´es dos m´odulos (ou fun¸c˜oes) de decis˜ao. A Figura 1 ilustra o sistema desenvolvido, seus compo-nentes principais e as interconex˜oes entre cada compo-nente.
Figura 1: Estrutura de controle para navega¸c˜ao dos robˆos da Equipe BDP/UFV.
2
DESCRI ¸
C˜
AO DO SISTEMA
2.1
Servidor de Entrada e Suas
Alimen-ta¸c˜
oes
O topo do sistema consiste em um servidor de entrada, que em um dado instante da partida, ´e alimentado pelo sistema de Vis˜ao Global SSL-Vision (Small Size League Vision). Este sistema ´e comum a todos as equipes e disponibiliza os resultados do processamento de imagem das cˆameras atrav´es da rede ethernet na forma de pa-cotes encapsulados, contendo os parˆametros do jogo, tais como, postura dos jogadores, posi¸c˜ao da bola, dimens˜oes do campo, latˆencia do sistema de vis˜ao, dentre outros. Para finalidade de teste, o SSL-Vision pode ser substi-tu´ıdo por um simulador, permitindo que a equipe estude a resposta do sistema quando sujeito a diversas situa¸c˜oes de jogo, sem de fato necessitar realizar a partida. No entanto, para que o simulador possa servir de referˆencia para o estudo da eficiˆencia dos algoritmos desenvolvi-dos, este deve contemplar um grau de incerteza similar ao SSL-Vision, aproximando, portanto, de uma situa¸c˜ao real de jogo.
2.2
M´
odulo de Predi¸c˜
ao
Tendo em vista a latˆencia do sistema de vis˜ao respon-s´avel pela realimenta¸c˜ao sensorial a n´ıvel global, fez-se necess´ario a implementa¸c˜ao de um M´odulo de Predi¸c˜ao intermedi´ario ao Servidor de Entrada e o M´odulo de Es-trat´egia, com o intuito de reduzir erros de navega¸c˜ao durante a partida.
2.3
M´
odulo de Estrat´
egia
Este m´odulo ´e respons´avel pelas defini¸c˜ao das jogadas, sendo necess´ario portanto usufruir das informa¸c˜oes de jogo fornecidas pelo servidor. Nesta etapa ´e realizada uma busca nas informa¸c˜oes por padr˜oes que auxiliem na tomada de decis˜ao. Uma vez com os padr˜oes identi-ficados, cabe ao m´odulo de estrat´egia determinar a a¸c˜ao a ser enviada a cada jogador.
Para isto, foi elaborada uma ´arvore de decis˜ao subjetiva, dado que os parˆametros avaliados s˜ao qualitativos. Uma exemplo deste tipo de ´arvore ´e representando na Figura 2. Vale mencionar que a arvore inicial n˜ao serve para im-plementa¸c˜ao direta, por´em auxilia na identifica¸c˜ao dos parˆametros mais importantes para uma an´alise qualita-tiva.
Ap´os an´alise, verificou-se que as posi¸c˜oes horizontais e verticais dos robˆos e da bola, assim como as veloci-dades horizontais e verticais dos robˆos e da bola s˜ao os parˆametro mais importantes para elabora¸c˜ao de uma es-trat´egia de jogo. Desta forma, a ordem de complexidade
Figura 2: Exemplo de ´Arvore de Decis˜ao. do sistema pode ser estimada com a seguinte equa¸c˜ao
C(n) = 4(n + 1)
Onde C(n) ´e a ordem de complexidade e n ´e o n´umero de robˆos.
A fim de reduzir a ordem de complexidade do sistema, considerou-se que a bola est´a est´atica a cada instante de an´alise, e os parˆametros dos robˆos s˜ao recalculados considerando a bola como referˆencia. Sendo assim, o n´umero de objetos passa de (n+1) para n. Uma vez que a bola ´e sempre considerada est´atica, as informa¸c˜oes de posi¸c˜ao (P x, P y) e velocidade (V x, V y) em rela¸c˜ao aos demais objetos s˜ao essenciais para o c´alculo do instante de colis˜ao (ou predi¸c˜ao de colis˜ao), dado por
tn = pP x2 n+ P y 2 n pV x2 n+ V yn2 .
Ap´os estas considera¸c˜oes, o n´umero de parˆametros por objeto foram reduzidos de 4 para 1, e portanto a equa¸c˜ao de complexidade do sistema pode ser reescrita como
C(n) = n
Onde C(n) ´e a ordem de complexidade e n ´e o n´umero de robˆos.
De posse das classes e dos parˆametros, aplicou-se um algoritmo para constru¸c˜ao de ´arvore de decis˜ao que se
baseia em observa¸c˜oes emp´ıricas de exemplos cuja classe ´e conhecida. Desta forma, ´e constru´ıda uma ´arvore de decis˜ao objetiva, que analisa quantitativamente parˆ ame-tros do jogo e determina as a¸c˜oes dos jogadores. O algoritmo ´e aplicado previamente e durante a partida, permitindo que a ´arvore se adeque segundo as condi¸c˜oes de jogo.
2.4
M´
odulo de Desvio
A d´ecima segunda regra de jogo para futebol de robˆos autˆonomos discorre sobre falta e m´a conduta, a qual resulta em uma falta com chute direto `a baliza, se o robˆo de uma equipe realiza um contato substancial ao robˆo advers´ario. Dado que tal penalidade incita perigo de gol iminente, h´a uma necessidade de navega¸c˜ao com desvio de obst´aculos (onde estes s˜ao referenciados como os robˆos advers´arios).
Sabendo que os robˆos ir˜ao navegar em um ambiente semi-estruturado de forma h´ıbrida, ou seja, com movi-mentos realizados de forma deliberativa e reativa simul-taneamente, aplicou-se uma estrat´egia que determina a distˆancia entre os robˆos no campo de jogo e uma distˆ an-cia m´ınima de rea¸c˜ao `a colis˜ao. Desse modo, ao ingressar na zona de rea¸c˜ao de outro robˆo, s˜ao geradas for¸cas fic-t´ıcias de repuls˜ao que modificam a rota de colis˜ao entre robˆos opentes. Vale comentar que a intensidade de tais for¸cas ´e inversamente proporcional `a distˆancia entre os robˆos poss´ıveis de colis˜ao. Em outras palavras, quanto menor a distˆancia entre dois robˆos, maior a for¸ca de repuls˜ao entre eles, desde que sejam de equipes adver-s´arias.
A estrat´egia proposta pode ser vista na Figura 3, a qual demonstra a evolu¸c˜ao de uma tarefa de desvio de ob-st´aculo. Pode-se notar que quando o robˆo adentra `a zona de rea¸c˜ao, ocorre o surgimento de uma for¸ca de re-puls˜ao, demonstrada pelo vetor ~A (que aumenta `a me-dida que a distˆancia entre os robˆos diminuem), com o intuito de manter a orienta¸c˜ao definida pelo vetor ~B, at´e que o alvo (neste caso, a bolda de jogo) seja alcan¸cado.
2.5
M´
odulo de Sa´ıda
Como ´ultima etapa do processo, as a¸c˜oes definidas para cada um dos robˆos s˜ao encaminhadas para o m´odulo de sa´ıda, de onde s˜ao transmitidas via r´adio frequˆencia para todos os robˆos em campo. No caso da utiliza¸c˜ao do Simulador, uma integra¸c˜ao num´erica determina as novas condi¸c˜oes de jogo, ap´os a execu¸c˜ao de uma determinada a¸c˜ao.
(a) A B A B (b)
Figura 3: Caminho percorrido ao executar uma tarefa de desvio do oponente.
3
ESTRAT´
EGIAS B´
ASICAS DE JOGO
3.1
Ataque
3.1.1 Pontap
x
Tendo em vista que a configura¸c˜ao uniciclo foi adotada para os robˆos da Equipe BDP/UFV, utilizou-se a ger-a¸c˜ao de uma trajet´oria em forma de cardioide entre a posi¸c˜ao do jogador e a posi¸c˜ao da bola, sendo sua ori-enta¸c˜ao final apontada diretamente `a baliza advers´aria, conforme apresentado na Figura 4.
ψd
P x , y
(
d d)
r
Q
C’
y xQψ
Figura 4: Situa¸c˜ao de Ataque.
Ao mesmo tempo em que o jogador selecionado se move
em dire¸c˜ao `a bola, o restante dos jogadores aos quais se tenha associado um car´ater ofensivo se posiciona em locais estrat´egicos para receber um poss´ıvel passe, que pode resultar em outro passe, ou em um chute a gol. No entanto, caso o jogador selecionado tenha uma linha de vis˜ao livre para o gol ao chegar no ponto desejado, o sistema de chute ´e ativado.
3.1.2 L´ıberol
x
O l´ıbero consiste em um jogador que auxilia tanto as estrat´egias ofensivas quanto defensivas, dependendo da distribui¸c˜ao dos jogadores de ambas as equipes e da es-trat´egia estabelecida pela ´arvore de decis˜ao. Seu posi-cionamento deve facilitar a recep¸c˜ao de passes vindos do ponta, bem como esperar poss´ıveis situa¸c˜oes de rebote em jogadas ofensivas.
Quando o time advers´ario est´a com a maior parte de seus robˆos no campo de ataque, o l´ıbero se posiciona no intuito de auxiliar a marca¸c˜ao. Para isto, faz-se
l x= 1 n − 2 n X i=1 yi− min x y+ maxx y , (1)
onde n representa o n´umero de jogadores da equipe ad-vers´aria y. Em outras palavras, ele se posiciona no centroide dos robˆos advers´arios, excluindo aqueles robˆos com menor e maior valor no eixo das abscissas.
Entretanto, quando o l´ıbero apresenta o mesmo sinal das ordenadas do ponta, sua posi¸c˜ao ´e deslocada para o lado oposto ao do atacante em uma curva cossenoide parametrizadalx,conforme mostrado na Figura 5.
3.2
Defesa
A forma¸c˜ao de defesa ´e constitu´ıda por dois zagueiros e pelo goleiro. Essa forma¸c˜ao tem como objetivo mar-car o ataque advers´ario, impedindo que sejam criadas condi¸c˜oes de disparo ao arco. Para isso, a Equipe BDP/UFV propˆos a cria¸c˜ao de uma linha imagin´aria entre a bola e o centro da baliza. Atrav´es desta linha e da posi¸c˜ao das traves, ´e poss´ıvel posicionar os zagueiros (que estar˜ao sobre a linha que une a bola e uma das traves) e o goleiro (que estar´a alinhado sobre bissetriz do ˆangulo formado entre a bola e as traves).
Para uma maior eficiˆencia da estrat´egia, foram definidas trˆes situa¸c˜oes de jogo: bola no ataque, bola `a direta da defesa e bola `a esquerda da defesa. Dadas essas situa¸c˜oes de jogo, o arranjo dos jogadores da defesa ´e modificado, a fim de minimizar ao m´aximo o ˆangulo de vis˜ao do atacante advers´ario em rela¸c˜ao `a baliza. A Figura 6 ilustra essas situa¸c˜oes.
(a)
(b)
Figura 5: Comportamento do l´ıbero no campo de jogo.
Figura 6: Situa¸c˜oes de defesa pelos zagueiros.
3.2.1 Goleiro g
x
A estrat´egia proposta para o goleiro se resume na ex-ecu¸c˜ao de movimentos circulares frente `a baliza defen-dida, orientado sempre de forma a bloquear a passagem da bola para dentro do gol. A Figura 7 ilustra tal es-trat´egia, destacando o avan¸co do goleiro em rela¸c˜ao `a baliza no eixo x, dado por
d= (Amax− Amin) b x − bx max bxmax − bxmin n + Amin, (2)
onde Amin e Amax determinam o avan¸co m´ınimo (igual
ao diˆametro do robˆo) e m´aximo (igual `a metade da largura da baliza), e bx
min e bxmax indicam a distˆ
an-cia m´ınima (meio de campo) e m´axima (posi¸c˜ao da bal-iza defendida) em rela¸c˜ao `a bola durante o jogo. Em seguida, determina-se o raio da circunferˆencia de movi-menta¸c˜ao, dado por
r=A 2 min 2d + d 2. (3)
Uma vez definido o raio de movimenta¸c˜ao, torna-se pos-s´ıvel a determina¸c˜ao da postura desejada do goleiro no campo de jogo. Para isto, a equa¸c˜ao da reta que une a bola ao centro da baliza defendida ´e igualada `a equa¸c˜ao da circunferˆencia de raio r e centro em xc0 = (r − d, 0)..
Em outras palavras, tem-se (g xd− xc0) 2 + (g yd− yc0) 2 = r2 (4) g yd= by d − ay bx − ax( g xd − a x). (5)
Tendo em vista que o sistema de equa¸c˜oes formado por (4) e (5) produzem duas respostas, por quest˜oes da configura¸c˜ao do campo de jogo, assume-se aquela com menor valor em m´odulo da abscissa.
Por fim, a orienta¸c˜ao do goleiro gψ ´e dada pelo
coefi-ciente angular da reta expressa em (5).
3.2.2 Zagueiros Direito d
x e Esquerdoex
Os zagueiros direito e esquerdo tˆem como principal obje-tivo agir conjuntamente com o goleiro, de modo a fechar qualquer ˆangulo que possibilite um chute do atacante do time advers´ario `a baliza defendida. A Figura 6 ilustra tal situa¸c˜ao.
A posi¸c˜ao desejada no campo de jogo para o zagueiro direito ´e dada por
d
x= κ(bx − ax) +ax, (6) onde κ ´e um fator que depende da posi¸c˜ao da bola no campo de jogo dada por
κ=1 2 − 1 6 by ymax .
Vale dizer que ymaxrepresenta a cota m´axima das
orde-nadas no campo e que a orienta¸c˜ao do jogador ´e dada por
d
ψ= tan−1 byy bxx.
Por sua vez, a posi¸c˜ao deseja do zagueiro esquerdo ´e dada por
d
x= κ(bx − ax) + ax, (7) onde κ ´e um fator que depende da posi¸c˜ao da bola no campo de jogo dada por
κ=1 2 + 1 6 by ymax .
Sua orienta¸c˜ao ´e calculada de forma an´aloga a do zagueiro direito.
4
CONCLUS ˜
OES
A equipe de futebol de Robˆos BDP/UFV, apesar de j´a existir h´a alguns anos, ´e uma equipe que iniciou os trabalhos com robˆos autˆonomos recentemente, s´o tendo participado, at´e o presente momento, de uma com-peti¸c˜ao nesta categoria. Apesar do pouco tempo de pesquisa e desenvolvimento nessa ´area, foi poss´ıvel obter algum sucesso durante a ´ultima edi¸c˜ao do LARC (Latin American Robocup), motivando a equipe a investir nesse segmento.
Como etapas futuras pretendem-se agregar uma s´erie de considera¸c˜oes, at´e ent˜ao n˜ao tratadas para fins de simpli-fica¸c˜oes. Um exemplo disso seria tratar o robˆo n˜ao mais como um ponto no espa¸co, mas sim como um corpo, com um volume definido, e observar o comportamento desse novo sistema ao se aplicar os m´etodos para desvio de obst´aculo, posicionamento em campo, arranjo para re-du¸c˜ao dos ˆangulos de defesa, movimenta¸c˜ao do goleiro, dentre outros j´a implementados. Por fim, o sistema de
modifica¸c˜ao de estrat´egias por meio da ´arvore de de-cis˜ao descrita na Se¸c˜ao 2.3 ser´a constru´ıdo, auxiliando na determina¸c˜ao dos parˆametros mais significativos para impor a¸c˜oes a um grupo de robˆos durante a partida, por meio da identifica¸c˜ao de padr˜oes em campo.
AGRADECIMENTOS
A equipe gostaria de aproveitar para manifes-tar agradecimentos `a FUNARBE (Funda¸c˜ao Arthur Bernardes), que ´e a principal respons´avel pela realiza¸c˜ao deste trabalho, visto que o patroc´ınio e apoio foram im-prescind´ıveis para os passos iniciais do projeto. Ao N´ u-cleo de Especializa¸c˜ao em Rob´otico do Departamento de Engenharia El´etrica da Universidade Federal de Vi¸cosa, por prover ambiente e equipamentos adequado de tra-balho. Ao CNPq (Conselho Nacional de Desenvolvi-mento Cient´ıfico e Tecnol´ogico), pelo reconheciDesenvolvi-mento do m´erito do projeto, agraciando um dos alunos com bolsa de fomento em pesquisa.