Você está na página 1de 7

Ariadnes: um sistema de mapeamento e navegao autnoma em ambientes virtuais

Thiago R. Nunes , Chrystiano S. Arajo , Leandro M. Cruz , Italo O. Matias


Universidade Candido Mendes
Campos dos Goytacazes - RJ - Brasil
thiagorinu@gmail.com
chrystianosaraujo@gmail.com
lcruz@impa.br
italo@ucam-campos.br

ResumoEste artigo apresenta arquitetura e fundamentos


para o desenvolvimento de simuladores para controle de
agentes inteligentes mveis. Entende-se por movimentao os
processos de mapeamento e navegao. Embora esses processos
envolvam diversas caractersticas do agente e do ambiente,
priorizou-se nesse trabalho, conceitos de percepo do ambiente e dos elementos nele contidos, atravs de viso computacional. Durante o desenvolvimento desse projeto, foram desenvolvidos um toolkit de desenvolvimento e controle de agentes
inteligentes, chamado Horus; e um simulador de movimentao
autnoma de um agente inteligente, chamado Ariadnes. Essa
aplicao simula computacionalmente o processo de explorao
de um rob real em um ambiente desconhecido. Durante a
explorao, o agente localiza marcos no ambiente atravs de
uma imagem obtida via uma cmera virtual, e identifica-os
atravs de algoritmos para extrao de caractersticas presentes
no Horus.
Keywords-Agentes Inteligentes; Viso Computacional; Simulao

I. I NTRODUO
Neste trabalho sero apresentados arquitetura e fundamentos para a construo de um simulador para mapeamento
e navegao autnoma de um agente inteligente em um
ambiente virtual. Esse agente capaz de movimentar-se em
um ambiente desconhecido realizando inicialmente o seu
mapeamento e a construo de um mapa atravs do qual ele
navegar a posteriori. Dependendo do problema abordado
em cada aplicao, o agente pode utilizar tcnicas de viso
computacional a fim de otimizar a sua percepo com
relao ao ambiente no qual est inserido. Como prova dos
conceitos apresentados no presente trabalho, foi contrudo
um simulador, denominado Ariadnes, e um toolkit para
desenvolvimento e controle de agentes inteligentes, chamado
Horus.
O objetivo do simulador, apresentado neste trabalho,
representar as questes relacionadas com a movimentao de
um rob real presente em um ambiente desconhecido. Um
dos principais aspectos na robtica mvel a nfase nas
questes referentes locomoo em ambientes complexos
e que se modificam dinamicamente. Para cumprir seus
objetivos, um rob deve ser capaz de adquirir e utilizar
informaes extradas do ambiente, estimar sua posio e

direo e reconhecer padres de elementos no ambiente.


Essas habilidades tornam-o capaz de reagir, em tempo real,
s diferentes ocorrncias ao seu redor. Tais habilidades
podem ser generalizadas para outros agentes inteligentes.
Reconhecimento de padres um problema clssico de
viso computacional. Os procedimentos, j conhecidos na
literatura, referem-se a padres especficos, ou seja, padres
distintos so reconhecidos de formas distintas. Dessa forma,
no mdulo de viso do toolkit Horus existe uma abstrao
com essa finalidade e um conjunto de algoritmos para
extrao de caractersticas que podem ser utilizados em
diferentes procedimentos. Alm disso, tambm foram implementados algoritmos de processamento de imagens que
normalmente so utilizados, como pr-processamento, em
sistemas de reconhecimento de padres.
O toolkit Horus prov diversas funcionalidades com
o obetivo de auxiliar o desenvolvimento de agentes inteligentes. Essas funcionalidades esto agrupadas em reas
como: viso computacional, mapeamento e navegao. Utilizando esse toolkit, foi desenvolvido o simulador Ariadnes.
Nessa aplicao, o agente inteligente simula um rob real
movimentando-se em um ambiente. Para isso, esse agente
inicialmente mapeia o ambiente para posteriormente conseguir se localizar e locomover. Durante a movimentao,
em certos momentos, o agente necessita reconhecer alguns
padres, atravs de viso computacional, como obstculos e
placas informativas.
Este artigo est organizado da seguinte forma: na seo
II so apresentados os principais conceitos de agentes inteligentes. Na seo III so apresentados alguns conceitos
referentes movimentao autnoma atravs de reconhecimento de padres. Na seo IV apresentado o toolkit Horus
e os principais algoritmos utilizados na implementao de
aplicaes como o simulador Ariadnes, apresentado na seo
V.
II. AGENTES INTELIGENTES
A Inteligncia Computacional (IA) uma rea de estudo
da cincia da computao que procura desenvolver sistemas
computacionais capazes de realizar aes e reaes similares
as capacidades humanas, tais como: pensar, criar, solucionar

