100
Universidade Federal do Rio Grande do Norte Centro de Tecnologia Programa de P´ os-Gradua¸ ao em Engenharia El´ etrica Marcelo Minicuci Yamamoto Planejamento Cooperativo de Tarefas em um Ambiente de Futebol de Robˆ os Disserta¸ ao de mestrado submetido ao Pro- grama de os-Gradua¸ ao em Engenharia El´ etrica do Centro de Tecnologia da Univer- sidade Federal do Rio Grande do Norte. Orientador: Prof D.Sc. Adelardo Adelino Dantas de Medeiros Co-orientador: Prof D.Sc. Pablo Javier Alsina Natal/RN - Brasil Fevereiro/2005

Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

Embed Size (px)

Citation preview

Page 1: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

Universidade Federal do Rio Grande do Norte

Centro de Tecnologia

Programa de Pos-Graduacao em Engenharia Eletrica

Marcelo Minicuci Yamamoto

Planejamento Cooperativo de Tarefas em um

Ambiente de Futebol de Robos

Dissertacao de mestrado submetido ao Pro-

grama de Pos-Graduacao em Engenharia

Eletrica do Centro de Tecnologia da Univer-

sidade Federal do Rio Grande do Norte.

Orientador: Prof D.Sc. Adelardo Adelino Dantas de Medeiros

Co-orientador: Prof D.Sc. Pablo Javier Alsina

Natal/RN - Brasil

Fevereiro/2005

Page 2: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

Sumario

Lista de Figuras vi

Resumo vii

Abstract viii

1 Introducao 1

1.1 Sistemas Multi-Robos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Futebol de Robos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1 A Categoria Mirosot . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.2 A equipe POTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.3 O Sistema Simulador . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.3 Objetivos do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.4 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.5 Organizacao do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 Sistemas Roboticos Cooperativos 10

2.1 Sistemas Multi-Robos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2 Futebol de Robos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3 Discussao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 Simulador 17

3.1 Estrutura do Simulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1.1 O Sistema de Simulacao . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2 Modelagem Matematica do Robo . . . . . . . . . . . . . . . . . . . . . . . 23

3.2.1 Modelagem Cinematica . . . . . . . . . . . . . . . . . . . . . . . . . 24

i

Page 3: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

3.2.2 Modelagem Dinamica . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.3 Tratamento das Colisoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.3.1 Deteccao de Colisoes . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.3.2 Modelagem das Colisoes . . . . . . . . . . . . . . . . . . . . . . . . 32

3.3.3 O visualizador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.4 Discussao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4 Modulo de Planejamento 38

4.1 Desvio de Obstaculos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5 Tatica 45

5.1 Papeis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.1.1 Alocacao Dinanica de Papeis . . . . . . . . . . . . . . . . . . . . . . 47

5.1.2 defensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.1.3 Atacante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.1.4 Curinga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.2 Estilos de jogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.2.1 Estilo Avancado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.2.2 Estilo Recuado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

6 Resultados 67

6.1 Desvio de obstaculos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

6.1.1 Obstaculo simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

6.1.2 Obstaculos fundidos . . . . . . . . . . . . . . . . . . . . . . . . . . 68

6.2 Comportamento dos estados . . . . . . . . . . . . . . . . . . . . . . . . . . 72

6.2.1 Estado alinhar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

6.2.2 Estado chutar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

6.2.3 Estado defender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

6.3 Alocacao dinamica de papeis . . . . . . . . . . . . . . . . . . . . . . . . . . 76

6.4 Resultado de jogos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

6.4.1 Tatica simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

6.4.2 Resultados contra a tatica simples . . . . . . . . . . . . . . . . . . . 80

ii

Page 4: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

7 Conclusoes 81

7.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Trabalhos publicados 84

Referencias Bibliograficas 85

iii

Page 5: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

Lista de Figuras

1.1 Exemplo de robos moveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Exemplo de robo movel manipulador . . . . . . . . . . . . . . . . . . . . . 2

1.3 Visao geral de um jogo de futebol de robos . . . . . . . . . . . . . . . . . . 5

1.4 Imagem do campo e dos robos desenvolvidos no LECA . . . . . . . . . . . 6

1.5 Arquitetura do sistema do futebol de robos . . . . . . . . . . . . . . . . . . 7

3.1 (a)Sistema real (b)Sistema com o simulador . . . . . . . . . . . . . . . . . 19

3.2 Sistema completo de simulacao . . . . . . . . . . . . . . . . . . . . . . . . 20

3.3 Algoritmo do sistema simulador . . . . . . . . . . . . . . . . . . . . . . . . 21

3.4 Algoritmo de simulacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.5 Diagrama esquematico do robo . . . . . . . . . . . . . . . . . . . . . . . . 23

3.6 Exemplo das colisoes no simulador de futebol de robos: (a) colisao robo-

bola, (b) robo-parede e (c) robo-robo . . . . . . . . . . . . . . . . . . . . . 28

3.7 Calculo dos vertices de um robo . . . . . . . . . . . . . . . . . . . . . . . . 29

3.8 Centro de coordenadas deslocado . . . . . . . . . . . . . . . . . . . . . . . 30

3.9 Teste de colisao entre dois robos . . . . . . . . . . . . . . . . . . . . . . . . 30

3.10 Campo do futebol de robos . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.11 Mudanca dos eixos nas colisoes com as paredes . . . . . . . . . . . . . . . . 31

3.12 Teste de colisao entre a bola e uma parede . . . . . . . . . . . . . . . . . . 32

3.13 (a)Forca atuando sobre corpo (b)Velocidade e orientacao da bola apos colisao 33

3.14 (a)Colisao frontal (b)Colisao lateral . . . . . . . . . . . . . . . . . . . . . . 35

3.15 Colisao entre a bola e um robo . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.16 Imagem mostrada pelo visualizador . . . . . . . . . . . . . . . . . . . . . . 36

4.1 Diagrama do modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

iv

Page 6: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

4.2 (a)Obstaculo simples, robo com dimensoes (b)Obstaculo extendido, robo

pontual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.3 Configuracao do obstaculo . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.4 Teste da possibilidade de colisao . . . . . . . . . . . . . . . . . . . . . . . . 41

4.5 Calculo da nova trajetoria . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.6 Exemplo de desvio de obstaculo . . . . . . . . . . . . . . . . . . . . . . . . 42

4.7 (a)Teste da proximidade; (b)Obstaculos fundidos . . . . . . . . . . . . . . 43

4.8 (a)Problema na escolha da nova referencia; (b)Solucao com a fusao de

obstaculos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.1 Hierarquia da tatica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.2 Risco de gol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.3 Configuracao dos papeis com a bola no ataque . . . . . . . . . . . . . . . . 49

5.4 Configuracao dos papeis com a bola no campo de defesa em direcao ao gol

adversario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.5 Configuracao dos papeis com a bola no campo de defesa em direcao ao gol

defendido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.6 Comportamento do defensor (a)bola indo em direcao ao gol (b)bola muito

proxima ao gol (c)bola se afastando do gol . . . . . . . . . . . . . . . . . . 53

5.7 Comportamento do zagueiro . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.8 Zonas de acao do atacante . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.9 Diagrama de funcionamento do atacante . . . . . . . . . . . . . . . . . . . 56

5.10 Comportamento do atacante (a)Estado finalizar (b)Estado alinhar para

toque (c)Estado tocar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.11 Alinhamento direto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.12 Alinhamento com tabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.13 Teste de alinhamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.14 Comportamento do atacante (a)Estado chutar (b)Estado conduzir . . . . 60

5.15 Comportamento do atacante (a)Estado pressionar (b)Estado bloquear . . 61

5.16 Comportamento do atacante (a)Estado contornar (b)Estado cobrir . . . . 62

5.17 Diagrama de funcionamento do curinga . . . . . . . . . . . . . . . . . . . 63

5.18 Comportamento do curinga, estado atacar . . . . . . . . . . . . . . . . . . 64v

Page 7: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

5.19 Decisao do estilo de jogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

6.1 Desvio de um unico obstaculo . . . . . . . . . . . . . . . . . . . . . . . . . 69

6.2 Desvio de dois obstaculos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

6.3 Desvio de dois obstaculos fundidos . . . . . . . . . . . . . . . . . . . . . . 71

6.4 Comportamento do robo no estado alinhar . . . . . . . . . . . . . . . . . . 73

6.5 Comportamento do robo no estado chutar . . . . . . . . . . . . . . . . . . 74

6.6 Comportamento do robo no estado defender . . . . . . . . . . . . . . . . . 75

6.7 Alocacao dinamica de papeis . . . . . . . . . . . . . . . . . . . . . . . . . . 77

6.8 Alocacao dinamica de papeis . . . . . . . . . . . . . . . . . . . . . . . . . . 78

6.9 Arvore de decisao da tatica simples . . . . . . . . . . . . . . . . . . . . . . 79

vi

Page 8: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

Resumo

Este trabalho apresenta o desenvolvimento de um metodo de coordenacao e cooperacao

para uma frota de mini-robos moveis. O escopo do desenvolvimento e o futebol de robos.

Trata-se de uma plataforma bem estruturada, dinamica e desenvolvida no mundo inteiro.

O futebol de robos envolve diversos campos do conhecimento incluindo: visao computa-

cional, teoria de controle, desenvolvimento de circuitos microcontrolados, planejamento

cooperativo, entre outros.

A tıtulo de organizacao os sistema foi dividido em cinco modulos: robo, visao, loca-

lizacao, planejamento e controle. O foco do trabalho se limita ao modulo de planejamento.

Para auxiliar seu desenvolvimento um simulador do sistema foi implementado. O simu-

lador funciona em tempo real e substitui os robos reais. Dessa forma os outros modulos

permancem praticamente inalterados durante uma simulacao ou execucao com robos reais.

Para organizar o comportamento dos robos e produzir a cooperacao entre eles foi

adotada uma arquitetura hierarquizada: no mais alto nıvel esta a escolha do estilo de

jogo do time; logo abaixo decide-se o papel que cada jogador deve assumir; associado ao

papel temos uma acao especıfica e finalmente calcula-se a referencia de movimento do

robo. O papel de um robo dita o comportamento do robo na dada ocasiao. Os papeis

sao alocados dinamicamente durante o jogo de forma que um mesmo robo pode assumir

diferentes papeis no decorrer da partida.

vii

Page 9: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

Abstract

viii

Page 10: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

Capıtulo 1

Introducao

Os robos povoam o imaginario dos homens desde meados do seculo XX. Sejam robos

maleficos de filmes classicos como “Metropolis” de Fritz Lang e “2001, Uma Odisseia

no Espaco” de Stanley Kubrick, passando pelos robos singulares das historias de Isaac

Asimov, ate o menino robo do filme “IA”.

No mundo real, os robos ainda tem uma participacao muito menos fantastica, porem

muito importante em nossas vidas. A robotica esta presente em situacoes onde se exige

trabalho repetitivo, como montadoras de automoveis, e se aplica tambem em situacoes de

risco para a vida humana, como viagens exploratorias ou limpeza de dutos de petroleo em

alto-mar. Um outro ramo de atividade da robotica e a pesquisa academica: nesse caso,

as aplicacoes pode parecer menos importante, como um cao robo ou o futebol de robos.

Entretanto, as solucoes e tecnologias desenvolvidas nas universidades sao fundamentais

para a aplicacao da robotica em todas as outras areas.

Os robos podem ser classificados como robos moveis ou robos manipuladores, de acordo

com o modo que eles interagem com o meio que os cercam. Como os nomes sugerem, robos

moveis sao aqueles que podem se locomover em algum ambiente (figura 1.1), enquanto

os robos manipuladores possuem ferramentas, i.e. uma garra, que podem interagir o

ambiente. Devemos notar que um unico robo pode ter caracterısticas das duas classes

(figura 1.2): a divisao e feita porque os princıpios de funcionamento das duas classes sao

bem diferentes.

Existem basicamente tres tipos de ambientes para locomocao de robos moveis: aereo,

aquatico e terrestre. No ambiente terrestre os meios mais comuns de locomocao sao as

Page 11: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 1. INTRODUCAO 2

Figura 1.1: Exemplo de robos moveis

Figura 1.2: Exemplo de robo movel manipulador

rodas, esteiras e as patas. Neste trabalho, trataremos de robos moveis que se locomovem

em meios terrestres dotados de rodas. Robos que se locomovem atraves de rodas sao os

mais simples de serem construıdos, porem os mais restritivos dentre os robos terrestres

em relacao as irregularidades do terreno. Por exemplo, dificilmente um robo dotado de

rodas conseguira subir escadas cujos degraus sejam maiores que o raio das rodas. Robos

humanoides tem toda a capacidade de adaptacao ao terreno de um ser humano, porem

sao muito mais difıceis de implementar perfeitamente.

1.1 Sistemas Multi-Robos

Situacoes em que varios robos devem cooperar a fim de realizar uma unica tarefa,

a movimentacao e o sincronismo dos robos se tornam crıticos. Para um robo realizar

certa acao, ele deve se comunicar com os outros robos, interpretar mensagens recebidas e

abstrair respostas que sejam uteis a situacao de mundo atual no seu ponto de vista, para

entao tomar uma atitude. O erro na interpretacao de alguma das mensagens pode ser o

Page 12: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 1. INTRODUCAO 3

diferencial entre sucesso ou fracasso do time inteiro.

Dois aspectos podem ser destacados no desenvolvimento de sistemas multi-robos: a

coordenacao e a cooperacao. A coordenacao acontece quando os robos de um mesmo

grupo realizam suas proprias tarefas sem a preocupacao de ajudar um ao outro. No

entanto, se ocorrer alguma situacao em que os interesses de um dos robos conflitem com

os interesses de outro, a situacao sera resolvida atraves de negociacao entre os robos nao

havendo prejuızo para o time como um todo. A cooperacao, por sua vez, e a capacidade

de varios robos se unirem para realizar um objetivo maior. Na cooperacao, ao inves de

cada robo trabalhar em tarefas independentes, varios robos podem unir esforcos a fim de

realizar uma tarefa maior.

Uma terceira questao importante em sistemas multi-robos acontece em casos que ao

inves de cooperar, os robos devam competir. Nesse caso, seja por recursos limitados

ou por interesses conflitantes, os robos se encontram em situacoes onde apenas um (ou

um time) pode atingir seus objetivos. Essas situacoes sao facilmente encontradas em

esportes (futebol, corrida, etc) ou por exemplo em situacoes de sobrevivencia (recursos

vitais limitados).

1.2 Futebol de Robos

O futebol de robos e um exemplo tıpico de um sistema multi-robos. Dois times, cada

um composto por varios robos, os quais devem se organizar de modo a tentar garantir que

seu time venca o jogo. Assim como no futebol humano, vence o jogo o time que marcar

mais gols. Isso significa marcar gols e nao permitir que o time adversario os marque. Esse

ambiente inclui coordenacao e cooperacao com os companheiros de time, e competicao

com os adversarios.

Um dos primeiros registros sobre o futebol de robos data de 1992 pelo professor Allan

Mackworth [1] da universidade British Columbia, Canada. Em 1995, o coreano Jong-Hwan

Kim, professor do KAIST 1, propos a comunidade cientıfica a criacao de um torneio de

futebol de robos, com o intuito de desenvolver pesquisa em todos os campos da robotica,

reunir pesquisadores do mundo inteiro para trocar experiencias e atrair leigos e jovens

1Korean Advanced Institute of Science and Technology

Page 13: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 1. INTRODUCAO 4

para o estudo dos robos. Em setembro de 1996, foi realizado o primeiro torneio oficial de

futebol de robos em Daejeon, Korea, e no dia 5 de junho de 1997, junto com o segundo

torneio, foi criada a FIRA2 [2], instituicao que visava regulamentar os torneios anuais e

organizar um congresso concomitante. Em 1997 uma outra federacao, chamada RoboCup

[3], foi estabelecida com o objetivo de “ate o ano de 2050 desenvolver um time de robos

humanoides totalmente autonomos capaz de vencer um jogo contra o campeao mundial

de futebol humano”. Inicialmente ambas as confederacoes trabalhavam apenas com uma

categoria de futebol de robos, atualmente existem cinco grandes categorias na FIRA

(HuroSot, KheperaSot, MiroSot, NaroSot e RoboSot) e quatro na RoboCup (Small Size,

Middle Size, 4-Legged e Humanoid) alem de uma categoria de simulacao. As categorias

variam entre elas principalmente em relacao a composicao do robo. Existem categorias

para robos humanoides (bıpedes), para robos quadrupedes e varias categorias que variam

o tamanho e o numero de robos por equipe.

A categoria de futebol de robos escolhida para desenvolvimento no LECA3, a equipe

POTI [4], foi a Mirosot da FIRA. Essa decisao se baseou no baixo custo de producao

devido as dimensoes dos robos e na ausencia de sensores. Alem disso tivemos a possibi-

lidade de desenvolver os robos no proprio laboratorio, o que reduz ainda mais os custos,

facilita a manutencao alem de contribuir para o desenvolvimento dos alunos de graduacao

e pos-graduacao envolvidos no projeto.

1.2.1 A Categoria Mirosot

A categoria Mirosot de futebol de robos consiste em dois times com tres robos cada,

onde um deles pode ser o goleiro. As dimensoes dos robos devem ser tais que caibam em

um cubo com aresta 7,5cm. A bola de jogo e uma bola de golfe laranja.

Cada time pode possuir, alem dos robos, uma camera para a captacao das imagens

do campo, localizada a uma altura igual ou superior a 2m, um computador para proces-

samento de imagem, planejamento e controle dos robos e um sistema de comunicacao via

radio entre o computador e os robos. Uma visao geral do sistema de futebol de robos

pode ser visto na figura 1.3.

2Federation of International Robot-soccer Association3Laboratorio de Engenharia de Computacao e Automacao

Page 14: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 1. INTRODUCAO 5

Figura 1.3: Visao geral de um jogo de futebol de robos

As regras do jogo em si sao similares a do futebol humano. O objetivo principal e fazer

gols: o time que tiver feito mais gols no final da partida sera declarado vencedor. Todos

os comandos enviados para os robos devem ser calculados pelo computador: nenhuma

interacao de seres humanos com o computador ou os robos e permitida enquanto a bola

estiver em jogo.

1.2.2 A equipe POTI

O futebol de robos e uma plataforma multidisciplinar envolvendo diversas areas do

conhecimento como processamento digital de imagens, controle, programacao, microcon-

troladores, eletronica e logicamente a robotica, que por si so ja engloba diversas areas.

Nessa secao serao, mostrados resumidamente, todos os projetos que tem sido desenvolvi-

dos em paralelo para chegar a um sistema de futebol de robos funcional e confiavel.

