Académique Documents
Professionnel Documents
Culture Documents
DE MICRO ROBS
So Bernardo do Campo
2001
SUMRIO
LISTA DE FIGURAS
LISTA DE TABELAS
RESUMO
1. INTRODUO ............................................................................................................................... 1
1.1 VISO COMPUTACIONAL E INTELIGNCIA ARTIFICIAL ........................................................... 1
1.2 OBJETIVOS DO PROJETO ........................................................................................................ 2
1.3 DOMNIO DE APLICAO: FUTEBOL DE ROBS ...................................................................... 3
1.4 RESULTADOS PROPOSTOS X RESULTADOS OBTIDOS ............................................................... 3
1.5 ORGANIZAO DO TRABALHO ............................................................................................... 6
2. O DOMNO DO FUTEBOL DE ROBS..................................................................................... 7
2.1 INTRODUO......................................................................................................................... 7
2.2 DESCRIO DO DOMNIO DO FUTEBOL DE ROBS ................................................................. 7
2.3 DESAFIOS E PROBLEMAS A SEREM ESTUDADOS ...................................................................... 9
3. HISTRICO DA REA DE VISO COMPUTACIONAL ..................................................... 11
3.1 INTRODUO....................................................................................................................... 11
3.2 A TEORIA DE MARR ............................................................................................................. 12
3.3 O PARADIGMA RECONSTRUTIVO .......................................................................................... 13
3.4 VISO ATIVA, ANIMADA E QUALITATIVA ............................................................................ 15
3.5 O PARADIGMA PROPOSITADO............................................................................................... 17
4. TECNICAS DE SEGMENTAO DE IMAGENS EM VISO COMPUTACIONAL ........ 19
4.1 CAPTURA DE IMAGENS ........................................................................................................ 19
4.2 SEGMENTAO BASEADA EM SIMILARIDADES: BLOB COLORING......................................... 20
4.3 SEGMENTAO BASEADA EM DIFERENAS: VETORIZADOR ................................................. 21
4.3.1 Filtragem de Imagens por Cor (colorFilter)............................................................. 21
4.3.2 Determinao de Contornos (edgeDetector) ........................................................... 22
4.3.3 Vetorizador (vetorizer).............................................................................................. 23
5. SISTEMA VISUAL BASEADO EM SOFTWARE.................................................................... 25
5.1 INTRODUO....................................................................................................................... 25
5.2 ANLISE DO ALGORITMO BLOB COLOURING ....................................................................... 26
5.3 ANLISE DO ALGORITMO VETORIZADOR ............................................................................. 29
5.4 COMPARAO ENTRE OS ALGORITMOS BLOB COLORING E VETORIZADOR. ......................... 31
5.5 CONCLUSES E TRABALHOS FUTUROS ................................................................................. 32
6. SISTEMA VISUAL BASEADO EM HARDWARE .................................................................. 33
6.1 VHDL................................................................................................................................. 33
6.2 O SISTEMA IMPLEMENTADO................................................................................................. 34
6.2.1 Aquisio da imagem................................................................................................ 34
6.2.2 O protocolo IC-bus.................................................................................................. 35
6.2.3 Binarizao da Imagem ............................................................................................ 35
6.2.4 Determinao dos contornos .................................................................................... 36
6.2.5 Identificao de Objetos na Imagem ........................................................................ 36
6.2.6 Saida dos dados ........................................................................................................ 36
6.3 TRANSPOSIO DOS ALGORITMOS PARA VHDL .................................................................. 37
6.4 RESULTADOS ....................................................................................................................... 37
6.5 CONCLUSO ........................................................................................................................ 40
7. SISTEMA DE CONTROLE......................................................................................................... 42
7.1 INTRODUO AOS ALGORITMOS GENTIMOS (AG) E PROGRAMAO GENTICA (PG) ... 42
7.1.1 Evoluo e Seleo ................................................................................................... 42
7.1.2 Fitness....................................................................................................................... 42
7.2 PROGRAMAO GENTICA.................................................................................................. 43
7.2.1 Indivduo ................................................................................................................... 43
7.2.2 Reproduo............................................................................................................... 43
7.2.3 Cruzamento ............................................................................................................... 44
7.2.4 Mutao .................................................................................................................... 44
7.3 ALGORITMO GENTICO ....................................................................................................... 45
7.3.1 Indivduo ................................................................................................................... 45
7.3.2 Reproduo............................................................................................................... 45
7.3.3 Cruzamento ............................................................................................................... 45
7.3.4 Mutao .................................................................................................................... 46
7.4 PROGRAMAS IMPLEMENTADOS............................................................................................ 48
7.4.1 Agente seguidor de paredes com viso global e ambiente restrito ........................... 48
7.4.2 Agente seguidor de paredes com viso global.......................................................... 52
7.4.3 Agente seguidor de bola com obstculos e com viso global................................... 57
7.4.4 Agente seguidor de bola com obstculos e com viso local ..................................... 63
7.5 CONCLUSO ........................................................................................................................ 70
8. PROTTIPO DE ROB AUTNOMO .................................................................................... 72
8.1 MOTORES DE PASSO ............................................................................................................ 72
8.2 TCNICA DE ACIONAMENTO ................................................................................................ 74
8.3 IMPLEMENTAO EM VHDL............................................................................................... 75
8.4 RESULTADOS DA SIMULAO .............................................................................................. 77
8.5 CONCLUSO ........................................................................................................................ 79
9. TRABALHOS CORRELATOS................................................................................................... 80
LISTA DE TABELAS
1. INTRODUO
Neste captulo apresentada uma introduo ao trabalho proposto, descrevendo os
seus objetivos, justificativas, resultados e contribuies. Inicia-se o captulo com a
discusso da relao entre Viso Computacional e Inteligncia Artificial, que
fundamental para a insero do trabalho na rea de Inteligncia Artificial.
Proposta Resultado
Especificao de uma Foram especificadas duas plataformas de
plataforma de Viso desenvolvimento: um microcomputador Pentium II com
Computacional para o placa de aquisio de imagens e uma cmera, executando
estudo. o sistema operacional Linux, e o desenvolvimento de
hardware dedicado, baseado em FPGAs e VHDL.
4
Para alm dos resultados propostos, outros foram alcaados, como possvel
observar por meio da descrio abaixo (Tabela 1.2):
2.1 Introduo
Figura 2.1 - O time CMUnited-97 vencedor da copa de 1997. [VELOSO, M.; STONE,
P; HAN, K., 1998]
Partidas de futebol entre robs constituem uma tarefa que possibilita a realizao
de experimentos reais para o desenvolvimento e testes de robs que apresentem
comportamento inteligente, cooperando entre si para a execuo de uma tarefa, alm de
serem extremamente motivantes para possibilitar o surgimento de um esprito de cincia
e tecnologia nas jovens geraes.
J existem algumas competies anuais, aliadas a importantes eventos das reas
de Inteligncia Artificial e Robtica, onde so observados os desenvolvimentos neste
tipo de aplicao. A cada 4 anos, as copas de robs so realizadas juntamente com as
8
copas mundiais de futebol, no pas sede. Assim, em 1998, juntamente com a Copa
Mundial de Futebol, da FIFA, foi realizada a Copa Mundial de Robs, da FIRA, na
Frana, patrocinada, entre outros, pela prpria FIFA.
A organizao chamada Federation of International Robot-soccer Association
(FIRA) responsvel pelo estabelecimento e controle das diversas copas emergentes de
futebol de robs. Existem diversas modalidades de jogos entre robs, com variaes
desde o nmero e o tamanho dos robs at a capacidade computacional de cada rob.
Entre estas modalidades, a MIROSOT - Micro Robot World Cup Soccer Tournament
a considerada a de mais fcil implementao (tem os robs menores e de mais baixo
custo), sendo a que este trabalho se destina.
Fisicamente a plataforma deste projeto constituda por um campo para o jogo,
plano, com as dimenses de 150 x 90 cm (similar a de futebol de boto) e, para cada
time, uma cmara de vdeo CCD e respectivo sistema de aquisio de imagens, um
computador, sistema de transmisso de dados e os 3 robs. Estes tm as dimenses
mximas de 7.5x7.5x7.5 centmetros e so compostos por 2 motores controlados por um
microprocessador, bateria prpria e sistema de comunicao sem fio. A Figura 2.1
apresenta o esquema bsico do sistema. A bola utilizada padronizada: uma bola de
golfe laranja.
O funcionamento de cada time segue uma mesma frmula bsica: cada time
realiza a aquisio da imagem atravs da sua cmera, processa a imagem usando
tcnicas de Viso Computacional para descobrir a posio de todos os robs e da bola.
Com esta imagem, um sistema de deciso define a melhor ttica a aplicar e os
movimentos instantneos de cada rob. Todo este processamento realizado em um
nico computador. Com a deciso de movimentao tomada, um sistema comunicao
por rdio envia para os robs uma mensagem como movimento a ser realizado.
Este processo repetido com a deciso tomada mudando conforme a configurao
encontrada na imagem, em ciclos de 60 vezes por segundo.
As outras modalidades de campeonatos, que o grupo j tem estudado incluem:
RoboCup Small League: muito similar Mirosot, tem times de 5 robs de at 180 cm2 e
uma mesa similar a de tnis de mesa; RoboCup Medium e Full Size: nestas modalidades
no permitido o uso de um sistema de viso nico nem de um computador central.
Cada rob deve ter sua prpria cmera e computador e trocam as mensagens via rdio.
Nestas duas ltimas modalidades que se encontram as maiores contribuies at o
momento.
9
natureza das restries de tempo real ficam bvias: um sistema deve ser rpido o
suficiente pois se ele levar alguns segundos entre a percepo e a ao ele perde para o
adversrio.
O domnio do Futebol de Robs tem adquirido importncia cada vez maior na
rea de Inteligncia Artificial pois possui todas as caractersticas encontradas em outros
problemas reais complexos, desde sistemas de automao robticos, que podem ser
vistos como um grupo de robs realizando uma tarefa de montagem, at misses
espaciais com mltiplos robs [TAMBE, 1997].
11
3.1 Introduo
Viso
Outra definio bem aceita pelos pesquisadores da rea a de MARR (1982), que
afirma: viso o processo que produz, a partir de imagens do mundo externo, uma
descrio que til ao usurio e que no repleta de informaes irrelevantes [MARR,
1982, p.31].
Uma definio mais informal e tambm mais polmica da rea de viso
computacional dada por TARR e BLACK (1994, p.65), que afirmam que o objetivo da
rea a compreenso e modelagem de um sistema de viso de propsito geral em seres
humanos e em mquinas. A crtica mais comum a essa afirmao que o chamado
Sistema de Viso de Propsito Geral, assim como os termos Problema Geral da
Viso, Problemas Mal Postos e Problema Genericamente Solucionvel, no so
bem definidos nem tampouco compreendidos [TSOTSOS, 1994] e que a maioria dos
problemas em viso so NP-completo ou NP-hard, como provado por TSOTSOS
(1989), KIROUSIS e PAPADIMITRIOUS (1985), COOPER (1992), entre outros. Alm
disso, TSOTSOS (1990) afirma que a viso humana no soluciona esses problemas
genricos da viso.
Na dcada de 50 os primeiros pesquisadores da rea acreditavam que o problema
da viso seria resolvido rapidamente. A rea porm se apresentou mais complexa que o
imaginado inicialmente. Um dos problemas fundamentais que viso um problema
mal posto, isto , a imagem bidimensional de uma cena no possibilita que se construa
12
Segundo JOLION (1994), David Marr foi o primeiro a propor (em seu livro
chamado Vision [MARR, 1982]) uma metodologia completa para a viso
computacional, que ficou conhecida como o paradigma de Marr.
Antes dele, Gibson foi o que mais se aproximou da proposio de uma teoria
computacional para a viso, em 1966. Sua maior contribuio foi abandonar o debate
filosfico e apontar que o fato mais importante sobre os sentidos que eles so canais
para a percepo do mundo real - no caso da viso, as superfcies visveis [MARR,
1982, p.29].
A metodologia proposta por Marr consiste na diviso em trs nveis diferentes
nos quais um dispositivo de processamento de informaes deve ser compreendido
[MARR, 1982, p.24]. Neles esto contidos a teoria computacional do dispositivo (no
nvel superior), o algoritmo e tipo de representao usados (no nvel intermedirio) e os
detalhes da implementao fsica (no nvel inferior). JOLION (1994) acredita que esta
metodologia de trabalho uma das principais contribuies de Marr.
Teoria Computacional Representao e Implementao fsica
algoritmo
(nvel superior) (nvel inferior)
(nvel intermedirio)
Qual o objetivo da Como esta teoria Como a representao e o
computao, por que ela computacional pode ser algoritmo podem ser
conveniente e qual a implementada? Em parti- implementados
lgica da estratgia que cular, qual a representa- fisicamente?
pode realiz-la? o para as entradas e
sadas e qual o algoritmo
para a transformao?
Tabela 3.1 - Os trs nveis nos quais qualquer mquina realizando um processamento de
informao deve ser compreendida. [MARR, 1982, p.25]
Marr ainda props a diviso da derivao das formas de um objeto a partir de uma
imagem em trs estgios de representao (de complexidade crescente) [MARR, 1982,
p.37]:
1. O primeiro estgio, chamado esboo primrio, representa as propriedades
importantes da imagem bidimensional, como mudanas de intensidade e
distribuio e organizao geomtrica. Algumas primitivas usadas para a
13
Em 1988 surge uma nova proposta para se encontrar restries a fim de tornar
tratvel o problema de viso. Nela, a viso controla o processo de aquisio de imagem
introduzindo restries fsicas que facilitam a reconstruo da informao da cena
tridimensional [ALOIMONOS, 1994]. O processo de viso passa a procurar
informao ativamente e pra de considerar que a informao seja captada
acidentalmente (passivamente) pelo sensor [BAJCSY; CAMPOS, 1992, p.31]. A este
novo paradigma deu-se o nome de ativo ou viso ativa.
Este paradigma baseado no trabalho de BAJCSY (1988), que definiu a
percepo ativa como o estudo da modelagem e das estratgias de controle para
percepo. Ela props uma nova metodologia para modelar um sistema perceptivo,
fortemente influenciada pela teoria de controle. Nesta metodologia, modelam-se em trs
nveis os sensores, os mdulos de processamento e a interao entre estes mdulos. Esta
modelagem pode ainda ser global, se ela aplicada a um sistema como um todo, ou
local, se ela modela algo especfico, como distores de uma lente, resoluo espacial,
filtros e etc.
BAJCSY ainda sugeriu uma nova proposta para a diviso da derivao das formas
de um objeto, baseada no controle ativo dos sensores e na proposta original de Marr.
Esta possui 5 etapas [BAJCSY, 1988, p.998]:
1. Controle dos dispositivos fsicos. Os objetivos nesta etapa so foco grosseiro
da cena, o ajuste da abertura, o foco no sujeito e a tentativa de encontrar
distncias a partir do foco.
2. Controle dos mdulos visuais de baixo nvel e o controle de um aparato
binocular. Os objetivos so a segmentao da imagem 2-D, clculo do nmero
16
Neste item que trata das idias que surgiram para tentar eliminar os problemas do
reconstrutivismo, falta citar ainda um paradigma, o qualitativo. Nele, a idia central
que os comportamentos podem no necessitar de representaes elaboradas do mundo
tridimensional [ALOIMONOS, 1992], aumentando assim o desempenho dos sistemas
de viso que no precisam reconstruir todo o mundo fsico.
Pode-se perceber que novas abordagem para solucionar o problema da viso foram
introduzidas com os paradigmas apresentados acima, e foram se desenvolvendo quase
paralelamente no tempo. Uma ltima abordagem apresentada a seguir.
Um programa que capture uma imagem colorida (24 bits), no modelo de cor
YUV, de tamanho varivel, gera as seguintes imagens.
Imagem Composta
O modelo de cores YUV [LI, 1998] foi inicialmente usado no padro PAL para
20
vdeo analgico e atualmente usado como padro para video digital, sendo que o JPEG
e o MPEG so baseados em um modelo YUV modificado.
Este modelo define a imagem como sendo uma matriz de pontos, onde a cor de
cada ponto definido por 3 bytes: o primeiro define a luminncia da imagem (Y), e os
segundo (U) e terceiro (V) definem a crominncia.
A luminncia Y definida a partir das cores vermelha, verde e azul, onde:
Y = 0.299 * Vermelho + 0.587 * Verde + 0.114 * Azul
A crominncia definida como a diferena entre uma cor de referncia e um
branco de referncia para uma mesma luminncia. Assim os valores de crominncia so
definidos para o azul e o vermelho.
U = Azul - Y
V = Vermelho - Y
Neste modelo de cor uma imagem em nveis de cinza no possui crominncia e U
e V tornam-se igual a zero. Ainda, V varia do vermelho ao ciano e U do azul ao
amarelo.
Y U V
Figura 4.1 3 componentes de cor de uma imagem capturada.
Ele trabalha em 3 etapas: primeiro rotula uma regio; depois agrupa regies
segundo cor e proximidade em objetos; calcula a rea e o centro de massa dos objetos;
finalmente objetos desconhecidos (como sombras nos cantos da imagem) so retirados.
O resultado da execuo deste algoritmo sobre uma imagem mostrado na Figura 4.2.
21
O agente usa um algoritmo do tipo chain code (BALLARD, D.; BROWN, C.,
1982), baseado no descrito em (RILLO, A., 1989).
Dada uma imagem capturada, de tamanho determinado, este algoritmo
inicialmente filtra a imagem utilizando um limiar de cor, gerando uma imagem binria.
Depois, encontra os contornos da imagem filtrada, utilizando um operador de Robert
para encontrar as descontinuidades e finalmente, partir da imagem de descontinuidades,
este algoritmo encontra todas as regies da imagem que possuem um contorno fechado.
Descreve-se a seguir, os algoritmos que realizam cada parte deste processo.
Dada uma imagem binria, este agente determina os contornos existentes nela.
baseado no algoritmo descrito em (RILLO, A., 1989), que utiliza a definio de
contornos proposta por KITCHIN e PUGH (1983). Ele verifica quatro elementos da
imagem (mscara 2x2) para determinar se um ponto faz parte de um contorno ou no,
criando uma nova imagem onde as bordas encontradas esto entre os elementos da
imagem original.
A Figura 4.1 apresenta seis configuraes bsicas das dezesseis possveis
combinaes de quatro elementos de uma imagem binria. As configuraes na coluna
esquerda no pertencem a regies de contorno e por isso se atribui zero ao ponto
correspondente da imagem de resultante. Os da coluna direita so pontos que pertencem
a um contorno e resultam em um. As outras configuraes possveis podem ser obtidas
pela rotao destas apresentadas.
A Figura 4.2 mostra uma imagem capturada onde existe um anel azul e uma pea
preta, a imagem filtrada para a cor azul e o contorno encontrado.
y
v4 v8
y-1
v3 v2 v1
x-1 x x+1 x
O agente usa um algoritmo do tipo chain code (BALLARD, D.; BROWN, C.,
1982), baseado no descrito em (RILLO, A., 1989) e em (KITCHIN, P. W.; PUGH, A.,
1983). Este algoritmo considera que qualquer ponto em matriz de imagem est
conectado aos oito pontos imediatamente a sua volta atravs de um vetor elementar, cuja
direo foi rotulada (de v1 at v8) e que so apresentados na Figura 4.1.
O contorno de uma regio pode ser determinado, assim como sua rea calculada,
atravs de um procedimento que segue os contornos de uma imagem, criando uma
corrente de vetores ligados. Basta o ponto inicial da corrente e a seqncia dos vetores
para se determinar precisamente uma regio. Este procedimento segue o contorno mais
externo, caso a borda possua mais de um pixel de espessura.
Para calcular a rea de uma regio realizado um procedimento semelhante
integrao, onde a rea total dada pela somatria da contribuio de cada vetor
elementar. A Figura 4.2 mostra as contribuies dos vetores e a Tabela 4.1 apresenta os
valores desta contribuio.
O permetro de uma regio pode ser encontrado facilmente atravs dos algoritmos
baseados em chain-codes. O permetro total :
Permetro = PerimetroPar + Perimetrompar 2
isto , a soma do nmero de vetores com rtulo par (que esto na horizontal ou
vertical e por isso tem tamanho unitrio) mais a soma do vetores com permetro mpar
(que esto nas diagonais) vezes o tamanho destes, que 2 . O centro da regio tambm
24
v8 v4 v3 v2 v1
y
y-1
x=1 x
5.1 Introduo
Esta seo descreve uma para a contruo de um sistema visual para robs mveis
baseada em software.
Para a realizao deste trabalho foram implementados dois programas que, dada
uma imagem previamente capturada e armazenada no disco rgido do computador, a
segmentam baseados nos algoritmos Blob Coloring e Vetorizador.
O objetivo destas implementaes o de encontrar a bola - objeto esfrico de cor
laranja em imagens reais do domnio do futebol de robs. Um exemplo das imagens que
o sistema deve trabalhar esto na figura abaixo.
Entre os problemas que este domnio apresenta para a percepo o maior que a
cmera se encontra a bordo dos robs e por este motivo, o sistema possui apenas uma
vista parcial da rea do jogo. A figura abaixo esquematiza a rea visual de cada rob
vista de cima e a Figura 5.3 apresenta a vista lateral.
rea
Bola
Rob
Campo
Campo
Regies Objetos
Diferena permitida = 5
Tempo de processamento: 1,32 segundos - Nmero de regies encontradas: 49076
No existem objetos nesta imagem.
Diferena permitida = 10
Tempo de processamento: 3,02 segundos - Nmero de regies encontradas: 17557
Diferena permitida = 12
Tempo de processamento: 3, 36 segundos - Nmero de regies encontradas: 11047
Segue
28
Regies Objetos
Diferena permitida = 15
Tempo de processamento: 3,9 segundos - Nmero de regies encontradas: 5411
Diferena permitida = 20
Tempo de processamento: 4,91 segundos - Nmero de regies encontradas: 605
Diferena permitida = 50
Tempo de processamento: 4,9 segundos - Nmero de regies encontradas: 34
No existem objetos nesta imagem.
Dimetro: 86 2 pixeis
Dimetro: 36 2 pixeis
Dimetro: 18 2 pixeis
A partir desta tabela podemos notar que o algoritmo vetorizador foi mais eficiente
que o Blob Coloring. Apesar disto, nenhum dos dois foi eficiente o suficiente para a
aplicao no domnio do futebol de robs, onde o tempo mximo de processamento de
0,0167 segundos.
A seguir so apresentadas as concluses deste captulo e os possveis caminhos
para sua extenso.
6.1 VHDL
Aquisio da Imagem
(Interface com o SAA7111 da Philips)
Binarizao
(Limiar)
Extrao de Bordas
(EdgeFind)
Vetorizao
(ChainCode)
Sada de Dados
(Interface com o
circuito de controle)
Aps ser capturada, a imagem convertida para bitmap preto e branco atravs de
36
um sistema de limiar de cores (como descrito na seo 4.3.1), que filtra e transfere para
a imagem monocromtica somente uma cor predefinida. Esta imagem (monocromtica)
armazenada em memria para ser processada.
Figura 6.1 Resultado de uma imagem Analizada pelo sistema, em suas diversas fases.
Ao final desta anlise encontramos as informaes sobre cada objeto, que neste
caso toda seqncia de vetores que forma um contorno fechado. Estes dados so
enviados para a porta de sada do circuito.
Para realizar a sada dos dados foi elaborado um pacote de dados. Os dados so
colocados na sada em pacotes de 32 bits, sendo 9 para a posio do objeto em relao
ao eixo X, 9 para o eixo Y e 14 para o tamanho do contorno mnimo (chain size). Esta
informao pode ser enviada a outro mdulo de FPGA, como o mdulo de estratgia ou
um mdulo que transmita a para um computador atravs de uma porta de comunicao
serial RS-232.
37
A primeira parte do cdigo define os sinais de entrada e sada, onde h 5 bits para
os sinais vermelhos e azuis e 6 bits para o sinal verde e apenas um para o sinal de sada.
A segunda parte definea funo do sistema: um dispositivo que aceitar s cores que
possua os componentes vermelho, verde ou azul menos da metade da intensidade
mxima. Se algum dos bits mais significativos estiver com valor verdsadeiro, o sinal de
sada estar desligado.
6.4 Resultados
Fase Tempo
Captura e Binarizao 770s
Extrao de Bordas 2,41s
Vetorizao 770s
Tempo total at os dados estarem disponveis na sada 1,54ms
6.5 Concluso
sistema resultante um dispositivo de pequeno tamanho que serve bem para robs
autnomos.
Atravs dos resultados obtidos pode-se concluir que a implementao em
Hardware Programvel torna o sistema extremamente eficiente e que essa eficincia no
pode ser aproveitada plenamente pelo conjunto do rob, pois os componentes restantes
no conseguem alcanar o mesmo nvel de desempenho.
A avaliao das imagens resultante permitiu concluir que a qualidade dos
resultados obtidos tambm foi satisfatria.
Como trabalho futuro em VHDL deseja-se implementar outros algoritmos de
Viso Computacional em VHDL, como por exemplo, o Blob Colouring [BALLARD E
BROWN, 1982].
42
7. SISTEMA DE CONTROLE
O sistema de controle de um rob decide, a partir da sua percepo, quais aes
devem ser realizadas. Para estudar estes sistemas geralmente so implementados
simuladores do ambiente que se deseja estudar.
Atualmente na Robocup existe a liga de simulao, onde utilizado um sistema
cliente-servidor que gera um campo virtual e controla as aes dos jogadores. Um
cliente comanda um jogador no campo e controla suas aes. As comunicaes entre o
cliente e o servidor so feitas por UDP/IP. Os clientes podem ser escritos em qualquer
sistema de programao que tenha interface UDP/IP. O Servidor de Futebol
Multiplataforma pode ser usado em sistemas como SunOS 4.1.x, Solaris 2, DEC OSF/1,
NEWS-OS, Linux and Irix 5. Com base nesta simulao foi implementado o sistema de
controle descrito neste captulo, baseado em programao Gentica.
7.1.2 Fitness
7.2.1 Indivduo
7.2.2 Reproduo
7.2.3 Cruzamento
7.2.4 Mutao
7.3.1 Indivduo
7.3.2 Reproduo
7.3.3 Cruzamento
7.3.4 Mutao
Gerao = 0
S Designar
Criar populao inicial aleatria
resultado
i=0
S
Gerao + 1 i=M?
i++
Fitness
O fitness calculado da seguinte forma:
fitness = fit;
Na qual fit o nmero de posies do caminho ideal que o rob visitou nas
cinco execues.
O fitness mximo 300 e representa o nmero de clulas do caminho ideal, ou
seja, se um rob conseguir percorrer o caminho ideal sem se desviar muito da sua
trajetria, certamente ter um fitness igual ou prximo ao mximo.
Funes
PROGN3 (3): executa trs ramos em seqncia;
PROGN2 (2): executa dois ramos em seqncia;
IFWALL (I): executa seu ramo esquerdo se no for detectada parede pelo rob (a
no mximo 1 passo de distncia) e caso contrrio executa seu ramo direito.
Terminais
WALKFRONT (F): faz rob dar um passo frente;
WALKBACK (B): faz rob dar um passo para trs;
RIGHT (R): faz rob virar direita;
LEFT (L): faz rob virar esquerda.
Outros Parmetros
Populao (M) = 500;
Nmero de Geraes = 71;
Probabilidade de Cruzamento = 70%;
Probabilidade de Reproduo = 30%;
Matriz de simulao = 20 x 20;
Posicionamento do rob em nmeros inteiros;
49
Resultados
Grficos Evolutivos
O grfico abaixo ilustra a evoluo dos indivduos ao se passarem 71 geraes
de reproduo e cruzamento. Pode-se observar que na gerao 69 obteve-se o primeiro
indivduo com fitness mximo designado igual 300. As oscilaes devidas a
aleatoriedade utilizada na medio do fitness. Por fim, a mdia da gerao que tambm
melhora, mas se mantm mais constante e estabiliza por volta da gerao 62.
Fitness = f(Gerao)
Mdia Maior
350
300
250
200
Fitness
150
100
50
0
0 10 20 30 40 50 60 70 80
Gerao
Fitness = f(Gerao)
Mdia Maior
350
300
250
200
Fitness
150
100
50
0
0 10 20 30 40 50 60 70 80
Gerao
Fitness = f(Gerao)
Mdia Maior
350
300
250
200
Fitness
150
100
50
0
0 10 20 30 40 50 60
Gerao
Exemplos de Caminhos
Para entendermos as figuras necessrio que se saiba a maneira como foram
representadas:
51
Exemplos de Indivduos
Abaixo mostrado o melhor indivduo dessa simulao na forma em que ele
escrito em arquivo depois de ter sido evoludo, e os dados do segundo e terceiro
melhores. Escrito dessa forma ele pode ser reutilizado em novos testes:
Indivduo 1
33FFILBI3RI22BR223BBRR2FF2LFFRIIF32I3FF3BRL32RLBII33RIIF3ILLFRF
F3LB3FB2BFRLBLRBB
Indivduo 2
PONTOS DE COMPLEXIDADE = 79
FITNESS = 300
Indivduo 3
PONTOS DE COMPLEXIDADE = 425
FITNESS = 300
Fitness
O fitness calculado da seguinte forma:
fitness = fit ( unfit / 500 )
53
Na qual fit o nmero de posies do caminho ideal que o rob visitou e unfit
o nmero de vezes em que ele se desviou do caminho (penalizao) ideal ou visitou
uma clula mais de uma vez, por esse nmero ser relativamente grande ele dividido
por 500 para diminuir sua influncia no fitness final.
O fitness mximo 780 e representa o nmero de clulas do caminho ideal, ou
seja, se um rob conseguir percorrer o caminho ideal sem se desviar muito da sua
trajetria, certamente ter um fitness prximo ao mximo.
Funes
PROGN3 (3): executa trs ramos em seqncia;
PROGN2 (2): executa dois ramos em seqncia;
IFWALL (I): executa seu ramo esquerdo se no for detectada parede pelo rob (a
no mximo 1 passo de distncia) e caso contrrio executa seu ramo direito.
Terminais
WALKFRONT (F): faz rob dar um passo frente;
WALKBACK (B): faz rob dar um passo para trs;
RIGHT (R): faz rob virar direita;
LEFT (L): faz rob virar esquerda.
Outros Parmetros
Populao (M) = 500;
Probabilidade de Cruzamento = 70%;
Probabilidade de Reproduo = 30%;
Matriz de simulao = 200 x 200;
Posicionamento do rob em nmeros reais;
Limite de complexidade (no sorteio) = 1000;
ngulo de virada = 30;
Nmero de execues por indivduo = 2.
importante que seja dito que o programa permite que o rob se vire em qualquer
ngulo que seja definido, o ngulo de 30 foi adotado depois de executadas vrias
simulaes.
Resultados
Grficos Evolutivos
O primeiro grfico, do fitness em funo da gerao, mostra a evoluo dos
indivduos aps 51 geraes (a gerao 0 tambm contada). Pode se observar como
a mdia acompanha a reta dos maiores aps as geraes e como mais estvel no
apresentando variaes bruscas. Por exemplo: na gerao 9 o maior indivduo possui
fitness igual 400 e na gerao 11 o fitness igual 530 o que representa um
54
800
700
600
500
Fitness
400
300
200
100
0
0 5 10 15 20 25 30 35 40 45 50
Gerao
Mdia Maior
800
700
600
500
Fitness
400
300
200
100
0
0 5 10 15 20 25 30 35 40 45 50
Gerao
Exemplos de Caminhos
Gerao 10: o indivduo dessa gerao apesar de poder acompanhar a parede e
55
detectar o obstculo sua frente, no percebe quinas, apenas caminha at encontrar algo
que impea seu movimento, isso faz com que ele tenha algumas caractersticas que
podem ser aproveitadas na prxima gerao.
Gerao 26: esse indivduo percorre muito bem o caminho, mas por virar-se
muitas vezes para encontrar quinas, acaba no percorrendo o caminho todo. Ele
demonstra o aperfeioamento que ocorreu desde a dcima gerao na deteco de
quinas.
Gerao 48: esse o indivduo excelente dessa execuo, pois percorre todo o
caminho dentro do nmero de movimentaes estipulado. Consegue detectar as quinas
que foram problema na 10 gerao e no perde tempo com isso como na 26 gerao.
56
Exemplos de Indivduos
Abaixo mostrado o melhor indivduo dessa simulao na forma em que ele
escrito em arquivo depois de ter sido evoludo, e os dados do segundo e terceiro
melhores. Escrito dessa forma ele pode ser reutilizado em novos testes:
Indivduo 1
3IR22222FIF3B2II2FII2B2LI2B2B32F2LRRI22BL3IBIFIFBFB323L3B3B
FB2F32RFF23IIB3FLIFRLR2L3IILLILFILLRIF23B2II32RLIFRBB2RIIBB33IR
223I3IILL2I2I33BBRBRBIRRL3IB32LRBRRBI2BRLRFR2L3222FRIILLIFFRIF
LRIF3BIBRLRFFR2FRRL3IILBILFIFLRR3IB2I32LIRR22ILRBRILBBBBLFLF
BFBLR2IBRRRRIILLIFFRFI33FLIFR2LIRBB3ILLFIR3BBR
Indivduo 2
PONTOS DE COMPLEXIDADE = 110
FITNESS = 766
Indivduo 3
PONTOS DE COMPLEXIDADE = 44
FITNESS = 761
necessidades atuais a escolha mais bvia seria o terceiro que apresentar um tempo de
execuo menor, mas se o caso for um indivduo que venha a ter bom comportamento
em outros ambientes primeiramente ele dever ser testado nesse novo ambiente.
O agente Seguidor de Bola foi escolhido para ser o segundo passo da evoluo dos
Agentes Jogadores de Futebol, pois apresenta maior dificuldade que o Seguidor de
Paredes e adiciona elementos como a bola e obstculos.
Alm das funes de desvio de paredes e de movimentao, que foram
reaproveitadas, adiciou-se apenas uma funo que relaciona a movimentao do rob
com a movimentao da bola, alterando o ambiente e a maneira como se mede o fitness.
Com as caractersticas da PG foi criado o programa do rob seguidor de bolas
aonde o rob deve alcanar a bola e toc-la o maior nmero de vezes possveis dentro da
sua execuo. O ambiente de simulao continua do mesmo tamanho, apesar de ter sido
adicionados obstculos, os passos so contados da mesma forma. A execuo da rvore
tambm no parada enquanto no terminar.
O indivduo deve percorrer a sala buscando pela bola em no mximo 2000
passos. Os passos so reduzidos em relao ao caso anterior especificamente porque o
rob no precisa se movimentar tanto para alcanar a bola, e para tornarem a
representao final mais clara.
A cada simulao o rob e a bola comeam em posies aleatrias.
Fitness
O fitness foi calculado de diversas maneiras. Abaixo, algumas das melhores
maneiras e os motivos pelos quais so considerados melhores so apresentadas.
A frmula que serviu de base para as outras :
fitness = hits * k (n / Dini);
Aonde hits o nmero de vezes que o rob atingiu a bola; n o nmero de
passos do rob e Dini a distncia inicial medida antes do rob se movimentar. O valor
n / Dini (chamado de penalizao) recalculado a cada vez que o rob atinge a bola,
por isso usada a somatria desses valores no fitness. k uma constante a ser definida
em cada caso, e ser mostrado como ela influi no resultado.
O nmero de hits mximo estimado em 15, com base na rea de
movimentao, no nmero de execues e na distncia mxima que a bola pode ter do
rob.
Funes
PROGN3 (3): executa trs ramos em seqncia;
PROGN2 (2): executa dois ramos em seqncia;
IFWALL (I): executa seu ramo esquerdo se no for detectada parede pelo rob (a
no mximo 1 passo de distncia) e caso contrrio executa seu ramo direito.
Terminais
WALKFRONT (F): faz rob dar um passo frente;
WALKBACK (B): faz rob dar um passo para trs;
RIGHT (R): faz rob virar direita;
LEFT (L): faz rob virar esquerda;
ALIGN (A): direciona o rob para a bola.
Outros Parmetros
Populao (M) = 500;
Probabilidade de Cruzamento = 70%;
Probabilidade de Reproduo = 30%;
Matriz de simulao = 200 x 200;
Posicionamento do rob em nmeros reais;
Limite de complexidade (no sorteio) = 1000;
ngulo de virada = 5;
Nmero de execues por indivduo = 1.
O ngulo de 5 foi adotado por se tratar um valor suficiente e que permite bastante
preciso na movimentao buscando a bola.
Resultados
Grficos Evolutivos
Mdia Maior
18000
16000
14000
12000
10000
Fitness
8000
6000
4000
2000
0
0 5 10 15 20 25 30 35 40 45 50
Gerao
Mdia Maior
25000
20000
15000
Fitness
10000
5000
0
0 10 20 30 40 50 60 70 80 90 100
Gerao
Mdia Maior
14000
12000
10000
8000
Fitness
6000
4000
2000
0
0 5 10 15 20 25 30 35 40 45 50
Gerao
Exemplos de Caminhos
As figuras a seguir foram extradas da simulao com k = 1500. Os quadrados
brancos so obstculos para o indivduo e para a bola.
Nessas figuras o caminho feito pelo rob representado pela cor vermelha. O
amarelo representa o princpio do caminho, e o verde a posies da bola.
Gerao 1: Esse indivduo toca poucas vezes na bola, mas pode perceber como
ele j a persegue, apesar de no ter tido problemas com os obstculos.
61
Gerao 13: Indivduo que inicia a busca pela bola j com um obstculo entre ele
e seu destino e utiliza suas funes e treinamento para desviar-se.
Gerao 41: Indivduo bastante evoludo que consegue por vrias vezes atingir a
bola j que o fitness o estimula a fazer isso. Nota-se tambm que este indivduo no
62
perde tempo ao seguir a bola e sempre tenta a melhor trajetria. Pouco antes de a
execuo terminar ele ainda buscava atingir a bola mais uma vez e fez uma pequena
curva dentro da trajetria da bola.
Exemplos de Indivduos
Indivduo 1
3IIR2FF323I2ILIB32R3FRRR22L3RAF2BRFR323I2ILIBILLIAAIR32F2IF
3FFRFFF33RB2RRF33FFRILI23I2IRIB32R3FR32AR32F2IIAL2FRFAF22IALF
2BRR22L3RF2IBF323IFIRR33RBII3FBBIRAFF33FF22F2IIAL3F3RRFRFIRAI
232FRR2B2BR33FBIRF3L2RF3FFR2RBA2BIR32FRFBAIRFII333F2LFFFRBA
I2IBIIAL3FF3FFR3FFRAFL2BRFR323I2ILIB33BIAR22FF3A2IIAL3FFRLFF2F
RIAAIR32F2IF3FFRRFF33RF2RRF33FFRILR2BIR32FR3FFRBFLII3FLBIRAF
33FFRL32FRR2FIBFAIRF32RIIFRIFF33AIL3A2FFFFLFR2BIR32FR2FRBAIR
FII3FBBIRFF33FFRL3AR2FIBFAIRFII3L33FA3AILIFRFFFRIRAFLRF
Indivduo 2
PONTOS DE COMPLEXIDADE = 696
FITNESS = 16433
Indivduo 3
PONTOS DE COMPLEXIDADE = 432
FITNESS = 16431
63
Fitness
O fitness nessa simulao foi calculado da mesma forma que na simulao
anterior. Isto porque o objetivo da evoluo ainda o mesmo, s as dificuldades que
aumentaram.
A frmula do clculo do fitness :
fitness = hits * k (n / Dini);
Aonde hits o nmero de vezes que o rob atingiu a bola; n o nmero de
passos do rob e Dini a distncia inicial medida antes do rob se movimentar. O valor
n / Dini (chamado de penalizao) recalculado a cada vez que o rob atinge a bola,
por isso usada a somatria desses valores no fitness. k uma constante que foi
mantida com o valor de 1500 de acordo com o que conclumos na simulao anterior.
Funes
PROGN3 (3): executa trs ramos em seqncia;
PROGN2 (2): executa dois ramos em seqncia;
IFWALL (I): executa seu ramo esquerdo se no for detectada parede pelo rob (a
no mximo 1 passo de distncia) e caso contrrio executa seu ramo direito;
IFBALL (C): executa o ramo esquerdo se enxergar bola e caso contrrio executa
o ramo direito.
Terminais
WALKFRONT (F): faz rob dar um passo frente;
WALKBACK (B): faz rob dar um passo para trs;
RIGHT (R): faz rob virar direita;
LEFT (L): faz rob virar esquerda;
64
Outros parmetros
Populao (M) = 500;
Probabilidade de Cruzamento = 70%;
Probabilidade de Reproduo = 30%;
Matriz de simulao = 200 x 200;
Posicionamento do rob em nmeros reais;
Limite de complexidade (no sorteio) = 1000;
ngulo de virada = 5;
Nmero de execues por indivduo = 1;
ngulo de viso = 30 para cada lado.
Resultados
Grficos Evolutivos
Nesse primeiro grfico, como j havia sido notado na simulao anterior, existe
uma grande variao no desempenho do melhor agente, parecendo at que este
desaprendeu de repente o que havia aprendido. Isso no verdade, mais uma vez isso
se deve grande gama de possibilidades em que o ambiente pode se apresentar para o
agente, antes que ele comece a buscar pela bola.
O principal que pode ser percebida a evoluo, em outras simulaes adiante
sero mostrados os efeitos de um desenvolvimento mais longo (com mais geraes).
No segundo grfico, notada uma maior estabilidade na evoluo e um melhor
resultado final, e que tambm seja notado que se trata apenas de uma outra simulao
com o mesmo programa. Esse grfico serve para ser mostrado que no se tem um
padro muito correto de evoluo, exceto o que j foi citado.
65
Mdia Maior
10000
9000
8000
7000
6000
Fitness
5000
4000
3000
2000
1000
0
0 5 10 15 20 25 30 35 40 45 50
Gerao
Mdia Maior
14000
12000
10000
8000
Fitness
6000
4000
2000
0
0 5 10 15 20 25 30 35 40 45 50
Gerao
mas at a 100 gerao ela ainda existe. Outro fato importante mas que tambm no
pode ser tomado como regra que a faixa de variao dos melhores agentes diminui.
Mdia Maior
16000
14000
12000
10000
Fitness
8000
6000
4000
2000
0
0 10 20 30 40 50 60 70 80 90 100
Gerao
Exemplos de Caminhos
Nos exemplos de caminhos que sero apresentados a prioridade que sejam
mostrados os que exemplifiquem o desenvolvimento e sejam de fcil entendimento com
breves descries.
Gerao 1: por se tratar de um agente com pouca evoluo, nessa figura o agente
aps atingir a bola duas vezes se perde atrs de um obstculo.
67
Gerao 7: esse agente se vira uma vez procurando a bola e no a encontra, ento
segue em uma direo, comea a se virar novamente dessa vez encontrando a bola, da
segue para atingi-la.
Gerao 12: nesse exemplo o agente se vira buscando a bola, como todos fazem
desde as primeiras geraes, e depois que a encontra no mais a perde seguindo-a at o
fim da sua execuo.
Gerao16: esse agente atinge a bola duas vezes e por algum motivo perde sua
localizao, o que acontece ento que ele comea a se virar procurando a bola,
demonstrando uma boa evoluo no que diz respeito a localizar, ou no caso, achar
novamente a bola.
Gerao 41: esse apenas um exemplo de um agente que j consegue quase que
perfeitamente seguir a bola, daqui em diante o principal ponto de evoluo sero: o
aumento do nmero de vezes em que o agente atinge a bola e a economia na
movimentao at que se atinja a bola.
Gerao 50: o que deve ser observado nessa figura que o agente perde a viso da
bola porque se depara com um obstculo, mas logo depois faz o conhecido movimento
de busca da bola e a reencontra.
69
Gerao 81: esse ltimo exemplo mostra uma boa perseguio da bola e tambm
as caractersticas boas que se mantiveram dos agentes anteriores, como a economia de
movimentos e um bom nmero de vezes atingindo a bola.
Exemplos de Indivduos
Abaixo mostrado o melhor indivduo da simulao de 101 geraes na forma
em que ele escrito em arquivo depois de ter sido evoludo, e os dados do segundo e
terceiro melhores. Escrito dessa forma ele pode ser reutilizado em novos testes:
Indivduo 1
3F33FCA32LLACI23FRBFBIIFL3I232FIICAF22BIIRRLBR3CA23FLII2F
2BLIBIL2IILR2BAF3I232FIBR3CA23FLIICA32LL2I3B2IBCARR2LFRBCAIIF
L3I232FIICAF22BIIR3RCA3R3ICARIR2BIBCAIRFI23FCACA3FBBRRFALRL
BR3CA23FLII2F2BLIBIL2IILR2BCARFIL22LBIL223CAIFB3IRBFBLL3FB2I3
3LILRBFL2IIR2CA3R2FIICBB3LL2LBCAR32B2LLLFCAR3FRLLRF223L2FR
RCABLCAICAFFFBILCA2I3L3FFR3B33FLFBLBLBRLIRIL2IILR2BCARFIL2
2L222IFB23FCALB2LRR2F3RIF2RLI323BRRFL23CACACAF2BI3F2RBB3B
RFLLI3LCA3FIR3233FFF3B2ILRFBCA2B322LRFLLRLACAR3BBCA3R333I
LRLFBBIRR3IILB23BFFBBLLRIR23CAFBB3FB2ICA2FFCALRF223L2FRRB
LCAICAFFFBILCA2I3L3FFR3BRBLLRLF22L3IB3CAFLLBFLLFBILCA2I3L3
FF2I32B3RCF3FB232I33CF2BR3B2RIBRRFIFFBLI3IB2LFILBFLB3RIRR33RI
BCA3CA32FBR2LCALBR2I2BLILBCA3RBB3CA2I2LR3CARRLLRLRI23IR2
3LBCAI2L3LL2I22CAR3FI3ICALII32B3R3CAF2BI2LCA3FRII3I2F3RLRICA2
BCAIICA2IRBCAF3B2CABBCA3RABLLFRLRLBRRBFLBRFRFFBLBRBFB
RRBFCALBLLRLFLBCAB
Indivduo 2
PONTOS DE COMPLEXIDADE = 1023
FITNESS = 8902
Indivduo 3
PONTOS DE COMPLEXIDADE = 2583
FITNESS = 7476
7.5 Concluso
No primeiro estado o par de plos chaveado por I est excitado, onde o fluxo
magntico est representado por linhas entre os plos do estator e os plos do rotor.
Neste estado os plos do estator e do rotor esto alinhados e em equilbrio, onde h a
73
menor relutncia para o fluxo magntico. Quando a chave II acionada, dois novos
plos sero excitados, estado (2), e o rotor ir se movimentar a fim de entrar em
equilbrio, determinando novamente a menor relutncia para o fluxo magntico nesta
nova situao, estado (3). Por fim a chave I desacionada, estado (4), completando um
passo (aproximadamente 15o).
O torque do motor de passo depende da freqncia de energizao seqencial de
cada enrolamento individual, onde quanto maior a freqncia menor o tempo que o
motor tem para mudar o ngulo acarretando a perda de torque.
Existem trs tipos bsicos de motores de passo, so eles: Motor de Passo de
Relutncia Varivel, Motor de Passo de Im Permanente e Motor de Passo Hbrido. A
figura abaixo mostra estes trs tipos de motores.
Existem trs modos bsicos para gerao de pulsos (Figura 8.3), que foram
testados em uma montagem em proto-board (Figura 8.2):
Modo 1: Uma fase alimentada por vez, de modo que a posio de
equilbrio das fases coincida com a posio de equilbrio dos ms,
fornecendo passo pleno.
Modo 2: Duas fases so alimentadas simultaneamente e a posio de
equilbrio dos ms diferente do Modo 1, fornecendo passo pleno, mas
com conjugado 2 vezes maior.
Modo 3: obtido combinando-se os Modos 1 e 2, ou seja, alternando-se a
alimentao de uma nica fase com a alimentao simultnea de duas
fases. Neste caso o avano de passo corresponde metade do passo
produzida pelos Modos 1 e 2
Modo 1
Modo 2
Modo 3
O sistema lgico que controla os motores pode ser observado na Figura 8.2.
8.5 Concluso
9. TRABALHOS CORRELATOS
So discutidos neste captulo os trabalhos que serviram de base e inspirao para o
aqui proposto, dos quais muitas idias e crticas tiveram origem. Entre os trabalhos que
influenciaram esta proposta, dois tiveram maior peso: o de BROOKS (1986, 1991) e o
de BOISSIER e DEMAZEAU (1992, 1994).
Este captulo iniciado com o trabalho mais controverso e conhecido, o de
Rodney Brooks, que tem influenciado muitas reas de IA, como a de Planejamento
Inteligente, onde o paradigma reativo surgiu decorrente destas idias. Ainda, como j
afirmado ao ser apresentada a rea de Viso Computacional, o paradigma propositado
para VC surge como uma conseqncia do seu trabalho [ALOIMONOS, 1994]. Assim,
so apresentadas resumidamente as idias mais importantes do trabalho de Brooks.
BROOKS (1986, 1991) tem sido um entusiasta de uma abordagem baseada em
comportamentos em AI. Ele props a chamada Subsumption Architecture [BROOKS,
1986], onde um sistema construdo pela composio de camadas dedicadas a tarefas
especficas, com um comportamento especfico, e onde cada camada interage
diretamente com o mundo atravs de percepo e ao. Nesta arquitetura, camadas de
um nvel podem assumir o papel de uma camada em um nvel mais baixo suprimindo as
sadas desta, e ainda, camadas em nveis inferiores continuam a funcionar enquanto
adiciona-se camadas de nveis mais alto [BROOKS, 1986, p.152]. Ainda, cada camada
implementada em uma Mquina de Estado Finita (FSM), sendo decomposta em
unidades de processamento de informao paralelas e independentes, interligadas por
hardware, e que trocam mensagens entre si.
Deve-se enfatizar que a principal caracterstica da Subsumption Architecture
permitir que todas as camadas percebam e atuem diretamente no mundo, um mtodo
diferente do que se fazia at ento, onde s uma camada na base do sistema percebia e
atuava, e a decomposio era feita em nveis de processamento, como percepo,
navegao e planejamento.
O trabalho de BROOKS (1991) possui muitos outros aspectos importantes,
desejados para os sistemas criados com a arquitetura aqui proposta. Entre elas,
BROOKS acredita que necessrio que os sistemas:
1. Dominem apropriadamente e de maneira rpida as mudanas em seu ambiente
dinmico, sejam robustos em relao ao seu ambiente e tenham um propsito
em sua existncia.
2. Sejam construdos para o mundo real e nele testados.
3. Sejam construdos incrementalmente: os mdulos devem ser adicionados ao
sistema um de cada vez, e o sistema deve ser testado exaustivamente antes da
adio de um novo mdulo. [BROOKS, 1991, p.140 e p.145]
A proposta de Brooks foi importante como uma reao s arquiteturas robticas
que estavam sendo desenvolvidas at ento, que tinham a tendncia de se tornar cada
vez mais complexas. ELFES (1986) um exemplo dos sistemas que estavam sendo
construdos, onde muito tempo era gasto com o seu prprio gerenciamento. Como
reao a esta tendncia, um sistema simples e funcional como o de Brooks foi bem
recebido.
O segundo conjunto de trabalhos que influencia esta proposta o apresentado por
BOISSIER e DEMAZEAU (1992) e (1994).
81
ALOIMONOS, Y., ed. Special issue on purposive, qualitative and active vision.
CVGIP: Image Understanding, v.56, n.1, 1992.
ARCELLI, F.; DE SANTO, M.; DI SALVO, S. Software Agents for Computer Vision:
a Preliminary Discussion. In: HAWAII INTERNATIONAL CONFERENCE ON
SYSTEM SCIENCES, 31, Hawaii, 1998. Proceedings. Los Alamitos, IEEE, 1998.
v. 5, p. 9-17.
BLACK, M. J.; ALOIMONOS, J.; HORSWILL, I.; SANDINI, G.; BROWN, C.M.;
MALIK, J.; TARR, M.J. Action, representation, and purpose: re-evaluating the
foundations of computational vision. In: INTERNATIONAL JOINT
CONFERENCE ON AI, 1993. Proceedings. 1993. p.1661-6.
BROOKS, R. A. A robust layered control system for a mobile robot. IEEE Journal of
Robotics and Automation, VRA-2, n.1, p.14-23, March 1986.
BROOKS, R. A.; STEIN, L. A. Building Brains for Bodies. MIT AI MEMO No.
1439, 1993.
BROWN, S.; ROSE, J. Architecture of FPGAs and CPLDs: A Tutorial. IEEE Design
87
CHENG, T. K.; KITCHEN, L.; LIU, Z.; COOPER, J. An Agent-Based Approach for
Robot Vison System. Technical Report no. 95/341995, Computer Science
Department, University of Melbourne, Austrlia, 1995.
DROGOUL, A. When Ants Play Chess (or Can Strategies Emerge from Tactical
Behaviors?). In:CALSTELFRANCHI, C; MLLER, J. P. (eds.) From reaction to
cognition - Lecture Notes in AI 957. Berlin-Heidelberg, Springer-Verlag, 1995. p.
13-27.
FIRBY, R. J. Opening the door to robotic agents. IEEE Expert, v.12, n.2, p.7-9, Mar.
1997.
JAIN, R. C. Expensive Vision. CVGIP: Image Understanding, v.60, n.1 p.86-8, July
1994.
KIM, J.H.; VADAKKEPAT, P.; VERNER, I.M. FIRA Robot World Cup Initiative
and Research Directions. Int. J. of Robotics and Automation Systems, 1998.
RILLO, M.; RILLO, A.H.R.C.; COSTA, L.A.R. The LSI assembly cell. In:
IFAC/IFIP/IFORS/IMACS/ISPE Symposium on information control problems in
manufacturing technology, 7, Toronto, 1992. Proceedings. IFAC, 1992. p. 361-5.