problemas entre outros. Um Agente, por definio, todo


elemento ou entidade autnoma que pode perceber seu
ambiente por algum meio cognitivo ou sensorial e de agir
sobre esse ambiente por intermdio de atuadores. Pode-se
citar como exemplos de agentes inteligentes, alm de um
rob autnomo ou semi-autnomo, personagens de um jogo,
agentes de busca e recuperao de informao, entre outros.
Existem diferentes definies para a arquitetura de um
rob presentes na literatura. Este trabalho considera a
definio abordada por Arkin [1] a qual considera que
uma arquitetura de um rob est mais relacionada com os
aspectos de software que os de hardware. Apesar de algumas
diferenas, os modelos de arquitetura para robs mveis
descrevem um mecanismo para construo de um sistema de
desenvolvimento e controle de agentes inteligentes, apresentando, principalmente, quais os mdulos presentes e como
estes interagem.
De uma forma geral, os mdulos de uma arquitetura de
um agente inteligente se preocupam com aspectos como
percepo, planejamento e atuao/execuo. A percepo
refere-se compreenso do ambiente e dos elementos nele
contido; o planejamento inteligncia do rob; e a atuao,
ou execuo, ao modo como o rob procede no ambiente,
ou seja, movimentos, captura de informaes, etc.
Existem diversos modelos de arquitetura para robtica,
entre os quais ressaltamos os modelos de trs camadas
como: SSS [2], Atlantis [3], 3T [4]. Todas as arquiteturas se
dividem semelhantemente da seguinte forma:
camada reativa: orienta os sensores e atuadores, alm
de tomar decises de baixo nvel, como viso e movimento;
camada deliberativa: responsvel pela inteligncia do
rob, aspectos mais globais, que no so alterados a
cada iterao;
camada de execuo: intermedia essas duas outras
camadas.
As camadas reativa e deliberativa provem processos
denominados de comportamentos. Tais comportamentos podem ser divididos em duas categorias. Os Comportamentos
Primrios: parar, reduzir velocidade, acelerar, desviar de
obstculos, virar, inverter direo, dirigir-se a meta, fotografar, disparar lasers e etc; e Comportamentos Inteligentes:
mapear, reconhecer objeto, navegar e executar uma tarefa
especfica. Um Comportamento Inteligente executa um conjunto de comportamentos primrios para atingir seu objetivo.
Os comportamentos primrios ocorrem na camada reativa,
enquanto que, os inteligentes ocorrem na camada deliberativa.
Com base nesses conceitos, definiu-se neste trabalho um
agente como uma entidade composta de comportamentos,
dispositivos e um crebro. Os dispositivos do agente, utilizados no sistema em questo, so de sensoriamento (lasers
e cmeras) e de movimentao (rodas). Os comportamentos
do agente so: mapeamento, navegao e reconhecimento

de objetos. J o crebro, o responsvel pelo controle de