Hardware

A estrutura fısica do futebol de robos e constituıda do campo de madeira, as cameras

para captacao das imagens, os refletores que possibilitam a iluminacao uniforme do campo,

os robos, o modulo transmissor e o computador controlador. A figura 1.4 mostra uma

imagem do campo com os robos.

Os robos sao constituıdos de acrılico e cada unidade possui dois motores DC com aci-

onamento independente, um receptor FM Radiometrix RX2 com capacidade de 9.6kbps,

um microcontrolador Microchip PIC16F876, um circuito integrado acionador L293 com

Page 15: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 1. INTRODUCAO 6

Figura 1.4: Imagem do campo e dos robos desenvolvidos no LECA

duas pontes H para o acionamento dos motores, duas baterias de 9V, alem dos diversos

componentes discretos. O circuito transmissor e ligado ao computador atraves da porta

paralela e possui um microcontrolador PIC16F877, um transmissor FM Radiometrix TX2

com capacidade de 9.6kbps e os componentes discretos.

Software

O sistema do futebol de robos e constituıdo de diversos modulos que se interligam.

Cada modulo foi desenvolvido separadamente em paralelo e todos os modulos sao impres-

cindıveis para o funcionamento do sistema como um todo. Podemos dividir o sistema

em cinco modulos, denominados: robo, visao, localizacao, planejamento e controle. O

funcionamento do sistema se da atraves da repeticao dos cinco passos descritos a seguir:

1. O modulo de visao (camera) capta a configuracao atual do campo (imagem);

2. O modulo de localizacao analisa a imagem e, com base nos rotulos fixados sobre os

robos, estima as posturas (posicoes e orientacoes) dos robos e da bola;

3. A partir das posturas dos robos e da bola e de informacoes sobre o jogo (tempo de

jogo, placar, etc), o modulo de planejamento calcula qual comportamento devera

ser adotado pelo time;

4. O modulo de controle traduz as informacoes geradas pelo modulo de planejamento

em valores de tensao para os motores, compreensıveis pelos robos, e os transmite

via radio;

5. Os robos recebem os dados e geram os valores de tensao desejados para os motores

(volta para o item 1).

Esse esquema pode ser visto na figura 1.5.

Page 16: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 1. INTRODUCAO 7

Rob

ô

Com

puta

dor

cont

rola

dor

Planejamento

Localização

Controle

Motores

Recepção

Transmissãovia rádio

Visão

Figura 1.5: Arquitetura do sistema do futebol de robos

O protocolo de comunicacao com os robos envia ciclicamente um start byte seguido de

seis bytes que contem as velocidades desejadas para os dois motores de cada um dos tres

robos do time. Em cada byte de velocidade, o primeiro bit indica o sentido de rotacao do

motor e os sete bits restantes o valor da tensao a ser aplicada, em percentual da tensao

maxima. Cada robo leva em conta apenas os dois bytes que lhe dizem respeito.

1.2.3 O Sistema Simulador

Simuladores sao comumente usados em diversas situacoes nas quais sao desacon-

selhaveis testes com sistemas reais, ou simplesmente para facilitar a fase de testes de

um sistema. Entre esses sistemas podemos citar o desenvolvimento de avioes. Seria de-

sastroso realizar testes com prototipos de avioes em tamanho real. Cada erro no projeto

acarretaria na perda do aviao e de milhoes de reais. Nesses casos os simuladores sao in-

dispensaveis, garantindo um desenvolvimento mais barato, mais pratico e mais rapido. E

importante frisar que quanto mais realıstico for um simulador, mais confiavel sera a fase

de testes utilizando esse simulador.

A principal motivacao para o desenvolvimento de um simulador para o sistema de

futebol de robos, foi a de facilitar os testes dos modulos de controle e planejamento. Com

o simulador, os testes podem ser realizados em qualquer maquina que funcione com Linux,

sem a necessidade de todo o aparato fısico como campo, refletores, cameras e robos, alem

de contornar o problema do consumo excessivo de baterias.

O simulador proposto para desenvolvimento deveria ser o mais fiel possıvel ao sis-

tema real para que a transicao do sistema simulado para o sistema real fosse o menos

Page 17: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 1. INTRODUCAO 8

traumatica possıvel. Desse modo, tres aspectos foram tratados cuidadosamente e com

as caracterısticas especıficas do nosso sistema: modelagem dos robos, modelagem das co-

lisoes e tempo de simulacao. Alem disso, o simulador foi desenvolvido de modo que nao e

necessaria nenhuma adaptacao ao programa de planejamento para transpor do simulado

para o real. O simulador sera melhor detalhado no capıtulo 3.

1.3 Objetivos do Trabalho

O objetivo deste trabalho e desenvolver um planejamento estrategico para uma frota

de mini-robos moveis terrestres com o intuito de que eles cooperem entre eles em busca

de um objetivo comum. Como plataforma sera usado o jogo de futebol de robos segundo

as regras da categoria Mirosot da FIRA. Para tanto, desenvolveremos algumas taticas

diferentes baseadas em diferentes paradigmas, a fim de chegar a uma tatica vencedora.

1.4 Metodologia

A metodologia adotada foi, inicialmente realizar um pesquisa bibliografica concomi-

tante com o curso das disciplinas a fim de levantar o estado da arte. O passo seguinte foi

desenvolver o simulador do sistema com o intuito de facilitar a fase de testes. Esse simu-

lador deveria cumprir alguns pre-requisitos como o de possibilitar que as ideias testadas

no simulador pudessem ser transportadas para o sistema real sem que fossem necessarias

adaptacoes.

Apos termos um simulador devidamente desenvolvido e testado, passamos a nos ocu-

par com tarefas simples porem uteis para o funcionamento da tatica, como o desvio de

obstaculos e a identificacao da bola. Em seguida, foram desenvolvidas taticas simples,

intuitivas e eficientes que foram utilizadas na validacao da tatica proposta. Finalmente

passamos ao desenvolvimento da tatica proposta, essa tatica, assim como as anteriores

foram desenvolvidas quase exclusivamente sobre o simulador. Apos termos as taticas fun-

cionais no simulador, passamos para os testes com sistema real. Para a validacao da tatica

proposta, foram realizados jogos, entre as taticas desenvolvidas.

Page 18: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 1. INTRODUCAO 9

1.5 Organizacao do Trabalho

No capıtulo 2 sera mostrado um apanhado geral dos paradigmas de arquitetura e de

algumas taticas ja existentes. O capıtulo 3 falara sobre o funcionamento do simulador

desenvolvido para auxiliar a fase de testes do sistema do futebol de robos. O capıtulo 4

fala sobre o modulo de planejamento que, alem da tatica, engloba outros submodulos como

o desvio de obstaculos. O capıtulo 5 sera dedicado exclusivamente a tatica desenvolvida

e finalmente no capıtulo 6 serao mostrados resultados e tecidas as consideracoes finais.

Page 19: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

Capıtulo 2

Sistemas Roboticos Cooperativos

Sistemas multi agentes se tornam cada vez mais objeto de estudo pela comunidade

cientıfica em todo mundo. Um fator que contribui para o crescimento do interesse nesse

topico e que sistemas multi-agentes podem ser aplicados em areas diversas do conhe-

cimento, como redes [5] e robotica, nos chamados sistemas multi-robos. Caso o pla-

nejamento dos robos seja feita de forma centralizada, cada robo perde um pouco sua

caracterıstica autonoma de agente e podemos tratar o grupo como um sistema robotico

autonomo. Esses ultimos chamam a atencao pela possibilidade de aplicacao em situacoes

reais como exploracao aerea, terrestre, aquatica ou espacial, trabalhos em ambientes hos-

tis ou procura de sobreviventes em desastres. A seguir, na secao 2.1 serao apresentados

alguns exemplos de trabalhos que estao sendo desenvolvidos na area de multi-robos. Em

seguida, a secao 2.2 tratara mais especificamente dos projetos que estao sendo desenvol-

vidos para o ambiente de futebol de robos.

2.1 Sistemas Multi-Robos

A cooperacao tem um papel fundamental em sistemas multi-robos. Para que se

possa tirar maximo proveito de uma situacao onde varios robos (agentes) tem de re-

alizar o mesmo objetivo, os robos devem primeiramente nao atrapalhar um ao outro

(coordenacao), e se possıvel ajudar um ao outro (cooperacao). O principal objetivo da

cooperacao entre robos e montar um time que possa realizar tarefas mais rapidamente

que um unico robo ou ate tarefas que um robo sozinho nao conseguiria cumprir.

Page 20: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 2. SISTEMAS ROBOTICOS COOPERATIVOS 11

Ota e Arai [6] apresentam um metodo de coordenacao onde, em um grupo de robos,

cada indivıduo tem a preocupacao de cumprir uma tarefa principal, que se restringe a se

locomover para um certo local, e se manter a uma certa distancia fixa dos seus vizinhos.

Desse modo, o grupo mantem uma coesao enquanto se movimenta. Desai et al [7] seguem

a mesma linha de raciocınio, porem eles trabalham com formacoes dinamicas para o grupo

que e liderado por um dos robos. O grupo ainda deve desviar de obstaculos e voltar a

formacao desejada quando ultrapassar o obstaculo.

Ja Lin [8] usa um algoritmo genetico para encontrar a solucao de uma tarefa de

selecao de objetos. Uma outra abordagem usa exemplos de animais sociais na natureza

como formigas [9]. Esses metodos geralmente demandam um certo tempo de execucao,

sendo desaconselhavel seu uso em sistema que funcionam em tempo-real.

Uma abordagem muito comum para a coordenacao de times de robos, e divisao da

tarefa principal em varias sub-tarefas, e distribuir as sub-tarefas entre os robos [10, 11, 12,

13]. Desse modo cada robo se preocupa apenas em realizar uma tarefa menor, sem que

necessariamente saiba o que os outros robos estao fazendo. Com a divisao temos tambem

uma simplificacao das tarefas. Desse modo, tarefas maiores que so poderiam ser realizadas

por um robo mais complexos podem ser realizadas por um grupo de robos simples. O

grupo de robos acrescenta robustez, devido a redundancia; velocidade, por serem varios

robos fazendo o trabalho de um; e principalmente diminuir os custos do sistema por usar

diversos robos de baixo custo ao inves de apenas um mais dispendioso.

Arai e Ota [14] classificam os sistemas multi-roboss atraves de dois aspectos: quem

planeja e quando planeja. O primeiro aspecto e dividido em centralizado e descentralizado.

Em um sistema centralizado, o planejamento e realizado por um supervisor, enquanto que

no descentralizado, cada robo e responsavel por seu proprio planejamento. A categoria

quando planeja e dividida em on-line e off-line, onde off-line e dito quando o planejamento

e realizado a priori enquanto on-line e realizado no decorrer da acao.

2.2 Futebol de Robos

O futebol de robos e um ambiente muito propıcio para a pesquisa e o desenvolvimento

de sistemas multi-robos. Um grupo de robos tem de cooperar de modo a realizar um

Page 21: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 2. SISTEMAS ROBOTICOS COOPERATIVOS 12

objetivo comum, vencer o jogo. Esse objetivo pode ser dividido em diversos objetivos

menores como marcar gols, nao tomar gols, ou ainda menores como defender ou chutar.

Alem disso e um ambiente extremamente dinamico e imprevisıvel, pois os obstaculos sao

os robos adversarios. Ou seja, e um ambiente que trabalha a cooperacao (com os robos

do proprio time) e a competicao (com os robos adversarios) em um ambiente dinamico

que funciona em tempo-real.

Os primeiros trabalhos de coordenacao nesse ambiente foram realizados antes do apa-

recimento das duas grandes ligas de futebol de robos, FIRA e RoboCup. Foram trabalhos

simples, onde geralmente se visava a cooperacao de dois ou mais robos com um objetivo

comum, empurrar uma bola para uma certa area, sem a presenca de obstaculos [1, 15].

Um conceito interessante que foi desenvolvido nos metodos de cooperacao de futebol

de robos foi a ideia de papel (role) de um robo. O papel de um robo rege suas acoes em

cada momento do jogo, ou seja, diz quais acoes ele deve tomar em cada situacao. Robos

com papeis distintos podem tomar atitudes diferentes enfrentando a mesma situacao. A

ideia de papeis pode ser estendida para qualquer sistema multi-roboss [16]. No escopo do

futebol de robos, podemos intuitivamente associar papeis com as posicoes dos jogadores no

futebol humano: teremos entao papeis como goleiro, defensor, meio-campo ou atacante.

Apesar do objetivo global ser ganhar o jogo, cada uma dessas posicoes tem tarefas, ou

sub-objetivos, diferentes, como impedir que o time adversario faca gol, impedir que o

time adversario chegue perto do gol, ou marcar gols. Desse modo todos os robos terao um

objetivo definido e nao conflitante. Algumas implementacoes desse conceito trabalham

com papeis fixos [17, 18, 19], ou seja, cada robo tem seu papel definido antes do jogo e

permanece com o mesmo ate o fim. Esse sistema peca pela falta de robustez e redundancia,

como no caso de um dos robos vir a falhar fisicamente, ja que nenhum outro robo ira

assumir seu papel nas situacoes necessarias.

Um avanco no conceito de papeis foi o desenvolvimento da alocacao dinamica de papeis

[20, 21, 22, 23]. Nesse modelo, os robos tem a capacidade de trocar de papeis de acordo

com a configuracao atual do sistema. Se um defensor ve a possibilidade de avancar com

a bola, ele pode trocar de papel com o meio-campista; se um atacante percebe que pode

evitar o gol, ele se transforma em goleiro. Em sistemas descentralizados a coordenacao

das trocas de papel e crıtica. Todo o processo e baseado na troca de mensagens que deve

Page 22: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 2. SISTEMAS ROBOTICOS COOPERATIVOS 13

ser bem planejado para evitar falhas. Se no caso anterior, o defensor se encontra em

uma posicao favoravel para assumir o papel de meio-campista, ele inicia uma conversacao

com o robo que se encontra com este papel. Caso algum dos dois robos perca uma das

mensagens trocadas, o time pode passar a ter redundancia em um papel e carencia no

outro. Varios protocolos para tentar sanar esse problema ja foram desenvolvidos [16]. O

uso de alocacao dinamica de papeis junto com os de selecao de formacao dinamica, onde

se define qual o esquema que o time ira jogar, tem gerado bons frutos em competicoes

[24, 21, 25, 26]

Lam et al [19] propuseram um metodo constituıdo por um banco de dados de taticas e

acoes, e um mecanismo de selecao dessas taticas. Nesse caso, o banco de dados possui duas

sub-divisoes: taticas de ataque e taticas de defesa. As taticas de ataque sao utilizadas

quando o time possuir a posse da bola e as de defesa quando o time adversario possuir

a bola. As taticas sao ordenadas por sua agressividade: a primeira tatica de ataque e a

menos ofensiva e a ultima a mais ofensiva. A grande contribuicao desse metodo e o modo

de selecao da tatica baseada inteiramente em probabilidades estatısticas.

A IA tambem e muito utilizada na tentativa de gerar uma estrategia cooperativa ade-

quada para o futebol de robos. Agah e Tanie [27] propuseram uma tecnica evolucionaria

atraves de algoritmos geneticos. Ele propoe um metodo chamado arquitetura cognitiva

baseada em tropismos1, onde cada tropismo e um comportamento que o robo deve ter

em uma determinada situacao. Com um simulador simples, varios jogos simultaneos sao

realizados. A medida que as populacoes evoluem, os tropismos mais adequados sao exal-

tados, enquanto que os menos apropriados sao extintos. Esse metodo exige um vasto

tempo de treinamento a fim de encontrar uma tatica otima e, alem de nao se adaptar ao

adversario, exige extremo cuidado na selecao dos exemplos de treinamento.

Outra aplicacao de IA na coordenacao de times multi-robos e a utilizacao de logica

difusa [28, 29, 30, 31]. Sng [31] usa parameros como distancia ate a bola e orientacao

do robo para definir, com a logica difusa, qual o robo mais apto para chutar a bola. A

logica difusa tambem e utilizada para definir quais papeis cada robo deve assumir e suas

posicoes no campo. De la Rosa et al [32] tambem usam um metodo de decisao difusa

1tropismo: Reacao de organismos que consiste na mudanca de orientacao determinada por estımulos

externos, dita positiva quando em direcao ao estımulo e negativa quando se afasta do mesmo.

Page 23: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 2. SISTEMAS ROBOTICOS COOPERATIVOS 14

baseado em parametros como distancia para a bola e distancia para o gol. A diferenca

desse ultimo trabalho e que toda a programacao e realizada em ambientes orientados a

agentes, onde um agente (robo) e definido por suas crencas, desejos e intencoes. Hoje em

dia existem varias linguagens de programacao experimentais orientadas a agentes, porem

nenhuma delas esta bem estabelecida.

Wang et al [33] definem a ideia de cooperacao ideal como sendo confiavel, escalar,

voluntaria e evolucionaria. Nessa definicao, confiabilidade significa manter uma coerencia

em situacoes semelhantes e ser capaz de manter o sistema funcionando se algum dos

agentes falhar. Cooperacao escalar no sentido de possuir cooperacao local, onde acoes

influenciam diretamente o agente, e cooperacao global, onde acoes influenciam o time

como um todo. A voluntariedade significa que o agente seja capaz de perceber sozinho uma

oportunidade de cooperacao. E evolucionaria por ser capaz de melhorar a performance

do time atraves de treinamento.

Uma abordagem comumente utilizada e a organizacao das acoes em camadas [34, 35,

36]. Na camada mais baixa, no nıvel dos robos, as acoes sao praticamente atomicas tais

como mover de um ponto a outro ou mudar de orientacao. A medida que se sobe nas

camadas, podemos ver acoes mais elaboradas que se utilizam das inferiores como chutar

a bola ou bloquear a bola. Percebe-se que para chutar a bola o robo precisa se mover

ate o ponto da bola, porem quem ira se preocupar com isso e a camada inferior. No

nıvel superior, as acoes podem tomar dimensoes de grupo como mudar para esquema

defensivo. Com esse tipo de organizacao e possıvel simplificar cada camada, evitando

erros por complexidade.

A aprendizagem por reforco tambem se faz muito presente em varios trabalhos de

coordenacao de futebol de robos. Geralmente a aprendizagem e utilizada como metodo

de aperfeicoamento, sendo usada junto com outras tecnicas como decisao por camadas

[35], maquinas de estados [37] ou como metodo de previsao para proximas jogadas de

adversarios [38]. Em outros casos, a aprendizagem pode ser utilizada como principal

metodo de decisao: Park [39] usa o Q-Learning para selecao de acoes e Hu [40] usa uma

