Download PDF
ads:
MINIST
´
ERIO DA DEFESA
EX
´
ERCITO BRASILEIRO
SECRETARIA DE CI
ˆ
ENCIA E TECNOLOGIA
INSTITUTO MILITAR DE ENGENHARIA
CURSO DE MESTRADO EM SISTEMAS E COMPUTAC¸
˜
AO
ALEXANDRE TADEU ROSSINI DA SILVA
COMPORTAMENTO SOCIAL COOPERATIVO NA REALIZAC¸
˜
AO
DE TAREFAS EM AMBIENTES DIN
ˆ
AMICOS E COMPETITIVOS
Rio de Janeiro
2006
ads:
Livros Grátis
http://www.livrosgratis.com.br
Milhares de livros grátis para download.
INSTITUTO MILITAR DE ENGENHARIA
ALEXANDRE TADEU ROSSINI DA SILVA
COMPORTAMENTO SOCIAL COOPERATIVO NA REALIZAC¸
˜
AO DE
TAREFAS EM AMBIENTES DIN
ˆ
AMICOS E COMPETITIVOS
Disserta¸ao de Mestrado apresentada ao Curso de
Mestrado em Sistemas e Computa¸ao do Instituto Mili-
tar de Engenharia, como requisito parcial para obten¸ao
do t´ıtulo de Mestre em Sistemas e Computa¸ao.
Orientador: Prof. Paulo Fernando Ferreira Rosa -
Ph.D.
Rio de Janeiro
2006
ads:
c2006
INSTITUTO MILITAR DE ENGENHARIA
Pra¸ca General Tib´urcio, 80-Praia Vermelha
Rio de Janeiro-RJ CEP 22290-270
Este exemplar ´e de propriedade do Instituto Militar de Engenharia, que poder´a inclu´ı-
lo em base de dados, armazenar em computador, microfilmar ou adotar qualquer forma
de arquivamento.
´
E permitida a men¸ao, reprodu¸ao parcial ou integral e a transmiss˜ao entre bibliotecas
deste trabalho, sem modifica¸ao de seu texto, em qualquer meio que esteja ou venha a
ser fixado, para pesquisa acadˆemica, coment´arios e cita¸oes, desde que sem finalidade
comercial e que seja feita a referˆencia bibliogr´afica completa.
Os conceitos expressos neste trabalho ao de responsabilidade do autor e do orientador.
S568 Silva, Alexandre Tadeu Rossini da
Comportamento Social Cooperativo na Realiza¸ao
de Tarefas em Ambientes Dinˆamicos e Competitivos/
Alexandre Tadeu Rossini da Silva.
Rio de Janeiro: Instituto Militar de Engenharia, 2006.
172 p.: il., tab.
Disserta¸ao (mestrado) Instituto Militar de Enge-
nharia Rio de Janeiro, 2006.
1. Robˆos oveis autˆonomos. 2. Robˆos co operativos. I.
T´ıtulo. II. Instituto Militar de Engenharia.
CDD 629.892
2
INSTITUTO MILITAR DE ENGENHARIA
ALEXANDRE TADEU ROSSINI DA SILVA
COMPORTAMENTO SOCIAL COOPERATIVO NA REALIZAC¸
˜
AO DE
TAREFAS EM AMBIENTES DIN
ˆ
AMICOS E COMPETITIVOS
Disserta¸ao de Mestrado apresentada ao Curso de Mestrado em Sistemas e Com-
puta¸ao do Instituto Militar de Engenharia, como requisito parcial para obten¸ao do
t´ıtulo de Mestre em Sistemas e Computa¸ao.
Orientador: Prof. Paulo Fernando Ferreira Rosa - Ph.D.
Aprovada em 22 de fevereiro de 2006 pela seguinte Banca Examinadora:
Prof. Paulo Fernando Ferreira Rosa - Ph.D. do IME - Presidente
Prof. Rafael Duarte Coelho dos Santos - Ph.D. do INPE
Prof. Ronaldo Ribeiro Goldschmidt - D.Sc. do IME
Rio de Janeiro
2006
3
Aos meus pais, Jos´e Gerci e Elisabete.
`
A minha namorada, Fabiana.
Ao meu irm˜ao, Leonardo.
4
AGRADECIMENTOS
”A noite abre as flores em segredo e deixa que o
dia receba os agradecimentos.” (Tagore)
Agrade¸co a todas as pessoas que me incentivaram, apoiaram e possibilitaram esta
oportunidade de dar asas `a imagina¸ao e tornar real o mundo de fantasias inspirado na
maior enciclop´edia a feita, a pr´opria Terra. Em especial:
Ao meu orientador, Dr. Paulo Fernando Ferreira Rosa, pelo tempo e dedica¸ao gastos
durante as arias reuni˜oes realizadas ao longo do desenvolvimento do trabalho, al´em de
acreditar e confiar nos caminhos que o nortearam at´e sua conclus˜ao.
Ao meu pai, Jos´e Gerci da Silva, que me socorreu `a medida em que as d´uvidas da
nossa atria l´ıngua iam surgindo durante o per´ıodo de gesta¸ao da disserta¸ao.
Aos amigos de curso: Cap. Carlos Alberto Padilha PINHEIRO, Carlos Andr´e Batista
de Carvalho, Cap. Fernando APOLIN
´
ARIO Pereira, abio Silveira Vidal, abio Suim
Chagas, Fabr´ıcio Nogueira da Silva, Marco Antonio Firmino de Sousa, Rafael Lima de
Carvalho e Vitor Guerra Rolla.
Ao TC Edison ISHIKAWA por me disponibilizar livre acesso ao LaSiD (Laborat´orio
de Sistemas Distribu´ıdos), fundamental para a finaliza¸ao do trabalho.
Aos alunos de gradua¸ao do IME: Fernando Martins, Fernando Rocha, Guilherme
Schirmer e Leonardo Louren¸co.
Aos demais colegas do mestrado, que em proveitosas conversas ecnicas contribu´ıram
direta ou indiretamente no trabalho.
`
A todos os mestres e alguns funcion´arios do Departamento de Engenharia de Sistemas
(SE/8) do IME.
Por fim, `a Capes (Coordena¸ao de Aperfei¸coamente de Pessoal de N´ıvel Superior) por
financiar parcialmente este trabalho, o tornando vi´avel.
Alexandre Tadeu Rossini da Silva
5
”Muitos pensam que a pesquisa cient´ıfica ´e uma
atividade puramente racional, na qual o objetivismo
ogico ´e o ´unico mecanismo capaz de gerar conhe-
cimento. Como resultado, os cientistas ao vistos
como insens´ıveis e limitados, um grupo de pessoas
que corrompe a beleza da Natureza ao analis´a-la ma-
tematicamente. Essa generaliza¸ao, como a maioria
das generaliza¸oes, me parece profundamente injusta,
a que ela ao incorpora a motivao mais impor-
tante do cientista, o seu fasc´ınio pela Natureza e seus
mist´erios. Que outro motivo justificaria a dedica¸ao
de toda uma vida ao estudo dos fenˆomenos naturais,
sen˜ao uma profunda venera¸ao pela sua beleza? A
ciˆencia vai muito al´em da sua mera pr´atica. Por tr´as
das ormulas complicadas, das tabelas de dados ex-
perimentais e da linguagem ecnica, encontra-se uma
pessoa tentando transcender as barreiras imediatas
da vida di´aria, guiada por um insaci´avel desejo de
adquirir um n´ıvel mais profundo de conhecimento e
de realiza¸ao pr´opria. Sob esse prisma, o processo
criativo cient´ıfico ao ´e assim ao diferente do pro-
cesso criativo das artes, isto ´e, um ve´ıculo de auto-
descoberta que se manifesta ao tentarmos capturar a
nossa essˆencia e lugar no Universo.”
MARCELO GLEISER
6
SUM
´
ARIO
LISTA DE ILUSTRAC¸
˜
OES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
LISTA DE TABELAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
LISTA DE ABREVIATURAS E S
´
IMBOLOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1 INTRODUC¸
˜
AO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.1 Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2 Comenarios Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3 Organiza¸ao da Disserta¸ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2 REVIS
˜
AO DE LITERATURA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1 Ve´ıculos Autˆonomos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2 Vis˜ao Computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Coopera¸ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4 Teoria dos Jogos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5 Planejamento de Trajet´orias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5.1 Roadmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5.2 Decomposi¸ao em c´elulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.3 Campo Potencial Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3 DESCRIC¸
˜
AO DO PROBLEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1 Coopera¸ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2 Tomada de Decis˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.3 Teoria dos Jogos (TJ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3.1 Tipos de Jogos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4 Futebol de Robˆos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4.1 A Federa¸ao RoboCup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4.2 RoboCup Small Size (f-180) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4 SOLUC¸
˜
AO PROPOSTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.1 Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.2 Aquisi¸ao de Imagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7
4.3 Vis˜ao Computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.3.1 Calibra¸ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3.2 Classifica¸ao das Cores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.3.3 Pose dos Objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.3.4 Identifica¸ao dos Objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.3.5 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4 Planejamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.4.1 Previs˜ao de Movimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.4.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.4.2.1 Objetivo Global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.4.2.2 Objetivo Local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.5 Execu¸ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.5.1 Planejamento de Trajet´oria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.5.2 Controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.6 Comunica¸ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.7 Simulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5 IMPLEMENTAC¸
˜
AO COMPUTACIONAL . . . . . . . . . . . . . . . . . . . . . . . 112
5.1 Vis˜ao Computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.2 Simulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
6 TESTES E RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.1 Vis˜ao Computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.2 Simulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7 CONSIDERAC¸
˜
OES FINAIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.1 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8 REFER
ˆ
ENCIAS BIBLIOGR
´
AFICAS . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
9 ANEXOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
9.1 ANEXO 1: Regras da RoboCup Small Size League (f-180) . . . . . . . . . . . . . . . . 142
9.2 ANEXO 2: Data Sheet do transmissor RF Keymark TXC1 . . . . . . . . . . . . . . . 168
9.3 ANEXO 3: Data Sheet do receptor RF Keymark RXD1 . . . . . . . . . . . . . . . . . . 171
8
LISTA DE ILUSTRAC¸
˜
OES
FIG.2.1 Classifica¸ao de ve´ıculos autˆonomos (CAMPION ET. AL., 1996). . . . . . . 23
FIG.2.2 Distribui¸ao de rodas omnidirecionais em robˆos holonˆomicos (ASH-
MORE AND BARNES, 2002). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
FIG.2.3 Rodas omnidirecionais da equipe Cornell Big Red 2002 (esquerda)
e 2003 (direita) (PURWIN AND D’ANDREA, 2003). . . . . . . . . . . . . . . . 24
FIG.2.4 Robˆo da equipe Wingers da Universidade de Buffalo na categoria
RoboCup f-180 (UB ROBOTICS, 2006). . . . . . . . . . . . . . . . . . . . . . . . . . . 25
FIG.2.5 Passos fundamentais em processamento de imagens digitais, adap-
tado de (GONZALEZ, 1992). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
FIG.2.6 Exemplos comuns de superf´ıcie na RoboCup f-180, adaptado de
(BRUCE AND VELOSO, 2003). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
FIG.2.7 Compara¸ao do erro posicional e angular de diferentes modelos
(BRUCE AND VELOSO, 2003). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
FIG.2.8 Grafo de visibilidade (LATOMBE, 1991). . . . . . . . . . . . . . . . . . . . . . . . . . . 31
FIG.2.9 Diagrama de Voronoi (LATOMBE, 1991). . . . . . . . . . . . . . . . . . . . . . . . . . . 31
FIG.2.10 Espa¸co livre decomposto de forma exata em um conjunto de elulas
poligonais (LATOMBE, 1991). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
FIG.2.11 Decomposi¸ao aproximada em elulas (OTTONI E LAGES, 2003). . . . . 33
FIG.2.12 Exemplo de planejamento de trajet´oria utilizando campo potencial
artificial (PACHECO E COSTA, 2002). . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
FIG.3.1 Dilema dos prisioneiros na forma normal . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
FIG.3.2 Dilema dos prisioneiros na forma estendida . . . . . . . . . . . . . . . . . . . . . . . . . 43
FIG.3.3 RoboCup Simulation League 3D (ROBOCUP, 2006) . . . . . . . . . . . . . . . . . 47
FIG.3.4 RoboCup Small Size Robot League (f-180) (CMU, 2005) . . . . . . . . . . . . . 47
FIG.3.5 RoboCup Middle Size Robot League (f-2000) (CMU, 2005) . . . . . . . . . . . 48
FIG.3.6 RoboCup Four-Legged Robot League . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
FIG.3.7 RoboCup Humanoid League . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
FIG.3.8 Campo de jogo da RoboCup f-180 (ROBOCUP, 2005a). . . . . . . . . . . . . . . 51
FIG.3.9 Dimens˜oes em mil´ımetros do campo de jogo da RoboCup f-180
(ROBOCUP, 2005a). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
9
FIG.4.1 Arquitetura do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
FIG.4.2 Saltos no movimento de um robˆo com diferentes taxas de aquisi¸ao
de imagens (GOMEZ, 2004). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
FIG.4.3 Micro-cˆamera CMOS usada nos experimentos. . . . . . . . . . . . . . . . . . . . . . . 57
FIG.4.4 Modelo ao-linear de um neurˆonio artificial (HAYKIN, 2001). . . . . . . . . . 58
FIG.4.5 Cubo RGB, adaptado de (SJU, 2005). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
FIG.4.6 Rede neural RBF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
FIG.4.7 Rede neural RBF adaptada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
FIG.4.8 Cone HSV, (NEVES ET. AL., 2004). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
FIG.4.9 Algoritmo de convers˜ao de RGB para HSV. . . . . . . . . . . . . . . . . . . . . . . . . . 62
FIG.4.10 Algoritmo de classifica¸ao por HSV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
FIG.4.11 Arquitetura de uma rede MLP t´ıpica com uma camada intermedi´aria.
64
FIG.4.12 Particionamento dos dados de entrada realizado por uma rede RBF
com quatro neurˆonios na camada intermedi´aria (BRAGA ET. AL.,
2000). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
FIG.4.13 Particionamento dos dados de entrada realizado por uma rede MLP
com uma camada intermedi´aria formada por trˆes neurˆonios (BRAGA
ET. AL., 2000). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
FIG.4.14 Algoritmo de classifica¸ao RGB das cores de orienta¸ao. . . . . . . . . . . . . . . 66
FIG.4.15 ascara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
FIG.4.16 Varredura com i pixels no eixo x e j pixels no eixo y. . . . . . . . . . . . . . . . . 68
FIG.4.17 Transforma¸ao em objeto retangular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
FIG.4.18 Centr´oide da circunferˆencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
FIG.4.19 Algoritmo do centr´oide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
FIG.4.20 Identifica¸ao dos robˆos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
FIG.4.21 Previs˜ao de posi¸ao futura para a bola. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
FIG.4.22 Previs˜ao de posi¸ao futura para um robˆo advers´ario. . . . . . . . . . . . . . . . . . 76
FIG.4.23 Algoritmo para determinar a estrat´egia global . . . . . . . . . . . . . . . . . . . . . . . 83
FIG.4.24 Supondo que o campo de defesa ´e o lado esquerdo, as ´areas de
atua¸oes das posi¸oes dos jogadores em campo, real¸cada na cor
cinza, ao apresentadas: (a) goleiro; (b) fixo; (c) ala esquerdo; (d)
ala direito; (e) pivˆo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
10
FIG.4.25 Posi¸oes dos jogadores em campo: (a) goleiro; (b) fixo; (c) ala
esquerdo; (d) ala direito; (e) pivˆo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
FIG.4.26 Algoritmo da ao chutar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
FIG.4.27 Algoritmo da ao caminhar ao gol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
FIG.4.28 Algoritmo da ao interceptar advers´ario. . . . . . . . . . . . . . . . . . . . . . . . . . . 93
FIG.4.29 Algoritmo da ao apoiar ataque. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
FIG.4.30 Algoritmo da ao dar combate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
FIG.4.31 Algoritmo da ao marcar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
FIG.4.32 Algoritmo da ao reposicionar goleiro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
FIG.4.33 Algoritmo da ao reposicionar fixo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
FIG.4.34 Algoritmo da ao reposicionar ala direito. . . . . . . . . . . . . . . . . . . . . . . . . . 96
FIG.4.35 Algoritmo da ao reposicionar ala esquerdo. . . . . . . . . . . . . . . . . . . . . . . . 97
FIG.4.36 Algoritmo da ao reposicionar pivˆo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
FIG.4.37 Hierarquia de coopera¸ao axima quando o pivˆo ´e o l´ıder. . . . . . . . . . . . . 99
FIG.4.38 Hierarquia de coopera¸ao axima quando o ala direito ´e o l´ıder. . . . . . . 99
FIG.4.39 Hierarquia de coopera¸ao axima quando o ala esquerdo ´e o l´ıder. . . . . . 100
FIG.4.40 Hierarquia de coopera¸ao axima quando o fixo ´e o l´ıder. . . . . . . . . . . . . 100
FIG.4.41 Exemplo de coopera¸ao ofensiva entre os robˆos da equipe amarela
tendo como l´ıder o ala esquerdo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
FIG.4.42 Hierarquia de coopera¸ao para o exemplo da FIG. 4.41. . . . . . . . . . . . . . . 104
FIG.4.43 Exemplo de coopera¸ao defensiva entre os robˆos da equipe amarela
tendo como l´ıder o ala direito. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
FIG.4.44 Hierarquia de coopera¸ao para o exemplo da FIG. 4.43. . . . . . . . . . . . . . . 104
FIG.4.45 Exemplo de estrat´egia escolhida, com maior recompensa, para co-
opera¸ao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
FIG.4.46 Campo potencial (LATOMBE, 1991) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
FIG.4.47 Transmissor RF Keymark TXC1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
FIG.4.48 Receptor RF Keymark RXD1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
FIG.4.49 Especifica¸oes dos pinos do Transmissor RF Keymark TXC1, adap-
tado de (KEYMARK, 2006a). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
FIG.4.50 Especifica¸oes dos pinos do Receptor RF Keymark RXD1, adap-
tado de (KEYMARK, 2006b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
11
FIG.5.1 Compara¸ao entre os tempos de execu¸ao do etodo do Gradiente
Conjugado (SCHEPKE E CHAR
˜
AO, 2004). . . . . . . . . . . . . . . . . . . . . . . . 113
FIG.5.2 Programa implementado da vis˜ao computacional. . . . . . . . . . . . . . . . . . . . 115
FIG.5.3 Simulador implementado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
FIG.6.1 Fotografia do laborat´orio com o suporte de amera e ampadas mon-
tado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
FIG.6.2 Regi˜oes com diferen¸ca de luminosidade utilizadas na calibra¸ao. . . . . . . . 119
FIG.6.3 Classifica¸ao errada no m´etodo de identifica¸ao HSV para a equipe
amarela, caso 1; onde: (a) ´e a imagem original, (b) imagem proces-
sada e (c) a sobreposi¸ao de (b) em (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
FIG.6.4 Classifica¸ao errada no m´etodo de identifica¸ao HSV para a equipe
amarela, caso 2; onde: (a) ´e a imagem original, (b) imagem proces-
sada e (c) a sobreposi¸ao de (b) em (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
FIG.6.5 Classifica¸ao errada no m´etodo de identifica¸ao HSV para a bola,
caso 1; onde: (a) ´e a imagem original, (b) imagem processada e
(c) a sobreposi¸ao de (b) em (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
FIG.6.6 Classifica¸ao errada no m´etodo de identifica¸ao HSV para a bola,
caso 2; onde: (a) ´e a imagem original, (b) imagem processada e
(c) a sobreposi¸ao de (b) em (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
FIG.6.7 Classifica¸ao errada no m´etodo de identifica¸ao HSV para a equipe
azul, caso 1; onde: (a) ´e a imagem original, (b) imagem processada
e (c) a sobreposi¸ao de (b) em (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
FIG.6.8 Classifica¸ao errada no m´etodo de identifica¸ao HSV para a equipe
azul, caso 2; onde: (a) ´e a imagem original, (b) imagem processada
e (c) a sobreposi¸ao de (b) em (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
FIG.6.9 Classifica¸ao errada no m´etodo de identifica¸ao HSV para a equipe
azul, caso 3; onde: (a) ´e a imagem original, (b) imagem processada
e (c) a sobreposi¸ao de (b) em (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
FIG.6.10 Classifica¸ao errada no etodo de identifica¸ao RBF para a equipe
azul; onde: (a) ´e a imagem original, (b) imagem processada e (c)
o que o algoritmo de identifica¸ao classifica. . . . . . . . . . . . . . . . . . . . . . . . 124
FIG.6.11 Classifica¸ao errada ocasionada pelo etodo centr´oide, caso 1; onde:
(a) ´e a imagem original, (b) imagem processada e (c) o que o al-
12
goritmo de orienta¸ao classifica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
FIG.6.12 Classifica¸ao errada ocasionada pelo etodo centr´oide, caso 2; onde:
(a) ´e a imagem original, (b) imagem processada e (c) o que o al-
goritmo de identifica¸ao classifica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
FIG.6.13 Amostra utilizada para se determinar o tempo de processamento
de cada jun¸ao de m´etodos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
FIG.6.14 Compara¸ao do tempo de processamento, em milissegundos, dos
m´etodos utilizados nos testes de vis˜ao computacional. . . . . . . . . . . . . . . . 127
FIG.6.15 Exemplo de problema de m´ınimo local do campo potencial artificial. . . . 129
13
LISTA DE TABELAS
TAB.3.1 Compara¸ao entre xadrez e futebol de robˆos (ROBOCUP, 2005c) . . . . . . 45
TAB.4.1 Padr˜oes de cores em RGB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
TAB.4.2 Padr˜oes de cores em HSV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
TAB.4.3 Recompensas do jogo quando a Sociedade A est´a no estado COM
BOLA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
TAB.4.4 Recompensas do jogo quando a So ciedade A est´a no estado SEM
BOLA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
TAB.6.1 Resultados dos testes de identifica¸ao utilizando os etodos HSV
e RBF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
TAB.6.2 Resultados dos testes de orienta¸ao utilizando o m´etodo HSV na
identifica¸ao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
TAB.6.3 Resultados dos testes de orienta¸ao utilizando o etodo RBF na
identifica¸ao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
14
LISTA DE ABREVIATURAS E S
´
IMBOLOS
ABREVIATURAS
CCD - Charge Coupled Device
CMOS - Complementary Metal Oxide Semiconductor
FPS - Frames per second
IA - Inteligˆencia Artificial
IAD - Inteligˆencia Artificial Distribu´ıda
MLP - Multilayer Perceptron
RBF - Radial Basis Function
RI - Rob´otica Inteligente
RNA - Rede Neural Artificial
SMA - Sistemas Multiagentes
STR - Sistema de Tempo Real
TJ - Teoria dos Jogos
15
RESUMO
Ao longo da disserta¸ao ao apresentados os fundamentos necess´arios para o traba-
lho cooperativo. Nesse sentido, foi feita uma discuss˜ao filos´ofica sobre o comportamento
social, dando ˆenfase nas rela¸oes entre indiv´ıduos e ambiente. Entretanto, para o compor-
tamento social surgir, ´e necess´ario um mecanismo democr´atico, que trate os indiv´ıduos
em igualdade de condi¸ao, a que todo indiv´ıduo ´e importante para o ambiente. Con-
tudo, entender o processo de tomada de decis˜ao ´e fundamental para a obten¸ao de bons
resultados. Para isso, a Teoria dos Jogos foi utilizada a fim de compreender o processo de
tomada de decis˜ao em um ambiente dinˆamico, onde duas sociedades de robˆos disputam
um mesmo objetivo. Para a valida¸ao da proposta, a aplica¸ao escolhida foi o futebol
de robˆos (RoboCup Small Size League f-180 com seus parˆametros e suas regras), por ser
um desafio padr˜ao da ´area de rob´otica. Na RoboCup f-180, um computador deve pro-
cessar imagens capturadas por uma amera, localizada acima do campo, e, a partir das
informa¸oes extra´ıdas das imagens, definir as oes cooperativas a serem executadas pela
equipe.
´
E importante acrescentar que o futebol de sal˜ao (futsal) foi a principal inspira¸ao
para o desenvolvimento da solu¸ao para a aplica¸ao escolhida. Por fim, foram realizados
testes para validar a solu¸ao.
16
ABSTRACT
In this work it is presented the relevant research topics for the cooperating robot
work. Thus, a philosophical approach on social behavior was done, with emphasis in the
relations between individuals and environment. However, in order to this social behavior
to appear, is necessary a democratic mechanism, that deals with the individuals in equality
condition, since every each other individual is imp ortant for the environment. In order
to achieve good results it is crucial to understand the decision making process. For
this, the Game Theory is used in order to understand the decision process in a dynamic
environment, where two societies of robots dispute the same objective. For the validation
of the proposal, the chosen application was RoboCup Small Size League (f-180), since this
is standard challenge for the robotics area. In RoboCup f-180, a computer must process
images captured by a camera, located above of the field. From the extracted information
of the images, it is necessary to define the cooperating actions to be executed for the
team. It is important to add that the futsal was the main inspiration for the development
of the solution for the chosen application. Finally, tests had been carried out to validate
our proposal.
17
1 INTRODUC¸
˜
AO
A coopera¸ao entre robˆos ´e uma ´area de pesquisa que tem atra´ıdo muita aten¸ao
nos ´ultimos anos. As equipes rob´oticas com m´ultiplos robˆos fornecem vantagens sobre
sistemas de um ´unico robˆo. Por exemplo, permitem que uma ´area seja coberta mais
eficientemente e ao mais tolerantes `as falhas individuais dos robˆos. Entretanto, Emery-
Montemerlo et. al. (EMERY-MONTEMERLO ET. AL., 2005) alertam que, ao projetar
uma equipe multi-robˆos, a pergunta chave ´e: como atribuir tarefas individuais aos robˆos,
de forma que fiquem melhor coordenados seus comportamentos?
Esta disserta¸ao ao tem a ambi¸ao de responder esse importante questionamento, mas
pretende abordar opicos relevantes que devem ser considerados na tentativa de construir
robˆos com comportamentos sociais cooperativos. O objetivo do trabalho ´e capacitar
um conjunto de robˆos para trabalhar em sociedade, realizando tarefas cooperativas em
ambientes semiestruturados e dinˆamicos. A plataforma de teste a ser utilizada ´e o futebol
de robˆos.
1.1 MOTIVAC¸
˜
AO
Em aplica¸oes de sociedades rob´oticas, o comportamento social surge porque um robˆo
faz parte do ambiente e, assim, ´e imp ortante para outro(s) robˆo(s). Nesse sentido, a
constru¸ao de duas sociedades rob´oticas, onde em cada sociedade o comportamento co-
operativo ´e fundamental para sua ”sobrevivˆencia” no ambiente, visto que a competi¸ao
entre as sociedades emerge na disputa de um mesmo objetivo, ´e o que norteia este tra-
balho.
Esse tipo de pesquisa, a anos, fascina pesquisadores de diversas ´areas. Tanto ´e
verdade que a Vida Artificial surgiu na tentativa de recriar fenˆomenos biol´ogicos em
computadores ou outros meios artificiais. A multi-disciplinaridade ´e evidenciada desde
sua cria¸ao, pois surgiu da confluˆencia da IA, rob´otica, teorias biol´ogicas, psicologia, etc.
Assim, a constru¸ao de duas equipes de robˆos ´e motivada para serem utilizadas em
estudos de uma erie de experimentos, entre eles os que envolvem robˆos autˆonomos coo-
perativos. Contudo, a tamb´em a vontade de montar uma equipe de robˆos do IME para
participar de competi¸oes oficiais realizadas por federa¸oes cient´ıficas.
18
Al´em da quest˜ao l´udica, as competi¸oes cient´ıficas possibilitam acelerar o progresso
cient´ıfico no dom´ınio em que esteja inserido. Nas competi¸oes, ao testados conhecimen-
tos em ´areas diversas, como programa¸ao, vis˜ao computacional, integra¸ao de sistemas,
navega¸ao em ambientes dinˆamicos, explora¸ao e monitoramento ambiental, controle de
tr´afego ereo e urbano, transmiss˜ao de dados via radiofreq¨encia, an´alise de dispositivos
eletromecˆanicos e microcontrolados, etc.
O futebol de robˆos, problema padr˜ao de investiga¸ao internacional, re´une grande parte
dos desafios presentes em problemas do mundo real a serem resolvidos em tempo real. O
futebol de robˆos ´e baseado em um jogo humano, inspirado na inteligˆencia humana, e com
o prop´osito de fazer robˆos interagirem com humanos, a que o objetivo dessas competi¸oes
´e fazer com que robˆos disputem partidas contra equipes de seres humanos. Enao, nada
mais racional do que observar o ser humano em seu processo decis´orio e comportamental,
para definir estrat´egias sociais a fim de fazer emergir a coopera¸ao entre os robˆos. A maior
inspira¸ao ´e o pr´oprio futebol de humanos, mais precisamente o futsal, cujas regras em
mais semelhan¸cas com as regras da categoria escolhida para ser explorada nesse trabalho,
do que com as regras do futebol de campo.
As solu¸oes encontradas para o futebol de robˆos podem ser estendidas, possibilitando
o uso da rob´otica em locais de dif´ıcil acesso para humanos, ambiente insalubres e situa¸oes
de risco de vida iminente, incluindo a explora¸ao espacial. Nesse sentido, ´e fundamental
dominar o ciclo de desenvolvimento de projeto, pois se prevˆeem que o pa´ıs que ignorar o
conhecimento da constru¸ao e opera¸ao de robˆos autˆonomos estar´a comprometendo sua
capacidade de competi¸ao no mercado globalizado.
Uma vez montadas as equipes, jogos demonstrativos poder˜ao ser realizados em locais
de afluˆencia de p´ublico, tais como feiras, congressos e escolas, objetivando despertar o
interesse das pessoas para a ciˆencia, em especial para a ´area de tecnologia, uma vez que
os jovens ter˜ao a oportunidade de ver, na pr´atica, a aplica¸ao dos conceitos que antes
ficavam restritos aos livros, desconhecendo suas possibilidades de aplica¸ao.
1.2 COMENT
´
ARIOS PRELIMINARES
Baseado no princ´ıpio da coopera¸ao, onde se dividem tarefas entre os envolvidos, podendo
ser especializados em determinadas tarefas, as pesquisas de rob´otica costumam ter como
premissa que projetar, construir e usar diversos robˆos simples pode ser mais acil do que
projetar, construir e usar um ´unico robˆo complexo. Dependendo da quantidade de robˆos
19
utilizados, o custo tamem poder´a ser otimizado. Complementarmente, um grupo de
robˆos ´e mais flex´ıvel e tolerante a falhas, uma vez que um ou mais robˆos podem falhar
sem afetar a conclus˜ao da tarefa.
A aplica¸ao escolhida para ser investigada, o futebol de robˆos, une a paix˜ao nacional
com a pesquisa cient´ıfica. Atualmente, o futebol de robˆos ´e considerado por muitos como
uma paix˜ao tecnol´ogica, aliando a estrat´egia atica (inteligˆencia artificial) com habilidade
t´ecnica (rob´otica) dos jogadores.
´
E importante acrescentar que durante uma partida de
futebol de robˆos, a interferˆencia humana no sistema de controle dos robˆos ´e proibida, ou
seja, os robˆos ao autˆonomos.
Existem diversas categorias de futebol de robˆos, como tamb´em ao arias as enti-
dades que definem as regras para suas determinadas categorias. As diversas categorias
se dividem em dois grupos: robˆos f´ısicos e robˆos simulados. A categoria escolhida para
ser abordada ´e composta de robˆos f´ısicos e ´e chamada de Small Size League f-180 da
Federa¸ao RoboCup.
Na liga RoboCup Small Size f-180, o jogo ´e disputado por equipes compostas de no
aximo 5 robˆos. A percep¸ao visual ´e global e o controle dos robˆos ´e centralizado. Dessa
forma, o sistema de controle dos robˆos (inteligˆencia artificial) ´e externo, recebe os dados
de uma ou mais ameras localizadas acima do campo, processa os dados, determina qual
estrat´egia seguir e, posteriormente, qual comando deve ser executado em cada robˆo. Por
fim, esse comando ´e enviado atraes de radiofreq¨encia aos robˆos.
Os problemas de investiga¸ao contidos no futebol de robˆos cobrem uma ´area mais am-
pla do que aparentam, a que o jogo pode ser visto apenas como uma simples brincadeira.
No entanto, o futebol de robˆos constitui um dom´ınio bem mais complexo. Dentre os
problemas nele explorados, podem ser citados a coordena¸ao, coopera¸ao, comunica¸ao
entre aquinas, aprendizagem, planejamento em tempo real, decis˜ao estrat´egica, atica,
comportamento, vis˜ao, controle, locomo¸ao e sistemas sensoriais.
Para Stone apud Reis (REIS, 2003), os principais perigos das competi¸oes cient´ıficas
est˜ao na obsess˜ao por vencer, especialmente quando prˆemios em dinheiro est˜ao envolvidos,
uma vez que existe um incentivo para manter secretas as ecnicas ”vencedoras” de ano
para ano, sem que o seu desenvolvimento permita avan¸car a ciˆencia em geral. No entanto,
na RoboCup, o desafio cient´ıfico procura diminuir o risco de se esconder as solu¸oes,
incentivando e premiando a publica¸ao cient´ıfica de qualidade. Por exemplo, na categoria
de robˆos simulados, a disponibiliza¸ao do odigo fonte de anos anteriores ´e pr´e-requisito
20
para a inscri¸ao na competi¸ao do ano seguinte.
Para analisar o futebol de robˆos, a Teoria dos Jogos (TJ), que ´e uma teoria matem´atica
que se origina do estudo de jogos, ´e usada em aplica¸oes como uma ferramenta auxili-
adora na compreens˜ao de sistemas complexos. A Teoria dos Jogos estuda, atrav´es de
modelos matem´aticos, a escolha de decis˜oes sob condi¸oes de conflito e ajuda a entender
teoricamente o processo de decis˜ao.
1.3 ORGANIZAC¸
˜
AO DA DISSERTAC¸
˜
AO
A disserta¸ao est´a organizada a fim de permitir um maior entendimento do assunto.
No cap´ıtulo 2 ´e feita uma revis˜ao de literatura sobre as id´eias que ao discutidas ao
longo da disserta¸ao. O cap´ıtulo 3 ´e reservado para a descri¸ao do problema, onde ´e
realizada uma discuss˜ao filos´ofica sobre coopera¸ao, apresentando com mais detalhes o
problema, assim como as premissas e condi¸oes para sua execu¸ao. A solu¸ao proposta
´e o tema do cap´ıtulo 4. No cap´ıtulo 4, as solu¸oes e considera¸oes t´ecnicas ao descritas
detalhadamente. Para validar a solu¸ao proposta, o cap´ıtulo 5 descreve os testes realizados
e seus respectivos resultados. Por fim, as considera¸oes finais da disserta¸ao ao feitas,
bem como perspectivas de sua continua¸ao em trabalhos futuros.
21
2 REVIS
˜
AO DE LITERATURA
Neste cap´ıtulo, o principal objetivo ´e apresentar subs´ıdios para que se possa relacionar
este a outros trabalhos. Assim, ser˜ao descritos os tipos de ve´ıculos autˆonomos e suas
caracter´ısticas. Posteriormente, o foco ser´a a vis˜ao computacional, onde alguns trabalhos
relacionados ao futebol de robˆos ao apresentados. Em seguida, a uma explana¸ao sobre
a coopera¸ao no futebol de robˆos e teoria dos jogos. Por fim, o planejamento de trajet´oria
encerra a revis˜ao de literatura.
2.1 VE
´
ICULOS AUT
ˆ
ONOMOS
Ve´ıculos autˆonomos constituem uma classe de sistemas mecˆanicos que possuem trˆes graus
de liberdade, que ao as coordenadas x, y e a orienta¸ao θ, mas o podem ser controlados
por duas vari´aveis: a velocidade escalar do centro de massa do ve´ıculo e a velocidade
angular do ve´ıculo em torno do centro instananeo de rota¸ao. Os ve´ıculos costumam
ser classificados em ao-holonˆomicos (movimentam-se em qualquer dire¸ao no plano com
a necessidade de manobras) e holonˆomicos (movimenta-se em qualquer dire¸ao no plano
sem a necessidade de manobras).
Dentre os ve´ıculos autˆonomos de trˆes rodas, Campion et. al. (CAMPION ET. AL.,
1996) os classificam em cinco tipos. Vide FIG. 2.1.
Tipo (0,0) - robˆo com trˆes rodas direcion´aveis descentradas;
Tipo (1,0) - robˆo com duas rodas fixas no mesmo eixo e uma roda direcion´avel
descentrada;
Tipo (0,1) - robˆo com uma roda direcion´avel centrada e duas rodas direcion´aveis
descentradas;
Tipo (1,1) - robˆo com duas rodas fixas no mesmo eixo e uma roda direcion´avel
centrada;
Tipo (0,2) - robˆo com duas rodas direcion´aveis centradas e uma roda direcion´avel
descentrada.
22
FIG. 2.1: Classifica¸ao de ve´ıculos autˆonomos (CAMPION ET. AL., 1996).
Figueiredo e Jota (FIGUEIREDO E JOTA, 2004) definem sistemas ao-holonˆomicos
como sistemas com dimens˜ao finita, onde algum tipo de restri¸ao ´e imposta a um ou
mais estados do sistema. Assim, sistemas ao-holonˆomicos p odem ser interpretados como
sistemas ao integr´aveis. A abordagem matem´atica a este tipo de problema ´e realizada
atrav´es de ferramentas da geometria diferencial. Apesar dos movimentos serem limitados
em sistemas ao-holonˆomicos, eles podem atingir qualquer configura¸ao no espa¸co onde
est˜ao definidos (quando control´aveis e ating´ıveis).
Os ve´ıculos ao-holonˆomicos encontrados no futebol de robˆos possuem duas rodas
motoras, ou seja, associadas a motores e uma ro da livre, do tipo castor, para apoio da
estrutura. Assim, com velocidades iguais nas duas rodas motoras, o robˆo desloca-se em
linha reta; para a direita se a velocidade da roda esquerda for maior do que a da roda
direita e vice-versa. Esse tipo de ve´ıculo ´e chamado de ve´ıculo de trao diferencial. Para
maiores detalhes sobre robˆos ao-holonˆomicos no futebol de robˆos consultar (INDIVERI,
2001) (JONG-HWAN ET. AL., 1998).
Ao contr´ario dos robˆos ao-holonˆomicos, nos robˆos holonˆomicos a omnidirecionali-
dade de um robˆo prov´em da sua capacidade de movimentar-se em qualquer dire¸ao no
plano, sem a necessidade de rotacionar no pr´oprio eixo. A equipe da Universidade de
Cornell (D’ANDREA, 2005), dos Estados Unidos, introduziu em 2000 a utiliza¸ao de
robˆos holonˆomicos no futebol de robˆos. A movimenta¸ao omnidirecional resulta em maior
facilidade de deslocamento, bem como maior agilidade.
A omnidirecionalidade ´e obtida atrav´es do controle individual das rodas, onde cada
23
FIG. 2.2: Distribui¸ao de rodas omnidirecionais em robˆos holonˆomicos (ASHMORE AND
BARNES, 2002).
FIG. 2.3: Rodas omnidirecionais da equipe Cornell Big Red 2002 (esquerda) e 2003 (di-
reita) (PURWIN AND D’ANDREA, 2003).
robˆo possui um n´umero de rodas maior ou igual a 3 (FIG. 2.2), e cada uma delas possui
um motor associado. Assim, pela combina¸ao vetorial da for¸ca aplicada por cada roda,
comp˜oe-se um vetor velocidade resultante e uma velocidade angular. Por´em, para pro-
porcionar ao robˆo movimenta¸ao omnidirecional, ´e necess´ario rodas omnidirecionais (com
dois graus de liberdade). Para Ribeiro (RIBEIRO, 2005), rodas omnidirecionais (FIG.
2.3) ao rodas especiais que possuem rolamentos passivos transversais ao eixo de rota¸ao
normal da roda, assim, permitindo que a roda ao ofere¸ca resistˆencia a uma desloca¸ao
na dire¸ao definida pelo seu eixo de rota¸ao associado a um motor.
Um estudo detalhado sobre os modelos cinem´aticos e dinˆamicos de robˆos do tip o ao-
holonˆomicos ´e apresentado em (HONDA, 2002) e (ROSA E APOLIN
´
ARIO, 2005). Os
modelos cinem´aticos e dinˆamicos de robˆos ao holonˆomicos ao encontrados em (ASH-
MORE AND BARNES, 2002) e (CARTER ET. AL., 2001).
Atualmente, arias equipes da categoria RoboCup f-180 a possuem, incorporado
24
FIG. 2.4: Robˆo da equipe Wingers da Universidade de Buffalo na categoria RoboCup
f-180 (UB ROBOTICS, 2006).
ao robˆo, um dispositivo mecˆanico conhecido como ”driblador” (UB ROBOTICS, 2006)
(D’ANDREA, 2005) (MART
´
INEZ-G
´
OMEZ ET. AL., 2005). O ”driblador” consiste de
um cilindro girat´orio na qual sua rota¸ao para tr´as permite que o robˆo caminhe com a b ola,
mantendo-a em contato com sua superf´ıcie. Na FIG. 2.4, pode-se observar o ”driblador”
posicionado na frente do robˆo.
Al´em do ”driblador”, os robˆos atuais de arias equipes p ossuem dispositivo de chute
e algumas, dispositivo de passe. Note a diferen¸ca: em um dispositivo de chute, ao a
tanta preocupa¸ao quanto a for¸ca aplicada `a bola; a no passe, a for¸ca deve possuir um
controle diferencial para fazer o dispositivo funcionar com precis˜ao.
´
E imp ortante frisar
que, cada dispositivo a mais presente nos robˆos acarreta maior custo no desenvolvimento
deles.
Nos ´ultimos anos as principais competi¸oes internacionais foram compostas basica-
mente por equipes de robˆos holonˆomicos. Uma constata¸ao de que esses tipos de robˆo
apresentam-se mais adequados `a aplica¸ao de futebol de robˆos, ´e que os atuais campoes
dos mais importantes campeonatos mundiais ao equipes formadas por robˆos holonˆomicos.
Para o desenvolvimento dos robˆos da equipe do IME, algumas premissas devem ser
obedecidas: i) os robˆos devem ter dimens˜oes e caracter´ısticas f´ısicas de acordo com as
regras da RoboCup f-180 ii) o robˆo deve ser projetado de maneira que possa ser utilizado
em outras aplica¸oes, al´em do futebol de robˆos; iii) as pcas devem ser de acil reposi¸ao
e disponibilidade; iv) o custo de montagem e manuten¸ao dos robˆos deve ser baixo.
25
FIG. 2.5: Passos fundamentais em processamento de imagens digitais, adaptado de (GON-
ZALEZ, 1992).
2.2 VIS
˜
AO COMPUTACIONAL
O objetivo da Vis˜ao Computacional ´e a determina¸ao de caracter´ısticas dos objetos con-
tidos em imagens digitalizadas. No modelo cl´assico de Marr (MARR, 1982), a vis˜ao ´e
dividida em odulos de baixo n´ıvel, n´ıvel intermedi´ario e alto n´ıvel.
Nos m´etodos de baixo n´ıvel, a pouco conhecimento do conte´udo da imagem. Como
exemplo dos m´etodos de baixo n´ıvel est˜ao os filtros de elimina¸ao de ru´ıdos, detec¸ao
de bordas, melhoramento de contraste etc, que resultam no particionamento da imagem
em partes significativas, as quais correspondem `as linhas ou objetos existentes nesta cena.
Nos etodos de n´ıvel intermedi´ario ´e feita a an´alise das caracter´ısticas dos objetos a partir
do processamento de baixo n´ıvel, produzindo dados simb´olicos. No pro cessamento de alto
n´ıvel ´e comum a utiliza¸ao de IA.
´
E onde ocorre a interpreta¸ao final da cena, o reconhe-
cimento dos objetos e a an´alise das estruturas relacionais. Assim, ´e necess´ario um modelo
formal de mundo para que as percep¸oes (imagens digitalizadas) sejam comparadas com
esse modelo. Por exemplo, um modelo de um carro pode possuir as descri¸oes das rodas,
portas, etc., e as restri¸oes descrevendo seus relacionamentos (MOLZ ET. AL., 2001).
Gonzalez (GONZALEZ, 1992) divide o processo de processamento de imagens em 4
passos fundamentais a partir da aquisi¸ao da imagem. Vide FIG. 2.5.
Aquisi¸ao de imagens ´e adquirir uma imagem digital a partir do dom´ınio do pro-
blema.
Pr´e-processamento ´e utilizado para melhorar a imagem a fim de maximizar os
resultados do sistema, para isso utilizam-se filtros para remover ru´ıdos, convers˜ao entre
espa¸cos de cores, ajuste de contraste, brilho, etc.
Segmenta¸ao divide uma imagem de entrada em partes ou objetos constituintes.
Representa¸ao ´e a convers˜ao dos dados iniciais em uma estrutura adequada para o
26
processamento posterior e a descri¸ao procura extrair as caracter´ısticas relevantes para
a diferencia¸ao dos objetos.
Reconhecimento ´e o processo que atribui identificadores aos objetos e a inter-
preta¸ao atribui um significado aos objetos reconhecidos.
Diversas institui¸oes em proposto e implementado sistemas de vis˜ao para o futebol de
robˆos. No entanto, parte desses sistemas baseia-se em hardware especializados com alto
custo de aquisi¸ao. Assim, ´e motivado o desenvolvimento de um software pr´oprio. Al´em
do mais, o desenvolvimento de um sistema de vis˜ao computacional poder´a possibilitar sua
extens˜ao na utiliza¸ao em outros projetos do IME.
As caracter´ısticas desej´aveis para uma solu¸ao no futebol de robˆos ´e pouca com-
puta¸ao (que atenda `as restri¸oes temporais) e acur´acia elevada. Todavia, a rela¸ao
entre computa¸ao e acur´acia tende a ser inversamente proporcional. Nesse contexto,
faz-se necess´ario encontrar uma melhor rela¸ao custo-benef´ıcio entre as vari´aveis supra
citadas. Para isso, ´e preciso levar em considera¸ao a taxa de aquisi¸ao de imagens e,
conseq¨uentemente, a quantidade de quadros processados. Uma maior taxa de aquisi¸ao
de imagens gera menos saltos. Em contrapartida, ´e necess´ario um sistema de baixo custo
computacional.
Algumas equip es de futebol de robˆos a est˜ao trabalhando com uma taxa de aquisi¸ao
de aproximadamente 60fps (LOOMIS ET. AL., 2003) (BALL ET. AL., 2004) (MART
´
INEZ-
G
´
OMEZ AND WEITZENFELD, 2004), embora a maioria das equipes possua taxa de
aquisi¸ao de aproximadamente 30fps (ZICKLER, 2005); a a Funda¸ao Universidade Fede-
ral do Rio Grande (FURG), atual bicampe˜a brasileira e vice-campa latino-americana da
RoboCup f-180, trabalha com uma taxa de aquisi¸ao de aproximadamente 15fps (COSTA
ET. AL., 2003).
Nesse sentido, trabalhos recentes relacionados ao futebol de robˆos utilizam espa¸cos de
cores distintos para representar a imagem digital e filtros durante o pr´e-processamento
(BALL ET. AL., 2004) (JAMZAD ET. AL., 2001) (MART
´
INEZ-G
´
OMEZ AND WEITZEN-
FELD, 2004) (NEVES ET. AL., 2004) (LOOMIS ET. AL., 2003). A grande maioria dos
hardwares (cˆamera e placa de captura) capturam as imagens e trabalham no espa¸co
RGB. Entretanto, como ser´a exposto no cap´ıtulo 4, o espa¸co RGB ´e muito sens´ıvel `as
diferen¸cas de luminosidade do ambiente. Contudo, a possibilidade de sucesso ao utilizar
o espa¸co RGB ´e motivado nesse trabalho, uma vez que deve ser considerado o tempo
de convers˜ao RGB em outros espa¸cos de cores. Quanto aos filtros, muitas vezes eles po-
27
FIG. 2.6: Exemplos comuns de superf´ıcie na RoboCup f-180, adaptado de (BRUCE AND
VELOSO, 2003).
dem ser desnecess´arios, caso um espa¸co de cor apropriado seja adotado em determinadas
aplica¸oes.
Embora a preocupa¸ao computa¸ao-acur´acia seja importante, ela ao ´e a ´unica. O
sistema de vis˜ao para o futebol de robˆos deve ser de acil calibra¸ao, a que essa etapa ´e
realizada apenas minutos antes da partida come¸car. Calibra¸ao ´e o ajuste de parˆametros
para que o sistema possa adaptar-se `a ilumina¸ao do ambiente para reconhecer as cores e
localizar objetos.
Em rela¸ao ao que a amera captura do robˆo, a fim de se determinar sua pose
(posi¸ao e orienta¸ao), diversas combina¸oes (aceit´aveis dentro das regras) foram pro-
postas nos ´ultimos anos. No cap´ıtulo 3 ser˜ao expostas as restri¸oes visuais do robˆo. Em
(BRUCE AND VELOSO, 2003) ´e apresentado um estudo sobre identifica¸oes utilizadas
na RoboCup f-180 e os exemplos mais comuns adotados ao o borboleta, simples, linear
e o triangular (FIG. 2.6). Nesse mesmo trabalho, Bruce e Veloso fazem um teste padr˜ao
comparando o erro posicional e angular desses modelos. Vide FIG. 2.7.
O teste padr˜ao estimou com maior exatid˜ao a posi¸ao do modelo Borboleta, seguido
pelo triangular e linear com acur´acia um pouco menor. Para o erro angular, o teste
padr˜ao mostrou o modelo b orboleta com o erro mais baixo novamente, seguido de perto
pelo triangular. Os modelos borboleta e triangular se mostraram mais eficientes, o que
motiva a utiliza¸ao de um deles.
2.3 COOPERAC¸
˜
AO
Projetar robˆos para trabalharem juntos ao ´e uma tarefa trivial. Muitas perguntas re-
manescem na coopera¸ao multi-robˆo. Alguns questionamentos ao feitos por Vail e Veloso
(VAIL AND VELOSO, 2003): Como deve um grupo dos robˆos dividir tarefas entre seus
membros? Uma vez que os pap´eis foram atribu´ıdos aos robˆos, como se posicionarem para
28
FIG. 2.7: Compara¸ao do erro posicional e angular de diferentes mo delos (BRUCE AND
VELOSO, 2003).
cumprir seus pap´eis sem interferir com seus companheiros de time? O que acontece se um
robˆo falhar ou se o ambiente mudar de modo que um robˆo diferente seja mais apropriado
para a tarefa?
Nos trabalhos em que o dom´ınio da aplica¸ao ´e o futebol de robˆos, ´e comum a id´eia de
se distribuir pap´eis, dinamicamente, entre os membros da equipe (SPAAN AND GROEN,
2002). Este tipo de modelo em um ambiente cooperativo necessita de que todos os mem-
bros tenham caracter´ısticas em comum, ao havendo especializa¸ao entre eles. Adicional-
mente, ´e comum a ado¸ao de objetivos globais e locais em trabalhos rob´oticos cooperativos
(PEREIRA E ROSA, 2001) (ROSA ET. AL., 2004).
Trabalhos recentes relacionados ao futebol de robˆos utilizam odulos em erie (CAO
ET. AL., 2004) (LIMA ET. AL., 2004) (RUIZ-DEL-SOLAR ET. AL., 2004) (BUCH-
HEIM ET. AL., 2004) (CHALUP ET. AL., 2003). Esse tipo de modelo necessita sempre
processar todos os odulos sequencialmente em cada itera¸ao.
Vail e Veloso (VAIL AND VELOSO, 2003) apresentam uma estrutura para a atribui¸ao
de tarefas e coordena¸ao para um grupo dos robˆos em um dom´ınio de futebol de robˆos.
Ainda acrescentam que, embora durante os jogos pode-se claramente observar a coor-
dena¸ao bem sucedida de ultiplos robˆos, ´e dif´ıcil quantificar o valor deste componente
espec´ıfico.
29
2.4 TEORIA DOS JOGOS
A Teoria dos Jogos (TJ) ´e um m´etodo da Teoria da Decis˜ao e desde a publica¸ao de Theory
of Games and Economic Behaviour (VON NEUMANN AND MORGENSTERN, 1944),
lan¸cando os fundamentos desse etodo, a Teoria dos Jogos (TJ) vem sendo aplicada em
diversas ´areas.
Shi e Littman (SHI AND LITTMAN, 2002) apresentam em Abstraction methods for
game theoretic poker a TJ utilizada para a tomada de decis˜ao no oquer, tradicional jogo
de cartas. A TJ tamb´em ´e aplicada em muitos outros jogos, por exemplo, xadrez (SHAN-
NON, 1950) (ANANTHARAMAN, 1990), damas (SAMUEL, 1967), go (MULLER, 1993),
gam˜ao, jogos de tabuleiro, entre outros. Entretanto, nesses jogos, geralmente, o tipo de
movimenta¸ao ´e seq¨uencial. a no futebol de robˆos, a movimenta¸ao ´e simultˆanea, o que
muda o enfoque de estudo. A TJ tamb´em costuma ser aplicada na pol´ıtica de governo,
na an´alise militar (estrat´egica e atica), biologia, etc.
Em sistemas inteligentes, o uso da TJ para direcionar o aprendizado de agentes ´e inte-
ressante (VIDAL, 2003). Contudo, a TJ ainda ´e pouco aplicada ao futebol de robˆos, sendo
esse um jogo. Entretanto, recentemente, em Game Theoretic Control for Robot Teams
(EMERY-MONTEMERLO ET. AL., 2005) a TJ foi adotada para modelar um problema
de Partially observable stochastic games (POSGs), que ´e uma tarefa fortemente acoplada,
para o controle de times rob´oticos. A coopera¸ao entre os robˆos de uma mesma equipe,
no futebol de robˆos, tamb´em ´e uma tarefa fortemente acoplada (descrita posteriormente).
Todavia, Emery-Montemerlo et. al. aplicam a TJ em uma aplica¸ao descentralizada. Em
contrapartida, a categoria do futebol de robˆos adotada para valida¸ao desse trabalho ´e
centralizada. Assim, ´e motivada a utiliza¸ao da TJ para melhor compreender as rela¸oes
existentes e os tipos de jogos envolvidos no futebol de robˆos.
2.5 PLANEJAMENTO DE TRAJET
´
ORIAS
Para Jensen et. al. (JENSEN ET. AL., 2003), o maior desafio na navega¸ao dos robˆos
est´a em representar o ambiente de forma compacta. Existem arios m´etodos para resolver
problemas gerais de planejamento de trajet´orias. Entretanto, os etodos ao baseados
em algumas ecnicas gerais. As trˆes principais abordagens utilizadas pelas t´ecnicas de
navega¸ao de robˆos oveis autˆonomos ao: roadmaps, decomposi¸ao de c´elulas e campo
potencial.
30
FIG. 2.8: Grafo de visibilidade (LATOMBE, 1991).
FIG. 2.9: Diagrama de Voronoi (LATOMBE, 1991).
2.5.1 ROADMAP
O roadmap consiste em representar a conectividade das informa¸oes ambientais do espa¸co
livre em um grafo. Uma vez constru´ıdo o grafo, o planejamento de trajet´oria ´e calculado
a partir da posi¸ao inicial e final do robˆo. O problema dessa abordagem est´a no fato de,
geralmente, os grafos ao fornecerem uma boa forma de representa¸ao das informa¸oes
do ambiente.
Diversos etodos com diferentes tipos de roadmaps foram propostos. Por exemplo,
dois etodos bastante utilizados ao: grafo de visibilididade (FIG. 2.8) e diagrama de
Voronoi (FIG. 2.9).
´
E interessante acrescentar que ao ´e comum o uso de roadmaps no
futebol de robˆos.
31
FIG. 2.10: Espa¸co livre decomposto de forma exata em um conjunto de c´elulas poligonais
(LATOMBE, 1991).
2.5.2 DECOMPOSIC¸
˜
AO EM C
´
ELULAS
O etodo de decomposi¸ao em c´elulas consiste em representar o ambiente por meio de
c´elulas. Um grafo ao-dirigido representa a rela¸ao de adjacˆencia entre as elulas. O
v´ertices do grafo ao elulas do espa¸co livre do robˆo. A trajet´oria planejada pela decom-
posi¸ao em c´elulas ´e uma seq¨encia de elulas.
Dividem-se os etodos de decomposi¸ao em c´elulas em exatos e aproximados (OTTONI
E LAGES, 2003). Os m´etodos exatos decomp˜oem o espa¸co em um conjunto de c´elulas no
qual a uni˜ao cobre o espa¸co livre (FIG. 2.10). Os m´etodos aproximados dividem o espa¸co
em um conjunto de elulas de forma predefinida cuja uni˜ao est´a estritamente contida no
espa¸co livre (FIG. 2.11).
Para maiores informa¸oes de artigos de futebol de robˆos relaciodos `a decomposi¸ao
em c´elulas, consulte (NEVES ET. AL., 2004) (THOMAS ET. AL., 2003) (BRACHO ET.
AL., 2001).
2.5.3 CAMPO POTENCIAL ARTIFICIAL
Os m´etodos de campos potenciais artificiais ao muito populares entre os pesquisadores
de Rob´otica e ao comumente adotados no futebol de robˆos (NAGASAKA ET. AL., 2001)
(MEYER ET. AL., 2003). O princ´ıpio asico do camp o potencial est´a em movimentar
um robˆo sob um campo de for¸cas artificiais geradas pelos obst´aculos e pelo alvo (FIG.
2.12).
32
FIG. 2.11: Decomposi¸ao aproximada em c´elulas (OTTONI E LAGES, 2003).
FIG. 2.12: Exemplo de planejamento de trajet´oria utilizando campo potencial artificial
(PACHECO E COSTA, 2002).
33
O campo potencial pode ser bastante eficiente, se comparado a outros m´etodos. No
entanto, o problema mais conhecido da abordagem por campo potencial ´e a possibilidade
de convergˆencia do movimento para regi˜oes em estado de potencial m´ınimo local. Os
m´ınimos locais podem ser constitu´ıdos em diversos formatos. O mais conhecido m´ınimo
local ´e o de formato de U. Contudo, a diversas heur´ısticas propostas para solucionar o
problema dos m´ınimos locais e pelo fato do futebol de robˆos ser uma aplica¸ao extrema-
mente dinˆamica, acredita-se que seja adequado o uso do m´etodo de campo potencial
artificial.
34
3 DESCRIC¸
˜
AO DO PROBLEMA
Neste cap´ıtulo, para que se melhor compreenda as rela¸oes envolvidas no futebol de
robˆos, ´e descrito o processo social entre humanos, bem como as rela¸oes necess´arias para
que isso ocorra. Em seguida, o problema da tomada de decis˜ao e dos jogos ao apresen-
tados. Posteriormente, o problema do futebol de robˆos ´e exposto.
3.1 COOPERAC¸
˜
AO
”A cooperao entre os homens e o respeito `a vida
far˜ao deste, o melhor dos mundos.”
(Autor Desconhecido)
Nos estudos da IA, focam-se os objetivos na tentativa de construir uma aquina
que exiba comportamento inteligente, igual ou superior ao do ser humano. Para isso, ´e
necess´ario compreender como se desenvolve a inteligˆencia humana.
Segundo Piaget apud (BEHAR E COSTA, 1996), a inteligˆencia humana se desenvolve,
desde a sua origem, como processo interpessoal e, a capacidade de agir voluntariamente,
controlando o meio f´ısico. Um ambiente individualista, se comparado `a organiza¸ao co-
operativa (que favorece o estabelecimento de rela¸oes entre os indiv´ıduos), ao propicia
bons resultados em rela¸ao ao n´ıvel de rendimento e produtividade dos sujeitos envolvidos
neste tipo de processo.
Vygotsky apud (FREITAS, 1995) compreende que o sujeito ao se constitui a partir
de fenˆomenos internos e nem se reduz a um mero reflexo passivo do meio. Para ele, o
sujeito se constitui na rela¸ao.
Para Skinner (SKINNER, 1979), o comportamento social pode ser definido como o
comportamento de duas ou mais pessoas em rela¸ao a uma outra ou em conjunto em
rela¸ao ao ambiente comum. Skinner ainda acrescenta que o comportamento social surge
porque um organismo ´e importante para outro como parte de seu ambiente. Por isso, no
trabalho cooperativo existe uma coopera¸ao m´utua entre participantes.
Como foi visto acima, trˆes grandes nomes da psicologia, apesar de divergirem em
diversas ´areas, ao unˆanimes em reconhecer que uma boa organiza¸ao social ´e primordial
35
para a obten¸ao de resultados favor´aveis. Isso porque o comportamento social est´a nas
rela¸oes entre indiv´ıduos ou entre indiv´ıduos/ambiente.
Diante da necessidade de exprimir comportamento social, ´e preciso entender o processo
de constru¸ao da inteligˆencia coletiva. A base e o objetivo da inteligˆencia coletiva ao o
reconhecimento e o enriquecimento m´utuos dos agentes. A express˜ao ”inteligˆencia cole-
tiva” foi usada originalmente no contexto de sistemas rob´oticos celulares para descrever
a auto-organiza¸ao de agentes mecˆanicos simples atraes da intera¸ao com proximidade
dos vizinhos. Bonabeau et. al. (BONABEAU ET. AL., 1999) estenderam essa defini¸ao
incluindo que a inteligˆencia coletiva ´e ”toda a tentativa de projetar algoritmos ou disposi-
tivos resolvendo problemas distribu´ıdos inspirado pelo comportamento coletivo de colˆonias
sociais de inseto e de outras sociedades animais”. A inspira¸ao da inteligˆencia coletiva ´e
biol´ogica e engloba colˆonias de insetos (formigas, cupins, etc), bando de assaros, cardume
de peixes e at´e a sociedade humana.
Baseando-se nas id´eias de Piaget, se aplicadas `a rob´otica, diversas tarefas poder˜ao
ser executadas com mais eficiˆencia e robustez usando ultiplos robˆos (PARKER, 2000).
Por exemplo, Fierro et. al. (FIERRO ET. AL., 2002) trabalharam em dois geradores
de trajet´orias simples derivados da teoria do campo potencial. O primeiro, onde cada
robˆo funciona como seu pr´oprio controlador de trajet´orias, permite que cada robˆo planeje
sua trajet´oria de referˆencia baseado na informa¸ao disp on´ıvel a ele. O segundo esquema
requer informa¸ao compartilhada e permitiu uma forma¸ao r´ıgida do grupo, al´em de os
robˆos poderem negociar os obst´aculos, evitar colis˜oes e manter a forma¸ao.
Para Kube e Bonabeau (KUBE AND BONABEAU, 1998), determinados agentes po-
dem se tornar especializados na realiza¸ao de certas tarefas, tornando o trabalho coope-
rativo ainda mais eficiente, al´em de aumentar as possibilidades de novas tarefas. Como
exemplo disso, ´e tra¸cado um paralelo entre formigas e robˆos. No trabalho cooperativo
das formigas, quando uma ´unica formiga encontra um alimento, tenta movˆe-lo sozinha;
quando bem sucedida, a formiga leva o alimento para o formigueiro. Quando mal suce-
dida (ap´os diversas tentativas de reposicionamento mal sucedidas), ao recrutadas mais
formigas. Se, ap´os arias tentativas, as formigas forem incapazes de mover o alimento, as
trabalhadoras especializadas, com mand´ıbulas grandes, podem ser recrutadas para cort´a-
lo em partes menores. Diante disso, as solu¸oes ao ao pr´e-definidas, mas emergem para,
por exemplo, encontrar uma trajet´oria para o sistema e seu ambiente, de modo que os
estados do sistema e do ambiente constituam a solu¸ao do problema.
36
Para modelar o comportamento social cooperativo ´e primordial entender seu funciona-
mento. L´evy (L
´
EVY, 2003) ao e a inteligˆencia coletiva como um conceito exclusiva-
mente cognitivo. Para ele a inteligˆencia deve ser compreendida no sentido de ”trabal-
har em comum acordo”. Trata-se de uma abordagem de car´ater bem geral da vida em
sociedade e de seu poss´ıvel futuro. Nesse contexto, (DE-FARIAS, 2005) diz que o com-
portamento ´e uma situa¸ao na qual a emiss˜ao e/ou o refor¸co do comportamento de um
organismo depende, ao menos parcialmente, do comportamento de outro(s) indiv´ıduo(s).
No entanto os organismos, muitas vezes, podem optar por um trabalho individual.
Desta forma, nas intera¸oes sociais que se destinam `a execu¸ao de tarefas, rela¸oes
cooperativas e competitivas entre os indiv´ıduos ao observadas. As rela¸oes cooperativas
ao caracterizadas pelo ”refor¸co m´utuo”, de modo que todos os indiv´ıduos recebem re-
for¸cos se o desempenho do grupo atingir um crit´erio espec´ıfico. Os refor¸cos podem ser
liberados de forma eq¨uitativa ou ao-eq¨uitativa entre os membros do grupo. Em rela¸oes
competitivas, a distribui¸ao de refor¸cos ´e desigual e excludente, dependendo do desem-
penho relativo dos indiv´ıduos, isto ´e, a libera¸ao de refor¸cos para um indiv´ıduo limita ou
mesmo anula a obten¸ao de refor¸cos pelos demais indiv´ıduos.
Quando necess´ario, os robˆos devem ser coordenados para a execu¸ao de tarefas co-
operativas. Durante a coopera¸ao, as oes de cada robˆo necessitam ser especificadas
levando em considera¸ao as propriedades e habilidades deles, as caracter´ısticas da tarefa,
caracter´ısticas do ambiente, etc.
O comportamento dos robˆos ´e determinado de acordo com as diferentes tarefas. As
tarefas fortemente acopladas ao aquelas que ao podem ser executadas por um ´unico
robˆo; desta forma, requer um grupo de robˆos trabalhando cooperativamente para realiz´a-
la. Por outro lado, as tarefas fracamente acopladas podem ser realizadas por um ´unico
robˆo (PARKER ET. AL., 2004); no entanto, muitas vezes quanto mais robˆos auxiliam
cooperativamente na execu¸ao desse tipo de tarefa, o desempenho aumenta.
Muito embora a so ciedade de seres humanos tenha um objetivo comum, os indiv´ıduos
podem possuir objetivos individuais distintos. Por exemplo, em uma na¸ao, cujos mem-
bros, ainda que ao necessariamente com a mesma origem, l´ıngua, religi˜ao ou ra¸ca, respei-
tam institui¸oes (leis, constitui¸ao, governo). Assim, os robˆos, cada qual com sua pr´opria
caracter´ıstica (objetivo local), para trabalhar de forma cooperativa (objetivo global) ao
levados a ”refletir” sobre o ”pensamento” dos outros. Surge, enao, a necessidade de
modelar conceitos de democracia no sistema.
37
Para (L
´
EVY, 2003) o ideal da democracia ao ´e a elei¸ao de representantes, mas
a maior participa¸ao dos indiv´ıuos da sociedade. O voto ´e um processo de regula¸ao
social que possui apenas efeitos quantitativos, ocultando poss´ıveis nuances de opini˜oes
(solu¸oes). As pesquisas de opini˜ao funcionam, por alto, seguindo os mesmos princ´ıpios
da vota¸ao: o entrevistado deve responder isoladamente ”sim” ou ”n˜ao” a quest˜oes sim-
plistas postas por outros, e suas respostas o tˆem efeito estat´ıstico. Um dispositivo de
democracia direta permitiria a cada indiv´ıduo contribuir de maneira cont´ınua para a ela-
bora¸ao e o aperfei¸coamento de solu¸ao para problemas comuns. Os cidad˜aos desenhariam
juntos uma paisagem qualitativamente ao variada quanto quisessem, sem ficar limitados
de sa´ıda, como acontece em um sistema de vota¸ao. Com isso, cada um teria uma identi-
dade e um papel absolutamente singulares e diferentes dos de outros cidad˜aos, conservando
a possibilidade de concordar com os que, sobre este ou aquele assunto, em determinado
momento, possuem posi¸oes pr´oximas ou complementares. Mas quando se trata de comu-
nidades, a no¸ao de tempo real ao tem a mesma escala que os tratamentos da informa¸ao.
Os grupos aprendem mais lentamente que os indiv´ıduos. O aprendizado coletivo demora
tamb´em porque oe em jogo intera¸oes e negocia¸oes entre seres autˆonomos, capazes de
dizer ao, cada um dos quais situados no centro de um mundo. O que inviabiliza a
democracia direta em ambientes competitivos de tempo real.
Contudo, dar coletividade no sentido de comportamento social cooperativo, quando
necess´ario, de forma democr´atica em tempo real ´e o que est´a em jogo.
3.2 TOMADA DE DECIS
˜
AO
´
E acil decidir o que fazer.
O dif´ıcil ´e decidir o que ao fazer.”
(Michael Dell)
Qual ´e o processo ogico que faz com que um ser racional manifeste preferˆencia por
algo entre dois ou mais objetos? Ou ainda por algu´em entre duas ou mais pessoas?
Costuma-se classificar em trˆes tip os de escolhas (B
ˆ
ERNI, 2004). A primeira escolha
ocorre eminentemente de forma individual. O segundo tipo de escolha ao dependente
unicamente da ao individual, uma vez que a outro ser envolvido no processo decis´orio.
Tamb´em ´e comumente chamada de escolha interativa. O terceiro tipo de escolha ao as
38
interoes sociais mais amplas do que dois indiv´ıduos. O presente trabalho se interessa
na investiga¸ao do segundo e terceiro tipo de escolhas.
Na escolha interativa e nas interoes sociais, um jogador necessita compreender as
raz˜oes do comportamento de terceiros para definir seu pr´oprio comportamento. Para se
tomar uma decis˜ao, ´e necess´ario levantar informa¸oes, process´a-las e o enao decidir o
que fazer. As t´ecnicas decis´orias variam desde o simples ”vou fazer o que der na telha”,
passando pela chamada aritm´etica da prudˆencia, chegando, nos dias que correm, at´e os
mais variados usos da IA (B
ˆ
ERNI, 2004).
Atualmente, a teoria da decis˜ao ´e um ramo bem estabelecido do conhecimento humano,
sendo que a TJ ´e apenas uma das formas poss´ıveis de se estudar o processo decis´orio.
3.3 TEORIA DOS JOGOS (TJ)
”Podemos ser mais astutos que o outro, nunca,
por´em, mais que todos os outros.”
(Duque De La Rochefoucauld)
A TJ estuda problemas de intera¸ao estrat´egica entre agentes, buscando formalizar
matematicamente o processo de racioc´ınio das oes dos jogadores (agentes) que reconhe-
cem sua intera¸ao m´utua. Isso significa que na TJ existem regras preestabelecidas para
apresentar e estudar um jogo, o que ´e fundamental para a compreens˜ao da teoria.
Jogos ao situa¸oes que envolvem intera¸oes entre jogadores (agentes racionais), que
tˆem autonomia para tomar decis˜oes, comportando-se estrategicamente.
Um agente ´e simplesmente algo que age (a palavra agente vem do latino agere, que sig-
nifica fazer). No entanto, espera-se que um agente computacional tenha outros atributos
que possam distingui-lo de meros ”programas”, tais como operar sob controle autˆonomo,
perceber seu ambiente, persistir por per´ıodo de tempo prolongado, adaptar-se a mudan¸cas
e ser capaz de assumir metas de outros. Um agente racional ´e aquele que age para al-
can¸car o melhor resultado ou, quando a incerteza, o melhor resultado esperado (RUSSEL
E NORVIG, 2004).
A TJ trata qualquer ambiente multiagente como um jogo, desde que as oes de cada
agente sobre os outros seja relevante, sem se preocupar se os agentes ao cooperativos ou
competitivos.
39
SMA ´e uma sub-´area da IAD com forte car´ater interdisciplinar (psicologia social,
computa¸ao, sociologia, filosofia, ogica matem´atica). Em um ambiente multiagente, as
oes de outros agentes devem ser considerados por um dado agente a fim de analisar
como essas oes afetam seu pr´oprio bem-estar. Por´em, os outros agentes, atraes da sua
imprevisibilidade, podem introduzir um leque muito grande de estrat´egias poss´ıveis no
processo de resolu¸ao de problemas do agente.
3.3.1 TIPOS DE JOGOS
Faz-se necess´ario conhecer os arios tipos de jogos e quais ao os elementos fundamentais
que devem fazer parte deles, para que enao seja poss´ıvel analis´a-los com mais eficiˆencia.
Uma modelagem inadequada pode levar a recomenda¸oes equivocadas sobre que estrat´egia
adotar para obter os melhores resultados. erni (B
ˆ
ERNI, 2004) classifica os jogos em:
Jogos de Estrat´egia - jogos onde a ao ´e necess´aria ser planejada estrategicamente.
Jogos de Azar - jogos onde o puro acaso influencia o resultado.
Os jogos de estrat´egias, foco deste trabalho, ao classificados em:
Soma Zero - significa que a recompensa que um jogador ganha ´e exatamente o que o
outro perde. Havendo empate, nenhum ganha e nem mesmo perde. Assim, a soma
dos resultados ´e zero.
Soma ao-Zero - os jogadores podem sair ganhando ou perdendo, ou seja, a soma
pode ser positiva ou negativa. ao exatamente nesses jogos que podem surgir a
coopera¸ao, visto que a rivalidade ao ´e direta.
Diante dos jogos de Soma ao-Zero, aparece uma nova classifica¸ao:
Jogos Cooperativos - os jogadores ao estimulados a adotar oes que retornam boas
recompensas a todos os envolvidos.
Jogos ao-Cooperativos - a postura ao cooperativa procura oes que reduzam as
recompensas dos demais envolvidos (competi¸ao).
Em rela¸ao `a quantidade de intera¸oes, os jogos podem ser:
Est´aticos - quando a apenas uma ocasi˜ao de intera¸ao estrat´egica entre os jo-
gadores.
40
Dinˆamicos - quando a intera¸ao estrat´egica acontece mais de uma vez.
A ordem de movimenta¸ao ´e classificada como segue:
Simultˆanea - as escolhas devem ser realizadas ao mesmo tempo entre os jogadores,
ignorando as decis˜oes dos demais no momento em que toma sua pr´opria decis˜ao.
ao a preocupa¸ao com conseq¨uˆencias futuras das escolhas.
Seq¨uencial - a uma ordem predeterminada de movimenta¸ao entre os jogadores.
Quanto ao conte´udo informacional, os jogos podem ser:
Completos - os jogadores possuem toda a informa¸ao relevante para definir sua ao.
Incompletos - as caracter´ısticas dos jogadores ao ao de conhecimento comum,
tendo conseq¨uˆencias sobre as recompensas dos jogadores.
As informa¸oes (completas ou incompletas) ao divididas em:
Perfeita - os jogadores sabem todo o hist´orico do jogo antes de definir sua ao.
Imperfeita - os jogadores ao conhecem o hist´orico do jogo antes de definir sua ao.
No entanto, diferentes processos de intera¸ao demandam diferentes representa¸oes.
Segundo erni (B
ˆ
ERNI, 2004), quaisquer jogos podem ser representados por dois modelos
asicos, ao eles: Forma Normal e Forma Estendida.
A forma mais simples e comum de representar um jogo simultˆaneo ´e pela forma normal.
A forma normal fornece os resultados de todas as combina¸oes poss´ıveis de oes dos
jogadores, bem como as recompensas em fun¸ao de suas escolhas e das escolhas dos
demais jogadores. A forma normal ´e constitu´ıda por uma tabela. As linhas da tabela
representam as poss´ıveis oes do jogador A e as colunas as poss´ıveis oes do jogador B.
A interse¸ao linha/colunas informa o ganho resultante das respectivas oes dos jogadores
A e B.
Com a modelagem de um jogo na forma normal, cada jogador ignora a decis˜ao do
outro, ao tomar sua decis˜ao. Diante disso, para (FIANI, 2004), nada indica que os dois
jogadores consideram poss´ıveis desdobramentos no tempo de suas decis˜oes; eles parecem
considerar apenas as conseq¨uˆencias imediatas.
41
FIG. 3.1: Dilema dos prisioneiros na forma normal
Um jogo cl´assico utilizado na TJ ´e o Dilema dos Prisioneiro, criado por William
Poundstone (Universidade Princeton) recriado por John H. Kagel e Alvin E. Roth (Cor-
pora¸ao Rand) e enfim aperfei¸coado por Albert W. Tucker (Universidade de Stanford)
(TUCKER, 1980). O enunciado do problema do Dilema dos Prisioneiros diz que supondo-
se a ocorrˆencia de um crime, dois suspeitos foram detidos com algumas evidˆencias circuns-
tanciais, mas nenhuma prova cabal. A pol´ıcia os coloca em celas separadas, incomunic´aveis
e a cada um dos suspeitos a pol´ıcia faz a seguinte proposta: se ele confessar o roub o e
o outro suspeito ao confessar, ele ser´a solto em raz˜ao de sua coopera¸ao com a pol´ıcia,
enquanto seu parceiro amargar´a 5 anos de pris˜ao; se, ao contr´ario, ele ao confessar, mas
o outro suspeito o fizer, ser´a a vez dele enfrentar 5 anos de pris˜ao, enquanto seu parceiro
ser´a solto; se ambos confessarem, a coopera¸ao individual perde o valor como den´uncia
do comparsa e ambos enfrentam uma pena de 3 anos de pris˜ao; por fim, se nenhum dos
dois confessar, ambos ficam 1 ano retido. A figura FIG. 3.1 ´e a representa¸ao normal para
o Dilema dos Prisioneiros.
Sabendo que os jogos simultˆaneos ao fornecem informa¸oes sobre eventuais desdobra-
mentos futuros das escolhas dos jogadores, os jogos seq¨uenciais se desenvolvem em etapas
sucessivas alternando as oes dos jogadores. Entretanto, existem casos em que as esco-
lhas dos jogadores devem ser embasadas nas oes passadas dos demais jogadores. Nesse
tipo de intera¸ao, as escolhas presentes exigem considerar os desdobramentos futuros, a
que a retalia¸ao poder´a ser feita por outros jogadores nas pr´oximas etapas. Esses ao os
jogos seq¨uenciais e a forma estendida consegue representar essas caracter´ısticas a fim de
serem analisadas pela TJ. A figura FIG. 3.2 ´e a representa¸ao do Dilema dos Prisioneiros
na forma estendida.
O Dilema dos Prisioneiros ´e ao importante que at´e os quadrantes foram batizados
(B
ˆ
ERNI, 2004). O primeiro quadrante (recompensa de 3 anos de pris˜ao para cada jogador)
agora se chama de quadrante da rivalidade universal, uma vez que ambos cooperam com
42
FIG. 3.2: Dilema dos prisioneiros na forma estendida
a pol´ıcia e ao entre si. No segundo quadrante (recompensas de 0 e 5, respectivamente
para A e B) batizado de caroneiro, A pega carona nas boas inten¸oes de B. No terceiro
quadrante (A recebe pena de 5 anos de cadeia e B apenas 1) A faz o papel de trouxa, uma
vez que B foi o caroneiro. Por fim, o quarto (A e B pegam 1 ano de pena) ´e o quadrante
da cooperao universal, a que nenhum confessa o crime e a pol´ıcia apenas pode detˆe-los
pelo menor dos crimes.
´
E importante ressaltar que a representa¸ao e, principalmente, a solu¸ao dos jogos ´e
mais complicada quando envolve a intera¸ao de mais de dois jogadores. No escopo desse
trabalho, existem dois jogos: entre as equipes (sociedade de agentes) e entre os agentes
de uma sociedade.
3.4 FUTEBOL DE ROB
ˆ
OS
”(Existem) Diversas formas de fazer o gol e um
milh˜ao de formas de ao fazer.”
(Steve Krug)
Para os experimentos do trabalho, a aplica¸ao escolhida foi o futebol de robˆos RoboCup
Small Size League f-180, com seus parˆametros e suas regras (anexos) (ROBOCUP, 2005a),
por ser um problema padr˜ao de investiga¸ao internacional estimulante do ponto de vista
cient´ıfico, que coloca um vasto conjunto de problemas aos investigadores da ´area e ao
43
mesmo tempo desperta grande interesse no p´ublico em geral, refletindo tamb´em nos
meios de comunica¸ao. O futebol de robˆos ´e uma iniciativa internacional da ´area da
Rob´otica promovida pela comunidade cient´ıfica. A id´eia de robˆos jogarem futebol foi men-
cionada pela primeira vez pelo professor Alan Mackworth (University of British Columbia,
Canad´a) em um artigo intitulado ”On Seeing Robots” apresentado no VI-92, em 1992
(ROBOCUP, 2005b), e mais tarde publicado no livro ”Computer Vision: System, The-
ory, and Applications” (MACKWORTH, 1993). O futebol de robˆos inclui ligas que se
dividem em ligas de robˆos reais (utilizando entidades f´ısicas) e liga de simula¸ao. As
competi¸oes entre robˆos autˆonomos apresentam-se como um laborat´orio de capacita¸ao
de robˆos para a realiza¸ao autˆonoma de tarefas e para a forma¸ao de sociedades artificiais,
visando a realiza¸ao de tarefas cooperativas.
No intuito de promover a investiga¸ao na ´area de rob´otica, o futebol de robˆos foi
lan¸cado como objetivo de longo prazo. ”No ano de 2050, uma equipe de robˆos autˆonomos
human´oides, ser´a capaz de vencer a equipe campa do mundo de futebol, num encontro
disputado de acordo com as regras da FIFA” (KITANO, 1997).
Fica claro desde o in´ıcio que o projeto ´e ambicioso e ´e um dos grandes desafios
cient´ıficos atuais.
´
E estimulante ter um desafio bem definido de longo prazo dessa pro-
por¸ao a ser investigado por toda uma comunidade. ao se pode deixar de lembrar um
exemplo marcante, que ´e o projeto Apollo da NASA (National Aeronautics and Space
Administration), reiterando aqui as palavras do ent˜ao presidente dos Estados Unidos da
Am´erica, John Fitzgerald Kennedy, quando lan¸cou o desafio. ”Creio que esta na¸ao deve
se comprometer a enviar um homem `a Lua, antes do fim deste decˆenio, e fazˆe-lo regressar
ao e salvo `a Terra. Nenhum projeto espacial deste per´ıodo deve ser mais impressionante
para a Humanidade ou mais importante para a explorao do espco, a longo prazo”
(KENNEDY, 1961).
Antes do futebol de robˆos, os pesquisadores de IA a haviam adotado um outro
desafio, investigado nas ´ultimas 4 d´ecadas. O desafio asico era de construir um pro-
grama/computador capaz de vencer o campao mundial de xadrez utilizando as regras
oficiais da Federa¸ao Internacional de Xadrez. A padroniza¸ao de problemas ´e importante,
uma vez que metodologias distintas podem ser comparadas, al´em de incentivar a pesquisa
em IA e RI. Desde a ado¸ao do xadrez como problema padr˜ao na d´ecada de 1950, diversos
algoritmos, arquiteturas e metodologias foram propostas. Um marco importante na IA
ocorreu em maio de 1997, quando o computador desenvolvido pela IBM e apelidado de
44
Deep Blue (DEEP BLUE, 1997) derrotou o campao mundial de xadrez humano, o russo
Gary Kasparov. Ap´os esse marco, o futebol de robˆos se tornou o desafio padr˜ao.
A principal diferen¸ca entre os problemas do xadrez e do futebol de robˆos ´e que o
segundo consiste em um controle distribu´ıdo, onde arios agentes tˆem de agir autonoma-
mente e coordenar-se a fim de cooperar para atingir um objetivo comum. O problema
se torna cr´ıtico, uma vez que o ambiente ´e dinˆamico e a mudan¸ca de estado ´e em tempo
real. Um STR (sistema de tempo real) ´e um sistema computacional que deve reagir
a est´ımulos oriundos do seu ambiente em prazos espec´ıficos de natureza temporal. As
diferen¸cas principais entre o dom´ınio do Xadrez e o RoboCup podem ser visualizadas na
TAB. 3.1 (ROBOCUP, 2005c):
TAB. 3.1: Compara¸ao entre xadrez e futebol de robˆos (ROBOCUP, 2005c)
Quando a internacionaliza¸ao da id´eia do Futebol de Robˆos emergiu, ao haviam regras
a fim de garantir compatibilidade das equipes. Para suprir essa lacuna, pesquisadores
sul-coreanos fundaram a FIRA (Federation of International Robot-soccer Association)
em 1997 (FIRA, 2005a). Paralelamente `a inciativa da FIRA, a empresa japonesa Sony
incentivou o surgimento de competi¸oes de Futebol de Robˆos em escolas e universidades,
o que resultou na cria¸ao de uma outra federa¸ao denominada RoboCup.
3.4.1 A FEDERAC¸
˜
AO ROBOCUP
A federa¸ao RoboCup (RoboCup Federation), originalmente chamada de Robot World
Cup Initiative, ´e uma associa¸ao internacional que tem como principal objetivo a pesquisa,
utilizando a competi¸ao entre equipes de robˆos. Basicamente, ´e uma tentativa de promover
a IA e a RI. Desde que o futebol de robˆos foi adotado como um problema padr˜ao, grandes
esfor¸cos est˜ao concentrados e integrados. A competi¸ao ´e somente uma parte da atividade
da RoboCup. As atividades atuais da RoboCup consistem em (ROBOCUP, 2005d):
45
Conferˆencias ecnicas
Conferˆencias e Competi¸oes Internacionais da RoboCup
Programas de Desafios RoboCup
Programas de Educa¸ao
Desenvolvimento de infra-estrutura
Para esta finalidade, a Rob oCup escolheu usar o futebol de robˆos, e desde enao orga-
niza a Copa do Mundo de Futebol de Robˆos e conferˆencias, onde os investigadores podem
avaliar o progresso da pesquisa. Atualmente, RoboCup tem trˆes dom´ınios principais
(ROBOCUP, 2005d):
RoboCupSoccer divide-se em sete categorias:
Simulation League (2D e 3D), FIG. 3.3;
Small Size Robot League (f-180), FIG. 3.4;
Middle Size Robot League (f-2000), FIG. 3.5;
Four-Legged Robot League, FIG. 3.6;
Humanoid League, FIG. 3.7;
E-League;
RoboCup Commentator Exhibition.
RoboCupRescue objetiva a investiga¸ao em miss˜oes de salvamento e resgate em
grandes cat´astrofes. Divide-se em duas categorias:
Rescue Simulation;
League Rescue Robot League.
RoboCupJunior foi criada a fim de estimular jovens a participarem da RoboCup.
Divide-se em trˆes categorias:
Soccer Challenge;
Dance Challenge;
Rescue Challenge.
46
FIG. 3.3: RoboCup Simulation League 3D (ROBOCUP, 2006)
FIG. 3.4: RoboCup Small Size Robot League (f-180) (CMU, 2005)
47
FIG. 3.5: RoboCup Middle Size Robot League (f-2000) (CMU, 2005)
FIG. 3.6: RoboCup Four-Legged Robot League
48
FIG. 3.7: RoboCup Humanoid League
3.4.2 ROBOCUP SMALL SIZE (F-180)
A liga de robˆos pequenos (small-size) ´e tamb´em conhecida como a liga f-180. De acordo
com suas regras (ROBOCUP, 2005a), as equipes devem ser compostas por at´e 5 robˆos,
sendo 1 deles o goleiro. Cada robˆo deve estar nitidamente numerado para que o ´arbitro
os possa identificar durante a partida. O goleiro deve ser designado antes do in´ıcio do
jogo. Durante o jogo, nenhuma interferˆencia humana com o sistema de controle dos robˆos
´e permitida.
O nome small-size se deve `as dimens˜oes pr´e-determinadas dos robˆos. Para a categoria
f-180, os robˆos devem caber em um cilindro de no aximo 180mm de diˆametro. Um
robˆo ao deve possuir qualquer artefato que seja perigoso, tanto para um outro robˆo
quanto para seres humanos. Essa caracter´ıstica remete `as famosas Tes Leis da Rob´otica
elaboradas pelo escritor ficcionista russo Isaac Asimov em seu livro que teve recente
adapta¸ao cinematogr´afica ”Eu, Robˆo” (ASIMOV, 1996). ao elas:
1
a
lei: um robˆo ao pode fazer mal a um ser humano e nem, p or ina¸ao, permitir
que algum mal lhe aconte¸ca;
2
a
lei: um robˆo deve obedecer `as ordens dos seres humanos, exceto quando estas
contrariarem a primeira lei;
49
3
a
lei: um robˆo deve proteger a sua integridade f´ısica, desde que com isto ao
contrarie as duas primeiras leis
As regras da RoboCup f-180 permitem a utiliza¸ao de vis˜ao global e controle centra-
lizado dos robˆos. O sistema de controle dos robˆos geralmente ´e externo, recebe os dados
da amera localizada acima do campo, processa os dados, determina qual comando deve
ser executado em cada robˆo e envia este comando atrav´es de radiofreq¨encia aos robˆos.
Os robˆos devem possuir marcas pr´oprias no topo de forma a serem identificados pelo
sistema de vis˜ao global. Antes de um jogo, a cada uma das duas equipes ´e atribu´ıda uma
cor de identifica¸ao (amarela ou azul). Cada equipe deve usar um marcador circular da
cor atribu´ıda no alto dos robˆos. O centro do marcador deve ficar situado no centro visual
do robˆo e o marcador deve ter 50mm de diˆametro. Os robˆos podem ainda usar a colora¸ao
preta e branca sem limita¸ao e tamb´em marcadores cor-de-rosa claro, ciano e verde claro.
Se uma equipe estiver usando o sistema global de vis˜ao, cada robˆo dessa equipe deve
ter uma altura axima de 150mm. Nos demais casos, um robˆo pode ter a altura axima
de 225mm. O campo de jogo tem as dimens˜oes de 4900mm p or 3400mm. A superf´ıcie
de jogo deve ser da cor verde, podendo ser de feltro ou carpete. O assoalho abaixo do
feltro/carpete deve ser nivelado, liso e r´ıgido. A superf´ıcie do campo continua 300mm
al´em das linhas limites em todos os lados. Na borda da superf´ıcie, uma parede branca
impedir´a que os robˆos funcionem fora do campo.
Todas as linhas que marcam o campo de jogo ao brancas com largura de 10mm. O
campo do jogo ´e dividido em duas metades por uma linha que possui a marca central do
campo (sa´ıda de bola) indicada no ponto edio dessa linha. Um c´ırculo com diˆametro de
1000mm ´e desenhado em torno da marca central do campo. Uma ´area de defesa ´e definida
em cada extremidade do campo por um arco semicircular ´e desenhado no campo do jogo
com seu centro no ponto m´edio entre as traves e um raio de 500mm. A ´area delimitada
por este arco at´e a linha do gol ´e a ´area de defesa. Dentro de cada ´area de defesa, uma
marca de penalidade ´e feita a 450mm do ponto edio entre as traves e eq¨uidistante a eles.
A marca ´e um c´ırculo de 10mm de diˆametro.
As traves consistem de duas paredes laterais com 180mm de comprimento e 150mm
de altura juntadas na parte traseira por uma parede de 700mm de comprimento e 150mm
altura. As paredes ao pintadas de azul em um lado do campo e de amarelo no extremo
oposto do campo (para vis˜ao local). O assoalho dentro da trave ´e o mesmo que o do
campo de jogo. As paredes tˆem a mesma espessura que a linha de marca¸ao. As figuras
50
FIG. 3.8: Campo de jogo da RoboCup f-180 (ROBOCUP, 2005a).
FIG. 3.9: Dimens˜oes em mil´ımetros do campo de jogo da RoboCup f-180 (ROBOCUP,
2005a).
51
FIG. 3.8 e FIG. 3.9 ilustram o campo de jogo da RoboCup f-180.
A bola padronizada ´e de golfe, com cor de identifica¸ao laranja, aproximadamente 46g
de massa e 43mm de diˆametro. Por fim, um jogador de linha, ao pode invadir a ´area do
goleiro da sua equipe.
52
4 SOLUC¸
˜
AO PROPOSTA
A inspira¸ao cooperativa proveniente do esquema atico e de movimenta¸ao, adv´em
principalmente de observoes realizadas no futsal. Antigamente, conhecido como futebol
de sal˜ao, o futsal ´e um esporte disputado por duas equipes compostas de 5 jogadores
cada, sendo um deles o goleiro. As equipes possuem como objetivo marcar gols. Para
isso, os jogadores se p osicionam em regi˜oes diferentes do campo, a fim de explorar melhor
o ambiente (trabalho cooperativo). A partida ´e vencida pela equipe que marcar o maior
n´umero de gols durante um per´ıodo de tempo predeterminado.
Fica claro que a quantidade de jogadores em uma equipe de futsal ´e a axima per-
mitida na RoboCup f-180 e exatamente a mesma quantidade de robˆos projetados neste
trabalho. Em contrapartida, no futebol de campo uma equip e deve ter 11 jogadores,
sendo um deles o goleiro, o que diferencia completamente a distribui¸ao espacial, com-
portamental e atica dos jogadores. O comportamento cooperativo dos jogadores de uma
equipe ´e fundamental para obter bons resultados; a forma como isso acontece no futsal ´e
o que motiva a solu¸ao aqui proposta para o futebol de robˆos.
4.1 ARQUITETURA
A modelagem aqui proposta utiliza arquitetura modular e flex´ıvel, fazendo com que o
robˆo possa ser utilizado em outras aplica¸oes. Vide FIG. 4.1. A arquitetura do sistema
proposto ´e seq¨uencial, por´em ao ´e necess´aria a realiza¸ao de todos os passos (em s´erie)
a cada itera¸ao.
Isso foi constatado na analogia com seres humanos, onde os humanos observam o
ambiente, colhem dados, e somente depois realizam um planejamento, determinando a
ao a ser executada. Considerando que um sistema rob´otico recebe 30 imagens por
segundo do sensor de vis˜ao, com base nessa informa¸ao, implica-se que o sistema deve
responder em aproximadamente 33ms a cada itera¸ao. Assim, foi incorporado um gatilho
ao sistema que aciona o planejamento estrat´egico concorrentemente `a vis˜ao no per´ıodo
T = t segundos. Com isso, possuindo um sistema de vis˜ao robusto, com baixo custo
computacional, pode-se obter imagens da amera e process´a-las com maior freq¨uˆencia,
ao inv´es de deixar fixada a aquisi¸ao de imagens a partir do custo computacional do
53
FIG. 4.1: Arquitetura do sistema
planejamento estrat´egico e de execu¸ao. A seguir ao descritos os odulos do sistema:
A Aquisi¸ao de Imagem ´e feita atraes de uma placa digitalizadora ligada a uma
amera, na qual se obt´em as imagens atrav´es de um driver.
A Vis˜ao ´e dividida em 4 (trˆes) sub-m´odulos: i) na calibra¸ao o maior problema de um
sistema de vis˜ao computacional (para o futebol de robˆos) ´e que as cores ao permanecem
iguais em todas as partes do campo; para isso ´e necess´aria a calibra¸ao, realizada offline; ii)
na classifica¸ao de cores somente um n´umero limitado de cores ´e utilizado para identificar
os objetos e eles devem ser classificadas por equipe, atribuindo cor diferente para cada
uma delas (azul ou amarelo), e uma cor para a bola (laranjado); iii) a pose dos objetos
consiste em analisar uma imagem obtida na Aquisi¸ao de Imagem e extrair informa¸ao
de posi¸ao e orienta¸ao dos objetos; iv) na identifica¸ao dos objetos, atribui-se um otulo
de identifica¸ao a cada objeto.
Planejamento ´e a defini¸ao de ”o que fazer” para realizar a tarefa.
´
E a etapa que a
comportamento para o indiv´ıduo. Divide-se em 2 (dois) sub-m´odulos: i) na previs˜ao de
movimentos o robˆo infere as posi¸oes futuras de todos os objetos oveis ao pertencentes
`a sua sociedade, servindo de suporte para a Estrat´egia; ii) estrat´egia ´e o planejamento
54
das oes futuras. Baseado numa cuidadosa an´alise da posi¸ao dos robˆos, ´e definido o
objetivo global e em seguida o robˆo define sua estrat´egia social (objetivo local), podendo
ser cooperativa ou individualista, amarrada ao objetivo global.
A Execu¸ao informa aos robˆos ”como fazer” para executar a tarefa definida no plane-
jamento.
´
E realizada a partir de 2 (dois) sub-m´odulos: i) no planejamento de trajet´oria,
dado um robˆo e a descri¸ao de um ambiente, planeja-se uma trajet´oria que seja livre de
colis˜ao; ii) controle ao os comandos que dever˜ao ser enviados ao robˆo para que possa
prover a trajet´oria planejada.
A Comunica¸ao monta os pacotes com os comandos que ser˜ao enviados ao robˆo
atrav´es de radiofreq¨encia conectada a uma interface do computador.
4.2 AQUISIC¸
˜
AO DE IMAGEM
Para Gonzalez (GONZALEZ, 1992), dois elementos ao necess´arios para a aquisi¸ao de
imagens digitais: um dispositivo f´ısico que seja sens´ıvel a uma banda do espectro de energia
eletromagn´etica (raios X, ultravioleta, vis´ıvel ou banda infravermelha) e que pro duza um
sinal el´etrico de sa´ıda proporcional a um n´ıvel de energia percebida; o segundo, chamado
digitalizador, ´e um dispositivo para a convers˜ao da sa´ıda el´etrica de um dispositivo de
sensoreamento f´ısico para a forma digital. O sensor pode ser uma amera (monocrom´atica
ou colorida) que produz uma imagem inteira do dom´ınio do problema a cada
1
30
s.
Uma imagem digitalizada ´e um conjunto de valores num´ericos. A resolu¸ao de uma
imagem ´e uma medida asica da quantidade de informa¸ao vis´ıvel. A resolu¸ao costuma
ser descrita em termos de h x v, onde h ´e a resolu¸ao horizontal e v a resolu¸ao vertical.
Gomez (GOMEZ, 2004) apresenta o quociente de aspecto, podendo ser 4:3 ou 16:9. Um
quociente de aspecto de 4:3 significa que sua resolu¸ao vertical ´e
3
4
, por exemplo, de
640 =
640
4
3 = 480. Assim, cada imagem sendo composta por elementos individuais
conhecidos como pixels (picture elements), tem-se 640x480 pixels e a imagem possui um
total de 640 480 = 307.200 pixels.
´
E importante frisar que quanto maior forem os valores h e v, mais detalhes ser˜ao repre-
sentados em sua forma digital. Entretanto, mais lento ser´a o processamento da imagem.
A quantidade de pixels em uma imagem ´e inversamente proporcional ao tempo de seu
processamento. Encontrar um equil´ıbrio entre detalhamento e tempo de processamento ´e
fundamental para a aplica¸ao.
Gomez (GOMEZ, 2004) acrescenta que a velocidade de processamento das imagens
55
FIG. 4.2: Saltos no movimento de um robˆo com diferentes taxas de aquisi¸ao de imagens
(GOMEZ, 2004).
no futebol de robˆos ´e um aspecto a ser considerado, a que ´e necess´ario manter uma taxa
de processamento suficientemente alta para captar os movimentos dos objetos sem saltos
consider´aveis; assim, durante a movimenta¸ao de um objeto, ´e importante se obter uma
maior quantidade de imagens para ter mais amostras de posi¸oes ocorridas durante a
trajet´oria de um robˆo. Como exemplo, a FIG. 4.2 ilustra diferentes taxas de aquisi¸ao de
imagens.
A amera usada nesse trabalho ´e uma micro-cˆamera CMOS (Complementary Metal
Oxide Semiconductor) com 1 lux e dimens˜oes de 14 x 14mm. Contudo, uma imagem
gerada por chips CMOS ´e tradicionalmente inferior `a correspondente imagem gerada
por chips CCD (Charge Coupled Device). Al´em disso, ameras CCD apresentam melhor
resolu¸ao nos tons e luminosidade em rela¸ao ao CMOS. No entanto, o uso de uma amera
CMOS nos testes se justifica pela possibilidade de avaliar o desempenho do sistema em
condi¸oes desfavor´aveis e tamb´em devido `a sua disponibilidade. A placa de captura de
v´ıdeo adotada ´e uma PixelView PlayTV ULTRA PRO capaz de capturar at´e 30 fps com
resolu¸ao axima de 720x576 pixels e sistema de cores NTSC M/PAL M/PAL N, adotada
em fun¸ao de seu baixo custo monet´ario de aquisi¸ao.
Para maiores informa¸oes sobre o uso de amera no futebol de robˆos, consultar The
Hardware Design Of A Smart Camera For The Robot Soccer Environment (WILLS,
1999).
56
FIG. 4.3: Micro-cˆamera CMOS usada nos experimentos.
4.3 VIS
˜
AO COMPUTACIONAL
A Vis˜ao Computacional ´e um conjunto de etodos e t´ecnicas capazes de processar e
interpretar imagens. Em termos computacionais, a interpreta¸ao de imagens ´e entendida
como sendo a transforma¸ao da representa¸ao digital de imagem em uma outra estrutura
de dados descrita semanticamente em um contexto qualquer.
Na aplica¸ao do presente trabalho, percorrem-se as imagens capturadas por uma
amera a fim de se identificar todos os objetos (robˆos e bola), suas respectivas posi¸oes e
as orienta¸oes dos robˆos da equipe controlada. Para isso, ´e necess´ario, antes da partida
come¸car, que um processo de calibra¸ao das cores seja realizado.
Entretanto, ´e necess´ario definir a superf´ıcie dos robˆos, ou seja, o que ser´a visto pela
amera e conseq¨uentemente processado pela vis˜ao computacional. De acordo com as
regras da RoboCup f-180, ´e obrigat´oria uma circunferˆencia no centro visual do objeto nas
cores amarelo ou azul, que identificam cada equipe. Isso ´e imut´avel. A circunferˆencia,
al´em de ser obrigat´oria no centro visual dos robˆos, ´e amplamente utilizada no futebol de
robˆos por ser uma forma geom´etrica com facilidades na determina¸ao do seu centr´oide.
Contudo, as demais marca¸oes e a forma em que estar˜ao dispostas ao definidas por cada
equipe.
Nesse trabalho, a assinatura visual dos robˆos utilizado ´e o triangular. Decidiu-se adot´a-
lo, uma vez que, como visto na revis˜ao de literatura (BRUCE AND VELOSO, 2003), seu
erro ´e baixo e muito pr´oximo do modelo b orboleta. Entretanto, no modelo triangular o
custo computacional ´e menor do que no borboleta.
Por fim, o sistema de vis˜ao deve ser capaz de aceitar uma luminosidade ao uniforme
no campo e, se for o caso, corrigir distor¸oes provocadas pela lente da amera, tendo ao
57
FIG. 4.4: Modelo ao-linear de um neurˆonio artificial (HAYKIN, 2001).
mesmo tempo uma boa performance em tempo de execu¸ao, ao prejudicando os demais
odulos que comp˜oem o sistema como um todo (NEVES ET. AL., 2004).
4.3.1 CALIBRAC¸
˜
AO
A calibra¸ao ocorre porque uma mesma cor pode variar de acordo com a ilumina¸ao em
diferentes partes do campo de jogo. Esse processo necessita de um professor externo que
ensine, atraes de amostras, quais padr˜oes de cores devem ser classificados com seus res-
pectivos otulos (azul e amarelo para as equipes; alaranjado para a bola; ciano, verde
claro e cor-de-rosa claro para as orienta¸oes). Tal processo ´e denominado como apren-
dizado supervisionado e situa-se no campo de aprendizado de aquina.
´
E chamado de
aprendizado supervisionado porque a entrada e a sa´ıda desejada ao fornecidas por um
professor (supervisor) externo.
Haykin (HAYKIN, 2001) diz que aprender ´e equivalente a encontrar uma superf´ıcie, em
um espa¸co multidimensional, que forne¸ca o melhor ajuste para os dados de treinamento,
com o crit´erio de ”melhor ajuste” sendo medido em um sentido estat´ıstico. Tal ponto
de vista ´e a motivao por tr´as das redes neurais artificiais (RNAs) ou redes neuronais
artificiais.
Goldschmidt e Passos (GOLDSCHMIDT E PASSOS, 2005) acrescentam que, redes
neurais artificiais ao modelos matem´aticos inspirados nos princ´ıpios de funcionamento dos
58
neurˆonios biol´ogicos e na estrutura do erebro. Esses modelos em capacidade de adquirir,
armazenar e utilizar conhecimento experimental e buscam simular computacionalmente
habilidades humanas, tais como aprendizado, generaliza¸ao, associa¸ao e abstra¸ao.
Nas RNAs, os (denominados neurˆonios) ao interligados formando uma rede. Haykin
(HAYKIN, 2001) descreve neurˆonio como uma unidade de processamento de informa¸ao
que ´e fundamental para a opera¸ao de uma RNA. A FIG. 4.4 mostra o modelo de um
neurˆonio, que forma a base para o projeto de redes neurais (artificiais). Na FIG. 4.4
identificam-se trˆes elementos asicos do modelo neuronal:
Um conjunto de sinapses ou elos de conex˜ao, cada uma caracterizada por um peso;
Um somador para somar os sinais de entrada, ponderadas pelas respectivas sinapses
do neurˆonio;
Uma fun¸ao de ativa¸ao para restringir a amplitude da sa´ıda de um neurˆonio.
A inspira¸ao original das RNAs vem das estruturas cerebrais. Entretanto, atualmente,
grande parte dos pesquisadores da ´area concorda que RNA difere das estruturas cerebrais.
Uma RNA ´e uma cole¸ao maci¸camente paralela de unidades de processamento, onde as
interliga¸oes formam a inteligˆencia da rede. As principais aplica¸oes das RNAs ao:
Aproxima¸ao de fun¸oes;
Previs˜ao de eries temporais;
Classifica¸ao;
Reconhecimento de Padr˜oes.
A necessidade da calibra¸ao est´a, exatamente, na necessidade de ensinar ao sistema
os padr˜oes de cores que dever˜ao ser reconhecidos. Como supra-citado, as redes neurais,
de acordo com suas caracter´ısticas, ao muito adotadas em aplica¸oes desse tipo.
A estrutura da rede RBF (Radial Basis Function) ´e do tipo de m´ultiplas camadas.
Esse tipo de rede pode ser usada em problemas de aproxima¸ao de fun¸oes, predi¸ao e
classifica¸ao. A rede neural RBF, por trabalhar com fun¸oes de base radial nos neurˆonios
da camada intermedi´aria, faz com que os neurˆonios acab em funcionando como raios de
similaridade. Assim, quando uma amostra de cor ao for classificada em algum neurˆonio,
significa que o padr˜ao pertencente a essa amostra ´e desconhecido pela rede, isto ´e, ao
59
FIG. 4.5: Cubo RGB, adaptado de (SJU, 2005).
foi treinado. Cada camada de uma rede RBF desempenha um papel espec´ıfico em seu
comportamento. Segundo Haykin (HAYKIN, 2001), a camada de entrada ´e constitu´ıda
por os de fonte (unidades sensoriais) que conectam a rede ao seu ambiente. Na segunda
camada, a ´unica camada oculta da rede, os os utilizam fun¸oes de bases radiais, agru-
pando os dados de entrada em clusters. A camada de sa´ıda ´e linear, fornecendo a resposta
da rede ao padr˜ao (sinal) de ativao aplicado `a camada de entrada. Portanto, a camada
oculta funciona como raios de similaridades e atende `a tarefa de classifica¸ao dos objetos,
uma vez que outras cores, presentes no corpo do robˆo, e ao utilizadas nos treinamentos
ser˜ao encontradas e ao dever˜ao ser classificadas. Nesse sentido, as cores ensinadas pelo
supervisor ser˜ao utilizadas como conjunto de treinamento em uma RNA de Base Radial
(RBF).
Em rela¸ao `a arquitetura da rede RBF aqui adotada, essa possui 3 entradas, que ao
as representa¸oes das cores no cubo RGB (lado R, comprimento G e altura B), vide FIG.
4.5. De acordo com Gonzalez (GONZALEZ, 1992), o homem enxerga todas as cores como
combina¸oes vari´aveis das trˆes chamadas cores prim´arias: vermelho (R, do inglˆes ”red”),
verde (G, do inglˆes ”green”) e azul (B, do inglˆes ”blue”).
´
E exatamente no padr˜ao de
cores RGB que as imagens ao capturadas na grande maioria das placas de capturas de
v´ıdeo, incluindo a placa de captura usada nos testes desta disserta¸ao. A camada de sa´ıda
de uma rede RBF ´e comp osta de neurˆonios com fun¸ao de transferˆencia linear (FIG. 4.6).
Entretanto, no intuito de simplificar a rede RBF e reduzir seu tempo de processamento,
a que se trata de um Sistema de Tempo Real (STR), a camada de sa´ıda da rede foi
eliminada, sendo inclu´ıdo, em cada neurˆonio da camada intermedi´aria, um otulo que o
associa `a classe ensinada pelo professor, de acordo com suas amostras (FIG. 4.7).
60
FIG. 4.6: Rede neural RBF.
FIG. 4.7: Rede neural RBF adaptada.
´
E importante frisar que, no treinamento da rede RBF, apenas as cores da equipes
(controlada e advers´aria) e da bola ao apresentadas `a rede. Assim, as outras cores vistas
pela amera como o verde do campo, o branco das marca¸oes do campo, o preto ou
branco do corpo do robˆo, e as cores de orienta¸ao ao ao ensinadas; pois de acordo com
o algoritmo adotado ao ´e necess´ario o conhecimento desses padr˜oes.
Entretanto, numa RNA, por ser uma rede maci¸camente paralela de unidades de proces-
samento, seu processamento pode ao responder dentro das restri¸oes temporais do sis-
tema. Por isso, foi motivado o uso de outro etodo a fim de comparar o desempenho
da RNA RBF. O problema ´e que, de acordo com (NEVES ET. AL., 2004), no espa¸co de
cores RGB, pequenas varia¸oes na luminosidade do campo causam grandes varia¸oes nos
valores R, G e B dos pontos de cada quadro.
Na tentativa de reduzir as nuances provocadas por uma ilumina¸ao heterogˆenea, a
convers˜ao de RGB em outros modelos de representa¸ao de cores ´e comum. Os modelos
de cores mais freq¨uentemente usados para processamento de imagens ao o RGB, YUV
(MART
´
INEZ-G
´
OMEZ AND WEITZENFELD, 2004), HSI (LOOMIS ET. AL., 2003) e o
61
FIG. 4.8: Cone HSV, (NEVES ET. AL., 2004).
FIG. 4.9: Algoritmo de convers˜ao de RGB para HSV.
HSV (NEVES ET. AL., 2004).
Todavia, no espa¸co de cores HSV (FIG. 4.8), onde o H (hue) ´e o matiz, que ´e um ˆangulo
dentre 0 e 359
o
; S (saturation) ´e um intervalo de zero a 1 de satura¸ao, e V (value) um
valor com o mesmo intervalo da satura¸ao; o matiz de cada cor independe da luminosidade
existente (GONZALEZ, 1992). Assim optou-se pela convers˜ao de RGB para o formato
HSV (FIG. 4.9). Entretanto, os intervalos de S e V adotados aqui neste trabalho ao
de 0 a 255, isso porque, de acordo com o algoritmo de convers˜ao de RGB-HSV, para se
determinar os valores de S e V ´e necess´ario trabalhar com o valor aximo da cor RGB.
Assim, ganha-se o tempo de convers˜ao do valor de RGB para o intervalo real de 0 (zero)
a 1. A calibra¸ao dos padr˜oes de cores no formato HSV ´e feita atrav´es da indica¸ao dos
maiores e menores valores de cada canal no seu respectivo padr˜ao de cores. O algoritmo
de classifica¸ao da cores utilizando o espa¸co de cor HSV ´e apresentado em FIG. 4.10.
Em rela¸ao `as cores de orienta¸ao (cor-de-rosa claro, verde claro e ciano), uma outra
rede neural foi utilizada: RNA Multilayer Perceptron (MLP). A arquitetura de uma rede
MLP ´e apresentada na FIG. 4.11. Braga et. al. (BRAGA ET. AL., 2000) descrevem que
62
FIG. 4.10: Algoritmo de classifica¸ao por HSV.
tanto as redes RBF quanto as redes MLP ao aproximadores universais de fun¸oes, por-
tanto ao redes teoricamente equivalentes. No entanto, existem diferen¸cas entre esses dois
modelos. A primeira diferen¸ca diz resp eito `a parti¸ao do espa¸co de padr˜oes de entrada re-
alizada pela camada intermedi´aria de cada rede. Cada neurˆonio da camada intermedi´aria
de uma rede RBF define uma hiperelips´oide no espa¸co de padr˜oes de entrada. Assim, uma
rede RBF constr´oi aproximadores locais, isto ´e, apenas as regi˜oes do espa¸co de entrada
que apresentam dados de treinamento ter˜ao respostas da rede. A resp osta de uma fun¸ao
radial (por exemplo a fun¸ao gaussiana) diminui conforme os padr˜oes (pontos do espa¸co
de entrada) se distanciem do centro da fun¸ao radial. A FIG. 4.12 ilustra a parti¸ao dos
dados de entrada realizada por uma rede RBF com quatro neurˆonios na camada inter-
medi´aria. As redes MLP, por outro lado, particionam o espa¸co de entrada atrav´es de
hiperplanos, como pode ser visto na FIG. 4.13 no caso de uma rede com apenas uma
camada intermedi´aria de trˆes neurˆonios.
Braga et. al. (BRAGA ET. AL., 2000) acrescentam ainda uma outra diferen¸ca entre
as redes MLP e RBF: enquanto nas redes MLP o valor de ativao de uma unidade n
j
(j -´esimo neurˆonio) da camada interna ´e uma fun¸ao do produto escalar entre o vetor de
entrada e o vetor de pesos da unidade EQ. 4.1, na rede RBF o valor de ativao ´e dado
em fun¸ao da distˆancia euclidiana entre o vetor de entrada e o vetor centro da unidade
EQ. 4.2.
y
j
=
m
i=1
w
ji
x
i
+ b
j
(4.1)
63
FIG. 4.11: Arquitetura de uma rede MLP t´ıpica com uma camada intermedi´aria.
FIG. 4.12: Particionamento dos dados de entrada realizado por uma rede RBF com quatro
neurˆonios na camada intermedi´aria (BRAGA ET. AL., 2000).
64
FIG. 4.13: Particionamento dos dados de entrada realizado por uma rede MLP com uma
camada intermedi´aria formada por trˆes neurˆonios (BRAGA ET. AL., 2000).
y
j
=
m
i=0
w
ji
σ(||x µ
i
||) (4.2)
onde, y
j
se refere ao sinal funcional que aparece na sa´ıda do neurˆonio j ; m ´e o n´umero
total de entradas aplicadas ao neurˆonio j ; b
k
´e o bias, e, de acordo com Haykin (HAYKIN,
2001), ele tem o efeito de aumentar ou diminuir a entrada l´ıquida da fun¸ao de ativao;
as fun¸oes radiais possuem ainda o centro µ e o raio σ.
A rede MLP ´e comumente usada para aplica¸oes de classifica¸ao e aproxima¸ao. Na
tarefa de classificar as cores de orienta¸ao tem-se como garantia a ao apari¸ao de outros
padr˜oes de cores al´em dos treinados, a que a ´area a ser percorrida no robˆo ´e bem definida.
Assim, as redes MLP, por terem como caracter´ıstica separar as classes em hiperplanos, re-
solve o problema mesmo havendo diferen¸cas de ilumina¸ao no campo. Na rede MLP usada
como classificador, costuma-se usar sa´ıda maximamente esparsa, onde cada neurˆonio da
camada de sa´ıda corresponde a um padr˜ao a ser reconhecido. Quando ao se utiliza sa´ıda
maximamente esparsa, a classifica¸ao ocorre pela combina¸ao de ativao dos neurˆonios.
A MLP se justifica diante da RBF, pois, nessa ´ultima, `a medida em que aumenta a he-
terogeneidade da ilumina¸ao, aumenta a quantidade de neurˆonios para representar cada
padr˜ao de cor, aumentando o custo computacional. O algoritmo de treinamento da RNA
MLP implementado foi a Regra Delta (HAYKIN, 2001).
Contudo, para a tarefa de classifica¸ao das cores de orienta¸ao, deve-se ter em mente
que, p or se tratar de um STR, a rede MLP pode ao responder dentro dos limites tem-
porais do. No cap´ıtulo 5 ser˜ao detalhados os resultados do uso da rede MLP.
65
FIG. 4.14: Algoritmo de classifica¸ao RGB das cores de orienta¸ao.
Por´em, havendo um algoritmo capaz de classificar eficientemente pelo espa¸co RGB as
cores envolvidas no processo de determinar a orienta¸ao dos robˆos (ciano, verde claro,
cor-de-rosa claro e preto), evita-se a necessidade de convers˜ao para outros espa¸cos de
representa¸ao de cores a que a placa de captura obt´em as imagens no espa¸co RGB. O
que reduz o o tempo de processamento do algoritmo.
No entanto, trabalhar com distˆancia no espa¸co RGB com a finalidade de classificar as
cores de orienta¸ao ao apresenta bons resultados. Isso ocorre porque a partir de um ´unico
padr˜ao para cada cor, as cores variam muito, a que esse modelo de cores ´e muito sens´ıvel
`a varia¸ao de ilumina¸ao e, assim, come¸ca a se confundir os padr˜oes. Todavia, durante
observoes, constatou-se que nas amostras, cada padr˜ao segue uma ogica, apesar da
diferen¸ca de ilumina¸ao. Portanto, a partir dessas regras conseguiu-se classificar as cores
de orienta¸ao mesmo com ilumina¸ao heterogˆenea no campo. O algoritmo implementado
para a tarefa de classifica¸ao ´e apresentado na FIG. 4.14, onde erroCiano, erroRosa e
erroVerde ao vari´aveis de sensibilidade.
Por fim, tamb´em foi adotado o espa¸co de cor HSV para as cores de orienta¸ao a fim de
compar´a-lo, atrav´es de testes (cap´ıtulo 6), em rela¸ao ao erro e tempo de processamento
da RNA MLP e do modelo RGB. A calibra¸ao dos padr˜oes de cores da orienta¸ao em HSV
ocorre da mesma forma que as cores de identifica¸ao dos objetos. As TAB. 4.1 e TAB. 4.2
apresentam os valores dos padr˜oes de cores nos diferentes canais, respectivamente RGB e
HSV.
66
TAB. 4.1: Padr˜oes de cores em RGB.
TAB. 4.2: Padr˜oes de cores em HSV.
4.3.2 CLASSIFICAC¸
˜
AO DAS CORES
A classifica¸ao das cores ´e a etapa onde os objetos ao identificados e classificados como
sendo time controlado, bola ou advers´ario. O algoritmo se inicia utilizando a subtra¸ao
de imagens.
A subtra¸ao de imagens pode ser utilizada como ecnica de remo¸ao de padr˜oes ao
desejados presentes na imagem. Existe uma aplica¸ao cl´assica da subtra¸ao de imagens
para realce na ´area de imagens m´edicas chamada radiografia em modo ascara. Nesse
caso h(x,y), a ascara ´e uma imagem de raios X de uma regi˜ao do corpo do paciente
capturada atrav´es de um intensificador e amera de TV (em vez de um filme de raios
X tradicional) localizada em oposi¸ao a uma fonte de raios X. A imagem f(x,y) ´e uma
amostra de uma s´erie de imagens de TV similares, da mesma regi˜ao anatˆomica, mas
adquirida ap´os a inje¸ao de um corante na corrente sang¨u´ınea. O efeito resultante da
subtra¸ao da ascara de cada amostra do fluxo das imagens da amara de TV ´e que
apenas as ´areas que ao distintas entre f(x,y) e h(x,y) aparecem na imagem de sa´ıda
como detalhe real¸cado. Como as imagens podem ser capturadas em taxa de v´ıdeo, esse
procedimento essencialmente fornece um filme mostrando a propaga¸ao do corante atrav´es
das art´erias (GONZALEZ, 1992).
A diferen¸ca entre duas imagens f(x,y) e h(x,y), expressa pela equa¸ao EQ. 4.3, ´e obtida
atrav´es do omputo da diferen¸ca entre todos os pares de pixels correspondentes de f e h.
g(x,y) = |f(x,y) - h(x,y)| (4.3)
No futebol de robˆos, a ascara h(x,y) ´e o campo de jogo sem a presen¸ca de qualquer
objeto nele (FIG. 4.15) e f(x,y) ao as amostras capturadas pela amera de v´ıdeo posi-
67
FIG. 4.15: ascara.
FIG. 4.16: Varredura com i pixels no eixo x e j pixels no eixo y.
cionada acima do centro do campo com um taxa de captura definida, experimentalmente,
de acordo com a velocidade de processamento dela e tamb´em dos demais algoritmos do
sistema.
Contudo, para diminuir o custo computacional, ao inv´es de percorrer cada pixel da
imagem, percorre-se i pixels no eixo x e j pixels no eixo y. Vide figura FIG. 4.16. Assim,
a EQ. 4.4 determina a porcentagem do total de pixels da imagem que ser´a percorrida,
onde width ´e a amplitude de pixels no eixo x e height a amplitude de pixels no eixo y.
p = 100 *
width
i
height
j
width height
(4.4)
Lembrando que na subtra¸ao de imagens ao se percorre cada pixel da imagem (FIG.
68
FIG. 4.17: Transforma¸ao em objeto retangular.
4.16.b), tem-se:
m
ij
(x, y) =
1 se g(x, y) > θ
0 caso contr´ario
(4.5)
onde θ ´e um limiar. Note que m
ij
(x, y) ´e uma matriz bin´aria utilizada como vari´avel
auxiliar para separar os objetos e ´e atribu´ıdo o valor 1 nas coordenadas espaciais (x,y)
apenas se existir uma diferen¸ca apreci´avel entre os n´ıveis de RGB das duas imagens,
determinado pelo limiar θ. A matriz bin´aria ´e alocada com width/i elementos no eixo x
e height/j elementos no eixo y. Todas as posi¸oes da matriz bin´aria ao iniciadas com o
valor 0 (zero).
Finalizada a etapa de subtra¸ao de imagens, a matriz bin´aria est´a com todos os objetos
real¸cados do fundo. O problema ´e que quando objetos est˜ao pr´oximos no espa¸co, eles ao
unidos. Para solucionar esse problema, quando g(x, y) > θ verifica-se atrav´es de um
m´etodo de classifica¸ao se a cor do pixel equivalente `aquele ponto ´e time controlado,
advers´ario, bola ou desconhecido. Sendo o pixel classificado, o ent˜ao se atribui o valor 1
na posi¸ao da matriz bin´aria equivalente `a g(x, y). Note que agora, por causa do corpo
do robˆo vis´ıvel pela amera (cor desconhecida), os objetos ao mais se unir˜ao, real¸cando
apenas as cores de identifica¸ao, isto ´e, os objetos ser˜ao, nesse momento, apenas as cores
de identifica¸ao.
Enao, os objetos ao transformados em retˆangulos atrav´es dos pontos extremos do
objeto nos eixos x e y (FIG. 4.17). Para eliminar os ru´ıdos, verifica-se os tamanhos dos
objetos. Os objetos com tamanhos improv´aveis ao eliminados. Dos objetos que restaram,
se determina o centro de massa de cada um e o ponto que representa o centr´oide do
retˆangulo (EQ. 4.6) de cada objeto na matriz bin´aria ´e transformado para a escala da
imagem e sua respectiva cor de identifica¸ao (cor da equipe ou da bola) ´e apresentada ao
algoritmo de classifica¸ao de cor de identifica¸ao (RNA RBF ou classifica¸ao no espa¸co
69
FIG. 4.18: Centr´oide da circunferˆencia.
HSV).
x
centro
= (x
inicio
+ x
final
)/2 y
centro
= (y
inicio
+ y
final
)/2 (4.6)
4.3.3 POSE DOS OBJETOS
O objetivo deste odulo ´e determinar a pose (posi¸ao e orienta¸ao) dos objetos, sendo
que as orienta¸oes em quest˜ao ao somente quanto aos robˆos do time controlado.
A primeira fase desta etapa ´e determinar o centr´oide da circunferˆencia dos objetos a
partir dos pontos determinados na Classifica¸ao das Cores. Inicia-se tra¸cando uma corda
na circunferˆencia em rela¸ao ao eixo x do sistema de coordenadas da amera. No ponto
m´edio da corda tra¸cada no eixo x ´e tra¸cada outra corda, agora em rela¸ao ao eixo y do
sistema de coordenadas da amera. O ponto m´edio ´e o centr´oide da circunferˆencia. Vide
FIG. 4.18.
Entretanto, para tra¸car as cordas a fim de se determinar o seu centro de massa, ´e
necess´ario que o algoritmo conhe¸ca o padr˜ao de cor da circunferˆencia. Tanto a rede RBF
quanto a classifica¸ao por HSV a foram calibradas para classificar os padr˜oes de cores
das equipe e da bola. Assim, esses m´etodos podem ser adotados para determinar o centro
de massa das circunferˆencias que identificam as equipes e a bola. Contudo, na rede RBF
pode haver mais de um neurˆonio com o mesmo otulo, ou seja, representando um mesmo
padr˜ao de cor. Assim, a propaga¸ao da rede est´a relacionada `a quantidade de neurˆonios
e ao `a quantidade de padr˜oes de cores, o que aumenta seu custo computacional. a na
classifica¸ao por HSV ´e necess´ario converter o espa¸co de cores RGB para HSV, o que pode
ser desnecess´ario, elevando tamb´em o custo computacional. Outro complicador, ´e que
70
ser´a necess´ario tamb´em determinar o centr´oide das marcas de orienta¸ao. Sendo assim,
deve-se considerar os algoritmos utilizados para os classificar. Nesse sentido, motivou-
se a elabora¸ao de um algoritmo gen´erico capaz de se determinar o centr´oide usando
o espa¸co de cores RGB. Para isso, a equa¸ao EQ. 4.7 (onde r, g e b, pixels vizinhos,
ao comparados ao ponto anterior a devidamente classificado) ´e apresentada a fim de se
verificar se os pontos vizinhos (na corda) e se o desvio ´e menor que um valor toler´avel
de erro, determinado experimentalmente. Adicionalmente, a corda ´e tra¸cada verificando
a cor pixel a pixel na imagem. O algoritmo implementado para determinar o centro de
massa da circunferˆencia ´e apresentado na FIG. 4.19.
desvio =
|r r
ant
| + |g g
ant
| + |b b
ant
|
3
(4.7)
Uma vez determinado o centro de massa dos objetos, as posi¸oes de todos os objetos, a
com suas respectivas classifica¸oes (equipe controlada, advers´ario e bola), ao conhecidas.
A segunda fase consiste em determinar as orienta¸oes dos robˆos da equipe controlada. ao
se est´a interessado em encontrar a orienta¸ao dos robˆos advers´arios, a que se desconhece
as marca¸oes visuais do advers´ario. No entanto, uma estima¸ao sobre a orienta¸ao da
bola e dos robˆos advers´arios ser´a feita durante o odulo Planejamento.
Tendo, a priori, o conhecimento de que as marcas de orienta¸ao dispostas eq¨uidistantes
em rela¸ao ao centro de massa do robˆo e possuem o mesmo diˆametro, conclui-se que
possuem uma distˆancia (d) em rela¸ao ao centr´oide do robˆo igual para todas as marcas.
Assim, percorre-se radialmente a partir do centro de massa do robˆo d pixels.
A classifica¸ao das cores ´e feita utilizando a RNA MLP, classifica¸ao no espa¸co de
cores RGB e no espa¸co HSV. Na MLP, a rede classifica a amostra no padr˜ao em que
ela estiver com a menor distˆancia. Isso se torna poss´ıvel uma vez que as cores contidas
na superf´ıcie dos robˆos ao conhecidas e bem definidas. A classifica¸ao por RGB utiliza
as regras apresentadas em FIG. 4.14 e com as vari´aveis de sensibiliza¸ao devidamente
calibradas para classific´a-las. Para que a classifica¸ao por RGB funcione, ´e necess´ario
que a ´area visual dos robˆos obede¸ca `as regras de classifica¸ao da FIG. 4.14, ou seja, que
durante a impress˜ao dos otulos as cores ciano, rosa claro e verde claro sejam alteradas.
Dessa forma, o verde claro deve contar obrigatoriamente um valor maior na coordenada
G, o ciano na coordenada B e o rosa claro na coordenada R.
´
E importante frisar que
essa altera¸ao no padr˜ao de cor ao ´e proibido pelas regras da RoboCup f-180, a que
nas regras apenas cita que as cores a serem usadas devem ser ciano, rosa claro e verde
71
FIG. 4.19: Algoritmo do centr´oide.
72
claro. O algoritmo de classifica¸ao por HSV ´e igual ao usado na classifica¸ao das cores de
identifica¸ao.
Assim, sempre que se encontrar uma marca de orienta¸ao (cores ciano, verde claro e
cor-de-rosa claro), a fun¸ao que determina o centr´oide da circunferˆencia (descrito anteri-
ormente) ´e requisitada para determinar com maior precis˜ao o ˆangulo de cada marca em
rela¸ao ao centro de massa do robˆo. Note que, ao contr´ario da RNA MLP, na classifica¸ao
por RGB, a cor do corpo do robˆo ´e desnecess´aria, assim como na classifica¸ao por HSV.
Uma vez classificadas as marcas de orienta¸ao com seus respectivos centr´oides, as poses
dos objetos relevantes est˜ao determinadas.
4.3.4 IDENTIFICAC¸
˜
AO DOS OBJETOS
A identifica¸ao dos robˆos da equipe controlada ´e realizada a partir da combina¸ao de
cores presentes nas marcas de identifica¸ao. Isso faz-se necess´ario uma vez que, de acordo
com a regras, os robˆos podem ser punidos, algumas vezes acarretando a interven¸ao do
´arbitro (humano) na partida. Com isso, o ´arbitro pode, se necess´ario, pegar nos robˆos
o que comprometeria todo o sistema de identifica¸ao caso o otulo de todos os robˆos de
uma mesma equipe fosse iguais e, assim, necessariamente ter que utilizar m´etodos de
estima¸ao de movimento para rastre´a-los. Na figura FIG. 4.20, as combina¸ao utilizadas
para os robˆos da equipe controlada ´e apresentada.
Para a identifica¸ao dos robˆos da equipe advers´aria ´e necess´ario estimar o movimentos
dos robˆos a fim de ”segui-los”, uma vez que ao se conhece suas marca¸oes de identi-
fica¸ao. A estima¸ao de movimento ´e calculada a partir das posi¸oes dos robˆos advers´arios
extra´ıdos da imagem capturada pela amera no instante de tempo t e pelas posi¸oes obti-
das na imagem do tempo t 1. A partir desses dois pontos, estima-se para todos os robˆos
as posi¸oes no tempo t + 1. As equa¸oes EQ. 4.8 e EQ. 4.9 determinam a estima¸ao de
movimento de um robˆo.
x
t+1
= x
t
+ (x
t
x
t1
) (4.8)
y
t+1
= y
t
+ (y
t
y
t1
) (4.9)
Uma vez determinada a estima¸ao da posi¸ao de cada robˆo, associa-se a ela um iden-
tificador num´erico. Na pr´oxima itera¸ao, calcula-se a distˆancia euclidiana de cada robˆo
em rela¸ao aos pontos determinados na estima¸ao de movimento. Em ordem crescente
de distˆancia, identificam-se os robˆos de acordo com os identificadores do tempo t. Por
73
FIG. 4.20: Identifica¸ao dos robˆos.
exemplo, um mesmo robˆo pode estar mais pr´oximo de dois pontos do que os demais robˆos.
No entanto, ele ser´a identificado apenas com o identificador do ponto mais pr´oximo em
rela¸ao `a posi¸ao atual do robˆo. Assim, sucessivamente esse processo se repete at´e que
todos os robˆos tenham um identificador associado.
4.3.5 RESUMO
O algoritmo de vis˜ao computacional se divide em duas etapas que ao apresentadas,
resumidamente abaixo:
Na etapa offline, um professor ´e necess´ario para realizar os seguintes passos:
Apresentar amostras das cores das equipe e da bola;
Apresentar os valores das vari´aveis de sensibiliza¸ao (RGB) ou ainda as amostras
das cores das marcas de orienta¸ao (HSV e RNA MLP) e, se for o caso, do
corpo do robˆo da equipe controlada (RNA MLP);
Determinar a distˆancia d de uma marca de orienta¸ao em rela¸ao ao centro de
massa do robˆo.
Etapa online:
74
Capturar imagem da amera;
Percorrer a imagem capturada em intervalos i no eixo x e j no eixo y utilizando
a subtra¸ao de imagens;
Se o resultado da subtra¸ao for maior que L ent˜ao
Se a cor do pixel ´e de identifica¸ao de objeto (azul, amarelo ou laranjado)
enao
· Marcar posi¸ao equivalente em uma matriz bin´aria;
Eliminar objetos improaveis (ru´ıdos);
Retangularizar objetos da matriz bin´aria;
Determinar o centro de massa dos objetos retangularizados;
Classificar a cor que identifica o objeto;
Determinar as posi¸oes dos objetos (centr´oide da circunferˆencia);
Percorrer radialmente com d pixels de distˆancia em rela¸ao ao centro de massa
do robˆos da equipe controlada;
Se a cor do pixel for classificada como de orienta¸ao, ent˜ao
· Determinar o seu centro de massa;
Determinar as orienta¸oes dos robˆos da equipe controlada;
Identificar os robˆos da equipe controlada (combina¸ao de cores);
Identificar os robˆos advers´arios (estima¸ao de movimento).
4.4 PLANEJAMENTO
Aplicar com efic´acia as informa¸oes provenientes da vis˜ao na tentativa de explorar condi¸oes
favor´aveis ´e o que rege o planejamento estrat´egico. Para isso, neste trabalho, o planeja-
mento ´e divido em trˆes partes, ao elas: previs˜ao de movimento, objetivo global e objetivo
local.
4.4.1 PREVIS
˜
AO DE MOVIMENTO
Para auxiliar o planejamento estrat´egico, ´e adotado um algoritmo de previs˜ao da posi¸ao
futura dos objetos ao pertencentes `a equipe controlada (robˆos advers´arios e bola).
75
FIG. 4.21: Previs˜ao de posi¸ao futura para a bola.
FIG. 4.22: Previs˜ao de posi¸ao futura para um robˆo advers´ario.
Foi definido, para a aplica¸ao de futebol de robˆos, que o alculo da previs˜ao de posi¸ao
futura da bola e dos robˆos advers´arios ´e feito atrav´es de 2 pontos observados em instantes
pr´oximos de tempo (t e t i). Vide FIG. 4.21 e FIG. 4.22 respectivamente. A ao
utiliza¸ao de um polinˆomio na previs˜ao justifica-se uma vez que ao a garantias de que
a previs˜ao se concretize em um jogo e tamb´em porque o custo computacional ´e maior, o
que pode prejudicar as restri¸oes temporais do sistema.
Tendo em vista que os 2 pontos escolhidos (t e t-i) est˜ao pr´oximos no tempo e, con-
seq¨uentemente, pr´oximos no espa¸co, optou-se por adotar uma reta, pois ela obt´em re-
sultados satisfat´orios para a aplica¸ao com baixo custo computacional. Vale acrescentar
ainda que encontrar a posi¸ao futura, al´em dos pontos, necessita-se da velocidade dos
76
objetos, que ´e calculado atrav´es da distˆancia em pixels dos pontos em rela¸ao ao tempo.
4.4.2 OBJETIVOS
Uma vez calculada a previs˜ao de movimento, passa-se ao planejamento estrat´egico, que
´e a fase mais importante no comportamento social dos robˆos. Durante o planejamento,
os objetivos globais e locais ao analisados a fim de se determinar o comportamento
cooperativo dos robˆos.
Contudo, entender os tipos de jogos envolvidos ´e fundamental para definir boas es-
trat´egias como solu¸ao do problema. Existem 2 jogos envolvidos na aplica¸ao de futebol
de robˆos: jogo das equipes (objetivo global) e o jogo entre os jogadores de uma mesma
equipe (objetivos locais).
4.4.2.1 OBJETIVO GLOBAL
ao basta somente reconhecer que os jogadores se envolvem em processos de intera¸ao
estrat´egica, mas ´e necess´ario tamb´em modelar esses processos e analis´a-los, procurando
determinar as poss´ıveis conseq¨encias dessas intera¸oes. Assim, ´e primordial entender o
jogo em quest˜ao.
O objetivo do jogo das equipes ´e fazer com que um determinado jogador (equipe)
consiga fazer mais gols do que levar. Desse modo, os resultados prefer´ıveis, por ordem
decrescente, ao:
Ganhar;
Empatar;
Perder.
No jogo que envolve as equipes existem 2 jogadores: a equip e controlada e a equipe
advers´aria. Cada jogador tem um certo umero de oes dispon´ıveis e essas oes formam
o seu conjunto de oes. Um jogador e suas oes ao representadas por meio de sub´ındices.
Cada jogador ´e identificado por um sub´ındice j, onde j = 1, 2, o conjunto de oes do
j-´esimo jogador lista todas as oes dispon´ıveis para aquele jogador e ser´a representado
da seguinte forma: C
j
= {c
j
}. O que significa que o conjunto de oes C
j
tem como seus
elementos todas as oes dispon´ıveis para o jogador j.
77
Inicialmente, devem-se definir os poss´ıveis estados de ambas as equipes. Nesse caso,
a cada tipo de estado emerge uma variante do jogo das equipes, a que os objetivos
passam a ser distintos. Nesse sentido, mesmo entendendo que podem haver outros estados
(dependendo do ponto de vista de quem o analisa), interpretou-se que esses outros estados
ao ao nada mais do que varia¸oes de dois estados asicos que as equipes podem assumir:
COM BOLA - onde o objetivo ´e fazer gol;
SEM BOLA - o objetivo ´e ao tomar gol.
Os parˆametros utilizados para se determinar o estado de uma equipe ao:
Distˆancia euclidiana dos robˆos em rela¸ao `a bola;
Velocidade dos robˆos;
Velocidade da bola.
Contudo, conhecer o conjunto de oes de cada jogador (equipe) ´e um passo essen-
cial na an´alise de um processo de intera¸ao estrat´egica. As possibilidades de intera¸ao
estrat´egica dependem do conjunto de oes que est˜ao disp on´ıveis para os jogadores. As
estrat´egias (todas as escolhas que um jogador pode fazer em um dado momento do jogo)
dos times no jogo das equipes ao:
ATACAR;
DEFENDER.
O jogador 1 ser´a identificado como sendo da equipe controlada e o jogador 2 como
equipe advers´aria. Assim, o conjunto de oes para os jogadores ao apresentadas como
C
1
= {atacar, defender}, C
2
= {atacar, defender}.
Para a TJ, uma estrat´egia s
j
´e a ado¸ao pelo jogador j de uma ao ou um plano de
oes pertencentes ao seu conjunto de oes C
j
em todos os momentos em que ele dever´a
decidir o que fazer.
Conjunto de estrat´egias ´e formado por todas as estrat´egias que cada jogador disp˜oe.
De forma gen´erica, s
j
i
´e a i-´esima estrat´egia do jogador j, o conjunto de estrat´egias do
jogador j ´e dado por S
j
i
= {s
j
i
}.
78
Dessa forma, representa-se o conjunto de estrat´egias por meio de um conjunto or-
denado, em que cada elemento ´e uma estrat´egia para cada um dos n jogadores, S =
(s
1
, s
2
, ..., s
j
) onde j = 1, ..., n.
Assim, sabendo que o jogo das equipes ´e composto por 2 jogadores, s
1
´e uma dada
estrat´egia do jogador equipe controlada e s
2
´e uma dada estrat´egia do jogador equipe
advers´aria. O conjunto de estrat´egias dos jogadores 1 e 2 ´e apresentado a seguir:
S
1
1
= (AT ACAR, AT ACAR) S
2
1
= (AT ACAR, AT ACAR)
S
1
2
= (AT ACAR, DEF ENDER) S
2
2
= (AT ACAR, DEF ENDER)
S
1
3
= (DEF ENDER, AT ACAR) S
2
3
= (DEF ENDER, AT ACAR)
S
1
4
= (DEF ENDER, DEF ENDER) S
2
4
= (DEF ENDER, DEF ENDER)
Entretanto, cada combina¸ao de estrat´egia produz recompensas diferentes para os jo-
gadores. A fun¸ao de recompensa de um jogador j ´e representada por U
j
(s
1
, s
2
, ..., s
j
, ..., s
n
).
A fun¸ao de recompensa denota que a recompensa que o jogador j recebe quando o jo-
gador 1 adota a estrat´egia s
1
, o jogador 2 adota a estrat´egia s
2
etc., at´e o n-´esimo jogador,
incluindo a ado¸ao da estrat´egia s
j
pelo jogador j. Assim, monta-se de acordo com a TAB.
4.3 as fun¸oes de recompensas para o jogo das equipes (a explica¸ao sobre as os valores
das recompensas ´e apresentada adiante):
U
1
(AT ACAR, AT ACAR) = 3 U
2
(AT ACAR, AT ACAR) = 0
U
1
(AT ACAR, DEF ENDER) = 2 U
2
(DEF ENDER, ATACAR) = 1
U
1
(DEF ENDER, ATACAR) = 1 U
2
(AT ACAR, DEF ENDER) = 2
U
1
(DEF ENDER, DEF ENDER) = 0 U
2
(DEF ENDER, DEF ENDER) = 0
De posse do conjunto de oes dos respectivos jogadores e de acordo com os tipos de
jogos, apresentado no cap´ıtulo 3, o jogo das equipes ´e classificado a seguir:
Jogo de estrat´egia - a a necessidade de planejar estrategicamente as oes a serem
adotadas durante o jogo.
Soma-zero - a vit´oria de uma equipe (+1) implica na derrota da outra (-1) ou em
caso de empate nenhuma equipe sai ganhando ou perdendo (0).
Dinˆamico - a intera¸ao estrat´egica acontece mais de uma vez.
Movimenta¸ao simultˆanea - as decis˜oes estrat´egicas ocorrem simultaneamente, para
os jogadores.
79
Informa¸ao completa - cada jogador conhece os objetivos dos demais jogadores e
qual a importˆancia relativa que os demais jogadores concedem aos seus objetivos,
assim, as recompensas dos jogadores ao de conhecimento comum.
Informa¸ao imperfeita - ao a conhecimento do hist´orico do jogo.
Por se tratar de um jogo de soma-zero, a competi¸ao ´e direta e por isso a coopera¸ao
ao existe. Desta forma, no objetivo global da equipe a democracia tamem inexiste. No
futebol de humanos, as estrat´egias ao pr´e-definidas por um treinador. Analogamente,
no futebol de robˆos as estrat´egias das equipes (objetivo global) devem ser determinadas
previamente. Para isso, ´e realizada a an´alise dos poss´ıveis estados das equipes assumirem:
COM BOLA (quando um robˆo da sociedade controlada est´a mais pr´oximo da bola do
que qualquer outro robˆo da sociedade rival no instante t+i); e SEM BOLA (quanto um
robˆo da sociedade rival est´a mais pr´oximo da bola do que qualquer robˆo da sociedade
controlada no instante t+i). Em ambos os estados, o jogador pode ATACAR (tentar se
posicionar no campo do advers´ario) ou DEFENDER (tentar se manter na sua faixa do
campo). A combina¸ao das estrat´egias das equipes gera recompensas diferentes. Assim,
estabeleceu-se os valores 0,1,2,3 para as recompensas das estrat´egias.
Ao avaliar a melhor estrat´egia, cada jogador deve considerar todas as oes que estejam
dispon´ıveis para ele e para os demais jogadores. O etodo mais simples de an´alise e
determina¸ao dos resultados de um jogo simultˆaneo de informa¸ao completa ´e atrav´es
da elimina¸ao iterativa de estrat´egias estritamente ou fortemente dominadas (FIANI,
2004). Uma estrat´egia ´e estritamente dominada para o jogador j se houver uma estrat´egia
alternativa que conduza o jogador a um retorno maior, quaisquer que sejam as escolhas
dos outros jogadores. As estrat´egias dos demais jogadores ao representadas como s
j
(o sub´ındice -j significa que est´a se tratando das estrat´egias de todos os jogadores que
ao j). Seja Π
j
a fun¸ao de recompensa do jogador j, que especifica uma recompensa
para o jogador j em rela¸ao `as estrat´egias que ele e os outros jogadores adotam. Se um
jogador possui uma estrat´egia estritamente ou fortemente dominada, sendo ele racional,
´e de se esperar que ele nunca a utilize. Nesse sentido, se uma dada estrat´egia do jogador
j, denominada s
j
, ´e fortemente dominante para esse jogador, tem-se a EQ. 4.10.
Π(s
j
, s
j
) > Π(s
j
, s
j
), para todo s
j
e todo s
j
(4.10)
Essa desigualdade representa o fato de que a recompensa proporcionada por s
j
ao
jogador j ´e estritamente superior `as recompensas proporcionadas por qualquer outra es-
80
trat´egia que j possa adotar, quaisquer que sejam as estrat´egias adotadas pelos demais
jogadores, ou seja, uma estrat´egia ´e estritamente dominante para o jogador j se for aquela
que maximiza os seus retornos, quaisquer que sejam as escolhas dos outros jogadores
Lembrando que o jogo das equipes por ser um jogo de movimenta¸ao simultˆanea ´e
melhor visualizado pela forma normal (definida no cap´ıtulo 3), a TAB. 4.3 apresenta as
recompensas do jogo quando a equipe A est´a no estado COM BOLA. Caso A e B decidam
ATACAR, ser´a a melhor situa¸ao poss´ıvel para A e a pior para B, pois A est´a com a posse
de bola no campo de defesa do advers´ario, enquanto B vai ATACAR, no campo de defesa
de A. Desta forma, as recompensas para A e B ser˜ao 3 e 0 respectivamente.
TAB. 4.3: Recompensas do jogo quando a Sociedade A est´a no estado COM BOLA
Se A e B se postarem a fim de DEFENDER, o jogo ao vai se desenvolver e assim
estagnar, o que ao interessa a nenhuma das equipes. Para essa situa¸ao, as recompensas
ao 0 e 0.
Quando A decide ATACAR e B DEFENDER, A ainda estar´a em vantagem, mas B
estar´a em situa¸ao melhor do que se fosse ATACAR, a que no estado DEFENDER ele
tenta resistir ao ATAQUE de A. Conseq¨uentemente a recompensa de A ao ser´a igual ao
caso onde B decidiu atacar. Assim, as recompensas de A e B ao 2 e 1 respectivamente.
O ´ultimo caso, ´e quando A decide DEFENDER e B decide ATACAR, pressionando
A. Essa situa¸ao ´e mais perigosa para A do que para B, pois B est´a pressionando A, que
est´a com a bola em seu campo. Se A perder a bola, a uma grande probabilidade de
tomar um gol e se A conseguir ATACAR, B ainda ter´a tempo de se defender. Assim, as
recompensas nessa situa¸ao para A e B ao 1 e 2 respectivamente.
Na TAB. 4.3 pode ser observado que a estrat´egia ATACAR ´e dominante em rela¸ao
`a estrat´egia DEFENDER (EQ. 4.11), uma vez que se a sociedade B decidir ATACAR,
´e melhor para A ir ATACAR e se B decidir se DEFENDER, tamb´em ´e melhor para A
ATACAR. Assim, independente da estrat´egia adotada por B, ´e sempre melhor para A
81
ATACAR.
Π(s
1
, s
1
) > Π(s
1
, s
1
)
Π(AT ACAR, ATACAR) = 3 > Π(DEF ENDER, ATACAR) = 1
Π(AT ACAR, DEF ENDER) = 2 > Π(DEF ENDER, DEF ENDER) = 0 (4.11)
A TAB. 4.4 apresenta as recompensas do jogo quando a sociedade A est´a no estado
SEM BOLA. A matriz de recompensa ´e montada similarmente `a matriz do estado COM
BOLA. Nesse estado, ao a estrat´egia dominante para A (EQ. 4.12), por´em, o Equil´ıbrio
de Nash diz que cada jogador deve dar a melhor resposta `a ao que ele espera que venha a
ser adotada pelo outro. Como a visto, a sociedade B sendo um agente racional e estando
no estado COM BOLA, ela ´e incentivada a ATACAR. Com isso, o Equil´ıbrio de Nash do
jogo das equipes ´e (DEFENDER,ATACAR), na vis˜ao da equipe que est´a SEM BOLA.
Contudo, se ap´os um certo per´ıodo de observao (definido experimentalmente) a equipe
B ao ATACAR, A deve ATACAR, alterando, assim, as recompensas de A e B.
Π(AT ACAR, ATACAR) = 0 < Π(DEF ENDER, ATACAR) = 1
Π(AT ACAR, DEF ENDER) = 2 > Π(DEF ENDER, DEF ENDER) = 0 (4.12)
TAB. 4.4: Recompensas do jogo quando a Sociedade A est´a no estado SEM BOLA
Diante das an´alises feitas atrav´es da TJ se extraem as regras determinantes do objetivo
global do sistema. Como as regras ao informa¸oes conhecidas previamente, os robˆos,
quando estiverem em competi¸ao, ter˜ao esse conhecimento comum e atrav´es dele o objetivo
local dever´a ser determinado. As regras ao apresentadas na FIG. 4.23.
No entanto, a partir da defini¸ao do estado da equipe, uma estrat´egia entre duas oes
´e definida, podendo ser ATACAR ou DEFENDER. Mas o que os robˆos entendem por
ATACAR ou DEFENDER?
Como a havia sido antecipado na introdu¸ao, o futsal de humanos ´e o jogo que mais
inspirou esse trabalho. Sendo assim, deve-se compreendˆe-lo melhor. Em futsal, a es-
quematiza¸ao de jogo ´e fator preponderante em uma equipe, pois sem essa atividade, ao
82
FIG. 4.23: Algoritmo para determinar a estrat´egia global
se ter´a uma equipe e sim um grupo de elementos que estar˜ao praticando um esporte sem
um objetivo espec´ıfico. atica nada mais ´e do que a teoria (t´ecnica) colocada em pr´atica
na quadra de jogo (SOFUTSAL!, 2005).
Basicamente, essas estrat´egias, ATACAR e DEFENDER, definem um esquema atico
que os robˆos dever˜ao assumir socialmente. Existem arios esquemas poss´ıveis no futsal
como 3-1, 2-2, 1-2-1, 4-0, todos da mais alta importˆancia desde que sejam bem aplicados
(FUTSAL BRASIL, 2005). Para entender a numera¸ao expressa na nomenclatura dos
esquema aticos, precisa-se saber que isso corresponde `a quantidade de jogadores em cada
posi¸ao, iniciando pela defesa. Por exemplo: no 4-0, ao 4 jogadores de defesa e nenhum
jogador de ataque; no 1-2-1, 1 jogador defende, 2 ficam no meio e 1 no ataque. Cada uma
dessas aticas definem o que cada jogador deve fazer no decorrer do jogo.
De acordo com as caracter´ısticas dos robˆos projetados, definiu-se adotar duas aticas,
uma para ATACAR e outra para DEFENDER. Para a equipe ATACAR, sabendo que
ao a dispositivo de passe nos robˆos projetados neste trabalho, apenas de chute, a atica
adota ´e a 2-2. Nesse esquema atico, o posicionamento dos robˆos ao: 2 em defesa (um
ala e o fixo) e 2 em ataque (um ala e o pivˆo). Apesar de ao haver dispositivo de passe,
´e interessante 1 jogador apoiar ofensivamente o que est´a com a bola, pois a bola pode,
por exemplo, em um chute sobrar pr´oxima ao gol. Esse robˆo ”apoiador” tamem pode
cooperar diretamente com o que est´a com a bola.
A atica definida para se DEFENDER ´e o esquema 3-1, onde 3 robˆos defendem (os alas
e o fixo) e apenas 1 robˆo se posiciona ofensivamente (pivˆo). No esquema 3-1 as posi¸oes
83
de cada jogador ao pr´e-determinadas, onde cada qual desenvolver´a a sua fun¸ao, mas
nunca ficando restrito a um posicionamento fixo.
´
E um esquema onde a equipe, em
determinados momentos da partida, o utilizar´a para evitar o crescimento do advers´ario
e conseq¨uentemente a marca¸ao de gols por parte dele. Complementarmente, oferece
a possibilidade do contra-ataque (SOFUTSAL!, 2005).
´
E interessante complementar que
outras aticas podem ser assumidas, levando em considera¸ao apenas a mudan¸ca de fun¸ao
de cada jogador em rela¸ao a ela.
4.4.2.2 OBJETIVO LOCAL
Enquanto a fun¸ao do objetivo global ´e determinar a estrat´egia da equipe, o objetivo local
serve para determinar a ao e a pose do objetivo de cada robˆo da equipe controlada.
O jogo entre jogadores de uma mesma equipe ´e uma tarefa fortemente acoplada. Isso
porque um ´unico robˆo ao ´e capaz de atacar, defender e, sozinho, criar condi¸oes favor´aveis
durante o jogo, mesmo porque, de acordo com as regras da RoboCup f-180, uma equipe
deve possuir no aximo 5 robˆos, sendo um o goleiro, o que ao torna poss´ıvel solucionar
o problema com apenas um robˆo.
De acordo com os tipos de jogos, apresentados no cap´ıtulo 3, o jogo entre jogadores
de uma mesma equipe ´e classificado como:
Jogo de estrat´egia;
Soma ao-zero;
Cooperativo;
Dinˆamico;
Movimenta¸ao seq¨uencial;
Informa¸ao completa;
Informa¸ao imperfeita;
Assim, pode-se notar que esse jogo difere em rela¸ao ao jogo das equipes por ser um
jogo de soma ao-zero.
´
E exatamente nesses jogos que a coopera¸ao pode emergir. Se
os jogadores podem estabelecer compromissos e esses compromissos possuem garantias
efetivas, diz-se que o jogo ´e cooperativo.
84
A principal diferen¸ca da ab ordagem utilizada neste trabalho est´a, de acordo com
observoes feitas, no fato de que apesar de o jogo ser de movimenta¸ao simultˆanea,
acredita-se que a tomada de decis˜ao ´e seq¨uencial. Entretanto, diversos trabalhos tratam
esse jogo como simultˆaneo (BOWLING AND VELOSO, 2003) (IKENOUE ET. AL., 2002)
(MARTINEZ AND BRENA, 2005) (TAKAHASHI ET. AL., 2005). A tomada de decis˜ao
seq¨uencial foi constatada em partidas de futsal, onde cada jogador revˆe sua estrat´egia de
acordo com a possibilidade de contribui¸ao cooperativa na jogada. Por exemplo, o robˆo
com maior influˆencia na jogada o considera as estrat´egias dos robˆos que podem contribuir
consigo. Os robˆos que cooperam com o robˆo mais influente analisa as estrat´egias dos
robˆos que podem cooperar com ele e assim por diante. Entende-se por maior influˆencia
na jogada, sendo o robˆo que est´a com a bola, caso a equipe esteja com a bola, ou o jogador
com maiores condi¸oes de roubar a b ola da equip e advers´aria ou impedir um ataque. A
informa¸ao de jogo simultˆaneo, que adv´em da TJ, ´e muito importante e demonstra a
necessidade de entender o jogo em quest˜ao. Isso muda a forma de enxergar o problema,
refletindo, por conseq¨uˆencia, na sua resolu¸ao.
As posi¸oes aticas a serem desempenhadas pelos robˆos independem do esquema atico
adotado pela equipe. Diversos autores tentam definir as posi¸oes dos jogadores no futsal.
Todavia, adotou-se as defini¸oes de Voser (VOSER, 2001) por serem amplamente aceitas:
Goleiro - respons´avel por defender e impedir que a bola ultrapasse a linha de gol;
Fixo - sua fun¸ao asica ´e defensiva, este jogador tamem deve ter um bom senso
de cobertura;
Alas (direito e esquerdo) - ao os respons´aveis pela constru¸ao das jogadas e em a
tarefa de marcar e atacar;
Pivˆo - Quando acionado exerce as oes de finaliza¸ao e de abrir espa¸cos na ´area
advers´aria para a penetra¸ao de seus companheiros.
Vistas as posi¸oes dos jogadores e suas respectivas fun¸oes, transferindo-se do futsal
para o futebol de robˆos, as ´areas de atua¸ao de cada robˆo ao apresentadas na FIG. 4.24.
No entanto, a atica de jogo p ode e deve variar durante o transcorrer da partida de
futsal. A troca de posi¸oes entre os jogadores, conhecida como rota¸ao, ´e uma das maiores
caracter´ısticas do futsal. A rota¸ao ocorre primeiramente para tentar abrir espa¸co a fim
85
FIG. 4.24: Supondo que o campo de defesa ´e o lado esquerdo, as ´areas de atua¸oes das
posi¸oes dos jogadores em campo, real¸cada na cor cinza, ao apresentadas: (a) goleiro;
(b) fixo; (c) ala esquerdo; (d) ala direito; (e) pivˆo.
86
de penetrar no campo do advers´ario e tamem para dar maiores condi¸oes ofensivas e
defensivas a uma equipe.
A FIG. 4.25 ´e uma seq¨encia de imagens capturadas da partida disputada entre Brasil
e Espanha, alida pela semi-final da Copa do Mundo de Futsal Fifa, ocorrida em 2004
e transmitida pelo canal de televis˜ao espanhol EuroSport. Na figura, pode-se constatar
diversas rota¸oes. A seq¨uˆencia das imagens inicia-se (a) com o jogador identificado como
1 com a bola e na posi¸ao de fixo, o 2 como ala esquerdo, o 3 como ala direito e o 4 como
pivˆo. Observe que todos os jogadores sempre olham para o jogador com maior influˆencia
na jogada (nessa imagem o jogador 1 por estar com a bola) na espera de que ele tome sua
decis˜ao para, enfim, os demais reverem suas estrat´egias.
Na pr´oxima imagem (b), o jogador 1 passa a bola para o jogador 3. Ao receber (c), o
jogador 3 come¸ca a se movimentar para o centro do campo de jogo e imediatamente ao
observar isso, o jogador 1 que est´a no centro, parte para o ataque a fim de liberar o espa¸co
que o jogador 3 procura (d) e ainda o jogador 4 parte para ocupar a antiga posi¸ao do
jogador 3. Repare agora (e) que houve a troca de posi¸oes, onde o jogador 3 passou a ser
o fixo, o jogador 1 o pivˆo e o jogador 4 o ala esquerdo.
Na seq¨uˆencia, o jogador 3 passa a bola para o jogador 2 e parte para o ataque (f). No
entanto, na seq¨encia (g) o jogador 2 ao se posicionou ocupando o espa¸co deixado pelo
jogador 3 e esse jogador revˆe sua decis˜ao e volta a ocupar sua antiga posi¸ao. O jogador 2
enao passa a bola para o jogador 4 e parte para o ataque (h). Nesse momento o jogador 3
volta para ocupar a regi˜ao antes ocupada pela 2 (i). Note novamente a rota¸ao (j), agora
o jogador 2 ´e o pivˆo, o jogador 3 o fixo e os jogadores 1 e 4 os alas esquerdo e direito,
respectivamente.
Seguindo (k), o jogador 4 passa a bola para o jogador 1 e parte para o ataque (l).
Continuando, o jogador 1 passa a bola para o jogador 3 (m) e novamente a a troca de
posi¸oes (n). O jogador 1 se torna o fixo, o 2 ala esquerdo, 3 ala direito e o 4 pivˆo (o).
O jogador 4 se reposiciona (voltando), o jogador 3 passa a bola para o 2 e se reposiciona
para ocupar o espa¸co do 4 (p), ocorrendo troca de posi¸ao entre eles (q). Por fim, o
jogador 3, agora pivˆo, est´a livre e aguarda a decis˜ao do jogador 2, se este vai passar a
bola, caminhar ao gol ou chut´a-la (r).
Como visto na FIG. 4.25, o futsal ´e um jogo dinˆamico, assim como o futebol de robˆos.
No entanto, devido `as restri¸oes f´ısicas dos robˆos, as caracter´ısticas de comportamento do
futsal provenientes da capacidade de passar a bola ser˜ao ignoradas, uma vez que os robˆos
87
88
FIG. 4.25: Posi¸oes dos jogadores em campo: (a) goleiro; (b) fixo; (c) ala esquerdo; (d)
ala direito; (e) pivˆo.
89
projetados neste trabalho ao possuem dispositivo de passe.
Desta forma, a distribui¸ao dinˆamica de posi¸ao entre os jogadores, ou seja, a rota¸ao
do futsal ser´a inserida no contexto do futebol de robˆos sem considerar passes. Comple-
mentarmente, a troca de posi¸oes ocorrer´a apenas entre posi¸oes com interse¸ao em suas
´areas de atua¸ao. Com isso, a rota¸ao aqui possibilita ao fixo tornar-se ala (direito ou
esquerdo) e vice-versa, bem como ao pivˆo ser ala (direito ou esquerdo) e a qualquer um
dos alas ser pivˆo ou ainda a troca de posi¸oes entre os alas. Por´em, pela defini¸ao da
´area de atua¸ao de cada posi¸ao, ao a troca entre o fixo e o pivˆo, uma vez que ao a
interse¸ao em suas ´areas de atua¸ao. Para o fixo se tornar pivˆo, primeiramente ele deve
trocar de posi¸ao com um dos alas. Note ainda que o goleiro nunca troca de posi¸ao.
Uma vez definido o esquema atico da equipe, cada robˆo exerce uma fun¸ao distinta de
acordo com sua posi¸ao. Para isso, definiram-se 3 estados poss´ıveis de um robˆo assumir
independente do estado da equipe. ao eles:
L´ıder;
Coopera¸ao;
Individual.
Definidos os estados dos robˆos, torna-se necess´ario estabelecer as oes que cada jo-
gador poder´a executar. Toda ao possui um algoritmo associado. As oes poss´ıveis com
a equipe no estado COM BOLA (esquema atico 2-2) ao:
Chutar (l´ıder) - apenas o l´ıder;
Caminhar ao gol (l´ıder) - apenas o l´ıder, exceto o goleiro.
Interceptar advers´ario (coopera¸ao) - qualquer robˆo, exceto o goleiro;
Apoiar ataque (coopera¸ao) - apenas os alas e o pivˆo;
Reposicionar (individual) - qualquer robˆo.
No entanto, quando a equipe est´a no estado SEM BOLA, as oes dos jogadores ao
ao as mesmas do estado COM BOLA. Assim, as poss´ıveis oes para o estado SEM
BOLA (esquema atico 3-1) ao:
Dar combate (l´ıder) - somente o l´ıder, sempre no advers´ario que est´a com a bola;
90
Marcar robˆo (coopera¸ao) - somente os alas (direito e esquerdo), sempre no ad-
vers´ario no seu campo de defesa mais pr´oximo ao gol e a ele;
Reposicionar (individual) - qualquer robˆo dentro de sua ´area de atua¸ao.
De acordo com o que foi visto at´e o momento e respeitando as ´areas de atua¸ao, ´e
poss´ıvel definir as caracter´ısticas de cada posi¸ao na estrat´egia aqui adotada no futebol
de robˆos:
O goleiro somente se reposiciona. Assim, nunca troca de posi¸ao e nem coopera.
O fixo se reposiciona quando a equipe estiver sem a bola e algum ala puder dar
combate, sen˜ao o fixo deve dar combate. Quando a equipe est´a com a bola, o fixo
se reposiciona e intercepta o advers´ario, se houver condi¸oes para isso.
Os alas atacam e defendem. Se sua equipe estiver com a bola e o pivˆo for o l´ıder, um
ala ap´oia o ataque do pivˆo, sen˜ao, se um dos alas for o l´ıder, o l´ıder caminha para
gol enquanto o outro ala se reposiciona ou intercepta um advers´ario. Se a equipe
ao estiver com a bola, os alas podem dar combate, marcar ou se reposicionar.
O pivˆo pode caminhar para gol, apoiar ataque (quando um ala for o l´ıder), in-
terceptar advers´ario e se reposicionar se a sua equipe estiver com a posse de bola.
A equipe ao estando com a bola, o pivˆo pode dar combate (se for o l´ıder) e se
reposicionar.
Para que a TJ possa ser utilizada, ´e preciso atribuir valores de recompensas paras as
oes. No estado global COM BOLA, as recompensas ao:
Chutar = 20
Caminhar para o gol = 15
Interceptar advers´ario = 10
Apoiar ataque = 5
Reposicionar = 1
De acordo com os valores atribu´ıdos, nota-se claramente uma ordem de preferˆencia
na execu¸ao das oes. O que implica numa meta-estrat´egia. Assim, no estado COM
91
FIG. 4.26: Algoritmo da ao chutar.
BOLA, o l´ıder ´e estimulado a chutar para o gol advers´ario, sempre que houver condi¸oes
para isso; ao havendo, ele deve caminhar para o gol. Aos robˆos com possibilidade de
coopera¸ao, ´e prefer´ıvel a eles interceptarem trajet´orias de advers´ario (se poss´ıvel) do que
apoiar ataque. Por fim, a um robˆo ao sendo l´ıder e ao podendo cooperar, resta apenas
se reposicionar. A recompensas das oes no estado global SEM BOLA ao:
Dar combate = 10
Marcar robˆo = 5
Reposicionar = 1
Agora, faz-se necess´ario associar cada ao a um algoritmo que a possa executar.
Os algoritmos das oes chutar (FIG. 4.26), caminhar para o gol (FIG. 4.27), interceptar
advers´ario (FIG. 4.28), apoiar ataque (FIG. 4.29), dar combate (FIG. 4.30), marcar (FIG.
4.31), reposicionar goleiro (FIG. 4.32), reposicionar fixo (FIG. 4.33), reposicionar ala
direito (FIG. 4.34), reposicionar ala esquerdo (FIG. 4.35) e reposicionar pivˆo (FIG. 4.36)
ao descritos.
Diante das explana¸oes feitas a respeito de cada posi¸ao, ´e necess´ario definir uma
forma de representar as poss´ıveis coopera¸oes existentes em cada instante do jogo. Para
isso, uma estrutura chamada de hierarquia de cooperao ´e definida.
A forma de se representar a hierarquia de cooperao ´e atrav´es de ´arvore. Pela defini¸ao
cl´assica, ´arvore ´e uma estrutura de dados que possui rela¸ao hier´arquica entre seus ele-
mentos.
´
Arvore tamb´em costuma ser definida como um conjunto finito de um ou mais os,
onde um deles ´e denominado raiz e os demais, recursivamente, formam uma sub-´arvore.
92
FIG. 4.27: Algoritmo da ao caminhar ao gol.
FIG. 4.28: Algoritmo da ao interceptar advers´ario.
FIG. 4.29: Algoritmo da ao apoiar ataque.
93
FIG. 4.30: Algoritmo da ao dar combate.
FIG. 4.31: Algoritmo da ao marcar.
94
FIG. 4.32: Algoritmo da ao reposicionar goleiro.
95
FIG. 4.33: Algoritmo da ao reposicionar fixo.
FIG. 4.34: Algoritmo da ao reposicionar ala direito.
96
FIG. 4.35: Algoritmo da ao reposicionar ala esquerdo.
FIG. 4.36: Algoritmo da ao reposicionar pivˆo.
97
Na hierarquia de co opera¸ao, menor profundidade na ´arvore significa maior representa-
tividade na jogada e uma maior profundidade, menor representatividade. Assim, a maior
profundidade poss´ıvel da ´arvore ´e igual a 4 (lembrando que o goleiro ao coopera).
Na hierarquia de cooperao os ertices ao formados pelas posi¸oes; as arestas repre-
sentam a ao que o o filho pode realizar em coopera¸ao com o pai. Assim, cada aresta
possui um peso associado a ela. Antes de montar a hierarquia de cooperao dos robˆos ´e
preciso frisar que o pivˆo o co opera com os alas; um ala coopera com o outro ala, o fixo
e o pivˆo; o fixo coopera somente com os alas. Assim, sabendo que a raiz da hierarquia de
cooperao ´e sempre o l´ıder, tem-se:
O pivˆo pode ter como filhos na hierarquia os dois alas;
Um ala pode ter como filhos o pivˆo, o outro ala e o fixo;
O fixo pode ter como filhos somente os alas.
Note que a representa¸ao por forma de ´arvore ´e similar `a representa¸ao na forma
estendida da TJ. Assim, em cada aresta da ´arvore ao atribu´ıdas as recompensas das
oes multiplicadas por um valor que determina a representatividade (profundidade na
´arvore) na jogada e que ser˜ao analisados pela TJ. A solu¸ao que gerar maior recompensa
´e a escolhida.
´
E importante salientar que, se um robˆo aparecer na ´arvore, ´e porque ele
contribui socialmente. Sendo assim, ao a redu¸ao nas recompensas acumuladas at´e seu
pai. As ´arvores que representam toda a hierarquia de coopera¸ao poss´ıvel tendo como l´ıder
o pivˆo (P), o ala direito (AD), o ala esquerdo (AE) e o fixo (F) ao apresentadas nas figuras
FIG. 4.37, FIG. 4.38, FIG. 4.39 e FIG. 4.40, respectivamente. Complementarmente, ´e
importante ressaltar que quando um robˆo ao est´a inserido na hierarquia de coopera¸ao,
ele est´a no estado INDIVIDUAL (reposicionamento).
Entretanto, diante do que foi exposto at´e o momento, para emergir a coopera¸ao, ´e
necess´ario co ordenar socialmente a forma de se distribuir as diferentes oes aos robˆos.
Assim, ao apresentados, resumidamente, abaixo, os passos que determinam os objetivos
locais para os robˆos.
a) Eleger o l´ıder;
b) Definir posi¸oes aticas dos robˆos;
c) Fazer rota¸ao, se for o caso;
98
FIG. 4.37: Hierarquia de coopera¸ao axima quando o pivˆo ´e o l´ıder.
FIG. 4.38: Hierarquia de coopera¸ao axima quando o ala direito ´e o l´ıder.
99
FIG. 4.39: Hierarquia de coopera¸ao axima quando o ala esquerdo ´e o l´ıder.
FIG. 4.40: Hierarquia de coopera¸ao axima quando o fixo ´e o l´ıder.
100
d) Montar rede de coopera¸ao;
e) Determinar o plano de oes.
Ao eleger o l´ıder, os parˆametros usados para defini-lo ao os mesmos adotados para
determinar o estado da equipe (objetivo global), o que aqui se leva em considera¸ao
apenas os robˆos da equipe controlada. Assim, essa informa¸ao, sobre quem ´e o l´ıder, ´e
determinada no algoritmo de objetivo global, ao sendo necess´ario recalcul´a-la. Al´em de
eleger o l´ıder, os demais robˆos da equipe est˜ao hierarquizados em rela¸ao de importˆancia
no instante de tempo atual do jogo.
Para definir as posi¸oes aticas dos robˆos, atribui-se, dinamicamente, aos robˆos
as posi¸oes aticas. Na primeira, e somente na primeira, itera¸ao da partida ´e executado
o algoritmo que define qual dos robˆos da equipe controlada ´e o goleiro; uma vez definido,
ele ser´a o goleiro at´e o final da partida. Na primeira e nas demais itera¸oes do sistema,
cada posi¸ao atica ´e definida inicialmente para o fixo e o pivˆo (n˜ao importando a ordem)
e, posteriormente, para o ala direita e ala esquerdo (sem ordem definida). ao deixados
por ´ultimo os alas porque, para defini-los, o algoritmo depende da defini¸ao pr´evia do
fixo e do pivˆo. Adicionalmente, o robˆo que for definido em uma posi¸ao ao ser´a mais
utilizado nos algoritmos de atribui¸ao de posi¸ao.
Para definir qual robˆo ´e o fixo no instante de tempo t, calcula-se a distˆancia dos
robˆos que ainda ao tˆem posi¸ao atica definida em rela¸ao ao seu gol. O robˆo com menor
distˆancia ´e o fixo. Para o pivˆo, o algoritmo ´e semelhante, o que ao inv´es de ser a distˆancia
em rela¸ao ao seu gol, ´e em rela¸ao ao gol advers´ario. Dentre os dois robˆos que sobraram,
o robˆo que estiver mais a esquerda do campo, de acordo com a vis˜ao de sua equipe, ´e o ala
esquerdo e o robˆo que restou ´e o ala direito. A ordem de defini¸ao dos alas ao importa,
lembrando apenas de relacionar o lado do campo com o ala que se est´a definindo.
No algoritmo de rota¸ao, excetuando o goleiro por ao poder trocar de posi¸ao, todos
os robˆos da equipe controlada ao utilizados para verificar se a sua posi¸ao espacial atual
corresponde `a sua posi¸ao atica, definida no passo 2. Caso a posi¸ao espacial de algum
deles ao corresponda `a posi¸ao atica, diz-se que ele est´a ”fora de posi¸ao” e, assim,
faz-se a troca de posi¸oes aticas para concretizar a rota¸ao. Para isso, o robˆo que est´a
”fora de posi¸ao” troca de posi¸ao atica com o robˆo com menor influˆencia na jogada, no
instante de tempo atual (definido no passo 1).
´
E importante lembrar, mais uma vez, que
a troca o ocorre entre posi¸oes em que a interse¸ao na sua ´area de atua¸ao.
101
O objetivo global est´a diretamente relacionado com a forma de montar a rede de
coopera¸ao. Se o objetivo global for ATACAR, as oes que devem estar presentes na
hierarquia de coopera¸ao ao apenas oes de ataque. Em contrapartida, se o objetivo
global for DEFENDER, as oes da rede de coopera¸ao devem ser oes de defesa.
O primeiro passo para montar a hierarquia de coopera¸ao ´e definir a raiz. A raiz ´e
sempre o l´ıder da equipe, independente do objetivo global. Assim, a partir do l´ıder, sabe-
se quais ao seus poss´ıveis filhos. Entretanto, ´e necess´ario verificar quais dos poss´ıveis
filhos do l´ıder podem cooperar com ele. Sabendo-se que as oes de coopera¸ao ao
INTERCEPTAR ADVERS
´
ARIO, APOIAR ATAQUE e MARCAR, as formas pelas quais
cada robˆo pode cooperar variam. Assim, para cada tipo de ao cooperativa, a uma
verifica¸ao diferente em rela¸ao ao esquema atico adotado.
Nesse trabalho, como a mencionado, se adota o esquema atico 2-2 para atacar e o
esquema 3-1 para defender. Desse modo, ´e descrita, abaixo, a forma de montar a ´arvore
de coopera¸ao para os esquemas aticos citados.
Para o esquema atico 2-2 em fun¸ao ofensiva, ap´os a inser¸ao da raiz, somente um
filho do l´ıder (profundidade 2 da ´arvore) pode executar a fun¸ao APOIAR ATAQUE.
Se o l´ıder for um ala, somente o pivˆo pode apoi´a-lo no ataque. Sen˜ao, se o l´ıder for o
pivˆo, somente o ala mais pr´oximo do gol advers´ario pode apoiar o ataque. Entretanto,
a ao INTERCEPTAR ADVERS
´
ARIO ´e priorit´aria (maior recompensa) em rela¸ao `a
APOIAR ATAQUE. Aos demais filhos resta apenas a possibilidade de INTERCEPTAR
ADVERS
´
ARIO. Contudo, para um robˆo interceptar a trajet´oria de um advers´ario em
rela¸ao `a trajet´oria de seu pai na hierarquia de coopera¸ao, calcula-se a distˆancia desse
robˆo e de todos os advers´arios em rela¸ao a seu pai. Se o robˆo estiver mais pr´oximo
de seu pai do que n advers´arios, significa que esse robˆo pode interceptar a trajet´oria de
n advers´arios. Entretanto, deve-se escolher apenas um advers´ario. A escolha de qual
advers´ario deve ser interceptado pelo robˆo ´e feita pela menor distˆancia do advers´ario em
rela¸ao ao seu pai. Caso haja 2 ou mais robˆos da equipe controlada podendo interceptar
o mesmo advers´ario, tem preferˆencia aquele que est´a em sua ´area de atua¸ao. Se mesmo
assim 2 ou mais robˆos puderem interceptar o advers´ario, ent˜ao o robˆo mais pr´oximo do seu
pai deve executar essa ao, isso por haver mais garantias de que ela se concretize. Note
que a partir da profundidade 3 da ´arvore os robˆos apenas podem interceptar advers´ario.
Por exemplo, a FIG. 4.41 ilustra uma situa¸ao interessante de estrat´egia de ataque
tendo como l´ıder o ala esquerdo. Assim, seus poss´ıveis filhos (pela interse¸ao das ´area de
102
FIG. 4.41: Exemplo de coopera¸ao ofensiva entre os robˆos da equipe amarela tendo como
l´ıder o ala esquerdo.
atua¸ao) ao o fixo, o ala direito e o pivˆo. Contudo, a melhor solu¸ao ´e do fixo cooperar
com o ala direito e ao com o ala esquerdo. Na FIG. 4.42 est´a a hierarquia de coopera¸ao
com a solu¸ao para o exemplo da FIG. 4.41.
Para o esquema atico 3-1 em fun¸ao defensiva (sem bola), a ´unica forma de coopera¸ao
´e atrav´es da ao MARCAR.
´
E importante frisar que o pivˆo ao marca advers´ario algum,
isto por uma quest˜ao simples: espera-se que ele seja marcado, a que est´a no campo
advers´ario. Na solu¸ao, o fixo tamb´em ao marca, isso a fim de proteger melhor o gol,
uma vez que ”chutes” de longa distˆancia podem ocorrer. Assim, somente os alas marcam
e, para isso, algum advers´ario deve estar no seu campo de defesa. Nesse contexto, se o
pivˆo for l´ıder e houver um ou mais advers´arios no campo de defesa da equipe controlada,
os robˆos mais pr´oximos do gol devem ser marcados pelos alas mais pr´oximos a eles. Dessa
forma, pode acontecer de algum robˆo advers´ario ficar sem marca¸ao.
´
E um risco a ser
corrido, a que o pivˆo e o fixo ao marcam. Note que as oes de coopera¸ao se sobrep˜oem
`as ´areas de atua¸ao das posi¸oes por considerar priorit´aria esse tipo de ao.
Supondo a situa¸ao da FIG. 4.43, a coopera¸ao defensiva ´e definida a partir do l´ıder,
ala direito. Assim, a FIG. 4.44 ´e a solu¸ao para a situa¸ao ilustrada.
Uma vez montada a hierarquia de coopera¸ao, basta determinar o plano de oes.
Para determinar as oes executadas por cada robˆo, deve percorrer a hierarquia de co-
103
FIG. 4.42: Hierarquia de coopera¸ao para o exemplo da FIG. 4.41.
FIG. 4.43: Exemplo de coopera¸ao defensiva entre os robˆos da equipe amarela tendo como
l´ıder o ala direito.
FIG. 4.44: Hierarquia de coopera¸ao para o exemplo da FIG. 4.43.
104
FIG. 4.45: Exemplo de estrat´egia escolhida, com maior recompensa, para coopera¸ao.
opera¸ao a fim de encontrar a coopera¸ao que gera a maior recompensa, sem repeti¸ao
de posi¸oes. Por exemplo, supondo a hierarquia de coopera¸ao da FIG. 4.45, a melhor
solu¸ao ´e apresentada em destaque. Os robˆos que ao est˜ao presentes na solu¸ao extra´ıda
da hierarquia de coopera¸ao executar˜ao o trabalho individual (reposicionamento).
4.5 EXECUC¸
˜
AO
Resumidamente o problema da execu¸ao consiste em conduzir o robˆo de sua posi¸ao
corrente a uma posi¸ao objetivo. A execu¸ao est´a dividida em dois odulos: planejamento
de trajet´oria e controle.
4.5.1 PLANEJAMENTO DE TRAJET
´
ORIA
O planejamento de trajet´oria baseia-se na teoria do Campo Potencial Artificial (KHATIB,
1986), que tem como princ´ıpio fundamental a movimenta¸ao do robˆo sob um campo de
for¸cas artificiais, geradas pelos obst´aculos e pelo alvo. O potencial, seu gradiente, deve
ser cont´ınuo. Os obst´aculos (outros robˆos) e o alvo (determinado no objetivo local),
lembrando que cada robˆo p ossui seu alvo, geram campos de repuls˜ao e de atra¸ao, respec-
tivamente, obtendo um movimento (seguindo o gradiente) atrav´es do qual os obst´aculos
ao evitados e espera-se que o robˆo atinja seu objetivo (FIG. 4.46). Essas for¸cas ao
oriundas de uma fun¸ao chamada de potencial artificial.
105
FIG. 4.46: Campo potencial (LATOMBE, 1991)
Basicamente, um robˆo no espa¸co F ´e tratado como sendo uma part´ıcula sob influˆencia
de um campo potencial artificial U. O campo potencial U ´e constru´ıdo no intuito de re-
presentar a estrutura espacial do ambiente. Contudo, cada ao descrita no objetivo local
do planejamento estrat´egico possui crit´erios diferentes para inserir campos de repuls˜ao no
ambiente representado. Note que, sendo o alvo dinˆamico, ao ´e necess´ario que a bola,
nem o gol, sejam campos de atra¸ao, uma vez que a posi¸ao do robˆo no instante t + i a
foi definida no planejamento estrat´egico; assim, a bola e o gol tornam-se campos neutros.
Adicionalmente, todos os robˆos de linha ”enxergam” a ´area do goleiro de sua equipe como
campo de repuls˜ao, evitando que o robˆo entre na ´area e, por conseq¨encia, ocasione pe-
nalidade axima. Os campos potenciais de repuls˜ao gerados em cada ao ao descritos
abaixo.
Chutar - ao a campos de repuls˜ao nesta ao.
Caminhar para o gol - Durante a aproxima¸ao da bola somente os robˆos advers´arios
ao campos potenciais de repuls˜ao e isso ocorre porque as demais oes no estado COM
BOLA ”enxergam” o l´ıder como campo de repuls˜ao. Se o robˆo ainda ao estiver alinhado
com o objetivo e com distˆancia maior que L (limiar de aproxima¸ao) da bola, a bola ´e
106
vista, tamb´em, como campo de repuls˜ao. A bola ´e um campo potencial de repuls˜ao com
a finalidade de o robˆo contorn´a-la para poder lev´a-la at´e o gol advers´ario. Se o robˆo
estiver alinhado com a bola e a uma distˆancia menor que L, ao a campos potenciais de
repuls˜ao em seu ambiente.
Interceptar advers´ario - Somente os robˆos de sua equipe ao vistos como campos
potenciais de repuls˜ao. Se o robˆo, que executa essa ao, enxergasse os robˆos advers´arios
como campos de repuls˜ao, ao haveria intercepta¸ao.
Apoiar ataque - Todos os robˆos ao vistos como campos de repuls˜ao.
Dar combate - Em seu ambiente, excetuando o l´ıder da equipe advers´aria, todos
os demais advers´arios ao campos potenciais de repuls˜ao. O l´ıder advers´ario ao ´e visto
como campo de repuls˜ao por causa da necessidade de aproximar o robˆo que executa essa
ao dele.
Marcar - Enxerga todos os robˆos como campo de repuls˜ao.
Reposicionar goleiro - ao a campos potenciais de repuls˜ao em seu ambiente.
Reposicionar fixo - Apenas os robˆos da sua equipe ao vistos como campos de
repuls˜ao.
Reposicionar alas - Apenas os robˆos da sua equipe ao vistos como campos de
repuls˜ao.
Reposicionar pivˆo - Apenas os robˆos da sua equipe ao vistos como camp os de
repuls˜ao.
A fun¸ao potencial, U : F R, deve atrair o robˆo para a posi¸ao final e repelir
o robˆo para longe dos obst´aculos. Um potencial de atra¸ao U
atr
deve estar associado a
uma posi¸ao x, que representa o objetivo, e um potencial de repuls˜ao U
rep
induzido pelo
obst´aculo que deve repelir o robˆo para longe dele, associado a sua posi¸ao x. O campo
repulsivo ao deve afetar o movimento do robˆo quando este estiver a uma distˆancia muito
grande. O potencial total ´e dado por:
U(x) = U
atr
(x) + U
rep
(x) (4.13)
A for¸ca resultante f ´e dada por:
f = f
atr
+ f
rep
(4.14)
em que:
f
atr
= U
atr
(x) (4.15)
107
f
rep
= U
rep
(x) (4.16)
onde f
atr
´e uma for¸ca de atra¸ao que guia o robˆo at´e o objetivo e f
rep
´e uma for¸ca
repulsiva produzida pela superf´ıcie do obst´aculo.
A equa¸ao que expressa o campo potencial de atra¸ao ´e definido por:
U
atr
(x) =
1
2
k(x x
atr
)
T
(x x
atr
) (4.17)
onde k ´e uma constante. A for¸ca exercida sobre o robˆo ´e:
f
atr
(x) = U
atr
(x) = k(x x
atr
) (4.18)
Dessa forma, prop orcional `a distˆancia do robˆo `a posi¸ao do objetivo. O potencial
repulsivo ´e definido por:
U
rep
(x) =
1
2
k(
1
d
1
d
0
)
2
se d < d
0
0 se d d
0
(4.19)
onde d ´e a distˆancia entre o robˆo e o obst´aculo, d
0
´e a distˆancia axima de influˆencia
do obst´aculo e k uma constante de ganho. A for¸ca repulsiva induzida por este campo ´e:
U
rep
(x) =
k(
1
d
1
d
0
)
1
d
2
dd
dx
se d < d
0
0 se d d
0
(4.20)
onde
dd
dx
´e o vetor unit´ario segundo o qual a for¸ca ´e aplicada.
De forma geral, para n obst´aculos, a for¸ca total gerada pelos obst´aculos f
rep
t
expressa
por:
f
rep
t
=
n
i=1
f
rep
i
(4.21)
A for¸ca resultante dos campos de atra¸ao e repuls˜ao ´e:
f = f
atr
+ f
rep
t
(4.22)
Por fim, a for¸ca resultante f deve ser aplicada no controle do robˆo.
4.5.2 CONTROLE
Um bom controle de velocidade dos motores ´e primordial para executar com precis˜ao a
trajet´oria planejada.
O sistema adotado ´e de malha aberta, ou seja, sem realimenta¸ao de odometria (deslo-
camento do ve´ıculo) e encoder (rota¸ao de cada motor). A ausˆencia desses dispositivos
transdutores fez-se necess´aria porque elevaria o custo de produ¸ao de cada robˆo.
108
4.6 COMUNICAC¸
˜
AO
Um bom sistema de comunica¸ao ´e muito importante para um controle de tempo real no
futebol de robˆos. A comunica¸ao utilizada ´e unidirecional (apenas o computador envia
dados e somente os robˆos recebem). A comunica¸ao bidirecional ao costuma ser utilizada
em aplica¸oes que possuam vis˜ao global. O computador externo envia em broadcast (todos
os robˆos recebem os dados e interpretam apenas o bloco que lhe diz respeito) ou por
endere¸camento direto (pacotes enviados para cada robˆo) por radiofreq¨encia, atraes de
uma freq¨encia previamente estabelecida, e os robˆos, com receptores sintonizados na
mesma freq¨uˆencia de transmiss˜ao, recebem os sinais e os interpreta. Essa pol´ıtica de
comunica¸ao ´e conhecida como protocolo.
A principal vantagem de se utilizar protocolo por endere¸camento direto ´e a possibili-
dade de fazer um controle de prioridade entre os robˆos durante o jogo. Assim, supondo
que a equipe advers´aria esteja com a bola caminhando livremente para o gol da equipe
controlada, o goleiro poderia ser elevado para prioridade axima enquanto o pivˆo seria
de prioridade m´ınima. Por´em, o intervalo de tempo em que os robˆos recebem um pacote
de dados ´e incerto e pode resultar em deficiˆencia no controle.
Na comunica¸ao, utilizando proto colos broadcast (mais comum no futebol de robˆos),
cada robˆo possui um endere¸co que corresponde a qual bloco de dados ser´a processado do
pacote recebido. Com isso, nenhum robˆo fica ocioso e o intervalo de tempo no recebimento
dos pacotes ´e constante.
Martins et. al. (MARTINS ET. AL., 2005) alertam que para aplica¸oes de controle
de robˆos, seja numa partida de futebol ou mesmo um robˆo ovel em outra aplica¸ao,
o protocolo de comunica¸ao deve ser otimizado para que sua estrutura seja suficiente
para conter apenas informa¸oes relevantes a serem passadas aos robˆos. Esse protocolo
deve, ainda, ser confi´avel, ou seja, capaz de separar dados bons de dados corrompidos,
mostrando ter bom controle da informa¸ao e tratamento de erros.
Para o projeto dos robˆos foram adquiridos transmissores Keymark TXC1 FIG. 4.47 e
receptores Keymark RXD1 FIG. 4.47 em freq¨uˆencias 315/433.92MHz.
Nas FIG. 4.49 e FIG. 4.50 est˜ao as especifica¸oes do transmissor e receptor, respecti-
vamente. Para mais informa¸oes do transmissor e do receptor, consultar respectivamente
os seus data sheets (KEYMARK, 2006a) e (KEYMARK, 2006b).
109
FIG. 4.47: Transmissor RF Keymark TXC1.
FIG. 4.48: Receptor RF Keymark RXD1.
FIG. 4.49: Esp ecifica¸oes dos pinos do Transmissor RF Keymark TXC1, adaptado de
(KEYMARK, 2006a).
110
FIG. 4.50: Especifica¸oes dos pinos do Receptor RF Keymark RXD1, adaptado de (KEY-
MARK, 2006b).
4.7 SIMULADOR
Os simuladores oficiais existentes, tanto da FIRA Simuro Sot (FIRA, 2005b) quanto da
RoboCup Simulation 2D e 3D (ROBOCUP, 2005e), simulam jogadores human´oides. Nesse
sentido, a a necessidade de se implementar um simulador, ao no intuito de substituir ou
melhorar os simuladores existentes, mas para simular robˆos com as caracter´ısticas f´ısicas
da equipe do IME.
Visto que, de acordo com a arquitetura proposta, o sistema se constitui de odulos,
tem-se como justificativa, para implementar o simulador e testar o funcionamento do
algoritmo, a ausˆencia de ru´ıdos na determina¸ao exata da posi¸ao e orienta¸ao dos robˆos, o
que no mundo f´ısico sabe-se que, atualmente, as condi¸oes de ilumina¸ao e as deformidades
provocadas pela lente da amera afetam a precis˜ao dos dados. Portanto, se o odulo
de Vis˜ao ao estiver funcionando corretamente, dados distorcidos ser˜ao enviados para o
odulo Estrat´egia que, por sua vez, vai aparentar estar incorreto, assim tamb´em refletindo
na Execu¸ao e Comunica¸ao, ou seja, o erro ´e acumulativo. Assim, fica muito dif´ıcil
detectar qual odulo ´e o gerador do erro. No entanto, com a tecnologia atual, a precis˜ao
dos dados alcan¸cada com um Simulador ao pode ser atingida por algum sistema que
interage com o mundo f´ısico. Sendo assim, um comportamento inconsistente do robˆo
significa que o erro est´a sendo originado no pr´oprio programa em teste.
Al´em das justificativas supra-citadas, adicionam-se a elas o elevado tempo de espera
no recarregamento de baterias utilizados nos robˆos f´ısicos, o desgaste natural do hardware,
al´em de os robˆos f´ısicos (incluindo sua fase de projeto) demorarem muito mais tempo para
entrar em opera¸ao se comparados a um sistema de simula¸ao.
111
5 IMPLEMENTAC¸
˜
AO COMPUTACIONAL
Para validar os algoritmos apresentados no cap´ıtulo 4, foram implementados, computa-
cionalmente, dois programas de computador. O primeiro ´e o software de vis˜ao computa-
cional, que processa imagens capturadas do ambiente de jogo, gerando dados num´ericos
que ao utilizados para gerar o comportamento social. O segundo ´e o simulador, a apre-
sentado. Tanto no programa de vis˜ao quanto no simulador, o paradigma de programa¸ao
de orienta¸ao a objetos foi adotado.
A orienta¸ao a objetos ´e um paradigma de programa¸ao que surgiu para promover
o entendimento do mundo real. Nesse sentido, um objeto ´e uma entidade que tem uma
identidade. Assim, a programa¸ao orientada a objetos torna a implementa¸ao mais sim-
ples. No entanto, as linguagens que permitem o desenvolvimento de solu¸oes, utilizando o
paradigma de orienta¸ao a objetos, possuem diferen¸cas entre si. Dentre essas diferen¸cas, o
desempenho de execu¸ao do odigo fonte da programa¸ao ´e o principal fator aqui procu-
rado. Dentre as linguagens de programa¸ao orientada a objetos, as linguagens Java e
C++ ao as mais utilizadas.
Em (SCHEPKE E CHAR
˜
AO, 2004), Schepke e Char˜ao apresentam uma compara¸ao
entre as linguagens Java e C++ para a resolu¸ao de uma mesma aplica¸ao: a equa¸ao de
Laplace atrav´es do m´etodo iterativo do Gradiente Conjugado. Tal compara¸ao contribui,
principalmente, para ressaltar as vantagens e desvantagens dessas linguagens no contexto
da computa¸ao cient´ıfica de alto desempenho. Para fins de compara¸ao, foram gerados
trˆes odigos execut´aveis: C++, Java Bytecode e Java Compilado para odigo nativo. O
gr´afico FIG. 5.1 representa o resultado da compara¸ao.
Em vista dos resultados apresentados na FIG. 5.1, nota-se claramente que a linguagem
C++ se apresenta como a melhor op¸ao para um STR que exige ser executado de forma
apida e eficiente. Tanto na implementa¸ao da vis˜ao computacional quanto na imple-
menta¸ao do simulador, a linguagem de programa¸ao C++ foi a adotada.
A linguagem C foi desenvolvida por Dennis Ritchie no in´ıcio dos anos 70 e com a
filosofia de mane-la apida, confiar no programador e ao impedir que o programador
fa¸ca o que necessita ser feito. Desde ent˜ao, a linguagem C tornou-se amplamente utilizada.
A linguagem C++ foi criada por Bjarne Stroupstrup no in´ıcio dos anos 80, tendo como
112
FIG. 5.1: Compara¸ao entre os tempos de execu¸ao do etodo do Gradiente Conjugado
(SCHEPKE E CHAR
˜
AO, 2004).
principal objetivo estender a linguagem C.
Lee e Tepfenhart (LEE E TEPFENHART, 2001) descrevem as principais capacidades
t´ecnicas da linguagem C++:
Um programa C++ pode ser apido, pois ele ao incorre nos gastos em tempo de
execu¸ao do tipo ”verifica¸ao e coleta de lixo” encontrados na maioria das linguagens
”orientadas a objeto puras”;
Um casamento entre a linguagem Assembly, de baixo n´ıvel, e constru¸oes orientadas
a objetos de alto n´ıvel. O desenvolvedor poder´a escrever odigo no n´ıvel apropriado
para modelar a solu¸ao particular e, ainda, manter detalhes de implementa¸ao em
n´ıvel da aquina;
C++ ´e uma linguagem de multiparadigmas que proporciona ao desenvolvedor uma
gama de op¸oes relativas ao desenho e codifica¸ao de uma solu¸ao. Em resumo,
pode-se considerar a linguagem C++ como alternativa de linguagem orientada a
objetos de um desenvolvedor profissional a linguagens ”orientadas a objeto puras”,
tais como Smalltalk, Objective C, Eiffel, etc. A linguagem confia no programador
e ao impede que ele estenda para suportar mecanismos abstratos proveitosos e
tamb´em utilize ecnicas ao-orientadas a objeto quanto apropriado. Al´em do mais,
ela ´e uma extens˜ao de uma linguagem de programa¸ao que tem sido utilizada para
escrever um grande n´umero de aplica¸oes numa ampla faixa de aquinas.
113
Dentre as interfaces de desenvolvimento que utilizam a linguagem C++, escolheu-se
utilizar a interface de desenvolvimento Borland C++ Builder 4.0 Standard Edition, para
o sistema operacional Microsoft Windows, por sua disponibilidade e ser uma ferramenta
visual de programa¸ao. Al´em disso, com o Borland C++ Builder a facilidades em migrar
as aplica¸oes desenvolvidas nele para o Borland Kylix para Linux, desde que utilize os
mesmos componentes na aplica¸ao. A id´eia de desenvolver solu¸oes em diferentes sistemas
operacionais ´e interessante, uma vez que se pode comparar o desempenho das aplica¸oes
neles, possibilitando a escolha do sistema operacional mais adequado.
5.1 VIS
˜
AO COMPUTACIONAL
A figura FIG. 5.2 apresenta o software de vis˜ao computacional implementado. Na parte
superior, encontram-se as vari´aveis que devem ser ajustadas durante a calibra¸ao. Em
identificao, est˜ao presentes as op¸oes de escolha entre os etodos de classifica¸ao por
HSV e rede neural RBF. a na orienta¸ao, os m´etodos dispon´ıveis ao por RGB, HSV e
rede neural MLP. Na guia RGB e HSV est˜ao as vari´aveis utilizadas nesses m´etodos, citadas
no cap´ıtulo 4. Na parte inferior, o endere¸co da imagem ascara da subtra¸ao de imagens e
a imagem capturada do ambiente.
`
A direita, o bot˜ao Raio calcula, a partir de amostras, a
distˆancia entre as marcas de orienta¸ao em rela¸ao ao centro do robˆo; o bot˜ao RBF treina
a rede neural RBF; o bot˜ao MLP treina a rede neural MLP; o bot˜ao Processar inicia o
processamento da vis˜ao computacional; os bot˜oes Identifica¸ao e Orienta¸ao ao utilizados
durante a fase offline para visualizar os resultados da calibra¸ao; o bot˜ao Subtra¸ao exibe
apenas a parte real¸cada pelo etodo da subtra¸ao de imagens; e o bot˜ao Salvar tem a
fun¸ao de salvar a imagem resultante do processamento, exibida abaixo dos bot˜oes. Ao
centro do programa, encontra-se a imagem capturada do ambiente.
5.2 SIMULADOR
No simulador, toda a parte de estrat´egia descrita durante o trabalho foi implementada.
Quanto `a movimenta¸ao, somente robˆos holonˆomicos foram utilizados. O simulador ´e
apresentado na FIG. 5.3.
Na ´area central do simulador encontra-se o campo de jogo, local onde ´e simulada,
visualmente, uma partida entre duas equipes (cada uma com sua respectiva cor). Abaixo
do campo est´a o placar da partida.
`
A esquerda as informa¸oes das equipes em rela¸ao `a
114
FIG. 5.2: Programa implementado da vis˜ao computacional.
FIG. 5.3: Simulador implementado.
115
posse de bola, que implica na estrat´egia global de uma equipe, e as posi¸oes dos robˆos no
campo no instante atual. No lado direito, informa¸oes sobre o ambiente de trabalho.
116
6 TESTES E RESULTADOS
Os testes foram realizados com o intuito de quantificar a eficiˆencia da solu¸ao descrita
ao longo da disserta¸ao. Para os testes, foi utilizada uma aquina PC Intel Pentium 4 HT
(32 bits) com freq¨encia de 3.0GHz e 512MB de mem´oria RAM. O sistema operacional
utilizado foi o Microsoft Windows XP Professional. Assim, os testes realizados e os
resultados ao apresentados a seguir.
6.1 VIS
˜
AO COMPUTACIONAL
Para que se pudesse realizar os testes de vis˜ao, foi necess´ario montar uma estrutura que
desse sup orte a isso. Nesse sentido, foi necess´aria uma amera localizada acima do centro
do campo de jogo e ampadas para iluminar a superf´ıcie uniformemente. Para isso, foi
adquirida uma tenda do tipo Gazebo para que, aproveitando sua estrutura, pudesse ser
fixada a amera e as ampadas. Entretanto, a altura da amera pode variar de acordo com
a necessidade de ajustes. Assim, a altura da amera estaria limitada devido `as restri¸oes da
tenda gazebo. Entretanto, a fim de possibilitar posicionamentos da amera em diferentes
alturas, decidiu-se aproveitar apenas a parte superior da tenda gazebo e prendˆe-la ao teto
com roldanas. A FIG. 6.1 ´e uma fotografia do laborat´orio com a estrutura montada.
Foram utilizadas 4 ampadas fluorescentes de 40w para iluminar o campo de jogo, esse
um feltro da cor verde.
Contudo, ap´os a montagem da estrutura f´ısica apareceram problemas inerentes `a vis˜ao
computacional. A proximidade do reator eletrˆonico das ampadas em rela¸ao `a amera
provocou ru´ıdos na aquisi¸ao de imagens. Assim, foi necess´ario posicionar os reatores
distantes da amera. Entretanto, ru´ıdos continuaram presentes no processo de aquisi¸ao
de imagens. Dessa vez, ocasionado pelo longo cabo que liga a amera ao computador.
Contudo, foi necess´ario adquirir cabo e conectores de qualidade superior.
Uma vez montada a estrutura, ode-se iniciar os testes do sistema de vis˜ao computa-
cional. Devido `as dimens˜oes reduzidas do laborat´orio, foi necess´ario diminuir a escala do
campo de jogo. Na mesma propor¸ao, a ´area dos robˆos foi diminu´ıda, com o intuito de
proporcionar maior fidelidade nos testes. Todavia, pela dificuldade de reduzir o tamanho
117
FIG. 6.1: Fotografia do laborat´orio com o suporte de amera e ampadas montado.
da bola, ela continuou nas dimens˜oes oficiais. No entanto, a amera CMOS, dispon´ıvel
para teste, ao conseguiu captar o ambiente em condi¸oes adequadas de ilumina¸ao para
o processamento. ao foi investigada se a baixa luminosidade capturada no ambiente
foi ocasionada pelas ampadas, a que foi necess´ario posicionar a amera distante do
campo para que ele fosse enquadrado; nem foi verificada se a amera era adequada para
essa aplica¸ao. A solu¸ao encontrada foi aproximar a amera e, conseq¨uentemente, as
ampadas do campo. Contudo, a escala dos robˆos em rela¸ao ao campo ficou maior, o que
ao obedece `as regras da RoboCup f-180. Fica aqui a sugest˜ao para que, em trabalhos
futuros, seja verificado o uso de outras ameras e tipos de ampadas.
Os testes que ao descritos a seguir foram realizados com a finalidade de comparar os
resultados e tempo de processamento do etodos HSV e RBF para a identifica¸ao dos
objetos e RGB, HSV e MLP para a orienta¸ao. Quanto ao erros angulares e espaciais, um
estudo detalhado sobre calibra¸ao deve ser feito, o que foge do escopo dessa disserta¸ao.
Para os testes, foram adquiridas 83 amostras da equipe amarela, 120 da equipe azul e 89
da bola. Todas as imagens foram capturadas na resolu¸ao de 640x480 pixels. A calibra¸ao
118
FIG. 6.2: Regi˜oes com diferen¸ca de luminosidade utilizadas na calibra¸ao.
foi realizada a partir de imagens de cada um dos grupos (equipe amarela, equipe azul e
bola) capazes de exprimir a diversidade de ilumina¸ao e, conseq¨uentemente, varia¸ao de
cor no ambiente. A FIG. 6.2 ilustra as nove regi˜oes, de onde foi retirada 1 amostra de
cada, para a calibra¸ao.
Durante a calibra¸ao, constatou-se que a cor de identifica¸ao azul foi mais dif´ıcil de
calibrar do que as cores amarela e alaranjada. A maior dificuldade de calibra¸ao da cor
azul se deve, principalmente, ao fato de o ambiente capturado pela amera estar escuro,
ocasionando a confus˜ao da cor azul com a preta (corpo do robˆo) e, `as vezes, um mau
funcionamento da subtra¸ao de imagens (verde escuro do campo na ascara). Vale ainda
acrescentar que, devido `a falta de bola de golfe na cor laranja, foi adquirida uma bola de
golfe branca e pintada com spray de tinta na cor alaranjada. Por´em, a bola ficou com
tonalidade de cor mais clara que a oficial, o que possibilita a confus˜ao na identifica¸ao com
a cor amarela de acordo com a varia¸ao de ilumina¸ao. Adicionalmente, foi observado
que, para a identifica¸ao dos objetos, o etodo RBF ´e mais acil e apido de se calibrar,
devido `a capacidade de generaliza¸ao das RNAs, do que o m´etodo HSV.
Quanto `a calibra¸ao das cores de orienta¸ao, ao houve dificuldades em calibrar nos
trˆes m´etodos. O m´etodo RGB ´e o de mais simples calibra¸ao, devido `as suas regras
(descritas no cap´ıtulo 4). Para o etodo MLP, poucas amostras conseguem representar
bem o ambiente, devendo apenas se atentar nas regi˜oes de transi¸ao de cores (limite entre
cores). O etodo HSV necessita de um pouco mais de cuidado durante sua calibra¸ao,
119
uma vez que a interse¸ao nas cores entre as coordenadas desse espa¸co de cor.
Todavia, apesar de tantos problemas, os resultados foram animadores. Em todos
os testes foram utilizadas a mesmas configura¸oes no programa de vis˜ao computacional:
percorre-se cada imagem em i = 4 pixels no eixo xe j = 4 no eixo y; distˆancia do raio
das marcas de orienta¸ao em rela¸ao ao centro de massa de 11,3 pixels; na subtra¸ao de
imagens, θ = 27; no algoritmo de centr´oide, o erro da identifica¸ao igual a 18 e orienta¸ao
30. Para a classifica¸ao em HSV foi:
Azul - H
min
= 223, H
max
= 332, S
min
= 51, S
max
= 207, V
min
= 59eV
max
= 182;
Amarelo - H
min
= 28, H
max
= 94, S
min
= 39, S
max
= 151, V
min
= 198eV
max
= 255;
Laranja - H
min
= 13, H
max
= 69, S
min
= 141, S
max
= 217, V
min
= 214eV
max
= 255;
Ciano - H
min
= 22, H
max
= 224, S
min
= 16, S
max
= 141, V
min
= 140eV
max
= 255;
Rosa - H
min
= 0, H
max
= 358, S
min
= 20, S
max
= 155, V
min
= 127eV
max
= 255;
Verde - H
min
= 51, H
max
= 148, S
min
= 41, S
max
= 158, V
min
= 67eV
max
= 205;
Note que os valores da configura¸ao HSV difere da tabela de cores apresentada no
cap´ıtulo 4, isso ocorre porque foi necess´ario modificar os padr˜oes de cores para que o
m´etodo RGB funcionasse (descrito no cap´ıtulo 4). Para o m´etodo de classifica¸ao por
RGB, os valores de erroCiano, erroRosa e erroVerde utilizados nos testes ao respec-
tivamente 120, 170 e 80. A RNA RBF adotada para a identifica¸ao possuiu, em sua
arquitetura, 14 neurˆonios, sendo 5 para classificar a cor amarela, 5 para a cor azul e 4
para a cor laranja.
Na TAB. 6.1 ao apresentados os resultados dos testes para a tarefa de identifica¸ao
dos objetos. Os valores de porcentagem est˜ao aproximados.
TAB. 6.1: Resultados dos testes de identifica¸ao utilizando os etodos HSV e RBF.
Nos testes realizados, a identifica¸ao utilizando a RNA RBF foi mais eficiente para
a classifica¸ao da bola e da equipe amarela. No geral os resultados foram pr´oximos.
120
FIG. 6.3: Classifica¸ao errada no etodo de identifica¸ao HSV para a equipe amarela,
caso 1; onde: (a) ´e a imagem original, (b) imagem processada e (c) a sobreposi¸ao de (b)
em (a)
FIG. 6.4: Classifica¸ao errada no etodo de identifica¸ao HSV para a equipe amarela,
caso 2; onde: (a) ´e a imagem original, (b) imagem processada e (c) a sobreposi¸ao de (b)
em (a)
Entretanto, o etodo HSV classificou uma vez erradamente a equipe amarela como bola
(FIG. 6.3) mas, ainda na figura, em (c), repare que a maior parte da cor amarela est´a sendo
classificada corretamente. O outro caso em que o m´etodo HSV classificou errado a equipe
amarela est´a relatado na FIG. 6.4. Note na FIG. 6.4, em (c), que a cor de orienta¸ao
ciano foi classificada como sendo da equipe azul, dando a impress˜ao de haver dois objetos
sobrepostos. Os problemas da classifica¸ao em HSV da bola ao apresentados nas figuras
FIG. 6.5 e FIG. 6.6, que ao o mesmo caso da FIG. 6.3. Ainda no m´etodo de classifica¸ao
por HSV, os erros foram ocasionados por causa da subtra¸ao de imagens; repare em (c)
nas FIG. 6.7 e FIG. 6.8, onde o preto ´e o que se real¸ca na subtra¸ao, que apenas uma
pequena parte da cor de identifica¸ao est´a destacada. Na FIG. 6.9, ainda na classifica¸ao
por HSV, o erro foi ocasionado porque a cor rosa de orienta¸ao foi confundida com a cor
azul de identifica¸ao, dando a impress˜ao de haver dois objetos sobrepostos. No entanto,
acredita-se que em melhores condi¸oes de execu¸ao do teste, o resultado da identifica¸ao
melhore.
121
FIG. 6.5: Classifica¸ao errada no m´etodo de identifica¸ao HSV para a bola, caso 1; onde:
(a) ´e a imagem original, (b) imagem processada e (c) a sobreposi¸ao de (b) em (a)
FIG. 6.6: Classifica¸ao errada no m´etodo de identifica¸ao HSV para a bola, caso 2; onde:
(a) ´e a imagem original, (b) imagem processada e (c) a sobreposi¸ao de (b) em (a)
FIG. 6.7: Classifica¸ao errada no m´etodo de identifica¸ao HSV para a equipe azul, caso
1; onde: (a) ´e a imagem original, (b) imagem processada e (c) a sobreposi¸ao de (b) em
(a)
122
FIG. 6.8: Classifica¸ao errada no m´etodo de identifica¸ao HSV para a equipe azul, caso
2; onde: (a) ´e a imagem original, (b) imagem processada e (c) a sobreposi¸ao de (b) em
(a)
FIG. 6.9: Classifica¸ao errada no m´etodo de identifica¸ao HSV para a equipe azul, caso
3; onde: (a) ´e a imagem original, (b) imagem processada e (c) a sobreposi¸ao de (b) em
(a)
123
FIG. 6.10: Classifica¸ao errada no etodo de identifica¸ao RBF para a equipe azul; onde:
(a) ´e a imagem original, (b) imagem processada e (c) o que o algoritmo de identifica¸ao
classifica.
Os erros de classifica¸ao do etodo RBF est˜ao relacionados `as amostras utilizadas na
calibra¸ao: a exemplo disso, a FIG. 6.10 ´e apresentada. Os outros dois erros resultantes
da classifica¸ao da RNA RBF ao os mesmos provocados nas figuras FIG. 6.7 e FIG. 6.8.
Para os testes de orienta¸ao, as amostras que foram identificadas com sucesso no HSV e
no RBF foram processadas, utilizando os etodos RGB, HSV e MLP; as demais amostras
(7 do modelo HSV e 3 da RNA RBF) foram descartadas. A RNA MLP usada nos testes
possui em sua arquitetura 5 neurˆonios na camada oculta e, conforme descrito no cap´ıtulo 4,
4 neurˆonios na camada de sa´ıda. As tabelas TAB. 6.2 e TAB. 6.3 apresentam os resultados
dos testes de orienta¸ao utilizando, respectivamente, HSV e RBF na identifica¸ao.
TAB. 6.2: Resultados dos testes de orienta¸ao utilizando o etodo HSV na identifica¸ao.
TAB. 6.3: Resultados dos testes de orienta¸ao utilizando o etodo RBF na identifica¸ao.
Os resultados apresentados pela RNA MLP foram superiores aos resultados dos outros
dois m´etodos. Isso o vem comprovar a capacidade de generaliza¸ao das RNAs. Todavia,
124
FIG. 6.11: Classifica¸ao errada ocasionada pelo m´etodo centr´oide, caso 1; onde: (a) ´e a
imagem original, (b) imagem processada e (c) o que o algoritmo de orienta¸ao classifica.
FIG. 6.12: Classifica¸ao errada ocasionada pelo m´etodo centr´oide, caso 2; onde: (a) ´e a
imagem original, (b) imagem processada e (c) o que o algoritmo de identifica¸ao classifica.
o etodo HSV apresentou resultados pr´oximos aos do MLP. a o m´etodo RGB mostrou-se
pouco confi´avel, mesmo as superf´ıcies visuais dos robˆos sendo impressas de forma a ajudar
a classifica¸ao por RGB, a varia¸ao de ilumina¸ao no ambiente o comprovou o que havia
sido discutido durante a disserta¸ao, a sensibilidade `a luz desse espa¸co de cor.
Quanto ao algoritmo centr´oide apresentado no cap´ıtulo 4, seu desempenho foi compro-
metido por causa da baixa ilumina¸ao capturada no ambiente, lembrando que o algoritmo
centr´oide adotado trabalha com o espa¸co de cores RGB. Isso foi constatado porque os re-
sultados da equipe azul (por causa da confus˜ao com a cor preta) ficaram abaixo dos da
equipe amarela, onde ao havia confus˜ao. Al´em disso, o etodo centr´oide fez com que
as amostras, que seriam classificadas corretamente, fossem classificadas erroneamente na
equipe azul (vide exemplo em FIG. 6.11). A exemplo disso, a figura FIG. 6.12 ´e apresen-
tada. Note na FIG. 6.12, em (c), que o algoritmo centr´oide posicionou o centro de massa
das cores de identifica¸ao fora da ´area reconhecida.
Por fim, ´e apresentado na FIG. 6.14 o tempo de processamento da jun¸ao de cada
m´etodo. Para registrar o tempo de processamento da jun¸ao dos etodos, a amostra
utilizada nesse teste est´a na FIG. 6.13. Foi adotada uma amostra com a quantidade
125
FIG. 6.13: Amostra utilizada para se determinar o tempo de processamento de cada
jun¸ao de m´etodos.
axima de objetos p oss´ıveis para se registrar o pior caso de processamento. Em rela¸ao
`a identifica¸ao, a velocidade de processamento do HSV ´e bem superior `a RNA RBF e os
seus resultados ao semelhantes. Na orienta¸ao, os trˆes modelos apresentam velocidade
de computa¸ao baixa.
6.2 SIMULADOR
Os algoritmos propostos foram suficientes para a equipe apresentar comportamento co-
operativo. Embora durante as simula¸oes pode-se observar a coordena¸ao ocorrer nos
m´ultiplos robˆos, ´e dif´ıcil de quantificar o valor deste componente espec´ıfico. Conclus˜ao
a que Vail e Veloso (VAIL AND VELOSO, 2003) tamb´em chegaram. Assim, uma forma
de tentar quantificar a solu¸ao, ´e coloc´a-la em confronto direto com outras solu¸oes,
atrav´es das competi¸oes. Mesmo nas competi¸oes, torna-se dif´ıcil encontrar um crit´erio
para quantificar a solu¸ao. Isso porque tanto as solu¸oes de hardware quanto as solu¸oes
de software ao distintas. Dessa forma, supondo que uma equipe possua uma excelente
solu¸ao de software e uma solu¸ao de hardware inferior, essa equipe pode perder em um
confronto direto de uma outra equipe com ´otima solu¸ao de hardware e uma solu¸ao de
software inferior. O contr´ario tamb´em ´e alido.
Mas o que torna uma solu¸ao melhor do que a outra?
´
E uma pergunta complicada
de se responder. Nesse sentido, vale lembrar o famoso caso do torneio onde programas de
126
FIG. 6.14: Compara¸ao do tempo de processamento, em milissegundos, dos m´etodos
utilizados nos testes de vis˜ao computacional.
computadores disputavam o dilema dos prisioneiros (descrito no cap´ıtulo 3). Participaram
da competi¸ao profissionais de diversas ´areas, apresentando solu¸oes com diferentes graus
de complexidade. Algumas das solu¸oes utilizavam a TJ para induzir o outro jogador a
cooperar, pegando carona em suas boas inten¸oes. Nesse torneio, a estrat´egia vencedora
foi o programa tit-for-tat (olho por olho) (AXELROD AND HAMILTON, 1981).
Resumidamente, a estrat´egia tit-for-tat consiste em inicialmente (na primeira itera¸ao)
cooperar com o oponente e, a partir da´ı, durante as pr´oximas itera¸oes, repetir a ao
deste na jogada anterior, qualquer que seja ela. Sendo assim, o programa ´e muito sim-
ples. Entretanto, a grande surpresa veio quando, ap´os os resultados serem divulgados `a
comunidade participante do certame, o torneio se repetiu e o tit-for-tat voltou a vencer.
Mas, dessa vez, alguns dos participantes utilizaram programas para explorar o tit-for-tat.
O exemplo do tit-for-tat mostra que uma solu¸ao simples pode obter melhores resul-
tados do que solu¸oes com alto grau de complexidade. Mesmo assim, ao a garantia de
que o tit-for-tat ´e a melhor solu¸ao. No entanto, era uma competi¸ao somente de software
e o problema ´e, teoricamente, menos complexo do que futebol de robˆos.
Embora o comportamento social possa ser observado nas simula¸oes, em alguns mo-
mentos o jogo pareceu estar truncado. Isso foi provocado porque os robˆos, ao possuindo
dispositivo de passe, necessitam carregar a bola at´e uma distˆancia em que possa ”chutar”
para o gol advers´ario. Contudo, o advers´ario, atrav´es da ao DAR COMBATE, tenta
impedir que o robˆo com a posse de bola consiga evoluir espacialmente. Assim, a inser¸ao
de dispositivo de passe possibilita novas movimenta¸oes e menos tempo carregando a bola,
o que pode ajudar a diminuir o truncamento do jogo.
127
Com o truncamento do jogo, houve oscila¸oes no estado do objetivo global das equipes.
Isso ocorre porque quando um robˆo carrega a bola, ao havendo o dispositivo ”driblador”
nele, a bola tende a escapar de sua superf´ıcie e, com isso, o advers´ario que est´a dando com-
bate passa a ficar com uma distˆancia da bola menor do que tinha o que antes caminhava
para o gol. Diz-se antes porque, nesse momento, o estado global das equipes inverteu, a
que o estado global ´e definido utilizando a distˆancia dos robˆos em rela¸ao `a b ola. Esse
processo se repete in´umeras vezes, tornando os movimentos de todos os robˆos oscilat´orios.
Por exemplo, um robˆo pode oscilar entre apoiar ataque (COM BOLA) e se reposicionar
(SEM BOLA); entre outras situa¸oes. Com o objetivo de resolver as oscila¸oes no estado
global das equipes, a inser¸ao de um novo estado global pode ser interessante, o estado
EM DISPUTA.
A utiliza¸ao de segmento de reta para fazer a previs˜ao de movimento dos advers´arios e
da bola funcionou bem, fazendo com que os robˆos da equipe controlada sempre conseguis-
sem atingir a bola e realizar a movimenta¸ao a partir da previs˜ao dos robˆos advers´arios.
Entretanto, problemas de m´ınimos locais provocados pelo etodo de campo potencial
artificial foram identificados.
Na FIG. 6.15 est´a ilustrada uma situa¸ao de m´ınimo local. Repare que a bola est´a
gerando um campo potencial de repuls˜ao area em cinza) para o robˆo l´ıder da equipe
controlada, assim como a ´area de atua¸ao do goleiro de sua equipe. Repare ainda que
para o robˆo atingir o objetivo (identificado com um X ), de acordo com a teoria do campo
potencial artificial, ele deveria passar entre a bola e a ´area do goleiro, no entanto, ao
a espa¸co suficiente para isso. Mas, supondo que o advers´ario a em dire¸ao `a bola a
fim de fazer o gol, o robˆo que estava em m´ınimo local, vai sair dessa situa¸ao, a que sua
ao vai se modificada para DAR COMBATE.
´
E uma situa¸ao indesejada, uma vez que
de uma situa¸ao de vantagem, a equipe passar´a para uma de desvantagem. Por´em, se
por algum motivo a equipe advers´aria estiver parada, o jogo vai estagnar, necessitando
da interven¸ao do ´arbitro humano.
Pela falta de aleatoriedade no sistema, a solu¸ao ´e determin´ıstica, ou seja, a partir de
uma mesma raiz, o resultado ser´a sempre o mesmo. Dessa forma, torna a movimenta¸ao
da equipe previs´ıvel, podendo o advers´ario explorar essa situa¸ao.
Por fim, ´e apresentado o tempo edio aproximado de processamento extra´ıdo nas
itera¸oes do simulador. Para o odulo de Planejamento, onde ocorrem os alculos de
Previs˜ao de Movimento, Objetivo Global e Objetivo Local, o tempo de processamento ´e
128
FIG. 6.15: Exemplo de problema de m´ınimo local do campo potencial artificial.
de aproximadamente 0.09ms. Para o Planejamento de Trajet´oria, o tempo aproximado
de pro cessamento ´e de 0.05ms. Em ambos os casos, o tempo de processamento superou
as expectativas mais otimistas dos que estiveram envolvidos no trabalho.
129
7 CONSIDERAC¸
˜
OES FINAIS
O futebol de robˆos ´e um desafio padr˜ao internacional, onde pesquisadores de diversas
´areas desenvolvem solu¸oes. O grande desafio do futebol de robˆos est´a focado at´e o ano
de 2050, onde se prevˆe que uma equipe de robˆos vencer´a a equipe campa mundial de
futebol de humanos, seguindo regras internacionais da FIFA.
Durante a disserta¸ao foram apresentados os fundamentos necess´arios para o trabalho
cooperativo. Nesse sentido, foi feita uma discuss˜ao filos´ofica sobre o comportamento
social, dando ˆenfase nas rela¸oes entre indiv´ıduos e ambiente. Entretanto, para o compor-
tamento social surgir, ´e necess´ario uma mecanismo democr´atico, que trate os indiv´ıduos
em igualdade de condi¸ao, a que todo indiv´ıduo ´e importante para o ambiente. Todavia,
a democracia direta, que teoricamente propicia a cada indiv´ıduo contribuir de maneira
cont´ınua para a elabora¸ao e o aperfei¸coamento das solu¸oes, ´e um pro cesso muito lento
e invi´avel em um STR. Assim, foi adotado um processo de regula¸ao social, que verifica
as condi¸oes de contribui¸ao social de cada indiv´ıduo. Nesse sentido, foi montada uma
hierarquia de contribui¸ao social dos indiv´ıduos, denominada hierarquia de cooperao.
Atraes da hierarquia de coopera¸ao cada indiv´ıduo planeja sua ao em rela¸ao `a sua
posi¸ao na hierarquia. O uso da hierarquia de cooperao possibilitou o uso coordenado
de oes individuais em benef´ıcio social.
Contudo, entender o processo de tomada de decis˜ao ´e fundamental para bons resulta-
dos. Foram constatados dois tipos de jogos: jogo das equipes (objetivo global), rela¸ao de
competi¸ao entre os jogadores; e jogo entre os jogadores de uma mesma equipe (objetivo
local), rela¸ao de coopera¸ao entre os jogadores. Assim, a TJ possibilitou compreender
melhor os tipos de jogos envolvidos no futebol de robˆos. Constatou-se que, no jogo entre
os jogadores de uma mesma equipe, apesar de ser um jogo de movimenta¸ao simultˆanea, a
tomada de decis˜ao pode ser seq¨uencial. Essa abordagem possibilitou uma vis˜ao diferente
da coopera¸ao no futebol de robˆos.
O futsal foi preponderante na formula¸ao de estrat´egias sociais aplicadas na solu¸ao da
aplica¸ao descrita nesta disserta¸ao. Tanto o esquema atico, quanto as posi¸oes espaciais
e seus tipos de rela¸oes foram definidas a partir do futsal.
Para que os robˆos fossem capazes de interagir com o ambiente, uma arquitetura mo-
130
dular e flex´ıvel foi proposta para a aplica¸ao de futebol de robˆos. Nessa arquitetura,
cada odulo do sistema ´e respons´avel por uma tarefa. Os odulos apresentados ao:
aquisi¸ao de imagem, vis˜ao, planejamento, execu¸ao e comunica¸ao. Os odulos do sis-
tema podem apresentar sub-m´odulos e assim sucessivamente.
´
E importante ressaltar que
a altera¸ao dos algoritmos de um odulo ao implica na altera¸ao dos demais odulos,
afirma¸ao alida tamb´em para os sub-m´odulos recursivamente. Por exemplo, a altera¸ao
do algoritmo de uma ao do objetivo local implicar´a em nenhuma altera¸ao no restante
do sistema, o que facilita a amplia¸ao da solu¸ao.
Ao longo da disserta¸ao foram discutidas em detalhes as solu¸oes de software. Na
vis˜ao computacional, a jun¸ao de 2 m´etodos de identifica¸ao de objetos com 3 m´etodos
de orienta¸ao resultou em 6 m´etodos diferentes. Foram apresentados os testes e seus
respectivos resultados no cap´ıtulo 6. Apesar das dificuldades operacionais encontradas,
2 etodos apresentaram resultados bastante interessantes: HSV na identifica¸ao junta-
mente com HSV e MLP na orienta¸ao. Contudo, vale observar que em nenhum m´etodo
foram utilizados filtros para melhorar as imagens e as RNA trabalharam com espa¸co de
cor RGB.
Para os testes de comportamento social, um simulador foi implementado. No simu-
lador, duas equipes iguais foram postas em campo de jogo. No testes foram observadas as
rela¸oes sociais em execu¸ao. Contudo, ´e muito dif´ıcil quantificar a solu¸ao implementada.
7.1 TRABALHOS FUTUROS
O presente trabalho defendeu a coopera¸ao no futebol de robˆos atrav´es de hierarquia e os
testes serviram para validar a solu¸ao. Contudo, na solu¸ao apresentada ao foi utilizado
algum etodo de aprendizado, a fim de explorar inteligentemente diferentes situa¸oes de
jogo. Assim, sugere-se a implementa¸ao de etodos de aprendizado por refor¸co, onde a TJ
funcionaria como o cr´ıtico para refor¸car boas solu¸oes. Al´em do aprendizado por refor¸co,
´e interessante a implementa¸ao de um sistema de Minera¸ao de Dados (Data Mining)
para extrair informa¸oes e regras de como agir no decorrer da partida com diferentes
equipes. Por exemplo, qual esquema atico adotar em diferentes situa¸oes de jogo para
obter melhores resultados.
A pr´oxima etapa do trabalho ´e implementar fisicamente os robˆos para que se possa,
atrav´es de competi¸oes, avaliar e aperfei¸coar a solu¸ao apresentada nesta disserta¸ao. A
incorpora¸ao de novos esquemas aticos e novas oes aos robˆos, assim como melhorar os
131
algoritmos das oes aqui apresentadas, ´e motivada. Por´em, faz-se necess´ario incorporar
heur´ısticas no planejamento de trajet´oria a fim de se evitar os m´ınimos locais gerados no
m´etodo de campo potencial artificial.
Posteriormente, pretende-se expandir a forma de comportamento social, descrita na
disserta¸ao, para 11 jogadores por equipe, com a finalidade de utiliz´a-la na RoboCup
Simulation League 2D e 3D. Quanto a outras competi¸oes, o simulador implementado
permite o desenvolvimento de solu¸oes de linguagem natural para a RoboCup Commen-
tator Exhibition, na qual a competi¸ao ocorre na narra¸ao dos jogos.
Por fim, vislumbra-se a utiliza¸ao da hierarquia de cooperao em outras aplica¸oes
com caracter´ısticas semelhantes ao do futebol de robˆos.
132
8 REFER
ˆ
ENCIAS BIBLIOGR
´
AFICAS
ANANTHARAMAN, T. A Statistical Study of Selective Min-Max Search in
Computer Chess. PhD thesis, Carnegie-Mellon University, Pittsburgh, PA, May
1990.
ASHMORE, M. and BARNES, N. Omni-drive robot motion on curved paths:
The fastest path between two points is not a straight-line. In AI 2002: Ad-
vances in artificial intelligence. 15th Australian joint conference on artificial intelligence,
Canberra, Australia, December 2-6, 2002. Proceedings. Berlin: Springer. Lect. Notes
Comput. Sci. 2557, 225-236 (2002). MSC 2000.
ASIMOV, I. I, Robot. Doubleday, Garden City, NY, 1950.
AXELROD, R. and HAMILTON, W. D. The evolution of cooperation. Science 211,
p.1390-1396, 1981.
BALL, D., WYETH, G. and NUSKE, S. A Global Vision System for a Robot Soccer
Team. Proceedings of the 2004 Australasian Conference on Robotics and Automation
(ACRA), Canberra, Australia.
BEHAR, P. A. e COSTA, A. C. R. Computa¸ao Cooperativa no Processo de
Constru¸ao Coletiva de Conhecimentos. In III Congresso Ibero-Americano de
Inform´atica Educativa, Barranquilla: 1996.
B
ˆ
ERNI, D. A. Teoria dos Jogos: Jogos de Estrat´egia, Estrat´egia Decis´oria,
Teoria da Decis˜ao. Rio de Janeiro: Reichmann and Affonso Ed., 2004.
BONABEAU, E., DORIGO, M. e THERAULAZ, G. Swarm Intelligence: From Nat-
ural to Artificial Systems. Oxford University Press, New York, 1999.
BOWLING, M. and VELOSO, M. Simultaneous adversarial multirobot learning. In
Proceedings of the Eighteenth International Joint Conference on Artificial Intelligence,
August 2003.
BRACHO, M., CASTRO, M. and MORENO, J. A. A Robotic Architecture for
RoboCup. In Conferencia de la Asociaci´on Espa˜nola para la Inteligencia Artificial,
CAEPIA-TTIA 2001.
BRAGA, A. P., LUDERMIR, T. B. e CARVALHO, A. C. P. L. F. Redes Neurais
Artificias: Teoria e Aplica¸oes. Rio de Janeiro: LTC, 2000.
BRUCE, J. and VELOSO, M. Fast and Accurate Vision-Based Pattern Detec-
tion and Identification. In Proceedings of ICRA’03, the 2003 IEEE International
Conference on Robotics and Automation, Taiwan, May 2003.
133
BUCHHEIM, T., KINDERMANN, G., LAFRENZ, R., RAJAIE, H., SCHANZ, M.,
SCHREIBER, F., ZWEIGLE, O. and LEVI, P. Team Description Paper 2004
CoPS Stuttgart. IPVS, University of Stuttgart, Stuttgart: 2004.
CAMPION, G., D’ANDREA NOVEL, B. and BASTIN, G. Structural properties and
classification of kinematic and dynamic models of wheeled mobile robots. In
IEEE Trans. Robotics Automation, 12(1):47-62, 1996.
CAO, Q., CHEN, W., HUANG, Y., WANG, J., JIA, J., LUO, Z., ZHANG, Z., PAN, L.,
QIAN, Z., FU, Z., SUN, Y., MIAO, S., CHEN, X., ZHANG, F., YU, L. and ZHANG,
Y. JiaoLong2004 Team Description . In Research Institute of Robotics, Shanghai
Jiao Tong University, Shangai: 2004.
CARTER, B., GOOD, M., DOROHOFF, M., LEW, J., WILLIAMS II, R. L. and GAL-
LINA, P. Mechanical design and modeling of an omni-directional robocup
player. In Proceedings RoboCup 2001 International Symposium, Seattle, WA, August
2001..
CHALUP, S. K., COLEMAN, O. J., FREESTON, M. N., MIDDLETON, R. H., MURCH,
C. L., QUINLAN, M. J., SEYSENER, C. J., SHANKS, G. D. The NUbots’ Team
Description for 2003. School of Electrical Engineering and Computer Science, The
University of Newcastle, Newcastle: 2003.
CARNEGIE MELLON UNIVERSITY Carnegie Mellon Robot Soccer Images. In
http://www.cs.cmu.edu/ robosoccer/image-gallery, acessado em 01 de novembro de
2005.
COSTA, R. M., TADDEI, L., NEVES, R. S. e BOTELHO, S. S. DA C. Vis˜ao Global
de Futebol de Robˆos para Equipe FurgBol. In Cricte, Univale, 2003.
D’ANDREA, R. The Cornell RoboCup Soccer Team: 1999 - 2003. In B. Levine
and D. Hristu, editors, Handb ook of Networked and Embedded Control Systems.
Birkhauser, 2005.
DE-FARIAS, A. K. C. R. Comportamento Social: Coopera¸ao, Competi¸ao e
Trabalho Individual. In An´alise do Comportamento - Pesquisa, Teoria e Aplica¸ao,
Artmed, Porto Alegre: 2005.
DEEP BLUE In http://www.research.ibm.com/deepblue, acessado em 25 de outubro de
2005.
EMERY-MONTEMERLO, R. , GORDON, G., SCHNEIDER, F. e THRUN, S. Game
Theoretic Control for Robot Teams. In ICRA, 2005.
FIANI, R. Teoria dos Jogos para Cursos de Administra¸ao e Economia. Rio de
Janeiro: Elsevier 2002.
FIERRO, R., SONG, P., DAS, A. K. e KUMAR, V. Cooperative control of robot
formations. In Cooperative Control and Optimization, R. Murphey and P. Pardalos,
Eds. Dordrecht, The Netherlands: Kluwer, 2002.
134
FIGUEIREDO, L. C. e JOTA, F. G Introdu¸ao ao controle de sistemas ao-
holonˆomicos. In Sba Controle e Automa¸ao, July/Sept. 2004, vol.15, no.3, p.243-268.
ISSN 0103-1759, 2004.
FEDERATION OF INTERNATIONAL ROBOT-SOCCER ASSOCIATION About
FIRA: Overview. In http://www.fira.net/about/overview.html, acessado em 02 de
novembro de 2005a.
FEDERATION OF INTERNATIONAL ROBOT-SOCCER ASSOCIATION SimuroSot
Overview. In http://www.fira.net/soccer/simurosot/overview.html, acessado em 04
de novembro de 2005b.
FREITAS, M. T. A. Vygotsky e Bakhtin - Psicologia e Educa¸ao: Um Intertexto.
´
Atica, 1995.
FUTSAL BRASIL Movimenta¸ao de Quadra: da teoria `a pr´atica.
http://www.futsalbrasil.com.br/artigos/artigo.php?cd artigo=34, acessado em 14 de
novembro de 2005.
GOLDSCHMIDT, R. e PASSOS, E. Data Mining: Um Guia Pr´atico. Rio de Janeiro:
Elsevier, 2005.
GOMEZ, L. A. M. Sistema de visi´on para el equipo de robots aut´onomos del
ITAM. Tesis que para obtener el t´ıtulo de ingeniero en computaci´on, 2004.
GONZALEZ, R. C. e WOODS, R. C. Digital Image Processing. Reading, MA: Ad-
disonWesley, 1992.
HAYKIN, S. Redes Neurais: princ´ıpios e pr´atica. trad. Paulo MArtins Engel, 2.ed.,
Porto Alegre: Bookman, 2001.
HIBINO, S., KODAMA, Y., NAGASAKA, Y., TAKAHASHI, T., MURAKAMI, K. and
NARUSE, T. Fast Image Processing and Flexible Path Generation System
for RoboCup Small Size League. RoboCup2002, pp.53-64, 2002.
HONDA, V. A. Desenvolvimento de um ve´ıculo microcontrolado por malha
fechada. Disserta¸ao de mestrado - Engenharia Mecˆanica - UFF, 2002.
IKENOUE, S., ASADA, M. and HOSODA, K. Cooperative behavior acquisition by
asynchronous policy renewal that enables simultaneous learning in multia-
gent environment. Proceedings of the 2002 IEEE/RSJ Intl. Conference on Intelligent
Robots and Systems, pp.2728-2734, 2002.
INDIVERI, G. On the motion control of a nonholonomic soccer playing robot.
In RoboCup-2001: The Fifth International Symposium, Co-located with IJCAI-01,
Seattle, USA, 2-10 August 2001.
JAMZAD, M., SADJAD, B. S., MIRROKNI, V. S., KAZEMI, M., CHITSAZ, H., HEY-
DARNOORI, A., HAJIAGHAI, M. T. and CHINIFOROOSHAN, E. A fast vision
system for middle size robots in RoboCup. RobCup Symposium, Seattle-2001.
135
JENSEN, R. M., VELOSO, M. M. and BRYANT, R. E. Guided symbolic universal
planning. In Proceedings of the 13th International Conference on Automated Planning
and Scheduling ICAPS-03, pages 123–132, 2003.
JONG-HWAN, K., KWANG-CHOON, K., YONG-JAE, K. and VADAKKEPAT, P. Path
Planning and Role Selection Mechanism for Soccer Robots. In ICRA 1998:
3216-3221.
KEYMARK Products. In http://www.keymark.com.tw/download/TXC1.pdf, acessado
em 2 de fevereiro de 2006a.
KEYMARK Products. In http://www.keymark.com.tw/download/RXD1.pdf, acessado
em 2 de fevereiro de 2006b.
KHATIB, O. Real-Time Obstacle Avoidance for Manipulators and Mobile Ro-
bots. In International Journal of Robotic Research, v. 5, n. 1, p. 90-98, 1986.
KENNEDY, J. F. Urgent National Needs. In Congressional Record - House (25 de
Maio de 1961), 1961.
KITANO, H. RoboCup: The Robot World Cup Initiative. In Proceedings of the
1st International Conference on Autonomous Agent (Agents’ 97), Marina del Ray, The
ACM Press, 1997.
KUBE, R. C. and BONABEAU, E. Cooperative transport by ants and robots. In
Robotics and autonomous systems, vol. 30, pp. 85-101.
LATOMBE, J. C. Robot Motion Planning. Kluwer Academic Publishers, Boston,
1991.
LEE, R. C. e TEPFENHART, W. M. UML e C++: Guia Pr´atico de Desenvolvi-
mento Orientado a Objeto. Makron Books, 2001.
L
´
EVY, P. A Inteligˆencia Coletiva. Por Uma Antropologia do Ciberespa¸co. 4
a
Edi¸ao, Loyola, ao Paulo: 2003.
LIMA, P., CUST
´
ODIO, L., PINHEIRO, P., COSTELHA, H., NETO, G., PIRES, V.,
ARROZ, M. and VECHT, B. ISocRob 2004: Team Description Paper. Instituto
de Sistemas e Rob´otica, Instituto Superior T´ecnico, Lisboa: 2004.
LOOMIS, J. G., PALMER, J. D. and PANDIT, P. Performance Development of a
Real-Time Vision System. Master’s thesis, Cornell University, New York1: 2003.
MACKWORTH, A. K. On Seeing Robots. In Computer Vision: Systems, Theory, and
Applications, pages 1–13. Singapore: World Scientific Press, 1993.
MARR, D. Vision: A Computational Investigation into the Human Represen-
tation and Processing of Visual Information. W.H. Freeman, 1982..
136
MARTINEZ-GOMEZ, L. A. and WEITZENFELD, A. Simultaneous Planning: A
Real-Time Planning Method. Research on Computer Science, Vol. 13, Advances in
Computer Science in Mexico, A. Gelbukh and H. Calvo (Eds.), pp 3-12, ISSN 1665-9899,
2005.
MART
´
INEZ-G
´
OMEZ, L. A., MONEO, F., SOTELO, D. and WEITZENFELD, A. Eagle
Knights Small Size League Team Description Paper. In Proc. RoboCup 2005,
Osaka, Japan, July 13-19, 2005.
MART
´
INEZ-G
´
OMEZ, L. A. and WEITZENFELD, A. Real Time Vision System for
a Small Size League Team. In 1st IEEE Latin American Robotics Symposium,
Mexico City: 2004.
MARTINS, M. F., TONIDANDEL, F. e BIANCHI, R. A. C. Um protocolo confi´avel
e flex´ıvel de comunica¸ao para futebol de robˆos. In LARC 2005 Latin American
Robotics Competition, ao Lu´ıs: 2005.
MEYER, J., ADOLPH, R., SEPHAN, D., DANIEL, A., SEEKAMP, M., WEINERT,
V. and VISSER, U. Decision-making and Tactical Behavior with Potential
Fields. In RoboCup 2002: Robot Soccer World Cup VI. Volume 2752 of Lecture Notes
in Artificial Intelligence, Springer, 2003.
MOLZ, R. F., ENGEL, P. M. e MORAES, F. G. Uma Metodologia para o Desen-
volvimento de Aplica¸oes de Vis˜ao Computacional utilizando um projeto
conjunto de Hardware e Software. In Tese de doutorado, Instituto de Inform´atica,
UFRGS, 2001.
MULLER, M. Game theories and computer Go. Go and Computer Science Workshop
(GCSW’93), INRIA, Sophia-Antipolis, 1993.
NAGASAKA, Y., MURAKAMI, K., NARUSE, T., TAKAHASHI, T. and MORI, Y. Po-
tential Field Approach to Short Term Action Planning in RoboCup F180
League. In RoboCup 2000: Robot Soccer World Cup IV table of contents, 345-350,
2001.
NEVES, R. S., TADDEI, L., BANDEIRA, I. e BOTELHO, S. S. C. Vis˜ao Computa-
cional e Estrat´egias de Controle Aplicadas ao Futebol de Robˆos. In MPU
2004, Rio Grande: 2004.
OTTONI, G. DE L. e LAGES, W. F. Navega¸ao de robˆos oveis em ambientes
desconhecidos utilizando sonares de ultra-som. Sba Controle e Automa¸ao, 2003,
vol.14, no.4, p.402-411. ISSN 0103-1759.
PACHECO, R. N. e COSTA, A. H. R. Navega¸ao de Robˆos oveis Utilizando o
M´etodo de Campos Potenciais. In Workshop de Computa¸ao WORKCOMP’2002.
Milton T. S. Sakude and Cec´ılia de A. Castro Cesar (eds.). Instituto Tecnol´ogico de
Aeron´autica - ITA, ao Jos´e dos Campos, SP, 2002, Pgs. 125-130.
137
PARKER, L. E., KANNAN, B., TANG, F. and BAILEY, M. Tightly-Coupled Nav-
igation Assistance in Heterogeneous Multi-Robot Teams. In Proceedings of
IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Sept.
2004.
PARKER, L. E. Current state of the art in distributed autonomous mobile
robotics. In Parker, L. E., Bekey, G., and Barhen, J., editors, Distributed Autonomous
Robotic Systems, volume 4, pages 3–12. Springer, Tokio, 2000.
PEREIRA, P. R. DA C. e ROSA, P. F. F. Coopera¸ao entre Robˆos para Reconhe-
cimento de Ambientes Desestruturados. In Disserta¸ao de Mestrado apresentada
ao programa de os-gradua¸ao em Sistemas e Computa¸ao/IME, 2001.
PURWIN, O. and D’ANDREA, R. Cornell Big Red 2003. Bonarini A., Browning
B., Yoshida K. (Eds), Robocup 2003: Robot Soccer World Cup VII, Lecture Notes in
Artificial Intelligence, Springer, Berlin, 2003.
REIS, L. P. Coordena¸ao em Sistemas Multi-Agentes: Aplica¸oes na Gest˜ao
Universit´aria e Futebol Rob´otico. Tese de PhD, FEUP, julho de 2003.
RIBEIRO, M. I. Uma Viagem ao Mundo dos Robots. 3
o
ciclo de col´oquios Despertar
para a Ciˆencia, Lisboa, 2005.
ROBOCUP RoboCup: Regulations and Rules. In
http://www.robocup.org/regulations/4.html, acessado em 1 de maio de 2005a.
ROBOCUP A brief History of RoboCup. In
http://www.robocup.org/overview/23.html, acessado em 25 de outubro de 2005b.
ROBOCUP RoboCup Objective. In http://www.robocup.org/overview/22.html, aces-
sado em 25 de outubro de 2005c.
ROBOCUP What is RoboCup. In http://www.robocup.org/overview/21.html, aces-
sado em 25 de outubro de 2005d.
ROBOCUP About RoboCup Simulation League Competition 2005. In
http://staff.science.uva.nl/jellekok/robocup/rc05, acessado em 04 de novembro de
2005e.
ROBOCUP Osaka 2005 Highlights. In
http://www.robocup.org/games/05Osaka/images/index.htm, acessado em 31 de
janeiro de 2006.
ROSA, P. F. F., PEREIRA, P. R. C. e JUSTEL, C. M. Heuristics for exploring
unstructured environments with a cooperating robot team. In WorldW-
CETEC2004 - World Congress on Engineering and Technology Education, 2004, Santos
- ao Paulo. WorldWCETEC2004 - World Congress on Engineering and Technology
Education. USA : IEEE - Education Society, 2004. v. 1. p. 380-384..
138
ROSA, P. F. F. e APOLIN
´
ARIO, F. M´ultiplos robˆos autˆonomos em uma estrutura
cooperativa. 18th International Congress of Mechanical Engineering, Ouro Preto,
2005.
RUIZ-DEL-SOLAR, J., VALLEJOS, P., ZAGAL, J. C., LASTRA, R., CASTRO, G.,
GORTARIS, C., SARMIENTO, I. and MONTERO, P. UChile1 2004 Team De-
scription Paper. Department of Electrical Engineering, Universidad de Chile, Santi-
ago: 2004.
RUSSEL, S. e NORVIG, P. Inteligˆencia Artificial. Editora Campus, 2004.
SAMUEL, A. Some studies in machine learning using the game of checkers -
recent progress. IBM Journal of research and development, 11:601– 617, 1967.
SCHEPKE, C. e CHAR
˜
AO, A. S. Compara¸ao entre Java e C++ na Computa¸ao
Num´erica. Foz do Igua¸cu: Quinto Workshop em Sistemas Computacionais de Alto
Desempenho, 2004.
SHANNON, C. Programming a computer for playing chess. Philosophical Magazine,
41(4):256–275, 1950.
SHI, J. and LITTMAN, M. L. Abstraction metho ds for game theoretic poker.
Computers and Games, pages 333-345, 2000.
SAINT JOHN´S UNIVERSITY Color Depth and Color Spaces. In
http://www.csbsju.edu/itservices/teaching/c space/colors.htm, acessado em 14 de no-
vembro de 2005.
SKINNER, B. F. Ciˆencia e Comportamento Humano. In 1
a
Edi¸ao, Martins Fontes,
ao Paulo: 1979.
SOFUTSAL! atica de Jogo. In http://www.sofutsal.com/novo sofutsal/taticas.htm,
acessado em 14 de novembro de 2005.
SPAAN, M. T. J. and GROEN, F. C. A. Team Coordination among Robotic Soccer
Players. In: RoboCup 2002: 409-416.
TAKAHASHI, Y., EDAZAWA, E., NOMA, K. and ASADA, M. Simultaneous Learn-
ing to Acquire Competitive Behaviors in Multi-Agent System based on a
Modular Learning System. Proceedings of the 2005 IEEE/RSJ International Con-
ference on Intelligent Robots and Systems, pp.153-159, 2005.
THOMAS, J., BLAIR, A. and BARNES, N. Towards an efficient optimal trajec-
tory planner for multiple mobile robots. Proceedings of the 2003 International
Conference on Intelligent Robots and Systems, 2291-2296.
TUCKER, A. W. On Jargon: The Prisoner’s Dilemma. UMAP Journal 1, 101, 1980.
UB ROBOTICS An undergraduate club of the University at Buffalo. In
http://www.eng.buffalo.edu/ubr/rcmedia.php, acessado em 30 de janeiro de 2006.
139
VAIL, D. and VELOSO, M. Dynamic Multi-Robot Coordination. In Multi-Robot
Systems, Kluwer, 2003.
VIDAL, J. M. Learning in Multiagent Systems: An Introduction from a Game-
Theoretic Perspective. CoRR cs.MA/0308030, (2003).
VON NEUMANN, J. and MORGENSTERN, O. Theory of Games and Economic
Behaviour. Princeton University Press, 1944.
VOSER, R. C. Futsal: Princ´ıpios T´ecnicos e aticos. Rio de Janeiro, Editora Sprint,
2001.
WILLS, P. The Hardware Design Of A Smart Camera For The Robot Soccer
Environment. Bachelor’s Thesis, School of Engineering - The University of Queens-
land, 2001.
ZICKLER, S., LICITRA, M. Rob oCup SSL 2005 Team Description: Wingers.
2005.
140
9 ANEXOS
141
9.1 ANEXO 1: REGRAS DA ROBOCUP SMALL SIZE LEAGUE (F-180)
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
9.2 ANEXO 2: DATA SHEET DO TRANSMISSOR RF KEYMARK TXC1
168
169
170
9.3 ANEXO 3: DATA SHEET DO RECEPTOR RF KEYMARK RXD1
171
172
Livros Grátis
( http://www.livrosgratis.com.br )
Milhares de Livros para Download:
Baixar livros de Administração
Baixar livros de Agronomia
Baixar livros de Arquitetura
Baixar livros de Artes
Baixar livros de Astronomia
Baixar livros de Biologia Geral
Baixar livros de Ciência da Computação
Baixar livros de Ciência da Informação
Baixar livros de Ciência Política
Baixar livros de Ciências da Saúde
Baixar livros de Comunicação
Baixar livros do Conselho Nacional de Educação - CNE
Baixar livros de Defesa civil
Baixar livros de Direito
Baixar livros de Direitos humanos
Baixar livros de Economia
Baixar livros de Economia Doméstica
Baixar livros de Educação
Baixar livros de Educação - Trânsito
Baixar livros de Educação Física
Baixar livros de Engenharia Aeroespacial
Baixar livros de Farmácia
Baixar livros de Filosofia
Baixar livros de Física
Baixar livros de Geociências
Baixar livros de Geografia
Baixar livros de História
Baixar livros de Línguas
Baixar livros de Literatura
Baixar livros de Literatura de Cordel
Baixar livros de Literatura Infantil
Baixar livros de Matemática
Baixar livros de Medicina
Baixar livros de Medicina Veterinária
Baixar livros de Meio Ambiente
Baixar livros de Meteorologia
Baixar Monografias e TCC
Baixar livros Multidisciplinar
Baixar livros de Música
Baixar livros de Psicologia
Baixar livros de Química
Baixar livros de Saúde Coletiva
Baixar livros de Serviço Social
Baixar livros de Sociologia
Baixar livros de Teologia
Baixar livros de Trabalho
Baixar livros de Turismo