execuo de todos os comportamentos supracitados.
III. M OVIMENTAO AUTNOMA ATRAVS DE
R ECONHECIMENTO DE PADRES
Existem alguns tipos de ambiente que so inspitos ao
homem. Nesses casos comum utilizar um rob para explorar e atuar em tais locais. A movimentao desses robs
pode ser automtica (agentes autnomos), semi-automtica
(agentes semi-autnomos) ou manuais. Neste trabalho sero
apresentados alguns conceitos de agentes autnomos, ou
seja, agentes capazes de explorar o ambiente de forma
independente.
Para que um agente autnomo seja capaz de atuar em um
ambiente desconhecido necessrio anteriormente explorar
esse local. Essa explorao pode ser feita atravs de um
mapeamento desse ambiente. A forma como mapeia-se o
ambiente internamente no sistema determinante na sua preciso e performance. As diferentes abordagens para controle
de agentes mveis autnomos interagem fortemente com a
representao do ambiente. No Ariadnes, o mapa feito na
forma de um grafo conexo. Uma proposta para mapeamento
do ambiente, ainda no implementada no Horus, construir
um ambiente virtual 3D associado a um ambiente real no
qual um rob real est explorando. Essa abordagem exige
que o agente reconhea padres no ambiente explorado e
represente-os no ambiente virtual.
O sistema dever ser capaz de estimar sua posio local
para localizar-se globalmente e se recuperar de possveis
erros de localizao. Um correto mapeamento do ambiente
junto a aplicao correta das leis da cinemtica podem
resolver tal problema. Uma proposta para a localizao de
um agente no ambiente a utilizao do mtodo Monte
Carlo [5] ou do mtodo SLAM [6], [7].
Um agente explora um ambiente atravs de sensores. O
sensoriamento prov ao rob as informaes necessrias
para a construo de uma representao do ambiente onde
est inserido e para uma interao com os elementos contidos nesse. Sistemas com uma variedade de sensores tendem
a obter resultados mais precisos. A fuso de dados de
sensores, ou como mais conhecida, fuso de sensores, o
processo de combinao de dados de mltiplos sensores para
estimar ou predizer estados dos elementos da cena. Neste
trabalho, foram utilizados lasers, cmeras e odmetro como
sensores.
As cmeras simulam a viso em um agente inteligente.
Na abordagem desse trabalho, a viso a principal forma
de percepo do ambiente. O Sistema de Viso um dos
mais complexos e completos do ser humano, pois fornece
um conjunto de informaes necessrias interao do
homem com o ambiente. Inicia-se com a captao dos
estmulos luminosos do ambiente formando uma imagem,
que juntamente aos outros estmulos captados por demais
sensores do corpo (som, temperatura, presso, umidade,

cheiro, etc) e as informaes contidas na memria, compem


uma cena compreendida pelo crebro.
A viso possibilita reconhecer e classificar obstculos.
Existem diferentes tipos de obstculos. Estes podem ser
classificados como transponvel (aquele que no interrompe
a trajetria), intransponvel (aquele que o exigir recalcular
a trajetria por outro caminho) e redutor (aquele que permite
ao rob seguir pela trajetria, porm a uma velocidade
mais lenta). Mesmo mediante a obstculos transponveis
e redutores, pode ser conveniente recalcular o caminho
devido ao aumento do custo do percurso. Uma proposta
para o desvio de trajetria o modelo baseado em Campos
Potenciais proposto por [8]. A classificao de um obstculo
ocorre mediante a algum mtodo de reconhecimento de
padres, baseado em viso computacional.
IV. H ORUS
O Horus um toolkit de desenvolvimento e controle de
agentes inteligentes, desenvolvido na linguagem de programao Python. Alm do Ariadnes, existem outros exemplos
de aplicaes desenvolvidas com o Horus: um sistema
de Reconhecimento Automtico de Placas de Automveis,
um sistema de Processamento de Imagens e Extrao de
Caractersticas e um sistema de mapeamento autnomo de
ambientes chamado Teseu.
O toolkit Horus fornece os mdulos Core, Mapeamento,
Viso e Util. O mdulo Core apresenta as abstraes que
devem ser implementadas pelas aplicaes para construir
um agente inteligente. O mdulo Mapeamento fornece algoritmos de localizao, mapeamento e navegao para um
agente. O mdulo Viso fornece os algoritmos de viso
computacional necessrios na etapa de reconhecimento de
padres. Por ltimo, o mdulo Util fornece um conjunto
de funes utilitrias que podem ser usadas tanto no toolkit
Horus quanto em qualquer outra aplicao. Cada um desses
mdulos ser explicado nas subsees seguintes.
A. Core
O Horus pode ser utilizado de dois modos. A primeira
forma como uma coleo de algoritmos, que podem ser
utilizados de forma independente. A segunda forma consiste
na extenso das abstraes fornecidas pelo mdulo core do
Horus. Nesse mdulo existem abstraes para implementao de agentes, dispositivos e comportamentos.
Os comportamentos so procedimentos implementados
para representar aes e reaes dos agentes. As aes
so comportamentos ativos, ou seja, procedimentos que
visam realizar um objetivo previamente definido. Por outro
lado, reaes so procedimentos realizados mediante a estimulos externos. Exemplos de ao e reao ocorrem no
deslocamento de um agente de uma posio a outra. Para
realizar o deslocamento necessrio traar uma rota. Tal
comportamento definido como uma ao. Levando em
considerao que durante o percurso, esse agente se deparou