rede neural com treinamento off-line.

Varias outras abordagens de coordenacao e cooperacao para o ambiente do futebol

de robos podem ser encontradas, Candea et al [41], criaram um metodo de coordenacao

Page 24: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 2. SISTEMAS ROBOTICOS COOPERATIVOS 15

baseado em holons, que sao blocos de controle auto-ajustaveis, permitindo uma maior

resistencia a perturbacoes. Park et al [42] utilizam um algoritmo simples tipo dividir e

conquistar. Hrabec e Honzık [43] utilizam um metodo simples de decisao por arvore, onde

as folhas sao as acoes a serem tomadas. E Kim et al [17] usam selecao de acao atraves de

uam rede Perceptron com multiplas camadas.

Alem de metodos de coordenacao de times como um todo, muitos trabalhos sao de-

senvolvidos no sentido de aprimorar tarefas especıficas no jogo, tais como comportamento

do goleiro [44], passar a bola entre jogadores [45, 46], chute a gol [47, 48], alem de diversas

tecnicas para desvio de obstaculos [45, 49, 50, 51, 48].

2.3 Discussao

Dentre as solucoes encontradas, o conceito de papeis parece ser bem apropriado para

o problema em questao. Com a adocao de papeis, cada robo possui um conjunto limitado

de acoes para tomar, tornando o planejamento mais simples e rapido do que seria em

um sistema em que cada robo devesse ponderar todas as opcoes. Por outro lado, com

a alocacao dinamica de papeis, essa mesma abordagem que a primeira vista se tornaria

rıgida e limitante, se mostra bem mais flexıvel, pois cada robo assume o papel mais

adequado para sua atual situacao.

A ideia da organizacao do planejamento em camadas tambem parece promissora, pois

dessa forma podemos trabalhar com papeis mais abrangentes, simplificando a distribuicao

dos papeis e possibilitando um refinamento das atribuicoes dos papeis em uma ou mais

camadas inferiores.

No nosso sistema, o planejamento e centralizado, ja que todo o processamento e feito

por um computador remoto e os robos nao possuem sensores. Alem disso, apesar de os

robos nao serem autonomos, o sistema como um todo e, ou seja o planejamento e feito a

priori com o computador capaz de realizar decisoes sem a necessidade de interferencia hu-

mana. A configuracao do sistema centralizado foi escolhida por diversas razoes: diminuir

os custos do robos, ja que nao sera necessario que sejam equipados com sensores e micro-

controladores mais potentes; pela facilidade de implementacao, sistemas com localizacao

e processamento global sao mais simples que sistemas distribuıdos; e esses sistemas tem

Page 25: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 2. SISTEMAS ROBOTICOS COOPERATIVOS 16

apresentado bons resultados em competicoes de ambito nacional e internacional.

Alem do comportamento global do sistema, a adocao de um metodo de desvio de

obstaculos tambem parece ser de fundamental importancia devido as recorrentes colisoes

que acontecem em um ambiente de dimensoes restritas.

Page 26: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

Capıtulo 3

Simulador

Os simuladores sao muito utilizados em sistemas roboticos, tanto com robos moveis

quanto com manipuladores, como uma ferramenta auxiliar durante seu desenvolvimento.

Simuladores sao programas desenvolvidos com base nas caracterısticas reais do objeto

a ser simulado (no caso um robo), e nas caracterısticas do meio pelo qual o objeto e

cercado. Com o auxılio de um simulador e possıvel verificar o comportamento de um

robo, bem como sua interacao com o meio, sem que sejam necessarios experimentos reais.

Simuladores permitem que sejam realizados testes de viabilidade de um projeto sem o

custo de tempo e financeiro para o desenvolvimento de um prototipo ou do proprio sistema.

Mesmo com um sistema ja finalizado e funcional, os simuladores sao ferramentas uteis

na realizacao de experimentos sem a necessidade da disponibilizacao do aparato fısico,

tornado-os mais faceis e menos custosos.

Podemos destacar tres pontos importantes para analisar a qualidade de um simulador

para um sistema robotico: a modelagem dos robos; a modelagem das colisoes e o tempo

de simulacao. Cook et al [52] apresentam um simulador para um braco manipulador com

interface grafica: os comandos sao enviados para o simulador e, em seguida, podem ser

enviados para o robo real caso a simulacao nao apresente colisoes. Porem, as possıveis co-

lisoes do robo nao sao tratadas. No caso da deteccao de alguma colisao, o processamento

e interrompido. Kimoto e Yuta [53] descrevem um simulador para um robo movel enfati-

zando o funcionamento dos sensores. A deteccao das colisoes e simplificada aproximando

a forma da base do robo de um quadrado para um cırculo. Kulkarni et al [54] trabalham

com robos poligonais em seu simulador: o metodo de deteccao das colisoes leva em conta

Page 27: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 18

a forma real do robo, porem a dinamica da colisao e ignorada e o processamento para no

momento em que alguma colisao e detectada.

O objetivo do desenvolvimento deste simulador e substituir testes nos robos reais

por testes no simulador. Para tanto precisamos de um simulador realıstico o suficiente

para que nao haja muitas diferencas na transicao do mundo simulado para o real. O

simulador proposto tem, portanto, alguns pre-requisitos. O primeiro deles e que, uma

vez que o planejamento sera desenvolvido para os robos da equipe POTI, o simulador

deve ser implementado com base em um modelo realıstico dos robos. O segundo aspecto

importante e que o simulador deve funcionar em tempo real. Isso e importante para que

os outros modulos do sistema possam se comunicar com o simulador do mesmo modo que

se comunicariam com o sistema real. Alem disso, o simulador deve detectar e tratar as

colisoes recorrentes entre os robos, a bola e as paredes [55]. Na secao 3.1 sera mostrado

como o simulador foi implementado e como ele se encaixa no sistema como um todo. A

secao 3.2 falara sobre a modelagem matematica do robo e a secao 3.3 tratara os metodos

de deteccao e tratamento das colisoes desenvolvidos.

3.1 Estrutura do Simulador

O simulador foi projetado de modo a ser transparente ao resto do sistema. Nenhum

dos outros modulos citados na secao 1.2 age de maneira diferente quando o sistema esta

funcionando com o simulador ou com os robos reais. Essa caracterıstica permite que os

programas testados com o simulador sejam transferidos para o sistema real sem que sejam

necessarias adaptacoes.

As duas unicas diferencas do sistema como um todo quando se utiliza o simulador ou

os robos reais sao a transmissao de dados e a obtencao da imagem do campo. No sistema

real, os sinais de controle sao calculados pelo computador sao enviados via radio para

os robos. No sistema simulado os sinais sao enviados via rede. Sao utilizados pipes e os

dados sao coletados via sockets.

Por razoes obvias, a obtencao da imagem do campo tambem e modificada quando

se utiliza o simulador. Enquanto que no sistema real a camera capta uma imagem das

posicoes atuais dos robos, com o simulador os robos nao estao posicionados no campo e

Page 28: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 19

a unica informacao da posicao atual dos robos reside no proprio simulador. Nesse caso,

o simulador fornece informacoes que permitem gerar uma imagem artificial do campo e

dos robos nas suas devidas posturas (posicao e orientacao), e as envia para o computador

controlador. O modulo de localizacao ira tratar a imagem artificial do mesmo modo que

trataria uma imagem real. Uma vez encontradas as posturas dos robos e a posicao da bola,

esse modulo fornece as informacoes para o resto do sistema sem alteracoes em relacao ao

sistema real.

A figura 3.1(a) mostra o sistema real ja exibido na secao 1.2 e a figura 3.1(b) mostra de

maneira analoga, como o simulador se encaixa no sistema. Pode-se perceber que as unicas

diferencas no computador controlador sao os modos de transmissao e a captacao/geracao

da imagem. A criacao da imagem artificial funciona como um pre-processamento para

o sistema, nao afetando em nada seu funcionamento. A utilizacao do simulador ou dos

robos reais e indiferente para o funcionamento dos modulos do computador controlador.

Rob

ô

Com

puta

dor

cont

rola

dor

Com

puta

dor

cont

rola

dor

Com

puta

dor

sim

ulad

or

de imagemGeração

Planejamento Planejamento

(a) (b)

Localização

Controle

Motores

Recepção

Transmissãovia rádio

Localização

Controle

Transmissãovia rede

Simulação

VisãoTransmissão

via rede

Figura 3.1: (a)Sistema real (b)Sistema com o simulador

3.1.1 O Sistema de Simulacao

O sistema de simulacao envolve dois componentes: o simulador propriamente dito e o

visualizador. O simulador roda em um processo dedicado (uma thread) de alta prioridade.

Os dados simulados sao enviados via socket para o visualizador, de modo que podem ser

lidos e exibidos pelo visualizador, como mostra a figura 3.2. O visualizador funciona em

outro processo e exibe os dados para o usuario. Esta configuracao evita que eventuais

Page 29: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 20

atrasos, ou um grande consumo de tempo, do visualizador comprometam as caracterısticas

de tempo real do simulador.

Visualizador SimuladorComunicacao

via socket

Figura 3.2: Sistema completo de simulacao

O programa simulador funciona com dois processos em paralelo: um e responsavel

apenas pela comunicacao com o controlador e o outro realiza a simulacao propriamente

dita. O processo de comunicacao cria dois sockets de comunicacao com cada time: o

primeiro recebe os sinais de controle enviados pelo controlador e o segundo envia as in-

formacoes para a construcao das imagens artificiais do campo. O perıodo de amostragem

do sistema (T) e de 33ms. Sempre que esse perıodo e alcancado, as posicoes e orientacoes

dos robos e da bola sao calculados, armazenados e disponibilizados via socket para o

computador controlador. Esse processo simula o comportamento da camera que captura

uma nova imagem do campo a cada 33ms e a disponibiliza para o sistema. Uma variavel

chamada sobra e criada com o intuito de zerar o erro cumulativo que aconteceria a cada

perıodo de amostragem. Esse atraso e decorrente do fato do simulador nao levar exata-

mente 33ms de processamento. O algoritmo da figura 3.3 mostra de maneira simplificada

o funcionamento do simulador.

A simulacao propriamente dita e feita utilizando um metodo de integracao numerica

como o de Euler e o Runge-Kutta de quarta ordem [56]. A cada perıodo de amostragem

sao simulados 33ms a partir do termino da simulacao anterior. A cada passo de simulacao

novas poses dos robos e da bola sao calculados e em seguida e verificado se, com as novas

posicoes, ocorreu alguma colisao. Caso tenha ocorrido, as correcoes necessarias de posicao

e velocidade sao realizadas. O algoritmo da figura 3.4 ilustra a utilizacao do metodo de

Euler, onde x representa o vetor de estados nas equacoes matematicas que descrevem os

modelos do robo e da bola e delta t e o passo de integracao:

Para diminuir o tempo de geracao e de envio da imagem artificial, o simulador nao

envia uma imagem do campo inteiro (640 × 480 × 3 bytes) a cada passo como ocorre

com camera. Ao inves disso, inicialmente uma imagem real do campo vazio e adquirida

antes do jogo pelo sistema de calibracao de cores. No jogo real, essa imagem tem por

Page 30: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 21

Repetir

| t = relogio

| dt = t - t_ant + sobra

| Se dt >= T

| | Simula ate t_ant + T

| | t_ant = t

| | sobra = dt - T

| | Salva posic~ao dos robos e bola

| | Envia informac~oes para o computador controlador

| Sen~ao

| | sobra = sobra + dt

| | t_ant = t

| Fim_Sen~ao

| Se chegou novo sinal de controle

| | Atualiza tens~oes

| Fim_Se

| Dorme 10ms

Fim_Repetir

Figura 3.3: Algoritmo do sistema simulador

Page 31: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 22

t,t_atual,delta_t

Ler t_atual

Enquanto t < t_atual:

| Calcular dx

| x <- x + dx*delta_t

| Testar colis~oes:

| | Bola com cada parede

| | Para cada robo:

| | | Robo com cada parede

| | | Robo com bola

| | | Robo com cada robo

| | Se colis~ao

| | | Alterar x

| | | Tratar colis~ao

| | fim_Se

| t <- t + delta_t

fim_Enquanto

Figura 3.4: Algoritmo de simulacao

Page 32: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 23

objetivo captar as condicoes de iluminacao do ambiente. Durante o jogo, a cada perıodo

de amostragem o simulador gera e envia as posturas atuais dos jogadores e da bola. O

modulo de geracao de imagem, localizado no computador controlador, recebe as posturas

e desenha os robos e a bola em cima da imagem do campo vazio ja armazenada. Uma

vez montada, a imagem e passada para o modulo de localizacao e o processamento segue

como se o sistema estivesse tratando com uma imagem real.

3.2 Modelagem Matematica do Robo

Para que um simulador possa se tornar uma ferramenta confiavel para o desenvol-

vimento do planejamento de cooperacao, e necessario que os robos simulados possuam

respostas bastante fieis em relacao aos robos reais. Para tanto, e necessario o levanta-

mento de um modelo matematico preciso do robo.

Esta secao descreve o modelo matematico de um robo cubico com aresta de 7,5cm,

com duas rodas acionadas diferencialmente por dois motores de corrente contınua com

acoplamento direto como visto em Guerra et al [57], conforme esquema da figura 3.5. As

principais grandezas envolvidas na modelagem estao descritas a seguir, onde os ındices d

e e dizem respeito ao lado direito e esquerdo, respectivamente.

x

y

b

τ, ω

τd, ωd

τe, ωe

rd

re

Fe, ve

F, v

Fd, vdθ

Figura 3.5: Diagrama esquematico do robo

Grandezas dinamicas para a modelagem do robo:

x, y - posicao do centro de massa do robo

Page 33: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 24

θ - orientacao do robo

b - distancia entre as duas rodas

rd, re - raios das rodas

ωd, ωe - velocidades angulares das rodas

ω - velocidade angular do robo

vd, ve - velocidades lineares na borda das rodas

v - velocidade linear do robo

τd, τe - torques nas rodas

τ - torque resultante no robo

fd, fe - forcas na borda das rodas

f - forca resultante no robo

ed, ee - tensoes de armadura nos motores

id, ie - correntes de armadura nos motores

Rd, Re - resistencia de armadura nos motores

Kd,Ke - constantes contra-eletromotrizes nos motores

Jd, Je - momento de inercia dos rotores dos motores

J - momento de inercia do robo

βd, βe - coeficiente de atrito nos motores

βl - coeficiente de atrito viscoso linear no robo

βθ - coeficiente de atrito viscoso angular no robo

m - massa do robo

3.2.1 Modelagem Cinematica

A relacao entre as velocidades no espaco de atuadores (ωr) e no referencial do robo

(ω) e:

v = vTω · ωr → ωr = ωTv · v (3.1)

onde:

v =

⎡⎣ ν

ω

⎤⎦ ωr =

⎡⎣ ωd

ωe

⎤⎦ vTω =

⎡⎣ rd/2 re/2

rd/b −re/b

⎤⎦

O robo modelado e sujeito a restricoes nao holonomicas, isto e, restricoes nas possıveis

velocidades que pode assumir, devido ao fato que o atrito impede que as rodas deslizem

Page 34: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 25

lateralmente. Assim, o robo so pode se movimentar na direcao em que esta orientado.

Esta restricao e expressa matematicamente como:

dy

dx=

sin θ

cos θ⇒ y cos θ − x sin θ = 0 (3.2)

A relacao entre velocidades no referencial do robo e velocidades em espaco de configuracao

e dada por:

q = qTv · v (3.3)

onde:

q =

⎡⎢⎢⎢⎣

x

y

θ

⎤⎥⎥⎥⎦ qTv =

⎡⎢⎢⎢⎣

cos θ 0

sin θ 0

0 1

⎤⎥⎥⎥⎦

3.2.2 Modelagem Dinamica

A partir das restricoes nao-holonomicas, a seguinte relacao entre esforcos em espaco

de atuadores τ e esforcos no referencial do robo f θ e obtida:

f θ = ωTTv · τ ⇒ τ = vTT

ω· f θ (3.4)

onde:

f θ =

⎡⎣ fθ

τθ

⎤⎦ τ =

⎡⎣ τd

τe

⎤⎦ ωTT

v =

⎡⎣ 1/rd 1/re

b/2rd −b/2re

⎤⎦

A dinamica dos atuadores (motores) e dada pelas equacoes eletricas (3.5) abaixo. A

modelagem dos atritos leva em conta apenas o atrito viscoso linear e despreza os efeitos

nao-lineares (atrito seco e de Coulomb).

i = −ρKrωr + ρe τ = Kr · i − Jrωr − βrωr (3.5)

onde:

i =

⎡⎣ id

ie

⎤⎦ ωr =

⎡⎣ ωd

ωe

⎤⎦ e =

⎡⎣ ed

ee

⎤⎦

Kr =

⎡⎣ Kd 0

0 Ke

⎤⎦ βr =

⎡⎣ βd 0

0 βe

⎤⎦

ρ =

⎡⎣ 1/Rd 0

0 1/Re

⎤⎦ Jr =

⎡⎣ Jd 0

0 Je

⎤⎦

Page 35: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 26

A equacao de movimento do robo pode ser obtida a partir das leis de Newton e Euler:

f θ = JR · v + βR · v (3.6)

onde:

JR =

⎡⎣ m 0

0 J

⎤⎦ βR =

⎡⎣ βl 0

0 βθ

⎤⎦

Substituindo as equacoes de dinamica de atuadores (3.5) na equacao de movimento do

robo (3.6), obtem-se a equacao 3.7 que expressa, no referencial do robo, o comportamento

dinamico do robo.

K · e = M · v − B · v (3.7)

onde:

K = ωTTv · ρ · Kr M = JR + ωTT

v · Jω

r Tv

B = βR + ωTTv [ρ · K2

r + βr] ·ωTv

O modelo descrito acima pode ser representado no espaco de estados pela equacao 3.8 a

seguir: ⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

v

ω

x

y

θ

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

=

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

−M−1B... 0

. . . . . . . . . . . . . .

cos(θ) 0

sin(θ) 0

0 1

... 0

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

v

ω

x

y

θ

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

+

⎡⎢⎢⎢⎣

M−1K

. . . . . .

0

⎤⎥⎥⎥⎦

⎡⎣ ed

ee

⎤⎦

y =

⎡⎢⎢⎢⎣

0 0 1 0 0

0 0 0 1 0

0 0 0 0 1

⎤⎥⎥⎥⎦

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

v

ω

x

y

θ

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

(3.8)

Page 36: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 27

A partir do modelo em espaco de estados descrito pela equacao 3.8, podemos deduzir

a matriz de transferencia discreta G(z).⎡⎣ L(z)

θ(z)

⎤⎦ =

⎡⎣ G11(z) G12(z)

G21(z) G22(z)

⎤⎦

⎡⎣ Ed(z)

Ee(z)

⎤⎦

onde cada Gij(z) possui a seguinte estrutura

Gij(z) =Nij(z)

D(z)=

γijz2 + δijz + εij

(z − 1)(z2 + α1z + α2)→

Gij(z) =γijz

2 + δijz + εij

z3− z2 + α1(z2

− z) + α2(z − 1)(3.9)

Atraves das equacoes 3.9 podemos chegar as equacoes 3.10, onde os parametros αi,

γij, δij e εij, com i, j = 1, 2, sao encontrados atraves de metodos de identificacao simples

como os mınimos quadrados.

∆lk = −α1∆lk−1 − α2∆lk−2 + γ11ed,k−1 + δ11ed,k−2 + ε11ed,k−3 +

+ γ12ee,k−1 + δ12ee,k−2 + ε12ee,k−3

∆θk = −α1∆θk−1 − α2∆θk−2 + γ21ed,k−1 + δ21ed,k−2 + ε21ed,k−3 +

+ γ22ee,k−1 + δ22ee,k−2 + ε22ee,k−3

(3.10)

onde ∆lk = lk − lk−1 e distancia percorrida em um passo de amostragem, ∆θk = θk − θk−1

e o incremento angular na orientacao do robo no mesmo perıodo, ed,k e ee,k sao os sinais

de entrada da planta (tensao nos motores direito e esquerdo, respectivamente) no instante

k. As equacoes 3.10 sao usadas para a simulacao. Mais detalhes sobre a obtencao desse

modelo e sobre a identificacao dos parametros podem ser vistos em Guerra et al [58].

3.3 Tratamento das Colisoes

No jogo de futebol de robos, devido ao dinamismo, rapidez e espaco fısico limitado, as

colisoes sao situacoes frequentes, sejam elas entre robos ou envolvendo a bola e as paredes.

Por isso, de modo a garantir um maior realismo no simulador, foi necessario tratar essas

colisoes. O tratamento de uma colisao inclui sua deteccao e sua modelagem.

Existem quatro tipos de colisoes possıveis no ambiente do futebol de robos: colisao

bola-parede, colisao robo-parede, colisao robo-bola e colisao robo-robo, tres das quais

estao ilustradas na figura 3.6. O tratamento de uma colisao envolve a deteccao de sua

ocorrencia e a inclusao dos seus efeitos na simulacao.

Page 37: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 28

(b) (c)(a)

Figura 3.6: Exemplo das colisoes no simulador de futebol de robos: (a) colisao robo-bola,

(b) robo-parede e (c) robo-robo

3.3.1 Deteccao de Colisoes

Para deteccao das colisoes algumas simplificacoes foram adotadas a fim de reduzir o

tempo de execucao de cada passo do programa. Nas colisoes robo-parede, assume-se que

os robos batem apenas com seus vertices; nas colisoes robo-robo, adota-se que e sempre

um dos vertices de um robo que bate em uma das faces do outro. Essas simplificacoes sao

feitas assumindo-se que os demais possıveis tipos de colisao (por exemplo, uma colisao

perfeitamente frontal dentre dois robos) tem uma probabilidade mınima de acontecer.

Alem dessas simplificacoes, a cada passo e realizada uma filtragem por proximidade.

De posse das posicoes dos centros dos robos e da bola, e possıvel eliminar colisoes im-

possıveis devido a distancia entre os objetos. Essa filtragem diminui o numero de testes e

o tempo de processamento, questao fundamental em um sistema funcionando em tempo

real.

A cada passo devemos inicialmente calcular a posicao dos quatro vertices de cada

robo. De posse da posicao do centro do robo, da sua orientacao em relacao ao centro

de coordenadas do campo e da dimensao das arestas dos robos (figura 3.7), podemos

facilmente calcular as posicoes xj e yj dos quatro vertices (j = 0, 1, 2, 3) dos robos atraves

das equacoes 3.11: ⎧⎨⎩ xj = xc + b√

2· cos(θ + 45o + 90o

· j)

yj = yc + b√2· sin(θ + 45o + 90o

· j)(3.11)

onde (xc, yc) e a posicao do centro do robo, b a extensao da sua aresta e θ a orientacao do

Page 38: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 29

robo.

0

yc

xc

b

b

2

1

3

θ

Figura 3.7: Calculo dos vertices de um robo

Colisao robo-robo

Para testar se ocorreu ou nao colisao entre robos, deve-se verificar se cada vertice de

cada robo se encontra dentro da regiao delimitada pelas quatro semi-retas que definem o

outro robo. O metodo de deteccao desenvolvido desloca o centro do eixo de coordenadas

do centro do campo para um dos vertices de um dos robos a serem testados. Esse centro de

coordenadas e rotacionado de forma que eixos x e y sao as duas arestas do robo adjacentes

a este vertice. A figura 3.8 mostras essa mudanca de eixo, xc e yc sao as coordenadas

do centro dos novos eixos e θ o angulo de rotacao do novo centro em relacao aos eixos

globais. Transformamos entao o ponto que se deseja testar (xv,yv), ou seja o vertice do

outro robo, para o eixo de coordenadas calculado no robo (xp,yp). atraves das equacoes:

xp =√

(xv − xc)2 + (yv − yc)2· cos

(tan−1 yv − yc

xv − xc

− θ

)

yp =√

(xv − xc)2 + (yv − yc)2· sin

(tan−1 yv − yc

xv − xc

− θ

)

Pela figura vemos que se 0 < xp < L e 0 < yp < d houve colisao, senao nao houve.

As dimensoes L e d sao os lados do robo e xp e yp sao as coordenadas do ponto a ser

testado. Esse procedimento e repetido para cada vertice de cada robo em relacao aos

outros robos. Devemos notar que e necessario testar cada dois robos duas vezes. Isso

porque mesmo que os vertices do primeiro robo nao tenham colidido com o segundo robo,

existe a possibilidade de que algum vertice do segundo tenha colidido com o primeiro. Na

Page 39: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 30

yc

xc xv

yv

P

xpyp

θ

L

d

Figura 3.8: Centro de coordenadas deslocado

figura 3.9 podemos ver que embora nenhum vertice do robo 1 esteja em contato com o

robo 2, existe a colisao entre os dois robos.

Robô 1 Robô 2

3

21

1

2

30

0

Figura 3.9: Teste de colisao entre dois robos

Colisao robo-parede

A parede que envolve o campo pode ser dividida em dezesseis segmentos de retas como

mostra a figura 3.10. O teste das colisoes dos robos com as paredes devera ser feito com

cada um dos segmentos separadamente. De modo a diminuir o numero de testes, nesse

tipo de colisao tambem e realizada uma filtragem por proximidade inibindo testes com

robos muito distantes da parede.

Na colisao dos robos com as paredes, assim como na colisao entre robos, um novo centro

de eixos coordenados e calculado. Nesse tipo de colisao o centro dos eixos sera em uma das

extremidades da parede, o eixo das coordenadas coincide com a superfıcie da parede e o

Page 40: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 31

162

5

7

89

14

12

13

11

10

4

6

1

153

v4 v1

v3 v2

Figura 3.10: Campo do futebol de robos

eixo das abcissas e perpendicular a parede. A figura 3.11 ilustra a posicao do novo centro

de coordenadas para o segmento 3 da parede. O novo eixo sera rotacionado em 180o e tera

seu centro em (xc,yc). Nesse tipo de colisao, a parede pode ser tratada da mesma forma

que tratamos um robo na secao 3.3.1. Entretanto nesse caso a largura do obstaculo (d)

possui o tamanho do segmento de reta da parede e adotamos L com dimensoes infinitas,

uma vez que o vertice nunca poderia ultrapassar a dimensao da parede.

d

(xc,yc)

L

180o

Figura 3.11: Mudanca dos eixos nas colisoes com as paredes

Os quatro vertices dos gols (v1,v2,v3 e v4 na figura 3.10) sao testados como se fossem

vertices de robos. Nesse caso o centro do eixo de coordenadas e deslocado para um dos

vertices do robo da mesma forma que na colisao robo-robo (3.3.1).

Page 41: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 32

Colisao bola-parede

O teste de colisao da bola com as paredes acontece de maneira similar a dos robos

com as paredes. O eixo e deslocado para as paredes e o ponto a ser testado (xp, yp) e a

posicao do centro da bola (xb, yb), somado com a raio da bola (r) na direcao perpendicular

ao novo eixo de coordenadas, figura 3.12. No caso dos quatro vertices dos gols calcula-se

simplesmente a distancia euclidiana entre o ponto e o centro da bola.

r

y x(xp,yp)

(xb,yb)

Figura 3.12: Teste de colisao entre a bola e uma parede

Colisao robo-bola

A colisao da bola com os robos e quase identica a da bola com as paredes. Nesse tipo

de colisao, o eixo de coordenadas e sempre deslocado para o robo e o ponto a ser testado

segue o mesmo esquema da figura 3.12 usado na colisao entre a bola e as paredes.

3.3.2 Modelagem das Colisoes

Durante uma colisao, um corpo sofre o efeito de uma forca de grande intensidade F

(F → ∞) e fase β, durante um pequeno intervalo de tempo ∆t (∆t → 0). F e ∆t nao

podem ser determinados, mas supondo uma colisao perfeitamente elastica, o momento

P (P = F · ∆t) pode ser calculado a partir do fato que a energia cinetica total antes e

depois da colisao se manter constante. A fase β pode ser determinada a partir do plano

da colisao, pois a forca e sempre perpendicular a este plano. De posse do momento P

e da massa do corpo m, podemos calcular a mudanca de velocidade resultante da forca

fazendo:

F = m · a → F = m ·∆v

∆t→ ∆v =

F · ∆t

m

Page 42: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 33

como:

F · ∆t = P

temos:

∆v =P

m(3.12)

A figura 3.13(a) ilustra uma situacao em que a bola colide com uma parede. A ve-

locidade da bola antes da colisao tem modulo vib e fase θib. A forca gerada pela parede

tem modulo ∆v e a fase (βb) e perpendicular ao plano de colisao que e a orientacao da

propria parede. Na figura 3.13(b) e ilustrado o diagrama das velocidades dessa colisao.

O modulo (vfb) e fase (θfb) da velocidade final da bola serao dados pela soma dos vetores

vib e ∆v. As equacoes 3.13 e 3.14 sao referentes ao modulo e fase da velocidade da bola

respectivamente.

vfb =

√v2

ib +

(P

mb

)2

+ 2 · vib ·P

mb

· cos (βb − θib) (3.13)

θfb = tan−1

(vib · sin(θib) + P

mb

· sin(βb)

vib · cos(θib) + Pmb

· cos(βb)

)(3.14)

onde mb e a massa da bola.

Plano decolisão

(a) (c)(b)

θib

βb

θfb

vfb

βb

θib

vib

vfb

∆v

vib

∆vθfb

Figura 3.13: (a)Forca atuando sobre corpo (b)Velocidade e orientacao da bola apos colisao

De posse das expressoes para calcular o valor da intensidade e fase da velocidade final

da bola, basta encontrarmos um valor para P para resolvermos a equacao. Para encontrar

Page 43: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 34

P utilizamos a conservacao da energia cinetica e a equacao 3.13:

Eci = Ecf ⇒mb · v

2ib

2=

mb · v2fb

2⇒

v2ib = v2

ib +

(P

mb

)2

+ 2 ·P

mb

· vib · cos(βb − θib) ⇒

chegamos entao na seguinte equacao para P :

P = −2 · vib · cos(βb − θib) · mb (3.15)

Substituindo o valor de 3.15 em 3.13 e 3.14 conseguimos calcular a velocidade da bola

apos a colisao. Nesse caso especıfico a intensidade da velocidade permanece constante,

pois o obstaculo (parede) tinha velocidade nula e massa muito maior que a bola. A unica

alteracao se dara na direcao do movimento da bola. A figura 3.13(c) mostra a configuracao

da velocidade da bola apos a colisao.

Em uma colisao envolvendo um robo, devemos dividir ∆v em duas componentes: uma

paralela ao sentido de movimento do robo e outra na direcao do centro de massa do

robo com orientacao θc. A primeira componente influenciara na velocidade linear final do

robo (vfb) e a segunda na velocidade angular final (ωfb). Um fator que deve ser levado

em conta e a face do robo que sofrera a colisao. Nas faces dianteira ou traseira (figura

3.14(a)) o sentido da forca e paralelo ao sentido de movimento do robo. Teremos entao

as duas componentes atuando sobre o robo. Caso o robo sofra colisao em uma de suas

faces laterais (figura 3.14(b)), a forca da colisao e perpendicular ao movimento, nesse

caso nao existe componente paralela ao movimento. A unica forca a agir nessa situacao

e aquela direcionada ao centro do robo. Esse tipo de colisao ira resultar apenas no giro

do robo. Esse comportamento e ilustrado pela equacao da velocidade final do robo apos

uma colisao (3.16).

vfr = vir +P

mr

· cos(β − θr) (3.16)

Na figura 3.14(a) a orientacao do robo (θr) e 90o e β tambem e 90o. Substituindo na

equacao 3.16 temos que cos(90o− 90o) = 1, ou seja a colisao tera influencia maxima no

sentido do movimento linear. Ja na figura 3.14(b) θr = 90o e β = 180o. Nesse caso temos

que cos(180o− 90o) = 0 e a colisao so tera influencia na velocidade angular final do robo.

A figura 3.15(a) ilustra um caso em que ocorre uma colisao entre a bola e um robo. A

colisao acontece na face traseira do robo que tem velocidade linear inicial vir, velocidade

Page 44: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 35

eixo decolisão

eixo decolisão

(a) (b)

θc

θc

β

β

θr θr

Figura 3.14: (a)Colisao frontal (b)Colisao lateral

angular inicial ωir, orientacao θir. A bola tem velocidade inicial vib, com fase θib, dc e a

distancia entre o ponto de colisao e o centro do robo. A bola recebe o mesmo tratamento

que no caso da sua colisao com a parede, as expressoes da velocidade final da bola se

mantem as mesmas das equacoes 3.13 e 3.14. Para o robo, devemos calcular expressoes

para suas velocidade finais linear vfr e angular ωfr em funcao do momento P . A expressao

que modela a velocidade linear final do robo e expressa pela equacao 3.16. A figura 3.15(b)

ilustra o diagrama de forcas que influenciam a componente angular do robo.

(a) (b)

vir θir

ωir

dc

θibvib

∆vc

θc

θir

Figura 3.15: Colisao entre a bola e um robo

A expressao que ira descrever a velocidade angular final do robo (ωr) sera:

ωfr = ωir +P · dc

Jr

· sin(βr − θc) (3.17)

Para calcular o momento de colisao P , devemos levar em conta a velocidade da bola

e as velocidades linear e angular do robo. Usando novamente a conservacao da energia

Page 45: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 36

cinetica temos:

Eci = Ecf ⇒mb · v

2ib + mr · v

2ir + Jr · ω

2ir

2=

mb · v2fb + mr · v

2fr + Jr · ω

2fr

2

Substituindo as equacoes 3.13, 3.16 e 3.17:

mb · v2ib + mr · v

2ir + Jr · ω

2ir = mr