com algum obstculo. Isso deve gerar um comportamento de


replanejamento da rota para alcanar o objetivo inical sem
colidir com o obstculo. A esse replanejamento, denominase reao.
A ordem de execuo dos comportamentos define a
mquina de estados de cada agente de acordo com cada
aplicao. O toolkit Horus, desenvolvido nesse projeto,
permite a configurao dessa mquina de estados.
B. Viso
Esse mdulo tem como principal objetivo o reconhecimento de padres. No Ariadnes o padro a ser reconhecido
uma placa com o nome dos locais do ambiente e setas
que indicam as direes dos mesmos. Para reconhecimento
de uma placa necessrio identificar algumas caractersticas
de uma imagem, que serviro de padres de entrada para
uma rede neural.
1) Extrao de caractersticas: No campo de reconhecimento de padres, extrair caracersticas significa extrair
medidas associadas ao objeto que se deseja reconhecer, de
forma que essas medidas sejam semelhantes para objetos
semelhantes e diferentes para objetos distintos [9]. Definir
vetores de caractersticas o mtodo para representao
de dados mais comum e conveniente para problemas de
classificao e reconhecimento. Cada caracterstica resulta
de uma medio qualitativa ou quantitativa, que uma
varivel ou um atributo do objeto [10]. Para reconhecer um
caractere de uma representao bitmap, h a necessidade de
extrair caractersticas do mesmo para descrev-lo de uma
forma mais apropriada para o seu processamento computacional e reconhecimento. Como o mtodo de extrao de
caractersticas afeta significativamente a qualidade de todo o
processo de reconhecimento de padres, muito importante
extrair caractersticas de modo que elas sejam invariantes no
que diz respeito s vrias condies de iluminao, tipo de
fonte e possveis deformaes dos caracteres causadas, por
exemplo, pela inclinao da imagem.
Geralmente, a descrio de uma regio de uma imagem
baseada em suas representaes interna e externa. A
representao interna de uma imagem baseada em suas
propriedades regionais, como cor ou textura. A representao externa selecionada quando se deseja dar nfase
nas caractersticas da forma do objeto. Logo, o vetor de
caractersticas de uma representao externa inclui caractersticas como o nmero de linhas, a quantidade de arestas
horizontais, verticais e diagonais, etc.
O conjunto de vetores de caractersticas forma um espao vetorial. Cada caractere representa uma determinada
classe, e todas as formas de representao desse caractere definem as instncias dessa classe. Todas as instncias do mesmo caractere devem ter uma descrio similar
atravs de vetores numricos chamados de "descritores",
ou "padres". Logo, vetores suficientemente prximos representam o mesmo caractere. Essa a premissa bsica

para que o processo de reconhecimento de padres seja bem


sucedido.
Nas sesses seguintes, sero explicados alguns mtodos de
extrao de caractersticas implementados no toolkit Horus.
Matriz de Pixel: a maneira mais simples de extrair
caractersticas de um bitmap associar a luminncia
de cada pixel com um valor numrico correspondente
no vetor de caractersticas.
Esse mtodo, apesar de simples, possui alguns problemas que podem torn-lo inadequado para o reconhecimento de caracteres. O tamanho do vetor igual
altura do bitmap multiplicado pela sua largura, portanto,
bitmaps grandes produzem vetores de caractersticas
muito longos, o que no muito adequado para o
reconhecimento. Logo, o tamanho do bitmap uma
restrio para esse mtodo. Alm disso, este mtodo
no considera a proximidade geomtrica dos pixels,
bem como suas relaes com a sua vizinhana. No
entanto, este mtodo pode ser adequado em situaes
onde o bitmap do caractere se encontra muito opaco ou
muito pequeno para a deteco de arestas.

Figura 2.

Layout com seis regies em trs linhas e duas colunas.

Figura 3.

Figura 1.

Matriz de pixel de um bitmap.

Histograma de Arestas por Regies: esse mtodo extrai


o nmero de ocorrncias de determinados tipos de
arestas em uma regio especfica do bitmap. Isso torna
o vetor de caractersticas desse mtodo invariante com
relao disposio das arestas em uma regio e a
pequenas deformaes do caractere. Sendo o bitmap
representado pela funo discreta f (x, y), onde w
a largura, h a altura, 0 x < w e 0 y < h.
Primeiramente realizada a diviso do bitmap em seis
regies (r0 , r1 , ..., r5 ) organizadas em trs linhas e duas
colunas. Quatro layouts podem ser utilizados para a
diviso do bitmap em regies. Definindo a aresta de
um caractere como uma matriz 2 2 de transies
de branco para preto nos valores dos pixels, tm-se
quatorze diferentes tipos de arestas, como ilustrado na
Figura 3.
O vetor de ocorrncias de cada tipo de aresta em cada
sub-regio da imagem normalmente muito longo o
que no uma boa prtica em reconhecimento de
padres, onde o vetor de caractersticas deve ser to
menor quanto possvel. Com isso, pode-se agrupar
tipos de arestas semelhantes para reduzir o tamanho do
vetor de caractersticas. Por questes de simplicidade,
o agrupamento dos tipos de aresta ser desconsiderado

Quatorze diferentes tipos de arestas

no algoritmo de extrao de caractersticas. Sendo n


igual ao nmero de tipos de arestas diferentes, onde hi
uma matriz 2 2 que corresponde ao tipo especfico
de aresta, e p igual ao nmero de regies retangulares
em um caractere, tm-se:

Figura 4.

Matrizes referentes aos tipos de arestas

O vetor de caractersticas de sada ilustrado pelo


padro abaixo. A notao hj @ri siginifica "nmero
de ocorrncias de um tipo de aresta representado pela
matriz hj na regio ri ":

Figura 5.

Quatorze diferentes tipos de arestas

C. Mapeamento e Navegao
Chamamos de mapeamento ao processo de identificar
locais no ambiente do simulador e representa-los em
um grafo. O mapeamento no Horus utiliza uma tcnica
genrica denominada SLAM. Nessa tcnica, um agente
consegue realizar o mapeamento e a localizao no
ambiente de forma simultnea. Os dispositivos utilizados pela implementao da tcnica SLAM so lasers,
para identificar obstculos, e um odmetro, para medir
distncias percorridas.
O SLAM composto por vrios procedimentos interligados. Cada um desses procedimentos pode ser implementado de diversas formas. Dentre os procedimentos
implementados no Horus, podemos citar:
1) Landmark Extraction: procedimento responsvel
pela extrao de marcos no ambiente.
2) Data Association: procedimento que associa os
dados extrados de um mesmo marco por diferentes leituras de lasers.
3) State Estimation: procedimento responsvel por
estimar a posio atual do rob com base em seu
odmetro e nas extraes de marcos no ambiente.
4) State Update: procedimento que atualiza o estado
atual do agente.
5) Landmark Update: procedimento que atualiza as
posies dos marcos no ambiente em relao ao
agente.
Neste trabalho, a proposta utilizada mapear o ambiente atravs de um grafo conexo, cujos ns referem-se
a: entradas/sadas do ambiente, acessos aos cmodos,
obstculos fixos e esquinas. O peso das arestas ser
calculado de acordo com o custo de processamento no
deslocamento entre a posio de um n ao outro.
O problema de navegao consiste na localizao e
definio do caminho que o agente deve seguir. Aps a
construo de uma representao do ambiente em forma
de um grafo, o agente capaz de se localizar e se movimentar pelo ambiente atravs dos vrtices e arestas,
previamente mapeados no grafo. Para a utilizao de
grafos, o Horus fornece classes para sua construo
e algoritmos para clculo de caminho mnimo, como
Dijkstra e A*.

6 apresenta a arquitetura conceitual do simulador Ariadnes


com seus principais componentes.

Figura 6.

Arquitetura conceitual do simulador Ariadnes.

As principais partes do simulador Ariadnes so: ambiente, engine 3D, agentes e dispositivos. O ambiente, nesse
simulador, foi construdo utilizando o modelador Blender3D.
Esse ambiente composto basicamente de diversos cmodos
interligados por corredores, em alguns pontos desse ambiente existem placas informativas cujo objetivo orientar o
agente durante o mapeamento, como mostra a Figura 8. A
engine 3D utilizada no controle do ambiente e do agente foi
o Panda3D. Por ltimo, agentes e dispositivos so extenses
de abstraes fornecidas no mdulo Core do Horus para
implementao de tais partes. O agente configurado com
dispositivos emissores de lasers mostrado na Figura 7