(vir +

P

mr

· cos(βr − θr

)2

+

Jr

(ω2

ir +P.dc

Jr

· sin(βr − θc)

)2

+ mb

(vib +

P

mb

· cos(βb − θib)

)2

Desenvolvendo essa expressao chegamos ao seguinte resultado

P =−2(vr · cos(βr − θr) + dc · ωr · sin(βr − θc) + vb · cos(βb − θv))

(cos(βr−θr)2)mr

+ dc·sin(βr−θc)Jr

+ 1mb

(3.18)

Substituindo o valor da equacao 3.18 nas equacoes 3.13, 3.14, 3.16 e 3.17 conseguimos

calcular os valor de vfb, θfb, vfr e ωfr respectivamente.

3.3.3 O visualizador

Para facilitar a execucao dos testes com o simulador, foi desenvolvida uma interface

grafica que exibe a situacao atual do jogo e e atualizada continuamente em tempo real. O

software visualizador se comunica diretamente com o simulador, recebendo as informacoes

via socket, podendo funcionar na mesma maquina, em uma maquina remota comunicando

via socket ou ate nao ser executado.

A interface grafica para o usuario foi feita utilizando a biblioteca grafica OpenGL

[59]. A taxa de exibicao de imagens (duas imagens por segundo) e bem inferior a taxa

de simulacao (trinta simulacoes por segundo). Na figura 3.16 e mostrada uma imagem da

interface com o usuario do visualizador.

Figura 3.16: Imagem mostrada pelo visualizador

Page 46: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 3. SIMULADOR 37

3.4 Discussao

O desenvolvimento do simulador para o sistema do futebol de robos se mostrou mais

complexo do que se imaginava no inıcio do trabalho e demandou mais tempo para ser

implementado do que o esperado. Dentre os fatores que acarretaram no atraso da fi-

nalizacao, podemos citar por exemplo a deteccao e modelagem das colisoes. Exaustivos

testes utilizando diferentes paradigmas foram necessarios ate chegarmos ao modelo apre-

sentado.

Um outro problema encontrado foram as restricoes de tempo real do programa. Primei-

ramente optamos por utilizar diferentes computadores ligados via rede durante a execucao

dos programas, pois apenas um computador e incapaz de realizar todas as tarefas. Ob-

servamos entao que o mınimo de comunicacao via socket deveria ser utilizado. O excesso

de mensagens acarretava na perda de quadros ou no atraso do sistema.

Page 47: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

Capıtulo 4

Modulo de Planejamento

Os robos da equipe POTI nao sao dotados de sensores, portanto sao incapazes de tomar

decisoes sem o auxılio do computador central. No computador, o modulo de planejamento

funciona como o cerebro dos robos. Usando a camera posicionada sobre o campo como

unico metodo de realimentacao, esse modulo tem por objetivo decidir o comportamento

de cada robo do time a cada passo.

O modulo de planejamento e informado das posicoes e orientacoes dos robos e da

posicao da bola, alem do placar e tempo do jogo, a cada iteracao do sistema. Para

cumprir a tarefa designada, esse modulo engloba dois processamentos distintos: a a tatica

do time propriamente dita e o metodo de desvio de obstaculos.

A tatica e ponto mais importante desse modulo e principal foco do trabalho. E a

tatica que ira decidir o comportamento do time durante o jogo. Ela e responsavel por

todas as decisoes, desde a formacao do time e a coordenacao entre os robos, ate o proximo

ponto de referencia de cada robo. Para obtermos uma boa resposta da tatica, e necessario

garantir o bom funcionamento do controle, da transmissao, da localizacao e, obviamente,

dos robos.

O metodo de desvio de obstaculos visa evitar que os robos colidam com outros robos e

com as paredes enquanto buscam atingir a posicao calculada pela tatica. Colisoes podem

causar muitos prejuızos para o bom comportamento do time. Quando um robo colide

com algum obstaculo, o funcionamento do controle e afetado, pois o comportamento do

robo deixa de ser o esperado. Alem do controle, durante uma colisao, prejuızos fısicos aos

robos podem ocorrer, como um robo tombar ou algum fio da placa romper, incapacitando

Page 48: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 4. MODULO DE PLANEJAMENTO 39

temporariamente o robo. A propria regra do jogo inibe contatos entre robos que nao

envolvam a disputa direta da bola. Devido a pequena dimensao do campo, ao numero de

robos e a velocidade e agilidade com que os robos se movimentam, achou-se necessario

implementar um metodo de desvio de obstaculos. Esse metodo deve ser ativado apos a

tatica e, caso haja necessidade, deve sobreescrever a referencia calculada pela tatica por

novas referencias que tentem impedir uma eventual colisao.

Referências finaisdos robôs

Postura dos robôs, Posição da bolaTempo de jogo, Placar do jogo

Referênciasdos robôs

Módulo de Decisão de Movimento

Tática obstáculosDesvio de

Figura 4.1: Diagrama do modulo

4.1 Desvio de Obstaculos

O metodo de desvio de obstaculos se divide em dois casos: desvio de parede e desvio

de robos. O desvio de paredes e o mais simples do dois e acontecera quando a referencia

do robo a ser tratado estiver muito proxima de alguma das paredes. A nova referencia

sera alterada apenas na coordenada (x ou y) que estiver mais proxima da parede.

No tratamento do desvio de robos, os obstaculos sao modelados como cırculos, com

raio igual a metade da diagonal principal do robo (4.2(a)). Alem disso, o robo controlado

sera representado apenas pela posicao de seu centro de massa. As dimensoes desprezadas

no robo controlado deverao ser acrescentadas ao obstaculo. Portanto, o novo raio do

obstaculo devera ser igual a diagonal principal do robo. Esse novo obstaculo sera chamado

de obstaculo expandido. A figura 4.2(b) exibe a configuracao de um obstaculo expandido.

O metodo de desvio de robos utiliza zonas de exclusao ao redor dos obstaculos. Se um

robo penetra em uma dessas zonas, suas referencias sao alteradas de modo que ele saia

da regiao e evite a possıvel colisao.

Para cada obstaculo determinamos duas circunferencias ao seu redor (figura 4.3): a

Page 49: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 4. MODULO DE PLANEJAMENTO 40

Obstáculo simples

Robô

r

Obstáculo extendido

Robô

r

(a) (b)

Figura 4.2: (a)Obstaculo simples, robo com dimensoes (b)Obstaculo extendido, robo

pontual

circunferencia com maior raio, chamada zona de influencia, define a regiao a partir da

qual os robos devem tomar ciencia do obstaculo; a menor circunferencia (trajetoria de

desvio) indica a trajetoria que o robo deve seguir caso esteja sob risco de colidir com o

obstaculo.

Obstáculo

Zona de Influencia

trajetoriade desvio

Figura 4.3: Configuracao do obstaculo

Inicialmente e testado se o robo se encontra dentro da zona de influencia de algum

obstaculo. Esse teste, alem de filtrar os casos e diminuir o numero de calculos do pro-

grama, evita que o metodo de desvio de obstaculos altere demasiadamente as referencias

calculadas pela tatica, comprometendo o bom comportamento do time.

Uma vez dentro da zona de influencia, verificamos se a trajetoria reta da posicao

atual do robo ate sua referencia intercepta o corpo do obstaculo expandido em algum

momento (figura 4.4). Caso nao ocorra (referencia 1), a referencia do robo permanece

inalterada, pois as possibilidades de colisao sao remotas. Se a possıvel colisao for de-

tectada (referencia 2), a referencia do robo e alterada de forma a seguir a circunferencia

trajetoria de desvio.

A nova referencia e o ponto em trajetoria de desvio que esteja a θ graus rotacio-

Page 50: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 4. MODULO DE PLANEJAMENTO 41

nado do ponto onde o robo se encontra no momento, no sentido mais proximo da referencia

original (figura 4.5(a)). O angulo θ e constante, porem como o robo esta em movimento

a nova referencia se torna dinamica. A medida que o robo se locomove a referencia de

desvio se afasta do robo de forma que a nova referencia nunca e alcancada (figura 4.5(b)).

Robô

Obstáculo

Referência 1

Referência 2

Zona de Influencia

Figura 4.4: Teste da possibilidade de colisao

Referência

Robô Obstáculo

(a) (b)

Robô

Obstáculo

Referência

de desvio

de desvioReferência

Referência

θθ

Figura 4.5: Calculo da nova trajetoria

Supondo que a tatica mantenha a mesma referencia durante varias iteracoes, a tendencia

do robo e seguir a circunferencia trajetoria de desvio ate que a reta que liga a sua

posicao atual e a referencia calculada pela trajetoria nao intercepte o obstaculo. Nesse

momento, a referencia original calculada pela tatica nao e alterada e o robo segue na

direcao desejada. A figura 4.6 ilustra a situacao descrita acima onde o robo deve sair da

Page 51: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 4. MODULO DE PLANEJAMENTO 42

posicao A e se encaminhar ate a posicao C. O robo verde se encontra parado, obstruindo

a trajetoria reta entre os dois pontos. Quando o robo entra na zona de influencia

do obstaculo, sua trajetoria e puxada para um ponto sobre a circunferencia trajetoria

de desvio, e comeca entao a seguir essa trajetoria. Ao chegar ao ponto B, a trajetoria

direta entre a posicao atual do robo e a referencia no ponto C esta desobstruıda: a partir

desse ponto, o desvio de obstaculos deixa de agir e o robo segue diretamente em direcao

a referencia.

A

B

C

Zona de Influencia

trajetoriade desvio

Figura 4.6: Exemplo de desvio de obstaculo

Caso dois obstaculos estejam muito proximos esse metodo de desvio pode causar dois

problemas: se um dos obstaculos for ignorado, a tentativa de desvio do primeiro obstaculo

pode causar a colisao com o segundo; se os dois obstaculos forem tratados, o robo pode

chegar a um ponto de indecisao (deadlock) chaveando entre o desvio de cada um dos

obstaculos. Para esse caso, a solucao encontrada foi a fusao de dois obstaculos. Caso

o robo esteja na zona de influencia de um obstaculo e exista outro obstaculo a uma

distancia menor que ∆l do primeiro, esses dois obstaculos serao tratados como um so

(figura 4.7(a)). E importante ressaltar que a fusao so ocorrera entre dois obstaculo e

se o robo estiver na zona de influencia de um deles. Esse filtro evita que tempo

computacional seja desperdicado realizando fusoes que nao serao uteis. Devemos observar

tambem que nao e necessario que o robo se encontre na zona de influencia dos dois

obstaculos para que a fusao ocorra. O centro do super obstaculo sera a media simples dos

centros dos dois obstaculos isolados e seu raio sera a metade da distancia euclidiana entre

os dois obstaculo mais o raio do obstaculo isolado (figura 4.7(b)). E importante observar

que a fusao so ocorrera quando os dois obstaculos forem robos, as paredes sempre serao

tratadas como obstaculos unicos.

Page 52: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 4. MODULO DE PLANEJAMENTO 43

xobst =xobst1 + xobst2

2

yobst =yobst1 + yobst2

2

robst = robst1 +

√(xobst1 − xobst2)2 + (yobst1 − yobst2)2

2

(a) (b)

∆l

Figura 4.7: (a)Teste da proximidade; (b)Obstaculos fundidos

A fusao de dois obstaculos e importante no momento de decisao do sentido de θ. A

figura 4.8(a) mostra um robo que deseja sair da posicao A para a posicao C. Caso nao

houvesse a fusao de obstaculos, o robo iria tomar o caminho mais curto considerando

apenas o obstaculo 1. Seguindo a trajetoria de desvio do obstaculo 1, o robo, ao

chegar ao ponto B, colidira com o obstaculo 2, ou tentara seguir a trajetoria de desvio

do obstaculo 2 e seguira nessa indecisao indefinidamente. A figura 4.8(b), mostra a

ilustracao o comportamento do mesmo robo, com os obstaculos e a referencia mantidas

em reacao ao exemplo anterior. Percebe-se que o robo segue a trajetoria de desvio

unica e evita os dois obstaculos.

B

A

C

A

C

B

(a) (b)

1

2

1

2

Figura 4.8: (a)Problema na escolha da nova referencia; (b)Solucao com a fusao de

obstaculos

Page 53: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 4. MODULO DE PLANEJAMENTO 44

Alem da fusao de dois obstaculos, foi cogitada a generalizacao da fusao para n obstaculos.

Essa ideia foi abandonada devido a dimensao do campo e a dimensao dos objetos apos a

fusao. Com a adocao da fusao para mais de dois objetos, nao seriam raros os casos em

que o super objeto e as paredes bloqueariam todas as trajetorias possıveis do robo ate a

referencia.

Page 54: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

Capıtulo 5

Tatica

A tatica e o principal foco deste trabalho. Ela dita o comportamento do time e,

consequentemente, dos jogadores durante o jogo. Cada robo da equipe POTI, por nao

possuir sensores, depende de comandos externos para realizar qualquer tarefa. Nesse

contexto, o “raciocınio” dos robos e todo realizado no computador controlador atraves da

tatica. Entao podemos afirmar que, nesse caso, cada robo nao e autonomo por si so, o

sistema como um todo e autonomo.

A tatica esta organizada em camadas; Existem quatro nıveis de decisao: o estilo de

jogo esta no nıvel mais alto, os papeis de cada robo imediatamente abaixo, no terceiro

nıvel estao os estados e no nıvel mais baixo os calculos das posicoes desejadas (referencias)

de cada robo. A figura 5.1 mostra a hierarquia das camadas da tatica. No nıvel 1, com

base nas informacoes atuais do jogo, tais como a postura dos jogadores e o tempo e placar

de jogo, e definido qual estilo de jogo o time ira adotar no passo seguinte. O estilo de jogo

define a postura do time como um todo. O nıvel 2 tambem usa as informacoes de entrada

para delegar a cada robo um dos tres papeis possıveis. Na terceira camada o processo e

dividido e cada robo e tratado individualmente. A partir dos dados do jogo, do estilo de

jogo do time e do papel imposto ao jogador sera decidido qual a melhor acao a se tomar

no momento (estado do jogador). Finalmente, no quarto nıvel e calculada a postura que

cada robo deve buscar para a proxima iteracao. As referencias dos tres robos sao passadas

para o desvio de obstaculos visando eventuais correcoes.

Page 55: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 46

Postura dos Robôs,Posição da bolaTempo de jogo, Placar do jogo

Posição futura da bola

DefensorEstados do

do DefensorReferência

Defensor

Estados

AtacanteEstados do

CuringaEstados do

Referências

do AtacanteReferência

do CuringaReferência

Papéis

Referências dos Robôs

Estilo

Avançado Normal Recuado

Atacante Curinga

Nıvel 3

Nıvel 4

Nıvel 1

Nıvel 2

Figura 5.1: Hierarquia da tatica

Page 56: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 47

5.1 Papeis

Foram definidos tres papeis para a equipe POTI de futebol de robos: Defensor,

Atacante e Curinga, tendo cada um dos papeis um certo numero de estados associa-

dos. Os estados nao sao os mesmos para todos os papeis, porem existem alguns estados

comuns a mais de um papel. Apesar de existirem tres papeis e tres robos em cada time,

esses papeis nao sao fixos: no decorrer do jogo a tatica ira distribuı-los e indicar o papel

mais adequado para cada robo na situacao presente. Isso significa, por exemplo, que um

robo que comece o jogo como defensor, durante o jogo podera assumir a posicao de

atacante e vice versa. Este metodo de troca de papeis e chamado de alocacao dinamica

de papeis [21] e tem por objetivo determinar a melhor configuracao de papeis de forma que

o time aumente sua eficiencia. A seguir, na secao 5.1.1, veremos como se da a distribuicao

dos papeis de acordo com a situacao do jogo e a posicao dos robos e da bola em campo.

Nas secoes 5.1.2, 5.1.3 e 5.1.4 sera mostrado o comportamento individual de cada papel

(defensor, atacante e curinga, respectivamente) frente a diferentes situacoes.

5.1.1 Alocacao Dinanica de Papeis

Tres fatores sao levados em conta no metodo de alocacao dinamica de papeis: a posicao

dos robos, a posicao da bola e o sentido de deslocamento da bola. A primeira preocupacao

e saber se a bola se encontra no meio campo ofensivo ou no meio campo defensivo. Se

a bola estiver no meio campo ofensivo, e suposto que o time nao corre perigo imediato

de sofrer um gol: portanto ignoramos o sentido de movimentacao da bola e a decisao da

alocacao dos papeis sera dada exclusivamente atraves da posicao relativa entre os robos

e a bola. Caso a bola se encontre no meio campo defensivo, supoe-se que o time corre

algum risco de sofrer gol: verificamos portanto o sentido de movimento da bola. Se a bola

estiver se movimentando em direcao ao gol adversario, ha um risco moderado de sofrer

gols, por outro lado, se a bola estiver se movimentando em direcao ao gol defendido, ha

um risco eminente do time sofrer um gol. A figura 5.2 mostra um diagrama do risco do

time sofrer gols. A seguir veremos qual o procedimento de decisao em cada um dos casos

citados acima.

Page 57: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 48

Bola na direçãodo gol adversário?

Bola no campode ataque?

RiscoRiscoMínimo

RiscoMáximo

RiscoModerado

sim

não

sim

não

Figura 5.2: Risco de gol

Bola no Ataque

A situacao em que a bola esta no campo de ataque e o momento em que o time

possui menor risco de sofrer gols. Portanto, nesse caso, o papel prioritario na escolha e o

atacante. Como regra geral, o robo mais proximo da bola sera considerado o atacante.

A excecao ocorre quando o robo mais proximo da bola estiver posicionado a frente da

bola. Nesse caso, e mais proveitoso indicar um robo mais distante, porem posicionado

atras da bola para ser o atacante. Isso porque o atacante nao teria que contornar a bola

para se posicionar para o chute, tornando essa acao mais rapida mesmo que o robo esteja

mais distante. Essa decisao tambem reduz os riscos do robo chutar a bola em direcao ao

campo de defesa acidentalmente. Se todos os robos estiverem a frente da bola, entao o

mais proximo dela sera o atacante.

A segunda prioridade e a escolha do defensor. A regra e que o robo mais proximo do

gol defendido, que nao seja o atacante, sera denominado defensor. O robo que ainda

nao tiver o papel definido sera o curinga.

Na figura 5.3(a) a bola esta posicionada no ataque e a frente de todos os robos do

time. Nesse caso, o robo posicionado mais proximo da bola sera nomeado o atacante,

o robo mais proximo ao gol sera o defensor e o robo restante sera o curinga. Ja na

figura 5.3(b) o robo mais proximo a bola esta a sua frente, portanto, o segundo robo mais

proximo da bola sera considerado o atacante, novamente o robo mais proximo ao gol

sera o defensor e o robo que esta mais proximo da bola, nesse caso, sera o curinga.

Na figura 5.3(c) vemos que dois robos se encontram a frente da bola, logo, independente

da distancia que os outros robos estejam da bola, o que se encontra atras da bola sera

Page 58: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 49

o atacante. Notamos entao que o defensor nao sera mais o robo mais proximo ao gol,

pois ele ja tem seu papel determinado. O segundo robo robo mais proximo ao gol assume

a posicao de defensor e o robo restante sera o curinga. A figura 5.3(d) ilustra uma

situacao em que todos os robos se encontram a frente da bola: nesse caso simplesmente

adotamos a regra geral. O robo mais proximo da bola sera o atacante, o mais proximo

ao gol, excecao feita ao ja alocado, sera o defensor e o terceiro robo sera o curinga.

(a) (b)

(c) (d)

DefensorDefensor

Defensor Defensor

Atacante

Curinga

Curinga

Atacante

Curinga Curinga

AtacanteAtacante

Figura 5.3: Configuracao dos papeis com a bola no ataque

Bola na defesa em direcao ao gol adversario

O caso da bola estar na defesa, porem se movimentando em direcao ao ataque, remete

a um risco moderado de sofrer gols. Nessa situacao, o comportamento do metodo de

alocacao dinamica de papeis procede de forma similar ao caso de risco mınimo de gol.

A excecao acontece se houver menos de dois jogadores posicionados no campo de defesa.

Nesse caso, o robo que esta posicionado no campo de defesa, se houver, ou o robo mais

Page 59: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 50

proximo ao gol, sera impreterivelmente o defensor. A escolha dos papeis dos outros

robos percorre de forma identica ao caso da bola no campo de ataque.

Na figura 5.4(a) a bola esta posicionada a frente de todos os jogadores, logo todos eles

estao atras da linha de meio campo. O robo mais proximo da bola sera entao o atacante,

o robo mais proximo do gol que nao seja o atacante sera o defensor e o robo restante

sera o curinga. Na figura 5.4(b) a bola esta a frente de dois jogadores, portanto existem

dois jogadores no campo de defesa e a distribuicao de papeis procede normalmente.

Na figura 5.4(c) ainda temos dois jogadores no campo de defesa; portanto, o mais

proximo a bola que esta atras dela sera denominado atacante, o mais proximo ao gol

sera o defensor e o robo restante sera o curinga. Na figura 5.4(d) apenas um robo se

encontra no campo defensivo; portanto esse robo tem prioridade e sera obrigatoriamente

o defensor. O proximo robo mais perto da bola sera o atacante e o terceiro robo o

curinga.

Na figura 5.4(e) e (f), a bola se encontra atras de todos os robos. O unico detalhe que

diferencia as duas situacoes e que na figura 5.4(e) dois robo estao no campo defensivo,

enquanto que na figura 5.4(f) apenas um robo esta. Portanto, no primeiro caso, a distri-

buicao dos papeis agira como no caso de menor risco: o jogador mais proximo da bola

sera o atacante. Ja no segundo caso, o robo mais proximo ao gol e, no caso, da bola sera

o defensor. Casos em que todos os robos estejam posicionado no meio campo ofensivo

serao tratados da mesma forma que casos em que so exista um robo no campo defensivo.

Bola na Defesa em direcao ao gol defendido

Essa configuracao e considerada de risco maximo. Nesse caso, a prioridade de escolha

de papel e sempre do defensor. O robo posicionado mais proximo ao gol defendido sera

o defensor. O robo mais proximo da bola que nao seja o defensor sera o atacante e

o outro robo sera o curinga. Esse metodo de decisao visa priorizar a defesa, tentando

minimizar os riscos de sofrer gols.

Na figura 5.5(a) o robo mais proximo da bola tambem e o robo mais proximo do gol.

Na situacao de risco maximo, o defensor tem prioridade, portanto esse sera o papel do

robo mais proximo da bola. Na figura 5.5(b) resolvemos facilmente o problema de alocacao

de papeis, pois o robo mais proximo ao gol sera o defensor e o robo mais proximo a bola

Page 60: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 51

(e) (f)

(c) (d)

(a) (b)

Defensor

Defensor

Defensor

Defensor

Defensor

Defensor

Atacante

Curinga Curinga

Atacante

Curinga

Atacante

Atacante

Curinga

Atacante

Curinga

Atacante

Curinga

Figura 5.4: Configuracao dos papeis com a bola no campo de defesa em direcao ao gol

adversario

Page 61: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 52

sera o atacante.

A figura 5.5(c) ilustra um caso em que o robo mais proximo a bola esta a frente dela,

porem o robo que esta atras da bola tambem e o mais proximo ao gol. Nessa situacao o

jogador mais proximo ao gol sera o defensor e o mais proximo a bola sera o atacante,

mesmo estando a frente da bola. Na figura 5.5(d) o robo mais proximo ao gol sera o

defensor; o mais proximo a bola esta a frente da mesma, portanto o segundo mais

proximo a bola sera o atacante, e o mais proximo a bola sera o defensor.

(a) (b)

(c) (d)

Defensor Defensor

DefensorDefensor

Atacante

Curinga Curinga

Atacante

Curinga

Atacante

AtacanteCuringa

Figura 5.5: Configuracao dos papeis com a bola no campo de defesa em direcao ao gol

defendido

5.1.2 defensor

O defensor tem dois comportamentos basicos possıveis denominados goleiro, e za-

gueiro. O primeiro, como o nome sugere, age como um goleiro, com area de atuacao

limitada em frente ao gol. Ja zagueiro e usado em situacoes especıficas do jogo e tem uma

Page 62: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 53

funcao defensiva mais a frente da meta defendida.

Goleiro

O goleiro age de tres formas distintas: quando a bola esta na direcao do gol por

ele defendido, quando a bola esta na direcao do gol adversario e quando a bola esta

muito proxima ao gol. Se o movimento da bola esta no sentido do gol, a preocupacao do

defensor e defender a bola. Para tanto definimos uma trajetoria reta paralela a linha

do gol com uma distancia d da mesma, como mostra a figura 5.6(a). A amplitude da

trajetoria e limitada pelo tamanho do gol, o robo so deve passar uma vez sua propria

dimensao da linha do gol, essa restricao e definida por ser desnecessario tentar defender a

bola que nao se encaminhe diretamente ao gol. A posicao exata do defensor e calculada

a partir da extrapolacao do movimento da bola ate a intercecao com a trajetoria do

defensor.

Caso a distancia da bola ate a linha de fundo do campo seja menor que d e a bola

esteja acima ou abaixo das traves, o goleiro deve se posicionar de forma a cobrir o angulo

para evitar o gol, essa configuracao pode ser vista na figura 5.6(b).

O terceiro caso de comportamento do goleiro acontece quando a bola esta se movi-

mentando na direcao do gol adversario. Nesse caso nao existe perigo eminente de gol e

o goleiro se limita a acompanhar a posicao da bola na componente y, mantendo a com-

ponente x constante. A movimentacao do defensor se limita as dimensoes do gol para

evitar que o gol fique desprotegido. A figura 5.6(c) ilustra esse caso.

d

d

d

(a) (b) (c)

yx

yx

yx

Figura 5.6: Comportamento do defensor (a)bola indo em direcao ao gol (b)bola muito

proxima ao gol (c)bola se afastando do gol

Page 63: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 54

Zagueiro

O zagueiro realiza uma trajetoria semi-circular na intermediaria do campo defensivo.

Essa configuracao de goleiro pode ser usada quando o time estiver no ataque, necessitando

a vitoria. Nesse caso o zagueiro teria a incumbencia de interromper os possıveis ataques

da equipe adversaria o mais cedo possıvel recolocando a propria equipe novamente no

ataque. Essa abordagem resulta em um comportamento de risco que so deve ser usada

em situacoes extremas. A outra possibilidade e adotar o zagueiro em conjunto com um

defensor convencional, com o intuito de defender com mais veemencia. A figura 5.7

ilustra o comportamento do zagueiro, ele segue o semi-cırculo com centro no fundo do gol

(xcentro, ycentro) e raio R e acompanha a posicao da bola. Para calcular a referencia de

posicao do defensor nesse caso, inicialmente devemos calcular o angulo entre a bola e o

fundo do centro do gol esquerdo (γ):

γ = tan−1(ybola − ycentro

xbola − xcentro

)

A referencia da posicao do defensor e a posicao sobre a circunferencia de raio R

correspondente ao angulo γ.

xgol = xcentro + cos(γ)

ygol = ycentro + sin(γ)

x

y

(xcentro, ycentro)

(xbola, ybola)

(xbola, ybola)

R

Figura 5.7: Comportamento do zagueiro

Page 64: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 55

5.1.3 Atacante

O atacante tambem possui dois comportamentos basicos distintos: o atacante em si

e o atacante recuado. O atacante tem como funcao principal marcar os gols do time.

Em grande parte dos casos o atacante e que deve ter a incumbencia de interagir com a

bola. Para tanto foram determinados dez estados que o atacante deve alternar a fim de

se comportar da melhor maneira possıvel perante a situacao da partida. Esses estados

sao: finalizar, alinhar, chutar, conduzir, alinhar para toque, tocar, bloquear, pressionar,

cobrir e contornar.

Para facilitar os testes na escolha do estado do atacante, o campo foi dividido em tres

zonas denominadas Z1, Z2 e Z3 como mostra a figura 5.8. A primeira zona (Z1) inicia

no gol defendido e se extende ate a metade do campo defensivo. A segunda zona (Z2)

continua de onde a Z1 acabou e segue ate metade do campo ofensivo, a terceira zona (Z3)

preenche a regiao do campo que ainda nao foi ocupada.

Z2 Z3Z1

Figura 5.8: Zonas de acao do atacante

Na figura 5.9 e mostrado um diagrama de funcionamento com a interligacao de todos

os estados do atacante. O comportamento de cada um dos estados individualmente sera

detalhado mais a frente. A posse da bola e assumida em duas situacoes: a primeira quando

o atacante esta mais proximo da bola que qualquer outro jogador, a segunda quando a

menor distancia de um jogador adversario para a bola seja maior que uma distancia ε.

Page 65: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 56

Bola em Z2?

Possui possede bola?

Bola na alturado gol?

Alinhado?

Bola em Z3?

Alinhartocar

Tocar

Finalizar

Bola no sentidodo ataque?

Robô atrásda bola? Bloquear

Contornar

Alinhado?

Robô atrásda bola?

Bola à frentedo meio−campo?

Robô atrásda bola?

Bola em Z1?

Bola no sentidodo ataque?

Robô atrásda bola?

Alinhar

Conduzir

Chutar

Pressionar

Cobrir

Contornar

Cobrir

Bloquear

Pressionar

Contornar

sim

não

sim

sim

não não

sim

sim

não

sim

não

sim

sim

não

não não

não

sim

sim

não

sim

não

não

sim

não

sim

Figura 5.9: Diagrama de funcionamento do atacante

Page 66: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 57

Estado finalizar

O estado finalizar e acionado quando a bola se encontra na Z3 e esta entre o ymax e o

ymin do gol. A figura 5.10(a) destaca a zona mencionada. Quando a bola esta localizada

nessa regiao especıfica consideramos que existe uma grande chance de marcar um gol; o

atacante entao e enviado diretamente para a posicao da bola. O alinhamento e descartado

devido a proximidade do gol, o que diminui a chance de errar o gol.

Estado alinhar para toque

Os estados alinhar para toque e tocar podem causar certa confusao com o nome;

na realidade, ao inves de tocar, o atacante realiza um chute cruzado. Na secao 5.1.4

veremos que nessas situacoes o curinga tende a se posicionar na regiao determinada

pela finalizacao: por essa razao, existe uma grande chance do curinga assumir o papel

de atacante e tentar finalizar para o golo que fez com que esses estados fossem assim

denominados.

No estado alinhar para toque, o robo tenta se posicionar de forma a realizar o chute

cruzado. Para tanto, o atacante busca uma posicao na reta formada pelo centro da bola

e o canto oposto do gol a uma distancia de alinhamento da. A figura 5.10(b) ilustra o

alinhamento: o robo esta com a postura A e busca a postura B.

Estado tocar

Uma vez alinhado, o robo simplesmente se movimenta em direcao a bola tentando

fazer o gol ou permitir que um outro jogador o faca. A figura 5.10(c) exemplifica essa

situacao.

Estado alinhar

Se a bola se encontrar na Z2 e estiver a frente do atacante, sera assumido o estado

alinhar. Assim como no alinhar toque, o estado alinhar tem por objetivo posicionar o robo

de forma a permitir o chute do atacante. Existem dois casos distintos para o alinhamento:

o alinhamento direto e o alinhamento com tabela. O primeiro funciona como mostrado no

estado alinhar toque, com a diferenca que o ponto de alinhamento sera o centro do gol, ao

inves do canto oposto. O segundo caso deve ser adotado caso a bola esteja muito proxima

Page 67: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 58

A

B(a) (b) (c)

yx

da

yx

yx

Figura 5.10: Comportamento do atacante (a)Estado finalizar (b)Estado alinhar para

toque (c)Estado tocar

de uma das paredes. O alinhamento deve ser calculado de forma que apos o chute a bola

colida com a parede e siga em direcao ao gol. Esse tipo de alinhamento e necessario pois

nao haveria espaco util para o robo se posicionar para um alinhamento direto.

A figura 5.11 mostra o calculo da referencia do robo para o alinhamento direto. O

ponto (xgol, ygol) representa o centro do gol adversario, (xb, yb) a posicao da bola e β o

angulo formado entre a posicao da bola e o centro do gol. O ponto desejado para o

alinhamento (xalin, yalin) e a projecao da distancia de alinhamento da atraves da reta a

partir da posicao da bola. O ponto desejado sera entao:

xaling = xb + da · cos(β)

yaling = yb + da · sin(β)

Ja a figura 5.12 ilustra o metodo de alinhamento com o uso da tabela. O ponto de

destino passa a ser o centro do gol do campo rebatido sobre o eixo coordenado x. A

explicacao e simples: sabendo-se que o angulo de incidencia da bola na parede e igual

ao angulo de saıda, podemos ver que, por semelhanca de triangulos, a bola tendera a se

movimentar para o centro do gol.

Um robo nao e obrigado a estar posicionado exatamente sobre o ponto calculado para

que consideremos que esteja alinhado com a bola e o gol. O ponto calculado seria o

alinhamento ideal, porem devido a dinamicidade do jogo e as proprias imperfeicoes do

controle e do ruıdo da imagem captada, um metodo diferente e usado para testar se um

robo esta ou nao alinhado para o chute. Esse metodo consiste em definir uma regiao

em torno do ponto de alinhamento ideal na qual o robo seria considerado alinhado. Tal

Page 68: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 59

da

(xgol, ygol)

xalin(xb, yb)

β

yalin

β

Figura 5.11: Alinhamento direto

da

β

ββ

Figura 5.12: Alinhamento com tabela

regiao foi denominada regiao de alinhamento. A figura 5.13 ilustra o calculo da regiao

de alinhamento. Duas retas definidas pelas extremidades do gol e pela bola formam os

angulos β1 e β2. O robo tem de estar posicionado no setor de raio Dalin e angulos θb + β1

e θb − β2, onde θb e o angulo entre a bola e o centro do gol e Dalin e a distancia aceitavel

para o alinhamento. Nota-se que essa distancia e maior que a definida pelo calculo do

estado alinhar.

Estado chutar

Uma vez alinhado, se o robo estiver na Z2, a frente do meio campo, o atacante passara

para o estado chutar. Como o robo esta a uma certa distancia do gol, e necessario que

ele atinja a bola com certa velocidade para que a bola alcance o gol. Nesse caso, se a

referencia enviada ao controle fosse a posicao da bola, o robo tenderia a chegar ate a bola

com velocidade mınima, pois esse seria seu destino. O robo entao e enviado para uma

referencia a frente da bola, na reta determinada pela posicao da bola e o centro do gol.

A figura 5.14(a) ilustra esse comportamento, onde dch e a distancia a frente da bola que

a referencia deve ser calculada.

Page 69: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 60

Região de Alinhamento

Ponto de Alinhamento

Dalin

β2

β1

θb

Figura 5.13: Teste de alinhamento

Estado conduzir

Caso o robo esteja alinhado a bola, porem atras da linha do meio campo, por existirem

poucas chances de fazer um gol com um chute direto, o atacante devera conduzir a bola.

A conducao tem por objetivo posicionar a bola para um melhor aproveitamento do proprio

robo ou de um companheiro de equipe. Durante a conducao o robo sera enviado para

uma posicao um pouco a frente da bola, como mostra a figura 5.14(b).

(a) (b)

dch

Figura 5.14: Comportamento do atacante (a)Estado chutar (b)Estado conduzir

Estado pressionar

O estado pressionar consiste na mesma acao que o estado finalizar: a referencia e a

propria posicao da bola. Esse estado e adotado em duas situacoes: a primeira acontece

Page 70: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 61

quando o atacante esta na Z1 e a bola esta a sua frente e a segunda ocorre quando o

robo nao possui a posse da bola, porem ela se movimenta em direcao ao gol adversario.

No primeiro caso, ilustrado na situacao 1 da figura 5.15(a), o intuito do robo e eliminar o

perigo eminente de gol. A situacao poderia ser resolvida tambem com os estados chutar

ou conduzir; porem, atraves da experiencia, percebeu-se que nao e recomendavel imprimir

muita velocidade a bola na regiao proxima ao proprio gol sob pena da bola rebater em

algum outro robo e entrar na propria meta.

A situacao 2 da figura 5.15(a) mostra o caso em que o robo nao possui a posse da

bola, porem a mesma se movimenta em direcao ao gol adversario. Nesse caso o atacante

tenta aproveitar a situacao e criar um ataque. Apesar do jogador adversario ter a posse

da bola, ou ele nao a tem sob controle, ou ele se encaminha na direcao do proprio gol.

Estado bloquear

O estado bloquear e acionado quando o atacante nao possui a posse da bola e a mesma

se movimenta em direcao ao gol defendido. Nesse caso assumimos que o adversario tem

o controle da bola ou esta tentando alcanca-la. O estado bloquear prega que, antes do

atacante tentar uma acao ofensiva, deve interromper o avanco adversario. Para tanto,

no estado bloquear o robo deve manter a posicao na coordenada x e se direcionar para a

projecao da coordenada y da bola como mostra a figura 5.15(b).

Adversário

(b)(a)

Adversário

1

2

Figura 5.15: Comportamento do atacante (a)Estado pressionar (b)Estado bloquear

Page 71: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 62

Estado contornar

O estado contornar e chamado quando o atacante se encontra em Z2 e a bola esta

atras dele. Nessa situacao, antes de tentar alinhar com a bola, e mais seguro que o robo

tente contorna-la, para evitar que movimente nao intencionalmente a bola na direcao do

proprio gol. Durante essa acao, o robo deve tentar evitar o contato com a bola: para isso

levamos em conta a posicao e o sentido da velocidade da bola. A figura 5.16(a) ilustra

um caso em que o robo tenta contornar a bola.

Estado cobrir

No estado cobrir, a bola deve estar posicionada atras do atacante, em Z1, acima ou

abaixo do gol. O objetivo do robo e se posicionar entre a bola e o centro do gol, a uma

distancia ∆ da bola, de modo a tentar impedir um eventual chute de um jogador adversario

5.16(b). Uma vez posicionado, o robo deve se encontrar atras da bola e seu estado sera

alterado para pressionar. Esse estado, alem de tentar evitar um chute adversario, garante

que o robo nao cometa um gol contra ao tentar se posicionar.

(a) (b)

Figura 5.16: Comportamento do atacante (a)Estado contornar (b)Estado cobrir

Atacante recuado

O atacante recuado realiza uma funcao similar ao zagueiro: ele percorre uma trajetoria

semi-circular buscando interceptar a bola caso essa esteja indo na direcao do gol defendido.

Porem o raio dessa trajetoria e maior no atacante recuado que no zagueiro. O atacante

recuado e usado em situacoes em que o time adota o estilo recuado: caso a bola esteja

no campo de ataque, adotamos o atacante recuado para tentar impedir que os ataques

Page 72: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 63

acontecam. Dessa forma o time tenta minimizar as chances de sofrer gols. No caso da

bola ja te-lo ultrapassado, o atacante recuado assume a posicao de espera. Ja se a bola

estiver a frente do jogador com relacao ao gol adversario, o atacante recuado assume o

papel de atacante realizando as acoes ja citadas.

5.1.4 Curinga

Como ja pode ser visto no decorrer do capıtulo, o curinga e o papel que possui menor

prioridade no momento da alocacao. Essa caracterıstica porem nao diminui a importancia

desse jogador. A razao que leva o curinga a ter menor prioridade e que se ele se encontra

em uma posicao favoravel, seja para atacar, seja para defender. Ele pode portanto vir

aassumir o papel do atacante ou do defensor. Podemos afirmar entao que a funcao

do curinga na tatica e se posicionar de forma a auxiliar o desempenho da equipe. O

curinga pode assumir cinco estados: contornar, posicao de espera, defender, bloquear e

atacar. A figura 5.17 mostra como e decidido qual estado o curinga deve adotar.

Bola à frentedo robô?

Bola em Z1? Contornar

Bola no campodefensivo?

Defender

Bola em direçãoao ataque?

Bloquear

Atacar

Bola em Z1?

de EsperaPosição

de EsperaPosição

nãonão

simsim

não

não

sim

simsim

não

Figura 5.17: Diagrama de funcionamento do curinga

Tres dos estados do curinga, contornar, pressionar e bloquear ja foram vistos e fun-

cionam da mesma forma que com o atacante. No estado defender o curinga tem com-

portamento identico ao zagueiro: a divisao so e feita por questoes de organizacao do

Page 73: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 64

trabalho.

O estado posicao de espera e ativado sempre que a bola estiver em Z1 e o curinga

estiver a frente dela, ou quando o adversario tiver a posse da bola e o curinga tambem

estiver a frente da bola. Nesses caso, e recomendado que o curinga se posicione de modo

a nao congestionar a regiao do gol defendido para evitar eventuais gols contra alem de

proporcionar uma melhor colocacao para um possıvel contra ataque. A posicao de espera

em si e sobre o meio de campo com a coordenada y atual do robo, a menos que esteja

a uma distancia menor que ∆ da coordenada y da bola. Essa precaucao e tomada para

evitar que o atacante bloqueie a bola caso ela se dirija ao ataque.

No estado atacar, ativado quando a bola se encontra no campo de ataque e se mo-

vimenta em direcao ao gol adversario, o comportamento do curinga se divide em duas

situacoes: coordenada y da bola entre a trave superior e inferior do gol e bola nos lados.

No primeiro caso, ilustrado na figura 5.18(a), o curinga tende a se posicionar atras do

atacante a uma distancia δ1 e acima ou abaixo a uma distancia δ2. A decisao do posicio-

namento na coordenada y varia de acordo com a posicao do atacante: caso ele esteja na

metade superior do campo o curinga deve ficar abaixo do atacante e vice versa.

No caso da bola estar em um dos flancos do campo, o curinga deve se posicionar a

uma distancia δ3 atras da bola e no centro do gol como mostra a figura 5.18(b). Esse

posicionamento tem por objetivo aproveitar um eventual passe do atacante visando o

gol.

(a) (b)

δ1Curinga

Atacante

δ2 δ3

Figura 5.18: Comportamento do curinga, estado atacar

Page 74: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 65

5.2 Estilos de jogo

Foram definidos tres estilos de jogo para a equipe POTI: normal, avancado e recuado.

Cada estilo possui caracterısticas diferentes e afetam diretamente o comportamento dos

papeis. As secoes 5.1.2, 5.1.3 e 5.1.4 mostram o funcionamento dos papeis quando o estilo

normal e adotado.

Por princıpio, o estilo assumido no inıcio dos jogos e o normal. A decisao de mudanca

do estilo de jogo a ser adotado e tomada em duas situacoes: se o time estiver perdendo por

uma grande diferenca de gols e na metade do segundo tempo, com 2m30s para o termino

da partida. No primeiro caso foi decidido que se a diferenca de gols for igual ou maior que

cinco em favor do time adversario o time deve adotar o estilo recuado. Essa decisao tenta

preservar o time de uma derrota por uma diferenca muito grande de gols, alem de alterar

um estilo de jogo que nao funcionou contra um certo adversario. A mudanca de estilo na

metade do segundo tempo pode ocorrer de duas formas: se o time estiver perdendo por

qualquer placar o estilo avancado e adotado; se o time estiver ganhando por qualquer

placar o estilo recuado e o escolhido; em caso de igualdade no placar e mantido o estilo

normal. A figura 5.19 ilustra a arvore de decisao do estilo de jogo da equipe.

Faltam maisque 2m 30s?

ResultadoPerdendoEmpatando

Ganhando

sim

não

AvancadoNormal

Recuado

Figura 5.19: Decisao do estilo de jogo

5.2.1 Estilo Avancado

Quando time assume o estilo avancado o atacante se comporta de forma identica ao

estilo normal mostrado na secao 5.1.3, porem quando a bola esta na defesa, a posicao

de espera do atacante e no meio do campo. Quando a bola esta no ataque, o curinga

tambem funciona da mesma forma que a descrita na secao 5.1.4. Caso a bola esteja no

Page 75: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 5. TATICA 66

sentido ofensivo ele entra no estado atacar, caso contrario assume o estado bloquear. Se

a bola estiver no campo de defesa e acionado um estado de posicao de espera semelhante

ao do atacante no estilo normal. O defensor funciona normalmente caso a bola esteja

no campo de defesa e funciona como zagueiro se a bola estiver posicionada no campo de

ataque.

5.2.2 Estilo Recuado

No estilo recuado, o defensor funciona da mesma foram que no estilo normal expli-

cado na secao 5.1.2. O curinga tambem tem comportamento semelhante ao mostrado na

secao 5.1.4, porem quando a bola esta no campo de ataque ele assume o estado defender.

O atacante so assume sua funcoes ofensivas se a bola estiver a frente do robo e se movi-

mentando para o campo de ataque. Se a bola estiver a frente do robo e se movimentando

para o campo de defesa e assumida o estado de atacante recuado, e caso a bola esteja

atras do robo assume-se a posicao de espera.

Page 76: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

Capıtulo 6

Resultados

A apresentacao dos resultados sera dividida algumas secoes: serao apresentados sepa-

radamente resultados do desvio de obstaculo (secao 6.1), comportamento individual de

alguns estados (secao 6.2), questoes sobre a alocacao dinamica dos papeis (secao 6.3),

alem de resultados de jogos contra taticas diferentes (secao 6.4).

Para demonstracao dos resultados de desvio de obstaculos e do comportamento dos

estados, serao apresentados configuracoes iniciais dos robos e da bola. Com base nos

resultados obtidos serao exibidos graficos provenientes do visualizador que demonstram o

comportamento dos robos diante do problema proposto. As configuracoes iniciais foram

arbitradas a fim de exaltar um certo comportamento. Com esse mesmo objetivo manteve-

se o time adversario imovel a nao ser em ocasioes em essa movimentacao apresentou-se

necessaria.

Na alocacao dinamica de papeis tambem apresentaremos configuracoes iniciais pre-

definidas com seus respectivos papeis alocados. Induziremos um certo comportamento e

sera apresentada a configuracao dos papeis apos os eventos.

Na secao 6.4 serao mostrados os princıpios de funcionamento das taticas sparring e os

resultados dos jogos realizados contra cada uma.

6.1 Desvio de obstaculos

Nesta secao sera mostrado o funcionamento do metodo de desvio de obstaculos. Para

tanto foram criadas situacoes em que um robo deve se deslocar de um ponto inicial para

Page 77: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 6. RESULTADOS 68

uma referencia fixa. Entre esses dois ponto existirao um ou mais obstaculos (robos) fixos

aos quais o robo deve evitar.

6.1.1 Obstaculo simples

No primeiro cenario, um robo deve sair da posicao (−0.3, 0.0, 0.0) (x, y, θ) e chegar

a posicao (0.4, 0.0, 0.0). Um robo esta estacionado na posicao (0.0, 0.0, 0.0) impedindo o

deslocamento reto do robo ate seu destino. A figura 6.1(a) exibe o cenario inicial. Na

figura 6.1(b) o robo ja entrou na zona de influencia do obstaculo e inicia o desvio da

sua trajetoria. Na figura 6.1(c) o robo segue a trajetoria de desvio, ate que na figura

6.1(d) ele chega a um ponto em que sua trajetoria reta ate sua referencia nao intercepta

mais o corpo do obstaculo. A partir desse ponto o desvio de obstaculos nao mais interfere

na referencia original do robo (0.4, 0.0, 0.0) como mostram as figuras 6.1(e) e 6.1(f).

No segundo cenario (figura 6.2(a)) o robo deve se deslocar da mesma posicao (−0.3, 0.0, 0.0)

a posicao (0.4, 0.0, 0.0) que no cenario anterior. Porem nesse caso existem dois obstaculos

impedindo a passagem de robo ate seu destino. Os obstaculos, no entanto, nao estao

proximos o suficiente para que seja realizada uma fusao de obstaculos, portanto robo

deve tratar cada obstaculo individualmente. O robo inicialmente trata o obstaculo mais

proximo,q no caso o robo amarelo-rosa (figura 6.2(b)). Na figura 6.2(c) o robo ainda segue

a trajetoria de desvio do primeiro robo, porem a nova referencia entra em conflito

com o segundo obstaculo (robo amarelo-verde) e entra na sua trajetoria de desvio.

A partir da figura 6.2(d) o robo e influenciado apenas pelo segundo obstaculo. Na figura

6.2(e) o robo pode seguir em linha reta ate sua referencia (figura 6.2(f)).

6.1.2 Obstaculos fundidos

No cenario tres (figura 6.3(a)) ainda mantemos a mesma posicao inicial e a mesma

referencia que nos cenarios anteriores. Entretanto, nesse caso a distancia entre os dois

obstaculos pequena o suficiente para gerar uma fusao de obstaculos. Podemos perceber

atraves das figuras 6.3(b), 6.3(c) e 6.3(d), pode-se observar que o raio da trajetoria de

desvio do obstaculo e significativamente maior que nos caso anteriores. Na figura 6.3(e)

a trajetoria reta do robo ate sua referencia nao e mais obstruıda pelos obstaculos e ele

chega ao seu destino (figura 6.3(f)).

Page 78: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 6. RESULTADOS 69

(a) (b)

(c) (d)

(e) (f)

Figura 6.1: Desvio de um unico obstaculo

Page 79: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 6. RESULTADOS 70

(a) (b)

(c) (d)

(e) (f)

Figura 6.2: Desvio de dois obstaculos

Page 80: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 6. RESULTADOS 71

(a) (b)

(c) (d)

(e) (f)

Figura 6.3: Desvio de dois obstaculos fundidos

Page 81: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 6. RESULTADOS 72

6.2 Comportamento dos estados

Nesta secao sera exibido o comportamento dos robos quando submetidos a alguns

cenarios especıficos. Estes cenarios sao artificiais e induzem o robo a assumir um determi-

nado estado. Os robos nao participantes da acao, sejam eles adversarios ou companheiros

de equipe, permanecem estaticos durante a acao. Sera ilustrado o comportamento de tres

estado: alinhar, chutar e defender.

6.2.1 Estado alinhar

Nesse cenario, a bola se encontra estatica posicionada no ponto (0.5, 0.2) e o robo

esta na posicao (0.0, 0.0, pi

2) (figura 6.4(a)), os demais robos estao estaticos. Este exemplo

simples mostra o comportamento do robo quando o mesmo se encontra no estado alinhar.

Podemos observar nas figuras 6.4(a), 6.4(b), 6.4(c) e 6.4(d) que o robo sai de sua posicao

inicial e busca um posicionamento tal que seja possıvel o chute em gol. O robo so esta

devidamente alinhado quando estiver na posicao correta e com a orientacao devida. Essa

configuracao e mostrada na figura 6.5(a).

6.2.2 Estado chutar

Este cenario foi executado na sequencia do cenario anterior. Na figura 6.5(a) o robo

esta alinha para o chute. Nas figura seguintes (6.5(b), 6.5(c) e 6.5(d)) o robo atinge a

bola com certa velocidade ate que ela se encaminha em direcao ao gol.

6.2.3 Estado defender

Este cenario exibe o comportamento do defensor, atuando como goleiro com a bola

vindo em sua direcao. Em um momento inicial (figura 6.6(a) o robo esta com a pos-

tura (−0.65, 0.0, π2), os demais robos estao estacionarios. A bola se encontra na posicao

(0.0, 0.3) e se encaminha na direcao gol, a fase do vetor velocidade da bola e vθ = −175o.

Pode-se perceber atraves das figuras 6.6(b), 6.6(c) e 6.6(d) que o robo tende a se posici-

onar no ponto de intercecao entre a trajetoria da bola e a reta que define seu campo de

acao (5.1.2).

Page 82: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 6. RESULTADOS 73

(a) (b)

(c) (d)

Figura 6.4: Comportamento do robo no estado alinhar

Page 83: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 6. RESULTADOS 74

(a) (b)

(c) (d)

Figura 6.5: Comportamento do robo no estado chutar

Page 84: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 6. RESULTADOS 75

(a) (b)

(c) (d)

(e) (f)

Figura 6.6: Comportamento do robo no estado defender

Page 85: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 6. RESULTADOS 76

6.3 Alocacao dinamica de papeis

Nesta secao sera mostrada uma situacao em que ocorre a troca de papeis dos membros

da equipe. Na situacao inicial (figura 6.7(a) temos o robo azul-rosa com o papel de

defensor assumindo a condicao de goleiro, uma vez que a bola esta se deslocando em

direcao ao gol defendido. O robo azul-ciano esta com o papel de atacante, por ser o

mais proximo da bola e com o defensor ja alocado. O robo azul-verde assume o papel

de curinga. O atacante esta no estado contornar, ja que ele esta a frente da bola.

Ja o curinga assume a posicao de espera a fim de nao atrapalhar o funcionamento dos

companheiros de equipe.

Nas figura 6.7(b), 6.7(c) e 6.7(d) os papeis permanecem inalterados, com o defensor

tentando defender a bola, o atacante se movimentando de forma a contornar a bola e

o curinga assumindo a posicao de espera. Na figura 6.8(a) o defensor ja defendeu a

bola, com isso a bola deixa de ter a direcao do gol defendido e passa a se movimentar em

direcao ao gol oposto. Nesse momento o defensor e o atacante trocam de papeis entre

si. Isso ocorre porque o novo atacante deve ser o jogador que esta mais proximo a bola

e atras dela. Enquanto que o novo defensor deve ser o robo mais proximo ao gol que

nao seja o novo atacante ja alocado. Nesse momento o defensor passa a acompanhar a

bola, o atacante entre no estado alinhar e o curinga tenta contornar a bola. A partir

da figura 6.8(b) nao ocorrem mais mudancas de papel e o comportamento do robos segue

normalmente.

6.4 Resultado de jogos

A tatica usada como parametro de comparacao foi denominada tatica simples. Ela foi

desenvolvida para ser usada na competicao nacional de futebol de robos (JRI 2004 [4])

que ocorreu em Salvador. Essa tatica se propoe a ser simples e eficiente. Devido ao pouco

tempo de testes disponıveis decidimos por desenvolver uma tatica baseada em preceitos

simples e intuitivos e pouco sujeita a falhas. Durante o campeonato a tatica simples foi

utilizada duas vezes: venceu a primeira partida, contra a equipe que se sagraria campea

e perdeu a segunda, porem devido a problemas com o sistema de visao.

Page 86: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 6. RESULTADOS 77

(a) (b)

(c) (d)

Figura 6.7: Alocacao dinamica de papeis

Page 87: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 6. RESULTADOS 78

(a) (b)

(c) (d)

Figura 6.8: Alocacao dinamica de papeis

Page 88: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 6. RESULTADOS 79

6.4.1 Tatica simples

A estrutura da tatica consiste de um robo com a funcao fixa de goleiro, enquanto os

outros dois robos alternam a funcao de atacante. O robo que nao assumir nenhuma das

duas funcoes tem por objetivo se manter distante dos outros dois robos minimizando as

possibilidades de interferencia na jogada.

O robo que exercera a funcao de goleiro durante o jogo e definido pelo tecnico antes

do inıcio da partida, ele exercera essa funcao durante todo o jogo. Para a posicao de

atacante sera escolhido o robo, a excecao do goleiro, que esteja mais proximo da bola.

O funcionamento do goleiro e simples, ele se mantem sempre a uma distancia fixa da

linha do gol defendido (coordenada x constante) e sua posicao no eixo y definida por:

goleiroy = bolay · 0.6

O atacante tem quatro estados definidos: alinhar, chutar, contornar e parado. O

funcionamento dos estados e similar aos apresentados no capıtulo 5, o estado parado faz

com que o robo permaneca em sua posicao atual. A arvore de decisao dos estados esta

mostrada na figura 6.9.

Alinhado?

Robô atrásda bola?

chutar

parado

alinhar

contornar

do goleiro?Bola perto

não

sim

sim

sim

sim

não

Figura 6.9: Arvore de decisao da tatica simples

O terceiro robo recebe as seguintes referencias:

refx = −atacantex · 0.5

refy = −atacantey

Page 89: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 6. RESULTADOS 80

6.4.2 Resultados contra a tatica simples

Foram realizadas dez partidas contra a tatica simples definida acima. Das dez partidas

a tatica proposta venceu sete, empatou uma e perdeu duas. O numero de gols pro foi

72, contra 56 gol sofrido, gerando um saldo positivo de 16 gols. A tabela 6.1 mostra o

placar de cada partida, POTI representa a tatica proposta e simples a tatica simples ja

explicada.

Jogo POTI Simples Resultado

1 8 4 Vitoria

2 7 6 Vitoria

3 11 3 Vitoria

4 7 7 Empate

5 7 11 Derrota

6 5 6 Derrota

7 8 7 Vitoria

8 6 5 Vitoria

9 7 3 Vitoria

10 6 4 Vitoria

Tabela 6.1: Resultado dos jogos

Page 90: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

Capıtulo 7

Conclusoes

O metodo decisao de movimento proposto para o futebol de robos se mostrou bem

apropriado para ser usado em sistema multi-robos com questoes de tempo limitante.

Trata-se de um metodo simples, de rapida execucao, eficiente e que pode ser facilmente

adaptado para outros ambientes multi-robos. Ao defrontar com um novo ambiente, e

necessario inicialmente definir os novos papeis que se adequem a nova realidade. Nao e

necessario que o numero de papeis seja igual ao numero de robos da equipe. Finalmente

devemos desenvolver o metodo de alocacao de papeis para distribuı-los de forma adequada

entre os membros do time. Se estivermos tratando de sistemas multi-robos distribuıdos,

deve-se acrescentar metodos de comunicacao e negociacao entre os robos necessarios para

as trocas de papel. Nesse caso, ao inves de um computador central controlar o compor-

tamento de cada um dos robos, cada membro da equipe deve ser ciente da suas condicao

e de quais acoes tomar na situacao.

Durante o desenvolvimento do modulo de decisao de movimento, alguns fatores ne-

cessarios para seu bom funcionamento foram observados. A execucao desse modulo de-

pende diretamente de todos os outros modulos do sistema: suas entradas sao definidas

pelo modulo de aquisicao; suas saıdas tem de ser transformadas pelo modulo de controle;

depende do modulo de transmissao para que as informacoes cheguem aos robos; final-

mente sao necessarios robos que funcionem de acordo com o esperado pelo controle. Por

essas razoes podemos afirmar que e essencial que todos os modulos estejam funcionando

perfeitamente para que a tatica funcione tambem perfeitamente.

Caso algum dos modulos nao esteja funcionando bem o modulo de decisao de mo-

Page 91: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 7. CONCLUSOES 82

vimento e o que deve se adaptar para tentar contornar esse problema. Por exemplo:

o modulos de localizacao estiver com um erro grande na posicao encontrada dos robos.

Nesse caso, a decisao de movimentos deve ser menos baseada nas posicoes exatas dos

robos, ou definir areas grandes nas quais um robo pode estar localizado. Da mesma forma

o modulo de decisao de movimento deve se adaptar ao mal desempenho de qualquer um

dos outros modulos. Ressaltando apenas que nao esta sendo proposta uma adaptacao

dinamica. Simplesmente esta sendo dito que o modulo de decisao de movimento deve ser

desenvolvido de acordo com as condicoes de funcionamento atuais do sistema no qual ele

deve ser encaixado. Ou seja, uma tatica ideal para um determinado sistema pode ser

desastrosa em outro.

Dentre os fatores que o modulo de decisao de movimento depende, o primordial sao

os robos. Duas equipes com robos equivalentes e com taticas distintas possivelmente re-

alizarao um jogo equilibrado. Por outro lado, um jogo com duas equipes com taticas

equivalentes (adaptadas ao proprio sistema) porem uma delas possui robos muito mais

eficientes que a outra, sera vencido facilmente pela equipe com melhores robos. Fazendo

uma analogia com o futebol humano, supondo duas equipes com esquemas de jogo se-

melhantes, porem uma delas possui jogadores muito melhores que a outra. O resultado

de um confronto terminara certamente com uma vitoria da equipe com jogadores mais

qualificados.

Alem da importancia do funcionamento do sistema como um todo, outras questoes se

mostraram fundamentais para nao comprometer o comportamento da tatica. Questoes

simples que chamamos de tratamento de excecoes. Os tratamentos de excecoes cuidam

de aspectos pouco importantes para a logica do time, contudo sao essenciais durante a

execucao do sistema. Dentre essas excecoes podemos citar, por exemplo, o teste que

verifica se algum robo esta “preso” a parede ou a algum outro robo. Em muitos casos

um robo esta encostado com uma das faces em uma das paredes do campo e tenta se

locomover em direcao a propria. Nessa situacao, um teste simples pode detectar essa

situacao e uma informacao para o robo se movimentar na direcao oposta a parede resolve

o problema. Outra excecao que mereceu tratamento e o chaveamento de papeis. Dois

robos com posicoes proximas podem entrar em um ciclo de troca de papeis entre eles e

permanecer nesse laco por um grande perıodo de tempo. Para resolver esse problema

Page 92: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

CAPITULO 7. CONCLUSOES 83

adotamos uma especie de histerese1 na troca de papeis. Para um robo assumir algum

outro papel ele deve insistir nessa mudanca por um certo numero de passos. Questoes

aparentemente simples como essas podem fazer a diferenca entre o sucesso ou fracasso de

uma tatica.

7.1 Trabalhos Futuros

Existem varios trabalhos futuros possıveis que dariam continuidade as ideias propos-

tas nesse documento. Uma proposta simples e de facil implementacao seria o aumento do

numero de robos por equipe: tanto no simulador, onde e possıvel acrescentar facilmente

mais robos; como no sistema real, em que ja possuımos seis robos, alem do know-how para

completar duas equipes sem maiores dificuldades. A expansao poderia ser direta, alte-

rando apenas a alocacao dos papeis e o numero de robos com cada papel, ou acrescentado

diferentes papeis para um melhor comportamento da equipe.

Uma outra alteracao possıvel seria a adocao de robos heterogeneos na equipe. Ja existe

um projeto para modificar a mecanica dos robos existentes adicionando engrenagens aco-

pladas ao motor, tornando os robos mais lentos, porem mais controlaveis. Essa alteracao

acarretaria em uma mudanca drastica na alocacao dos papeis, onde alguns robos teriam

prioridades fısicas para assumir determinados papeis.

Uma terceira ideia possıvel e a aplicacao da tatica em outros ambientes a fim de

testar a adaptabilidade do metodo a ambientes menos estruturados. Um outro metodo

de decisao de movimento baseado em inteligencia artificial ja esta em desenvolvimento

pelo mestrando da UFRN Dennis Barrios Aranibar. Nesse metodo a equipe ira aprender

a medida que enfrenta os adversarios, quanto mais jogos fizer, mais apta a vencer o

time estara. O simulador implementado para este projeto tambem sera utilizado como

ferramenta de auxılio para o desenvolvimento do novo metodo.

1Histerese: Retardo na resposta de uma unidade do sistema quando existe um acrescimo ou decrescimo

no valor do sinal

Page 93: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

Trabalhos Publicados

- Marcelo Minicuci Yamamoto, Diogo Pinheiro Fernandes Pedrosa, Pablo Javier Alsina

and Adelardo Adelino Dantas de Medeiros. Um simulador dinamico para mini-robos

moveis com modelagem de colisoes. In SBAI, Bauru, Brasil, sep 2003.

- Marcelo Minicuci Yamamoto, Antonio Pereira de Araujo Jr., Pablo Javier Alsina

and Adelardo Adelino Dantas de Medeiros. A equipe POTI de futebol de robos. In JRI

- Jornada de Robotica Inteligente, Salvado, Brasil, aug, 2004

Page 94: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

Referencias Bibliograficas

[1] Alan K. Mackworth. On seeing robots. In Vision Interfaces, 1992.

[2] Federation of international robot-soccer association. http://www.fira.net.

[3] Robocup. http://www.robocup.org.

[4] Marcelo Minicuci Yamamoto, Antonio Pereira Araujo Jr., Pablo Javier Alsina, and

Adelardo Adelino Dantas Medeiros. A equipe poti de futebol de robos. In JRI -

Jornada de Robotica Inteligente, Salvador, Brasil, aug 2004.

[5] Jordi Delgado. Emergence of social conventions on complex networks. Artificial

Intelligence, 141:171–185, 2002.

[6] Jun Ota and Tamio Arai. Motion planninf of multiple robots using dynamic groups.

In ICRA, pages 28–33, Atlanta, USA, may 1993.

[7] Jaydev P. Desai, Vijay Kumar, and James P. Ostrowski. Controls of changes in

formation for a team of mobile robots. In ICRA, pages 1556–1561, Detroit, USA,

May 1999.

[8] Fang-Chang Lin. Genetic algorithms for coordinating multi-agent robotic systems. In

IEEE International Conference on Systems, Man and Cybernetics, pages 3431–3436,

Orlando, USA, oct 1997.

[9] C. Ronald Kube and Eric Bonabeau. Cooperative transport by ants and robots.

Robotics and Autonomous Systems, 30(1-2):85–101, jan 2000.

[10] Fabrice R. Noreils, Alcatel Alsthom Recherche, and de Route Nozay. An architecture

for cooperative and autonomous mobile robots. In ICRA, pages 2703–2710, Nice,

France, may 1992.85

Page 95: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

REFERENCIAS BIBLIOGRAFICAS 86

[11] Fabrice R. Noreils and Recherche. Multi-robot coordination for battlefield strategies.

In IROS, pages 1777–1784, Raleigh, NC, jul 1992.

[12] J.B. Michael Krieger and Jean-Bernard Billeter. The call of duty: Self-organized task

allocation in a population of up to twelve mobile robots. Robotics and Autonomous

Systems, 30(1-2):65–84, jan 2000.

[13] Barry L. Brumitt and Anthony Stentz. Dynamic mission planning for multiple mobile

robots. In ICRA, pages 2396–2401, Minneapolis, USA, April 1996.

[14] Tamio Arai and Jun Ota. Motion planning of multiple mobile robots. In IROS, pages

1761–1768, Raleigh, NC, July 1992.

[15] Michael K. Sahota, Alan K. Mackworth, Stewart J. Kingdon, and A. Barman, Rod.

Real-time control of soccer-playing robots using off-board vision: the dynamite test-

bed. In IEEE International Conference on Systems, Man and Cybernetics, pages

3690–3693, Vancouver, Canada, oct 1995.

[16] Luiz Chaimowicz, Mario F.M. Campos, and Vijay Kumar. Dyanmic role assignment

for coopertive robots. In ICRA, pages 293–298, Washington, USA, may 2002.

[17] Jong-Hwan Kim, Hyun-Sik Shim, Heung-Soo Kim, Myung-Jin Jung, and Prahlad

Vadakkepat. Action selection and strategies in robot soccer systems. In Midwest

Symposium on Circuits and Systems, pages 518–521, Sacramento, USA, aug 1997.

[18] Jong-Hwan Kim, Hyun-Sik Shim, Myung-Jin Jung, I.-H Choi, and J.-O Kim. A

cooperative multi-agent system and its real time application to robot soccer. In

ICRA, pages 638–643, Albuquerque, USA, apr 1997.

[19] H.K. Lam, T.H Lee, F.H.F. Leung, and P.K.S. Tam. Decision maker for robot soccer.

In IEEE Industrial Electronics Society, pages 43–47, Denver, USA, nov 2001.

[20] Jong-Hwan Kim, Kwang-Choon Kim, Dong-Han Kim, Yong-Jae Kim, and Prahlad

Vadakkepat. Path planning and role selection mechanism for soccer robots. In ICRA,

pages 3216–3221, Leuven, Belgium, may 1998.

Page 96: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

REFERENCIAS BIBLIOGRAFICAS 87

[21] Peter Stone and Manuela Veloso. Task decomposition, dynamic role assignment and

low-bandwidth communication for real-time strategic teamwork. Artificial Intelli-

gence, 110(2):241–273, jun 1999.

[22] Yang Bo and Wang Qinghua. Agent brigade in dyanmic formation of robotic soccer.

In Wolrd Congress on Intelligent Control and Automation, pages 174–178, Hefei,

China, jun 2000.

[23] Rosemary Emery, Kevin Sikorski, and Tucker Balch. Protocols for collaboration,

coordination and dynamic role assignment in a robot team. In ICRA, pages 3008–

3015, Washington, USA, may 2002.

[24] Manuela Veloso, Michael Bowling, Sorin Achim, Kwun Han, and Peter Stone. The

cmunited-98 champion small-robot team. In RoboCup-98: Robot Soccer World Cup

II, pages 77–92, 1999.

[25] C. Castelpietra, Luca Iochhi, Maurizio Piaggio, and A. Sgorbissa. Coordination

among heterogenous robotic soccer players. In IROS, pages 1385–1390, Takamatsu,

Japan, oct 2000.

[26] Thilo Weigel, Jens-Steffen Gutmann, Markus Dietl, Alexander Kleiner, and Ber-

nhard Nebel. Cs freiburg: Coordinating robots for successful soccer playing. IEEE

Transactions on Robotics and Automation, 18(5):685–699, oct 2002.

[27] Arvin Agah and Kazuo Tanie. Robots playing to win: Evolutionary soccer strategies.

In ICRA, pages 632–637, Albuquerque, USA, apr 1997.

[28] Qingchun Meng, Xiaodong Zhuang, Changjiu Zhou, Jianshe Xiong, Yulin Wang,

Tao Wang, and Bo Yin. Game strategy based on fuzzy logic for soccer robots. In

IEEE International Conference on Systems, Man, and Cybernetics, pages 3758–3763,

Nashville, USA, oct 2000.

[29] Elmer P. Dadios and Odon A. Maravillas Jr. Fuzy logic controller for micro-robot

soccer game. In IEEE Industrial Electronics Society, pages 2154–2159, Denver, USA,

nov 01.

Page 97: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

REFERENCIAS BIBLIOGRAFICAS 88

[30] Elmer P. Dadios and Odon A. Maravillas Jr. Cooperative mobile robots with obstacle

and collision avoidance using fuzzy logic. In IEEE International Symposium on

Intelligent Control, pages 75–80, Vancouver Canada, oct 2000.

[31] H.L. Sng, G.Sen Gupta, and C.H. Messom. Strategy for collaboration in robot soccer.

In International Workshop on Electronic Design, Test and Applications, pages 347–

351, Christchurch, New Zealand, jan 2002.

[32] J.Ll de la Rosa, A. Oller, J. Vehı, and J. Puyol. Soccer tema based on agent-oriented

programming. Robotics and Autonomous Systems, 21(2):167–176, sep 1997.

[33] Hui Wang, Han Wang, Chunmiao Wang, and William Y.C. Soh. Embedding coo-

peration in robots to play soccer game. In IROS, pages 809–814, Maui, USA, oct

2001.

[34] Kai-Tai Song and Chih-Ching Tang. A distributed architecture for effective multiro-

bot cooperation in team competitions. In IEEE Industrial Electronics Society, pages

547–552, San Jose, USA, nov 1999.

[35] Song Zhiwei, Zhang Bo, Chen Xiaoping, and Wang Xufa. Layered decision-making

and planning in shaoling team. In World Congress on Intelligent Control and Auto-

amtion, pages 179–183, Hefei, China, jul 2000.

[36] Kuan-Yu Chen and Alan Liu. A desing method for incorporating multidisciplinary

requirements for developing a robot soccer player. In International Symposium in

Multimedia Software Engineering, pages 25–32, 2002.

[37] Tae-Yong Kuc, In-Jae Lee, and Seung-Min Baek. Perception, reasoning and learning

of multiple agent systems for robot soccer. In IEEE International Conference on

Systems, Man, and Cybernetics, pages 728–733, Tokyo, Japan, oct 1999.

[38] Peter Stone, Patrick Riley, and Manuela Veloso. Defining and using ideal team-

mate and opponent agent models: a case study in robotic soccer. In International

Conference on MultiAgent Systems, pages 441–442, Boston, USA, jul 2000.

Page 98: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

REFERENCIAS BIBLIOGRAFICAS 89

[39] Kui-Hong Park, Yong-Jae Kim, and Jong-Hwan Kim. Modular q-learning ba-

sed multi-agent cooperation fo robot soccer. Robotics and Autonomous Systems,

35(2):109–122, may 2001.

[40] Qian Hu, Ming-Rui Fei, and Xia-Ei Feng. Mas collaboraion and machine learning

method for robot soccer. In International Conference on Machine Learning and

Cybernetics, pages 1034–1037, Beijing, China, nov 2002.

[41] Ciprian Candea, Huosheng Hu, Luca Iocchi, Daniele Nardi, and Maurizio Piaggio.

Coordination in multi-agent robocup teams. Robotics and Autonomous Systems,

36(2-3):67–86, aug 2001.

[42] Sung-Wook Park, Jung-Han Kim, Eun-Hee Kim, and Jun-Ho Oh. Development of

a multi-agent system for robot soccer game. In ICRA, pages 626–631, Albuquerque,

USA, apr 1997.

[43] Jakub Hrabec and Bohumil Honzık. Mobile robots playing soccer. In International

Workshop on Advanced Motion Control, pages 510–513, 2002.

[44] G. Adorni, S. Cagnoni, M. Mordonini, and M. Piaggio. Coordination strategies for

the goal-keeper of a robocup mid-size team. In IEEE Intelligent Vehicles Symposium,

pages 486–491, Dearbom, USA, oct 2000.

[45] Minoru Asada, Peter Stone, Hiraki Kitano, Barry Werger, Yasuo Kuniyoshi, Alexis

Drogoul, Dominique Duhaut, Manuela Veloso, Hajime Asama, and Sho’ji Suzuki.

The robocup physical agent challenge: Phase i. Applied Artificial Intelligence, 12,

1998.

[46] Tzu-Chen Liang and Jung-Sin Liu. Motion controller realizing cyclic ball passing

strategy among multiple mobile robots in robot soccer games. In ICRA, pages 2587–

2592, Washington, USA, may 2002.

[47] Tzuu-Hseng Li, Ren-Cheng Liu, and I-Fong Lin. Fuzzy shooting control of car-

like soccer robot. In IEEE Region 10 International Conference on Electrical and

Electronic Technology, pages 447–452, Singapore, aug 2001.

Page 99: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

REFERENCIAS BIBLIOGRAFICAS 90

[48] Ching-Chang Wong, Ming-Fong Chou, and Chin-Po Hwang. A method obstacle

avoidance and shooting action of the robot soccer. In ICRA, pages 3778–3782, Seoul,

Korea, may 2001.

[49] A. Tsoularis and C. Kambhampati. Avoiding moving obstacles by deviation from

a mobile robot’s nominal path. The International Journal of Robotics Research,

18(5):454–465, may 1999.

[50] Pankaj K. Agarwal, Julien Basch, John Guibas, Leonidas J. Hershberger, and

Li Zhang. Deformable free-space tilings for kinetic collision detection. Internati-

onal Journal of Robotics Research, 21(3):179–197, mar 2000.

[51] Zvi Shiller. Online suboptimal obstacle avoidance. The International Journal of

Robotics Research, 19(5):480–497, may 2000.

[52] G. E. Cook, C. Biegl, J. F. Springfield, and K. R. Fernandez. An intelligent robotics

simulator. In IEEE Industry Applications Society Annual Meeting, volume 3, pages

1793–1800, Denver, CO, USA, October 1994.

[53] K. Kimoto and S. Yuta. A simulator for programming the behavior of an autono-

mous sensor-based mobile robot. In IROS - IEEE/RSJ International Conference on

Intelligent Robots and Systems, volume 2, pages 1431–1438, July 1992.

[54] Jayant A. Kulkarni, Joseph S. Byrd, and Robert O. Pettus. X-window based graphical

mobile robot simulator for path planning and sensor fusion experiments. In Annual

Simulation Symposium, pages 185–192, New Orleans, USA, apr 1991.

[55] Marcelo Minicuci Yamamoto, Diogo Pinheiro Fernandes Pedrosa, Pablo Javier Al-

sina, and Adelardo Adelino Dantas Medeiros. Um simulador dinamico para mini-

robos moveis com modelagem de colisoes. In SBAI, Bauru, Brasil, sep 2003.

[56] Claudio Garcia. Modelagem e Simulacao. Editora da Universidade de Sao Paulo, Av.

Prof. Luciano Gualberto, Travessa J, 374, 05508, Sao Paulo, SP, Brazil, 1997. ISBN

85-314-0402-9.

Page 100: Marcelo Minicuci Yamamoto Planejamento Cooperativo de ... · 6.4 Resultado de jogos ... 3.4 Algoritmo de simula¸c ... O futebol de robˆos ´e um exemplo t´ıpico de um sistema

REFERENCIAS BIBLIOGRAFICAS 91

[57] Patrıcia Nishimura Guerra, Marcelo Minicuci Yamamoto, and Pablo Javier Alsina.

Um controlador adaptativo para um robo movel com rodas: Analise e simulacao. In

CBA - Congresso Brasileiro de Automatica, Natal, RN, Brazil, 2002.

[58] Patricia Nishimura Guerra, Pablo Javier Alsina, Adelardo Adelino Dantas de Medei-

ros, and Antonio Pereira Araujo Jr. Linear modelling and identification of a mobile

robot with differential drive. In International Conference on Informatics on Control,

Automation and Robotics, ICINCO, Setubal, Portugal, aug 2004.

[59] Mason Woo, Jackie Neider, Tom Davis, and Dave Shreiner. OpenGL Programming

Guide. Addison-Wesley, EUA, 3 edition, 1999. ISBN 0-20-160458-2.