V. A RIADNES
Ariadnes um sistema que simula a movimentao
autnoma de um agente inteligente em um ambiente. Nele
possivel simular o comportamento de um rob real no que
tange mapeamento e navegao. Inicialmente o agente tem o
objetivo de chegar a uma determinada sala no ambiente utilizando tcnicas de localizao e mapeamento de ambientes
e de viso computacional.
O simulador Ariadnes composto por quatro partes principais, onde duas delas utilizam o toolkit Horus. A Figura

Figura 7.

Agente configurado com lasers.

Inicialmente, o agente configurado com os comportamentos de Navegao, Mapeamento, Localizao e Leitura

de placas. Aps a configurao, o agente inserido em um


ambiente totalmente desconhecido com a misso de chegar
a uma sala especfica. Na Figura 8 apresentado a vista de
cima do ambiente utilizado no Ariadnes.

Figura 8.

Viso superior do ambiente do Ariadnes.

Aps o estabelecimento da misso, o agente inicia o mapeamento do ambiente utilizando os algoritmos do mdulo
Mapeamento do Horus para construir uma representao do
ambiente em forma de grafo. A mquina de estados utilizada
no Ariadnes composta por: mapeamento, navegao, reconhecimento de objetos e execuo. O agente tem por objetivo
partir de um ponto inicial para um ponto final, para isso, ele
tenta definir uma rota. Nesse momento, o agente se encontra
no estado de navegao. Caso ele no consiga definir uma
rota, o estado desse agente muda para mapeamento. Nesse
estado, ele explorar o ambiente at que encontre uma placa
ou algum ponto j mapeado. Caso encontre a placa, seu
estado mudar para reconhecimento de objetos. No estado de
reconhecimento de objetos, caso a placa seja a identificao
do cmodo destino, seu estado muda para execuo. Caso
contrrio, o agente muda para o estado de navegao ou
retorna para o estado de reconhecimento de objetos, caso a
placa identificada seja informativa. No estado de execuo,
uma tarefa especifica, previamente determinada, realizada.
No estado de mapeamento, ao encontrar um ponto j mapeado, ele verifica se agora possvel traar uma rota at
seu objetivo. Caso no seja possvel, o agente continua no
estado de mapeamento.
O agente capaz de estimar sua posio local para se
localizar globalmente e recuperar-se de possveis erros de
localizao. A proposta utilizada para realizao das etapas
de mapeamento e localizao a tcnica SLAM (Simultaneous Localization and Mapping). Essa tcnica utilizada
em agentes autnomos para mapeamento de ambientes desconhecidos. Uma implementao do SLAM encontra-se no
mdulo de mapeamento do toolkit Horus.
Durante o mapeamento, uma cmera utilizada pelo
agente para localizar as placas informativas presentes no
ambiente. Quando este depara-se com uma dessas placas,

interrompe o processo de mapeamento e utiliza algoritmos


de viso para interpretar o contedo existente na placa, a
fim de estabalecer a direo para a qual ele deve seguir no
ambiente.
A captura da cena por cmeras permite a utilizao de
procedimentos de viso computacional, como extrao de
caractersticas, OCR, localizao de placas e reconhecimento
de informaes de direo presentes no ambiente.
No ambiente utilizado no Ariadnes existem marcos, localizados no cho, com o objetivo de auxiliar a localizao das
placas identificadoras de cmodos e direes. Ao encontrar
um marco, o agente fotografa a placa. Com essa imagem,
inicia-se o processo de reconhecimento da placa. Esse processo consiste nas etapas de: localizao e segmentao da
placa, distino de setas e textos, reconhecimento do texto,
identificao da direo da seta.
O processo de localizao da placa pode ser resolvido
em duas etapas. A primeira etapa consiste em localizar a
regio da placa na imagem. Inicialmente, aplica-se o filtro
de Sobel, um filtro para deteco de arestas horizontais e
verticais. Aps a deteco das arestas, pretende-se encontrar
a regio com maior densidade de arestas, pois, geralmente a
placa se encontra nessa regio. Para isso, a tcnica utilizada
consiste na utilizao da projeo vertical e da horizontal.
A projeo horizontal (vertical) consiste em, para cada linha
(coluna), aplicar o somatrio da intensidade de luminncia.
Aps o clculo das projees, calcula-se a mdia e aplicase um threshold global. Isso define intervalos de valores,
na projeo, diferentes de zero. A placa, normalmente,
encontra-se no intervalo que contm o ponto de mximo
da funo projeo.

Figura 9. (a) Imagem da placa. (b) Recorte da coluna de textos. (c)


Projeo horizontal da placa. (d) Projeo vertical da coluna.

A placa constituda de vrias linhas, cada linha contm


duas colunas. A primeira coluna de cada linha fornece o
nome de um determinado local no ambiente, enquanto que,
a segunda coluna fornece a direo desse local em forma
de setas. Como apresentado na Figura V. Para realizar o
reconhecimento dos locais e direes apresentados na placa,
necessrio uma etapa de segmentao dessa placa em duas

regies, textos e direes. Para isso, aplica-se a projeo


horizontal para identificar cada regio. Logo, essas regies
so segmentadas atravs da projeo vertical, identificando
cada linha da placa, conforma mostra a Figura V. Para a
identificao do texto e da seta de cada linha, utiliza-se os
mtodos de extrao de caractersticas do Horus, utilizandoos como padres de entrada para uma rede neural artificial,
tambm implementada no toolkit criado.
Por fim, o agente identifica os locais e suas respectivas
direes, presentes na placa, e define a direo para qual ele
deve seguir baseado em seu objetivo pr-estabelecido.
VI. C ONCLUSO
Este trabalho apresentou alguns aspectos relacionados a
construo de um sistema de controle e desenvolvimento de
agentes inteligentes chamados Ariadnes. Nesse sistema, o
agente, independentemente, mapeia e se locomove atravs
de um ambiente desconhecido com o objetivo de construir
um grafo desse e atingir um determinado lugar, orientandose atravs de placas informativas interpretadas atravs de
tcnicas de viso computacional. Dessa forma, o grafo
construdo durante o processo de mapeamento utilizado
posteriormente no processo de navegao.
Esse sistema foi desenvolvido como parte do projeto do
toolkit para desenvolvimento de agentes inteligentes Horus.
Neste toolkit esto implementados todos os algoritmos de
mapeamento, localizao, navegao e viso computacional
que foram utilizados no sistema.
Alm da utilizao do toolkit Horus, proposto no presente
trabalho, na contruo de ferramentas para explorao e atuao de agentes em ambientes virtuais, esse toolkit tambm
pode ser utilizado em aplicaes reais. Um exemplo desse
tipo de aplicao o uso de robs reais na explorao de
ambientes inacessveis para seres humanos.
AGRADECIMENTOS
Agradecemos a Universidade Candido Mendes, por ter
propiciado um ambiente frutfero para pesquisa e aos demais
colaborados para o desenvolvimento do toolkit Horus: Dalessandro Vianna, Jonathas Lopes, Lucas Carvalho, Maycon
Lopes e Wallace Gomes.
R EFERNCIAS
[1] R. ARKIN, Behavior-based robotics.

MIT Press, 1998.

[2] J. CONNEL, A hybrid arquitecture applied to robot navigation. IEEE Int Conf. on Robotics and Automation, pp.
27192724, 1992.
[3] E. GAT, Dept. of Computer Science, Virginia potytechnic
Institute and State University, 1991, reliable Goal-directed
Reactive Control for Real-World Autonomus Mobile Robots.
[4] R. P. BONASSO, Integrating reaction plans and layered
competences through synchronous control. Twelfth International Joint Conference on Artificial Intelligence, pp. 1225
1231, 1991.

[5] D. FOX, W. BURGARD, F. DELLAERT, and S. THRUN,


Monte carlo localization: Efficient position estimation for
mobile robots. The National Conference on Artificial Intelligence (AAAI)., 1999.
[6] A. Davison, Y. Cid, and N. Kita, Real-time 3d slam with
wide-angle vision, IFAC/EURON Symposium on Intelligent
Autonomous Vehicles, 2004.
[7] F. Dellaert., Square root slam: Simultaneous location and
mapping via square root information smoothing. Robotics:
Science and Systems, 2005.
[8] J. Borenstein and Y. Koren, Real-time obstacle avoidance
for fast mobile robots, IEEE Transactions on Systems, Man,
and Cybernetics, vol. 19, no. 5, pp. 11791187, 1989.
[9] J. C. Santos, Instituto Nacional de Pesquisas Espaciais INPE, 2007, extrao de atributos de forma e seleo de
atributos usando algoritmos genticos para classificao de
reges.
[10] I. Guyon, S. Gum, M. Nikravesh, and I. Zulch, A practical
guide to splines. Springer, 2006.

Você também pode gostar