Você está na página 1de 0

VITOR CAMPANHOLO GUIZILINI

LOCALIZAO E MAPEAMENTO SIMULTNEOS


COM AUXLIO VISUAL OMNIDIRECIONAL


















SO PAULO
2008

VITOR CAMPANHOLO GUIZILINI
LOCALIZAO E MAPEAMENTO SIMULTNEOS
COM AUXLIO VISUAL OMNIDIRECIONAL


Dissertao apresentada Escola Politcnica da
Universidade de So Paulo para obteno do ttulo
de Mestre em Engenharia.














SO PAULO
2008

VITOR CAMPANHOLO GUIZILINI
LOCALIZAO E MAPEAMENTO SIMULTNEOS
COM AUXLIO VISUAL OMNIDIRECIONAL


Dissertao apresentada Escola Politcnica da
Universidade de So Paulo para obteno do ttulo
de Mestre em Engenharia.

rea de Concentrao:
Engenharia Mecatrnica e de Sistemas Mecnicos

Orientador:
Prof. Livre Docente Jun Okamoto Junior







SO PAULO
2008

DEDICATRIA

















Dedico esse trabalho a todas as pessoas que fizeram
eu me tornar o que sou hoje.

AGRADECIMENTOS
Agradeo minha famlia pelo amor, pelo carinho e pelo apoio, sem meus pais e minha irm
eu jamais poderia ter chegado at aqui. Agradeo ao meu orientador e aos demais membros
do LPA pelo companheirismo, pelo encorajamento e pelas discusses que permitiram o de-
senvolvimento desse trabalho e fizeram com que eu crescesse como pesquisador e como
pessoa. Agradeo aos meus amigos pela confiana, pelas conversas e pelos bons momentos
que me deram a fora necessria para manter a cabea erguida durante as horas difceis. A-
gradeo aos aventureiros de Treitore pela diverso, pelas conquistas e por manterem a minha
imaginao aberta para tudo que h de fantstico no mundo.

EPGRAFE

















All you have to decide is what to do
with the time that is given to you.

- Mithrandir

RESUMO
O problema da localizao e mapeamento simultneos, conhecido como problema do SLAM,
um dos maiores desafios que a robtica mvel autnoma enfrenta atualmente. Esse proble-
ma surge devido dificuldade que um rob apresenta ao navegar por um ambiente
desconhecido, construindo um mapa das regies por onde j passou ao mesmo tempo em que
se localiza dentro dele. O acmulo de erros gerados pela impreciso dos sensores utilizados
para estimar os estados de localizao e mapeamento impede que sejam obtidos resultados
confiveis aps perodos de navegao suficientemente longos. Algoritmos de SLAM procu-
ram eliminar esses erros resolvendo ambos os problemas simultaneamente, utilizando as
informaes de uma etapa para aumentar a preciso dos resultados alcanados na outra e vice-
versa. Uma das maneiras de se alcanar isso se baseia no estabelecimento de marcos no am-
biente que o rob pode utilizar como pontos de referncia para se localizar conforme navega.
Esse trabalho apresenta uma soluo para o problema do SLAM que faz uso de um sensor de
viso omnidirecional para estabelecer esses marcos. O uso de sistemas de viso permite a ex-
trao de marcos naturais ao ambiente que podem ser correspondidos de maneira robusta sob
diferentes pontos de vista. A viso omnidirecional amplia o campo de viso do rob e com
isso aumenta a quantidade de marcos observados a cada instante. Ao ser detectado o marco
adicionado ao mapa que rob possui do ambiente e, ao ser reconhecido, o rob pode utilizar
essa informao para refinar suas estimativas de localizao e mapeamento, eliminando os
erros acumulados e conseguindo mant-las precisas mesmo aps longos perodos de navega-
o. Essa soluo foi testada em situaes reais de navegao, e os resultados mostram uma
melhora significativa nos resultados alcanados em relao queles obtidos com a utilizao
direta das informaes coletadas.
Palavras-Chave: SLAM. Localizao e Mapeamento Simultneos. Navegao Autnoma de
Robs. Sistemas de Viso. Viso Omnidirecional.


ABSTRACT
The problem of simultaneous localization and mapping, known as the problem of SLAM, is
one of the greatest obstacles that the field of autonomous robotics faces nowadays. This prob-
lem is related to a robots ability to navigate through an unknown environment, constructing a
map of the regions it has already visited at the same time as localizing itself on this map. The
imprecision inherent to the sensors used to collect information generates errors that accumu-
late over time, not allowing for a precise estimation of localization and mapping when used
directly. SLAM algorithms try to eliminate these errors by taking advantage of their mutual
dependence and solving both problems simultaneously, using the results of one step to refine
the estimatives of the other. One possible way to achieve this is the establishment of land-
marks in the environment that the robot can use as points of reference to localize itself while
it navigates.
This work presents a solution to the problem of SLAM using an omnidirectional vision sys-
tem to detect these landmarks. The choice of visual sensors allows for the extraction of
natural landmarks and robust matching under different points of view, as the robot moves
through the environment. The omnidirectional vision amplifies the field of vision of the ro-
bot, increasing the number of landmarks observed at each instant. The detected landmarks are
added to the map, and when they are later recognized they generate information that the robot
can use to refine its estimatives of localization and mapping, eliminating accumulated errors
and keeping them precise even after long periods of navigation. This solution has been tested
in real navigational situations and the results show a substantial improvement in the results
compared to those obtained through the direct use of the information collected.
Keywords: SLAM. Simultaneous Localization and Mapping. Autonomous Robot Navigation.
Visual Sensors. Omnidirectional Vision.

LISTA DE FIGURAS
Figura 2.1 Influncia da incerteza na localizao e mapeamento .............................................. 4
Figura 2.2 - Aumento de incerteza na localizao em um Filtro de Partculas .......................... 7
Figura 2.3 - Relaes entre mapeamento e localizao .............................................................. 9
Figura 2.4 - Mapas mtricos ..................................................................................................... 12
Figura 2.5 - Mapas de caractersticas ....................................................................................... 13
Figura 2.6 - Evoluo do EKF-SLAM ..................................................................................... 16
Figura 2.7 - Influncia das observaes negativas ................................................................... 19
Figura 2.8 - Tratamento de ambigidades em mltiplas hipteses .......................................... 20
Figura 3.1 - Deteco de caractersticas .................................................................................. 24
Figura 3.2 - Triangulao com uma nica cmera deslocada no ambiente .............................. 28
Figura 3.3 - Imagens omnidirecionais com espelhos hiperblicos ........................................... 30
Figura 3.4 - Relao entre e ............................................................................................... 31
Figura 4.1 - Diagrama do algoritmo proposto .......................................................................... 35
Figura 4.2 - Espao de escalas .................................................................................................. 38
Figura 4.3 - Histograma de orientao ..................................................................................... 42
Figura 4.4 - Construo do descritor ........................................................................................ 43
Figura 4.5 - Conjuntos de caractersticas.................................................................................. 45
Figura 4.6 - Comparao entre kd-tree e Best Bin Fit .............................................................. 46
Figura 4.7 - Entidades e parmetros relevantes na triangulao .............................................. 48
Figura 4.8 - rvore binria de marcos tradicional ................................................................... 57
Figura 4.9 - Rotao de ns para a esquerda ............................................................................ 58
Figura 4.10 - rvore binria proposta ...................................................................................... 58
Figura 4.11 - Etapas do Filtro de Partculas ............................................................................. 59
Figura 4.12 - Modelo de odometria .......................................................................................... 60
Figura 4.13 - Deslocamentos realizados durante a movimentao .......................................... 61
Figura 5.1 - Exemplo de modelo de rob e de ambiente no Gazebo ........................................ 70
Figura 5.2 - Deteco de marcos no ambiente virtual .............................................................. 71
Figura 5.3 - Modelo de erros em ambientes virtuais ................................................................ 72
Figura 5.4 - Primeiro percurso virtual ...................................................................................... 73
Figura 5.5 - Localizao e mapeamento com erros no primeiro percurso virtual .................... 73

Figura 5.6 - Resultados do FastSLAM no primeiro percurso ................................................... 74
Figura 5.7 - Segundo percurso virtual ...................................................................................... 75
Figura 5.8 - Resultados do FastSLAM no segundo percurso ................................................... 76
Figura 5.9 - Extrao de caractersticas em formas geomtricas ............................................. 78
Figura 5.10 - Extrao de caracteristicas em imagens convencionais ...................................... 79
Figura 5.11 - Correspondncia entre objetos ............................................................................ 80
Figura 5.12 - Reconhecimento de objetos ................................................................................ 80
Figura 5.13 - Sistema de viso omnidirecional ........................................................................ 81
Figura 5.14 - Calibrao do espelho ......................................................................................... 82
Figura 5.15 - Extrao de caractersticas em imagens omnidirecionais .................................. 82
Figura 5.16 - Correspondncia entre objetos em imagens omnidirecionais ............................. 83
Figura 5.17 - Deteco de marcos em imagens seqenciais ..................................................... 84
Figura 5.18 - Robs utilizados nos experimentos ..................................................................... 85
Figura 5.19 - Pista de testes para o Magellan Pro .................................................................... 86
Figura 5.20 - Localizao e mapeamento no primeiro percurso real ....................................... 87
Figura 5.21 - Pista de testes para o Pioneer 3AT ...................................................................... 88
Figura 5.22 - Localizao e mapeamento no segundo percurso real (sonar) ........................... 89
Figura 5.23 - Localizao e mapeamento no segundo percurso real (laser) ............................. 90




LISTA DE SMBOLOS

Vetor de localizao

do rob no instante

:
Conjunto de localizaes

do rob desde o instante inicial da navegao

Posio do rob no eixo no plano de navegao

Posio do rob no eixo no plano de navegao

Orientao do rob (eixo ) no plano de navegao

Vetor

de acordo com a hiptese da partcula no instante

Vetor

obtido em um instante de navegao

Mdia da distribuio de probabilidades de

Matriz de covarincia referente

Vetor de posio

do marco no instante

Posio do marco no eixo do plano de navegao

Posio do marco no eixo do plano de navegao

Posio do marco no eixo do plano de navegao

Vetor

de acordo com a hiptese da partcula no instante

Matriz de covarincia referente


,



Matriz de erros do sensor

Matriz de projeo da incerteza de


,

nos eixos cartesianos

Vetor de deslocamento calculado entre

Mdia da distribuio de probabilidades de

Vetor de desvios-padro calculado para o vetor de deslocamentos

Conjunto de partculas em um instante

Peso da partcula no instante


Conjunto de informaes obtidas pelo sensor no instante

:
Conjunto de observaes realizadas desde o instante inicial de navegao

Observao incompleta

nmero do conjunto

,
,
Observao completa
,
,
,

nmero do conjunto

,
,
Distncia entre

e
,

Orientao (eixo z) do marco observado por

Inclinao (eixo xy) do marco observado por

Vetor descritor de uma observao

,
,
Vetor

calculado a partir da observao


,
,
e

,
,

Funo que relaciona a localizao do rob

com a do marco
,

Jacobiano de

,
,

,
,
Vetor de diferenas entre
,
,
e

,
,

Matriz de covarincia da inovao na posio do marco


,

Ganho de Kalman

Vetor de controles

fornecido ao rob no instante

:
Vetors de controles fornecidos desde o instante inicial de navegao

Velocidade linear do rob no instante

Velocidade angular (eixo ) do rob no instante

Funo de transio que propaga

no tempo

Conjunto de variveis que formam o mapa do rob no instante

Varivel

que modela uma regio , do ambiente

Probabilidade da regio descrita por

estar ocupada

Estado ocupado da varivel

Varivel
,

,
,

que modela o marco no mapeamento por caractersti-


cas de acordo com a hiptese da partcula

Vetor descritor de



, Valor do pixel de coordenadas , na imagem
, , Mscara gaussiana de centro , e desvio padro
, , Pixel , suavizado gaussianamente por , ,
, , Diferena de gaussianas no espao de escalas

Coordenadas

de um candidato a caracterstica

Coordenadas

de um candidato a caracterstica na imagem

Coordenada do candidato a caracterstica

Coordenada do candidato a caracterstica

ndice da oitava onde foi detectado o candidato a caracterstica

ndice da escala dentro da oitava

do candidato a caracterstica

Matriz Hessiana do candidato a caracterstica


, Orientao de uma caracterstica


, Magnitude de uma caracterstica

Distncia euclidiana entre duas caractersticas



SUMRIO
1. Introduo ............................................................................................................................... 1
2. Localizao e Mapeamento Simultneos .............................................................................. 4
2.1. Localizao ....................................................................................................................... 6
2.1.1. Odometria .................................................................................................................. 6
2.1.2. Estimativa de Localizao ......................................................................................... 8
2.2. Mapeamento ...................................................................................................................... 9
2.2.1. Mapas Mtricos ....................................................................................................... 11
2.2.2. Mapas de Caractersticas ......................................................................................... 13
2.3. Algoritmos de SLAM ..................................................................................................... 14
2.3.1. Fatorao ................................................................................................................. 17
2.3.2. Observaes Negativas ............................................................................................ 18
2.3.3. Associao de Dados ............................................................................................... 19
2.3.4. Offline SLAM.......................................................................................................... 20
2.4. Marcos no SLAM ........................................................................................................... 21
3. Sistemas de Viso ................................................................................................................. 23
3.1. Caractersticas ................................................................................................................. 24
3.2. Descritores ...................................................................................................................... 26
3.3. Correspondncia ............................................................................................................. 27
3.4. Triangulao ................................................................................................................... 28
3.5. Marcos Visuais................................................................................................................ 29
3.6. Viso Omnidirecional ..................................................................................................... 30


4. Soluo Proposta .................................................................................................................. 33
4.1. SIFT ................................................................................................................................ 36
4.1.1. Extrao de Caractersticas ...................................................................................... 36
4.1.2. Clculo do Descritor ................................................................................................ 42
4.1.3. Determinao dos Marcos ....................................................................................... 44
4.2. Correspondncia ............................................................................................................. 46
4.3. Triangulao ................................................................................................................... 48
4.4. FastSLAM ....................................................................................................................... 50
4.4.1. Mapeamento ............................................................................................................ 52
4.4.2. Localizao .............................................................................................................. 59
4.5. Paralelizao dos Algoritmos ......................................................................................... 68
5. Resultados e Discusso ......................................................................................................... 69
5.1. Localizao e Mapeamento Simultneos ........................................................................ 69
5.1.1. Simulador................................................................................................................. 70
5.1.2. FastSLAM ............................................................................................................... 72
5.2. Auxlio Visual Omnidirecional ....................................................................................... 78
5.2.1. Imagens Convencionais ........................................................................................... 78
5.2.2. Imagens Omnidirecionais ........................................................................................ 81
5.3. SLAM com Auxlio Visual Omnidirecional ................................................................... 85
6. Concluso .............................................................................................................................. 91
7. Referncias Bibliogrficas ................................................................................................... 93

1

1. Introduo
O problema da localizao e mapeamento simultneos um dos problemas fundamentais a
ser resolvido em tarefas de navegao autnoma de robs (Thorpe, Durrant-Whyte; 2001), e
por isso vem sendo alvo de extensa pesquisa, como mostrado em (Csorba; 1997) (Bailey;
2002) (Montemerlo; 2003) (Thrun, Fox, Burgard; 2005). Esse problema pode ser descrito
como a dificuldade que um rob possui de, partindo de uma posio desconhecida em um
ambiente desconhecido, construir incrementalmente um mapa dos locais por onde j passou
ao mesmo tempo em que se localiza dentro desse mesmo mapa (Dissanayake et al.; 2001).
Uma soluo para esse problema permitiria o surgimento de robs verdadeiramente autno-
mos, capazes de navegar de maneira segura por ambientes desconhecidos e cumprir objetivos
sem a necessidade de auxlio externo de espcie alguma.
No incio da navegao o rob no tem nenhum conhecimento referente aos seus estados de
localizao e mapeamento e deve estim-los iterativamente conforme se movimenta pelo am-
biente. Para isso ele conta com um conjunto de sensores embarcados que se movimentam
juntamente com ele, fornecendo informaes que so processadas de acordo com modelos
pr-estabelecidos e transformadas nessas estimativas. Sistemas de odometria lidam com o
problema da localizao de maneira incremental, a partir da integrao das informaes de
velocidade fornecidas pelos sinais de controle enviados ao rob e do seu estado anterior de
localizao. Sensores de medidas (ex: sonares, laser e cmeras) interagem com as estruturas
ao redor do rob e fornecem informaes referentes posio delas no ambiente e as caracte-
rsticas que possuem, permitindo a construo de um mapa.
Contudo, qualquer informao obtida a partir desses sensores ser inevitavelmente imprecisa,
devido a limitaes fsicas e a fenmenos que no podem ser previstos e, portanto, modelados
computacionalmente. Dessa forma, as estimativas de localizao e mapeamento obtidas pelo
rob a partir dessas informaes possuiro erros que estabelecem uma diferena entre a reali-
dade como ela e aquela percebida pelo rob. Se esses erros no forem tratados eles tendem
a se acumular (Yamauchi, Schultz, Adams; 1998), tornando as estimativas cada vez mais im-
precisas e distantes da realidade. Eventualmente chegar o momento em que a impreciso
ser to grande que j no far sentido utilizar essas estimativas, invalidando o prprio pro-
cesso utilizado para obt-las.
2

Essa dificuldade em se conciliar as etapas de localizao e mapeamento de maneira a conse-
guir resultados consistentes com a realidade mesmo aps longos perodos de navegao
conhecida como o problema do SLAM (Simultaneous Localization and Mapping), termo
proposto em 1991 por Leonard e Durrant-Whyte. Solues probabilsticas (Thrun, Fox,
Burgard; 2005) lidam com esse problema atravs da minimizao simultnea das incertezas
envolvidas em cada uma das estimativas, reconhecendo que ambas so dependentes entre si
(Araneda; 2004). Resultados precisos de localizao so necessrios para o estabelecimento
de um mapa preciso e vice-versa, e dessa forma no faz sentido abordar apenas um dos pro-
blemas, necessrio resolv-los simultaneamente, eliminando sistematicamente os erros antes
que eles se acumulem.
Uma abordagem possvel na resoluo do problema do SLAM, apresentada inicialmente por
Smith e Cheeseman (1986) o estabelecimento de marcos (landmarks), que so estruturas
no ambiente que o rob pode utilizar como pontos de referncia para se localizar durante a
navegao (Leonard, Durrant-Whyte, Cox; 1992). Esses marcos so armazenados no mapa
que o rob possui do ambiente, e sempre que um novo marco detectado ele incorporado a
esse mapa. Quando esse marco reconhecido em um instante posterior, o rob adquire novas
informaes no apenas relativas posio da estrutura que ele representa no ambiente, mas
tambm relativas sua prpria localizao (Betke, Gurvits; 1997), e com isso consegue refi-
nar ambas simultaneamente, tornando localizao e mapeamento globalmente mais precisos.
Em trabalhos anteriores (Guizilini et al.; 2007) foi discutida pelo autor uma soluo para o
problema do SLAM que utiliza sensores de distncia esparsos para coletar informaes do
ambiente, que so insuficientes para o estabelecimento de marcos e resultam em imprecises
residuais de localizao e mapeamento. O trabalho aqui apresentado tem como objetivo a so-
luo do problema do SLAM atravs de um sensor visual para a deteco de marcos naturais
ao ambiente, de maneira a melhorar o desempenho do SLAM e aumentar a qualidade das es-
timativas obtidas durante a navegao. Em especial, utilizado um sistema de viso
omnidirecional para ampliar o campo de viso do rob (Kim, Chung; 2003) e permitir a ob-
teno simultnea de uma maior quantidade de marcos. Para isso utilizado um algoritmo de
extrao de caractersticas (features) conhecido como SIFT (Lowe; 1999), que aplicado
diretamente sobre a imagem omnidirecional. As caractersticas fornecidas pelo SIFT possu-
em propriedades de invarincia que facilitam a correspondncia entre marcos sob diferentes
pontos de vista.
3

A informao obtida pelo sistema de viso durante a navegao incorporada s estimativas
de localizao e mapeamento que o rob possui de acordo com o FastSLAM (Montemerlo;
2003), algoritmo que fatora o problema do SLAM e com isso consegue lidar com grandes
quantidades de marcos de maneira mais eficiente, alm de ser menos sensvel a eventuais cor-
respondncias erradas porque lida com mltiplos mapas simultaneamente. apresentada
tambm uma alterao no algoritmo tradicional de FastSLAM que proporciona um aumento
nessa eficincia de armazenamento e manipulao dos marcos. A soluo aqui proposta foi
desenvolvida em ambientes virtuais, com o auxlio do simulador Player/Gazebo, e validada
em situaes reais de navegao com robs Magellan Pro e Pioneer 3AT.


4

2. Localizao e Mapeamento Simultneos
O problema de localizao em tarefas de navegao autnoma se relaciona com a capacidade
que um rob deve possuir de conhecer a sua posio e orientao a cada instante em um sis-
tema absoluto de coordenadas (Burgard, Fox, Thrun; 1997). Similarmente, o problema de
mapeamento se relaciona com a sua capacidade de distribuir as estruturas que se encontram
ao seu redor dentro desse mesmo sistema de coordenadas (Gutmann, Konolige; 1999). Nem
sempre possvel fornecer ao rob um mapa confivel do ambiente, pois esse mapa pode se
alterar durante a navegao ou at mesmo ser desconhecido, cabendo ao rob explor-lo e ge-
rar esse mapa para aplicaes posteriores (Engelson, McDermott; 1992). Da mesma forma,
nem sempre possvel fornecer uma localizao precisa do rob a cada instante, pois sua po-
sio inicial ou trajetria podem ser desconhecidas, e existem situaes onde sistemas
absolutos de posicionamento, como o GPS, no podem ser utilizados ou no fornecem resul-
tados confiveis (Negenborn; 2003).
Nesses casos, o rob deve obter estimativas de localizao e de mapeamento atravs dos seus
prprios sensores embarcados, cujas informaes fornecidas sero inevitavelmente ruidosas,
devido a limitaes fsicas e a uma grande quantidade de fenmenos que no podem ser mo-
delados devido sua complexidade ou imprevisibilidade. Esses erros fazem com que as
estimativas obtidas pelo rob sejam imprecisas, limitando a sua aplicabilidade em algoritmos
posteriores que dependam de resultados precisos de localizao e de mapeamento.



(a) (b) (c) (d)
Figura 2.1 - Influncia da incerteza na localizao e mapeamento (Thrun, Fox, Burgard; 2005).
(a) Localizao sem erros (b) Localizao com erros
(c) Mapeamento sem erros (d) Mapeamento com erros
5

As primeiras tentativas de se lidar com esses erros procuraram faz-lo atravs da construo
de sensores cada vez mais precisos, que possuiriam um menor erro inerente e por isso propor-
cionariam um resultado final mais confivel. Mas o aumento da preciso fez com que os
sensores utilizados ficassem cada vez mais caros, e logo essa abordagem deixou de ser atrati-
va, sendo necessrios investimentos cada vez maiores para gerar aumentos de preciso cada
vez menores. Adicionalmente, era bvio que seria impossvel eliminar completamente os er-
ros inerentes aos sensores, devido a fatores que esto fora do controle dos projetistas. Em
outras palavras, essa abordagem apenas ocultava o problema ao invs de elimin-lo, e em uma
navegao suficientemente prolongada esses erros eventualmente se tornariam grandes o sufi-
ciente para comprometer os resultados finais.
Sendo impossvel eliminar esses erros a soluo foi ento lidar com eles, e para isso neces-
srio que eles sejam incorporados aos modelos utilizados, que at ento apresentavam
caractersticas determinsticas (Maybeck; 1979). Individualmente esses erros no podem ser
previstos, mas quando considerados como um conjunto de fenmenos isolados percebeu-se
que eles podem ser tratados estatisticamente, apresentando padres que podem ser modelados.
Essa viso impulsionou o surgimento da chamada robtica probabilstica (Thrun, Fox,
Burgard; 2005), onde os estados de localizao e mapeamento do rob deixam de apresentar
valores nicos e se tornam distribuies de probabilidades que indicam todos os estados pos-
sveis dada a preciso das observaes realizadas at aquele momento. A obteno de
estimativas precisas se torna ento uma questo de minimizar as incertezas contidas em cada
uma das variveis de interesse, o que pode ser feito a partir do acmulo de informaes
(Elfes; 1987) visando eliminar os erros aleatrios gerados pelos rudos apresentados pelos
sensores.
Quando tratados probabilisticamente ambos os problemas possuem solues simples, mas pa-
ra isso necessrio que o outro j tenha sido resolvido, como o caso da localizao dado o
mapa do ambiente (Dellaert et al.; 1999) ou do mapeamento dada a localizao do rob a cada
instante (Thrun; 2002a). Isso acontece porque ambos os problemas esto vinculados entre si,
e por isso no podem ser tratados independentemente. A localizao necessria no mapea-
mento porque as observaes realizadas pelos sensores do rob so relativas sua posio no
ambiente, portanto a sua localizao necessria para distribuir essas informaes em um sis-
tema global de coordenadas. J a localizao depende do mapeamento porque o rob deve ser
capaz de reconhecer estruturas no ambiente de maneira a obter estimativas absolutas de sua
posio em relao a elas e com isso se posicionar dentro do mapa.
6

Dessa forma, caso uma dessas estimativas apresente erros eles sero propagados para a outra,
aumentando a sua impreciso, e devido natureza iterativa do processo esses erros rapida-
mente se acumularo e invalidaro os resultados finais. Torna-se necessrio, portanto, lidar
com ambos os problemas simultaneamente, procurando minimizar globalmente as incertezas
envolvidas ao invs de lidar com elas individualmente. Com isso os erros gerados a cada ite-
rao pelos sensores utilizados so sistematicamente eliminados antes que se acumulem,
mantendo as incertezas inerentes s estimativas de localizao e mapeamento estveis durante
todo o perodo de navegao.

2.1. Localizao
Um componente fundamental para qualquer sistema autnomo de navegao a capacidade
de se localizar dentro do ambiente no qual se encontra (Jensfelt; 2001). Durante a navegao
um rob recebe sinais de controle que fazem com que ele se movimente pelo ambiente, par-
tindo de um ponto e chegando at outro. Em uma navegao autnoma o rob deve ser capaz
de calcular iterativamente quais so os sinais de controle necessrios para que ele consiga al-
canar o seu objetivo de maneira segura e eficiente. Dessa forma, ele deve ser capaz de
monitorar constantemente a sua localizao relativa s estruturas que existem ao seu redor, de
maneira a perceber o seu deslocamento atravs do ambiente e conseguir definir se esse deslo-
camento fez com que ele se aproximasse do seu destino ou no.

2.1.1. Odometria
O modelo mais simples de localizao envolve apenas parmetros internos do rob, e por isso
no depende da obteno de informaes do ambiente ao seu redor. Um sistema de odometria
consegue, com o auxlio de encoders, determinar a rotao dos eixos dos atuadores respons-
veis pela movimentao do rob em um determinado intervalo de tempo, e integrando esses
valores consegue calcular qual o deslocamento realizado nesse intervalo. Esse deslocamento
gerado de acordo com um vetor de controles que indica, por exemplo, as velocidades que o
rob deve apresentar nesse intervalo e pode ser fornecido por um controlador humano ou cal-
culado pelo rob de acordo com o objetivo que se deseja alcanar. Supondo que a localizao
7

do rob no instante imediatamente anterior conhecida, assim como o vetor de controles

, possvel determinar iterativamente qual ser a sua localizao

atravs de uma fun-


o de transio

que depende dos parmetros do problema.

(2.1)
Essa propagao da localizao no tempo no leva em considerao fenmenos imprevisveis,
como deslizamento de rodas e terrenos irregulares, e por isso os seus resultados so apenas
uma estimativa do estado atual do rob naquele instante. Essa incerteza pode ser modelada
com uma distribuio de probabilidades

, ou seja, a probabilidade do rob se


encontrar na posio

dado que ele partiu da posio

e se deslocou de acordo com o


vetor de controle

. Essa distribuio obtida empiricamente de maneira a quantificar a


sensibilidade que o sistema possui em relao surgimento de erros, e seus parmetros so in-
dividuais para cada rob.
A forma da distribuio tambm pode variar, e isso define as ferramentas que podem ser utili-
zadas para o seu tratamento. Caso seja modelada como uma distribuio gaussiana, cujas
propriedades so necessrias em algumas aplicaes (Welch, Bishop; 1995), ela ser definida
por dois parmetros: um vetor de mdias

que representa o estado com maior probabili-


dade de ser o correto, e uma matriz de covarincia

que quantifica a incerteza em relao


a essa mdia. Para distribuies genricas uma ferramenta comum o Filtro de Partculas
(Rekleitis; 2003) (Thrun; 2002b), que simula qualquer distribuio a partir de um conjunto
finito de amostras, cada uma representando um possvel estado de localizao do rob. A Fi-
gura 2.2 mostra o efeito do acmulo de erros de localizao sob a forma do espalhamento das
partculas por uma rea cada vez maior.

Figura 2.2 - Aumento de incerteza em um Filtro de Partculas. O rob comea em (0,0) e segue at (-300, 450),
com erros gaussianos de mdia 0 e desvios padro distintos para cada tipo de deslocamento.
8

Qualquer que seja a distribuio utilizada importante perceber que, devido ao carter iterati-
vo que esse modelo possui a incerteza inerente localizao tende a aumentar com o tempo,
pois propagada para as prximas iteraes e se acumula com os erros gerados em instantes
posteriores (Figura 2.2). No h um limite superior para essa incerteza, e por isso ela se tor-
nar monotonicamente maior durante todo o perodo de navegao, eventualmente
invalidando as estimativas obtidas e impedindo que o resultado seja utilizado em qualquer
aplicao posterior, como o caso do prprio mapeamento.

2.1.2. Estimativa de Localizao
Uma estimativa de localizao cuja incerteza possui um limite superior s pode ser obtida
quando o rob utiliza referenciais absolutos de posicionamento, que no dependem do seu
estado de localizao anterior (Bailey; 2002). Sistemas de posicionamento global, como o
GPS, so uma alternativa, contudo existem situaes onde esse sistema no pode ser utilizado,
como o caso da navegao em ambientes internos, ou em que ele no fornece informaes
confiveis ou com a freqncia necessria. Outra possibilidade a busca por estruturas no
ambiente, aqui supostas fixas, que o rob pode utilizar como pontos de referncia para poder
se localizar (Betke, Gurvits; 1997). Estruturas do ambiente utilizadas com essa finalidade so
conhecidas como marcos (landmarks), e devem possuir propriedades que permitam a sua
deteco e posterior reconhecimento (Altermatt et al.; 2004).
Supondo (Figura 2.3) que em um determinado instante o rob capaz de reconhecer no am-
biente um conjunto de marcos cujas posies absolutas

j lhe so conhecidas,
possvel determinar qual a sua estimativa de posio a partir dos valores

for-
necidos pelas observaes que foram correspondidas com os marcos. A posio desses
marcos no ambiente no depende de valores de localizao do rob, e por isso a estimativa
obtida ser absoluta, limitada apenas pela incerteza relativa posio do marco no ambiente e
do sensor utilizado para realizar a observao. Essa estimativa pode ser incorporada quela
obtida incrementalmente pela odometria de maneira a gerar uma terceira estimativa mais pre-
cisa do que as duas iniciais (Negenborn; 2003). De acordo com a natureza do sensor utilizado
essa informao pode no ser completa, o que requer a utilizao de abordagens diferentes.
Sensores de sonar e rdio, devido grande disperso angular, podem gerar observaes onde
apenas a distncia pode ser utilizada com preciso (Kehagias, Diugash, Singh; 2006), enquan-
9

to sensores visuais permitem, com apenas uma imagem, a obteno de observaes referentes
apenas orientao das estruturas observadas (Bekris, Glick, Kavraki; 2006).

Figura 2.3 - Relaes entre mapeamento e localizao. O rob se desloca entre as posies

de acordo com
os comandos

e detecta os marcos

atravs das observaes

.

A informao absoluta que um mapa do ambiente capaz de fornecer tambm faz com que
seja possvel resolver problemas clssicos, como o caso da localizao global (Jensfelt,
Kristensen; 1999), onde o rob no conhece sua posio inicial dentro do seu modelo de ma-
pa, e o seqestro de robs (Fox, Burgard, Thrun; 1999), onde o rob subitamente levado
para outra posio e deve se localizar. Contudo, no sempre que um mapa confivel do am-
biente pode ser fornecido anteriormente navegao, seja porque o prprio ambiente ainda
no foi explorado ou porque ele ainda no conhecido, e nessas situaes o rob deve tam-
bm construir incrementalmente o mapa que utilizar para se localizar, sendo essa a base para
o surgimento do problema do SLAM.

2.2. Mapeamento
A utilizao de mapas necessria para que um rob consiga construir um modelo do mundo
ao seu redor e utilizar esse conhecimento para conseguir cumprir os seus objetivos. Para que
um rob possa lidar com o mundo ao seu redor ele deve primeiramente ser capaz de perceber
os objetos ao seu redor, preferencialmente antes de colidir com eles. Isso feito atravs de
sensores que interagem com o ambiente de alguma forma, como, por exemplo, explorando
propriedades da luz (cmeras, laser, infravermelho) ou de ondas mecnicas (sonares). Con-
forme se movimenta pelo ambiente o rob realiza observaes das estruturas que se
encontram ao seu redor, e pode decidir por apenas reagir a elas de acordo com comportamen-
tos programados (Balch, Arkin; 1993) ou ento armazenar a informao contida nessas
observaes para que possam ser recuperadas posteriormente (Thrun; 2002a).
10

Esse armazenamento de informaes feito sob a forma de um mapa, que representa o mode-
lo que o rob possui do mundo e armazena de maneira consistente as observaes que ele
coleta atravs dos seus sensores. Um mapa pode ser visto como um conjunto de variveis
(Pierce, Kuipers; 1994), cada uma capaz de descrever de maneira nica uma determinada par-
cela de interesse do ambiente. Quando o rob realiza uma observao ele inicialmente deve
determinar a qual regio do ambiente essa observao est vinculada, e ento atualiz-la no
mapa de maneira que ela reflita o estado observado. Esse reconhecimento de regies feito a
partir de um conjunto de caractersticas que cada varivel possui e que a torna nica dentro do
mapa, cujo contedo depende do tipo de sensor e de mapa que est sendo utilizado. Caso
uma regio que ainda no possua uma varivel correspondente seja observada essa varivel
adicionada ao mapa, e ser atualizada quando essa mesma regio for observada novamente.
O posicionamento absoluto de uma estrutura

dentro do ambiente depende da localizao

do rob, pois os sensores esto embarcados nele, e da informao contida na observao


realizada por esses sensores. De maneira similar ao que ocorre com a localizao, os sensores
responsveis pelo mapeamento do ambiente no fornecem informaes exatas, pois esto su-
jeitos a erros que no podem ser previstos ou modelados. Dessa forma, cada uma das
informaes incorporadas ao mapa possuir um determinado valor de incerteza, que far com
que o mapa obtido seja apenas uma estimativa da realidade, e as suas variveis se tornem va-
riveis aleatrias (Brezetz et al.; 1996). Essa impreciso pode refletir de duas maneiras no
mapa obtido: uma observao pode se correspondida com a varivel errada ou ento uma va-
rivel pode ser atualizada com um estado que no corresponde realidade. Erros de
correspondncia podem ser evitados com a utilizao de conjuntos de caractersticas mais ro-
bustos (Olson; 2002) e erros de atualizao so corrigidos atravs do acmulo de observaes
(Nieto et al.; 2003), que tende a fazer com que erros aleatrios sejam eliminados e o estado da
varivel convirja para o estado real.
Existem diversas maneiras de se construir o mapa de um ambiente, cada uma levando em
considerao diferentes aspectos da informao coletada pelos sensores (Gutmann, Konolige;
1999). Mapas mtricos e de caractersticas procuram criar uma representao espacial das
estruturas ao redor do rob, distribuindo-as dentro de um sistema global de coordenadas.
Mapas topolgicos se baseiam na construo de grafos que conectam diferentes reas do am-
biente de uma maneira qualitativa (Choset, Nagatani; 2001). Esse trabalho usa representaes
espaciais para resolver o problema do SLAM, portanto a seguir so descritos em mais deta-
lhes os mapas mtricos e de caractersticas.
11

2.2.1. Mapas Mtricos
Uma maneira de se armazenar as informaes coletadas pelos sensores do rob atravs dos
chamados mapas mtricos, que fazem uso de uma estrutura conhecida como grade de ocupa-
o (Elfes; 1989). Uma grade de ocupao, aqui suposta bidimensional, pode ser modelada
como uma matriz

onde cada clula


,

uma varivel que representa uma regio discre-


tizada e bem definida do ambiente e armazena o estado em que ela se encontra em um
determinado instante . Cada uma dessas variveis caracterizada pelas suas coordenadas no
ambiente, e o seu estado indica a probabilidade daquela regio estar vazia (pode ser atraves-
sada pelo rob) ou ocupada (possui algum obstculo que impede a navegao) dados os
estados de localizao
:
do rob e o conjunto de observaes
:
realizadas desde o incio
da navegao. Por conveno,

indica o estado ocupado da varivel e

o estado livre.


,

,

,

,


,

,

,

,

,

,

,

,


,

,

,

,

|
:
,
:

(2.2)
No inicio da navegao cada uma das regies apresenta um estado que indica o conhecimento
que se possui em relao quela regio, e caso no haja nenhum conhecimento atribudo o
valor 0.5, indicando 50% de probabilidade de existir algum obstculo. Conforme o rob se
movimenta ele coleta informaes a partir dos seus sensores e as utiliza para atualizar os esta-
dos das variveis referentes s regies observadas de maneira a faz-los convergir para
aqueles apresentados na realidade. Essa atualizao geralmente feita atravs do Teorema de
Bayes (Murphy; 1999), um resultado da teoria de probabilidades que permite atualizar iterati-
vamente a distribuio de probabilidades de uma varivel aleatria conforme novas
informaes referentes a ela so obtidas. A formulao do Teorema de Bayes apresentada
em (2.3), onde

indica o conjunto de observaes

realizadas naquele instante e

, a po-
sio do rob naquele instante.

(2.3)
Como cada varivel do mapa possui uma posio fixa no ambiente, a incerteza inerente s
observaes fornecidas pelos sensores faz com que seja atualizado um conjunto de variveis,
12

de acordo com a probabilidade de cada uma delas representar a posio que foi efetivamente
observada. Supondo que os sensores do rob conseguem detectar apenas regies ocupadas e
que os sinais enviados e recebidos viajam no espao antes de interagir com os objetos detec-
tados, pode-se considerar qualquer resultado de observao como ocupado e todo o espao
intermedirio como livre. Na Figura 2.4b apresentado um modelo probabilstico para um
sensor de distncia bidimensional, no caso o sonar. A regio de maior probabilidade indica a
posio da estrutura de acordo com a observao, e o espalhamento dessa probabilidade re-
presenta a incerteza quanto a essa estimativa. As regies de menor probabilidade representam
o caminho percorrido pelo sonar at alcanar o obstculo, que se encontra vazio e por isso su-
as variveis correspondentes podem ser atualizadas de acordo.


(a) (b)
Figura 2.4 - Mapas mtricos.
(a) Grade de Ocupao Probabilstica (b) Distribuio de Probabilidades

A vantagem da utilizao de mapas mtricos est no fato deles fornecerem uma representao
densa do ambiente, o que facilita a utilizao posterior de algoritmos como planejamento de
trajetrias (Stentz; 1994) (Ersson, Hu; 2001) ou de explorao (Zelinsky; 1992). Contudo,
esse tipo de mapa possui um elevado custo computacional, tanto no ponto de vista de proces-
samento quanto de memria, pois necessrio armazenar e lidar com uma grande quantidade
de informaes. Adicionalmente, a caracterizao de regies feita tendo como base apenas
as suas coordenadas absolutas no ambiente, o que torna o reconhecimento bastante sensvel a
erros de mapeamento e localizao, gerando uma grande quantidade de erros de correspon-
dncia. Dessa forma, algoritmos de SLAM que fazem uso de mapas mtricos geralmente se
limitam a utilizar a informao como foi obtida pelos sensores, sem o estabelecimento de
marcos para auxiliar na navegao (Eliazar, Parr; 2003).

2.2.2. Mapas de Caractersticas
Outra maneira de se armazenar informaes coletadas pelos sensores do rob atravs dos
chamados mapas de caractersticas, que filtram essas informaes em busca de padres rel
vantes de alguma forma para a aplicao onde esse mapa ser utilizado e os armazenam sob a
forma de pontos esparsos (
mapa uma estrutura composta por um conjunto de
conjunto de caractersticas
va de posio que indica as suas coordenadas absolutas no
Essa abordagem gera um menor custo computacional de manuteno, pois lida com uma m
nor quantidade de informaes
padres nas informaes que sejam relevantes para a aplicao em questo, assim como a c
racterizao desses padres de maneira a permitir a correspondncia com estruturas
semelhantes. Como as variveis em um mapa de caractersticas no possuem posies fixas
no espao como acontece em um mapa mtrico
incorporada diretamente no parmetro que a define, sob a forma de uma distribuio de p
babilidades similar quela utilizada no tratamento do prob
Supe-se aqui que as estruturas que cada varivel representa no ambiente no se movime
tam, e por isso essa distribuio de probabilidades no se propaga no temp
constante uma vez definida.
(a)
Figura
(a) Mapa resultante
Caractersticas
Outra maneira de se armazenar informaes coletadas pelos sensores do rob atravs dos
ersticas, que filtram essas informaes em busca de padres rel
vantes de alguma forma para a aplicao onde esse mapa ser utilizado e os armazenam sob a
(Buschka; 2006), enquanto o resto descartado. Assim sendo, um
uma estrutura composta por um conjunto de variveis, cada uma contendo
que a define de maneira nica dentro do mapa e uma estimat
e indica as suas coordenadas absolutas no ambiente

Essa abordagem gera um menor custo computacional de manuteno, pois lida com uma m
informaes (Figura 2.5a). Contudo, surge o custo decorrente da busca por
padres nas informaes que sejam relevantes para a aplicao em questo, assim como a c
racterizao desses padres de maneira a permitir a correspondncia com estruturas
s. Como as variveis em um mapa de caractersticas no possuem posies fixas
como acontece em um mapa mtrico, a incerteza quanto a essa estimativa pode ser
incorporada diretamente no parmetro que a define, sob a forma de uma distribuio de p
babilidades similar quela utilizada no tratamento do problema de localizao (Figura 2.5b
se aqui que as estruturas que cada varivel representa no ambiente no se movime
tam, e por isso essa distribuio de probabilidades no se propaga no temp
constante uma vez definida.



(b)
Figura 2.5 - Mapas de caractersticas (Montemerlo; 2003).
(a) Mapa resultante (rvores) (b) Distribuio de Probabilidades
13
Outra maneira de se armazenar informaes coletadas pelos sensores do rob atravs dos
ersticas, que filtram essas informaes em busca de padres rele-
vantes de alguma forma para a aplicao onde esse mapa ser utilizado e os armazenam sob a
, enquanto o resto descartado. Assim sendo, um
variveis, cada uma contendo um
que a define de maneira nica dentro do mapa e uma estimati-
(e a sua incerteza ).
(2.4)
Essa abordagem gera um menor custo computacional de manuteno, pois lida com uma me-
decorrente da busca por
padres nas informaes que sejam relevantes para a aplicao em questo, assim como a ca-
racterizao desses padres de maneira a permitir a correspondncia com estruturas
s. Como as variveis em um mapa de caractersticas no possuem posies fixas
, a incerteza quanto a essa estimativa pode ser
incorporada diretamente no parmetro que a define, sob a forma de uma distribuio de pro-
lema de localizao (Figura 2.5b).
se aqui que as estruturas que cada varivel representa no ambiente no se movimen-
tam, e por isso essa distribuio de probabilidades no se propaga no tempo, permanecendo



(b)

(b) Distribuio de Probabilidades
14


No incio da navegao o mapa se encontra vazio, pois o ambiente ao redor do rob desco-
nhecido, e conforme o rob se movimenta ele coleta informaes com seus sensores em busca
de padres relevantes que possam ser incorporados ao mapa. Quando um padro encontra-
do, o seu conjunto de caractersticas

comparado com as caractersticas

de cada uma
das variveis do mapa, em busca de padres semelhantes. Se no houver correspondncia
supe-se que o rob est observando uma regio nova do ambiente, e esse padro armaze-
nado sob a forma de uma nova varivel, cuja posio absoluta calculada a partir da
informao fornecida pela observao e a estimativa de posio do rob naquele instante. Se
houver correspondncia essa informao utilizada para refinar as estimativas de posio da-
quela varivel e diminuir a sua incerteza inerente, aumentando com isso a preciso do mapa.

2.3. Algoritmos de SLAM
Como o prprio nome diz, o problema do SLAM surge quando ambos os problemas apresen-
tados anteriormente precisam ser resolvidos simultaneamente, pois o rob no conta com
informaes precisas referentes a nenhum deles. Dessa forma, solues individuais no so
suficientes, pois os erros que cada estimativa possui se propagariam para a outra e rapidamen-
te se acumulariam em um crculo vicioso. Um mapa impreciso no ser capaz de gerar uma
estimativa precisa de localizao, que por sua vez aumentar a incerteza de mapeamento.
necessrio lidar com ambos os problemas simultaneamente, procurando uma soluo que mi-
nimize globalmente as incertezas envolvidas.
A primeira formalizao matemtica de uma soluo para o problema do SLAM foi apresen-
tada durante a dcada de 80 por uma srie de artigos (Smith, Cheeseman; 1986) (Smith, Self,
Cheeseman; 1987) (Durrant-Whyte; 1988) (Smith, Self, Cheeseman; 1990), e em 1989 foram
realizadas as primeiras implementaes dessa soluo por Mourtarlier e Chatila. Contudo,
trabalhos anteriores como os de (Taylor; 1976) e (Brooks; 1982) j haviam tentado quantificar
as incertezas inerentes a um processo atravs de limiares mnimos e mximos, estabelecendo
faixas de tolerncia para uma dada operao e tentando controlar essa faixa para que ela se
mantivesse estvel. Em (Chatila, Laumond; 1985) foi determinado, para o rob HILARE, um
15

valor escalar representativo da incerteza da localizao de um rob que leva em considerao
tanto a sua posio quanto a sua orientao.
Essa soluo para o problema do SLAM utiliza um filtro estocstico conhecido como Filtro
Estendido de Kalman (Kalman; 1960), ou EKF, para acompanhar simultaneamente os estados
de localizao e mapeamento do rob, o que lhe rendeu o nome de EKF-SLAM ou SLAM
Estocstico. A teoria de Filtros de Kalman fornece uma soluo fechada e recursiva para o
problema de se acompanhar uma varivel aleatria de interesse conforme ela evolui no tempo
(Simon, Uhlmann; 1997), e j era tradicionalmente utilizada em solues individuais para o
problema de localizao e mapeamento. O EKF-SLAM procurou unificar esses dois proble-
mas ao utilizar um mesmo EKF para acompanhar simultaneamente o estado de localizao do
rob e dos marcos que ele observa no ambiente. As Equaes 2.5 e 2.6 exemplificam o vetor
de estados

e a matriz de covarincia

utilizados pelo EKF-SLAM para o caso da navega-


o bidimensional, onde a localizao do rob pode ser descrita como

, , e a
posio tridimensional dos marcos como

, , .


(2.5)

(2.6)
No incio da navegao o rob conta apenas com o seu estado de localizao e a sua incerteza
inerente, e conforme se movimenta essa incerteza tende a aumentar devido ao acmulo de er-
ros gerado pelo seu modelo de odometria. Ao observar um marco

o rob deve estimar a


posio que ele ocupa no ambiente antes de adicion-lo em seu mapa, e para isso deve utilizar
a sua prpria localizao

e as informaes fornecidas pela observao

. Dessa forma,
parte da incerteza referente posio do marco ser devido incerteza de localizao do rob
e parte ser devido aos erros aleatrios gerados pelos sensores que realizaram a observao.
A matriz de covarincia

, mantida pelo EKF-SLAM, capaz de armazenar essas relaes


de dependncia entre variveis atravs dos elementos no-diagonais que possui.
16

A Figura 2.6 mostra a evoluo do EKF-SLAM conforme o rob se movimenta partindo da
posio superior esquerda, indicando a sua posio e a dos marcos que ele observa conforme
navega, assim como as suas incertezas correspondentes (elipses cinzas e vermelhas, respecti-
vamente). Na Figura 2.6a o rob navega sem reconhecer marcos, apenas os armazenando em
seu mapa, e como a incerteza referente localizao do rob aumenta com o passar do tempo
o mesmo acontecer com a incerteza de posicionamento dos marcos observados em instantes
distintos, pois os erros de localizao so propagados para o mapeamento e so responsveis
por parte dela. Os marcos so considerados imveis, portanto suas incertezas, uma vez defi-
nidas, no aumentam com o passar do tempo.

(a) (b)
Figura 2.6 - Evoluo do EKF-SLAM (Thrun, Fox, Burgard; 2005).
(a) Antes da atualizao (b) Depois da atualizao.

Na Figura 2.6b o rob observa novamente o primeiro marco, que possui uma incerteza peque-
na porque foi observado em um instante inicial de navegao, antes que os erros de odometria
se acumulassem. A partir dessa informao o rob consegue uma nova estimativa de locali-
zao adicional quela fornecida pelo seu modelo interno de movimentao, e pode utiliz-la
para refinar esse estado e diminuir a sua incerteza de localizao. Como a incerteza de todos
os marcos observados at ento dependiam em parte dessa incerteza, a sua diminuio permi-
te que todas as estimativas de mapeamento tambm sejam atualizadas. O resultado uma
alterao que afeta todas as variveis envolvidas no problema, tornando localizao e mapea-
mento globalmente mais precisos. Trabalhos posteriores (Leonard, Durrant-Whyte; 1992)
mostraram que essa dependncia entre variveis de localizao e mapeamento necessria
para o tratamento completo do problema do SLAM.
17

Contudo, o EKF-SLAM possui uma grande limitao gerada justamente por essa caractersti-
ca, que o seu custo quadrtico em relao quantidade de marcos devido manuteno da
matriz de covarincia apresentada. Pode-se perceber em (2.5) que o tamanho do vetor de es-
tados

utilizado pelo EKF-SLAM igual a 3 3, onde a quantidade de marcos


armazenados no mapa. Isso faz com que

seja proporcional ao quadrado desse valor, e por


isso operaes feitas com ela tero um custo computacional

, inviabilizando sua utili-


zao em aplicaes que possuam grandes quantidades de marcos devido ao tempo necessrio
para se realizar a atualizao global de variveis.
Esse conhecido como o Dilema do EKF-SLAM (Thrun, Fox, Burgard; 2005), onde a maior
vantagem dessa soluo gera uma condio onde ela prpria no pode ser utilizada. A atuali-
zao global que o EKF-SLAM proporciona especialmente interessante em situaes onde
existem grandes quantidades de marcos, pois permite que a consistncia entre estimativas seja
mantida mesmo quando um determinado conjunto de marcos deixa de ser observado. Porm,
o alto custo computacional necessrio para que isso ocorra faz com que o EKF-SLAM s pos-
sa ser utilizado em aplicaes onde isso no ocorre, minimizando o efeito positivo da
atualizao global. Aplicaes reais do SLAM em navegao autnoma necessitam de gran-
des quantidades de marcos para conseguir resultados satisfatrios (Bailey; 2002), e evolues
nas tcnicas de sensoriamento tornaram possvel obt-los (Csorba; 1997), tornando essa uma
capacidade fundamental em algoritmos que se propem a resolver esse problema.
Isso faz com que atualmente o EKF-SLAM possua um valor principalmente terico, servindo
como base para o surgimento de algoritmos que procuram explorar outras propriedades do
problema de maneira a obter os mesmos resultados, ou aproximados, de maneira mais eficien-
te (Guivant, Nebot; 2001). Adicionalmente, em trabalhos recentes (Castellanos, Neira,
Tards; 2004) a consistncia do EKF-SLAM em aplicaes de navegao questionada devi-
do a fatores como a linearizao que ele impe sobre as funes utilizadas.

2.3.1. Fatorao
notado em (Murphy; 1999) que o problema do SLAM, dado a localizao do rob, pode ser
decomposto de maneira exata em um conjunto de problemas menores de estimao que po-
dem ser ento resolvidos de maneira independente. O FastSLAM (Montemerlo; 2003) utiliza
essa propriedade para, ao invs de lidar com uma nica matriz de alta dimensionalidade, lidar
18

com um conjunto de matrizes menores que podem ser resolvidas eficientemente e com um
escalonamento computacional menor. Essa soluo faz com que a complexidade do problema
do SLAM deixe de ser dependente do tamanho do mapa do ambiente, mas sim da quantidade
de marcos observados a cada momento, que aproximadamente constante durante toda a na-
vegao. Perde-se com isso a capacidade de atualizao global, mas a utilizao de mltiplos
mapas consegue simular esse fenmeno, como ser mostrado adiante.
Ao invs de se lidar com cada marco individualmente pode-se tambm dividir o mapa cons-
trudo pelo rob em um conjunto de mapas menores, que so atualizados localmente com um
custo computacional menor. Solues que utilizam essa abordagem so apresentadas em
(Leonard, Feder; 1999), (Williams; 2001) e (Chong, Kleeman; 1999), conseguindo bons re-
sultados localmente, mas com dificuldades em fechar loops muito grandes devido
divergncia global gerada pelas atualizaes locais. Algoritmos especficos para o problema
do fechamento do loop (Kaess, Dellaert; 2005) so utilizados para suprir essa dificuldade, de-
tectando quando o rob retornou a um ponto previamente visitado para somente ento
atualizar globalmente o mapa. Em (Dissanayake, Durrant-Whyte, Bailey; 2000) apresenta-
da uma maneira de se quantificar a quantidade de informao que cada parcela do mapa
possui, o que permite eliminar aquelas menos representativas e diminuir a complexidade do
mapa sem comprometer de maneira significativa os resultados finais.

2.3.2. Observaes Negativas
O EKF-SLAM, da maneira como foi proposto, incapaz de lidar com observaes negativas,
ou seja, a ausncia de um marco que deveria ter sido observado, de acordo com o alcance e
capacidade dos sensores, e que no foi. Essa capacidade importante para a eliminao de
marcos esprios (Montemerlo; 2003), ou seja, marcos inexistentes que foram adicionados
ao mapa ou que representam uma estrutura que j foi armazenada em um instante anterior.
Abordagens que procuram minimizar o surgimento desses marcos lidam com as duas parcelas
que definem a probabilidade de uma observao corresponder a um marco, que a proximi-
dade entre suas posies e a semelhana entre suas caractersticas. Intuitivamente, marcos
mais distantes entre si diminuem a probabilidade de que ocorram correspondncias falsas, as-
sim como marcos mais distintos. Mas isso leva ao surgimento de mapas muito esparsos, pois
19

grande parte da informao coletada descartada de forma a prevenir erros de correspondn-
cia, e aquela que resta muitas vezes no ser suficiente para se resolver o problema do SLAM.
Tcnicas que procuram lidar com observaes negativas no EKF-SLAM de maneira a elimi-
nar marcos esprios adicionados ao mapa incluem a utilizao de vetores de marcos
temporrios (Thrun, Fox, Burgard; 2005). Um marco temporrio tem suas estimativas atuali-
zadas, mas no interfere na estimativa de localizao do rob (a dependncia entre ambos
intencionalmente definida como nula). Quando ele observado uma quantidade suficiente de
vezes promovido a um marco verdadeiro e passa a contribuir de maneira completa no pro-
cesso. Outra maneira a introduo de um ndice que indica a probabilidade de existncia de
cada um dos marcos (Montemerlo; 2003). Sempre que ele observado esse ndice aumenta, e
quando a sua estimativa de posio est dentro da rea dos sensores e ele no observado o
ndice diminui. Caso esse ndice se torne menor do que um limiar o marco considerado ine-
xistente e removido do mapa, assim como o vnculo que ele possui com outras variveis.

(a) (b)
Figura 2.7 - Influncia das observaes negativas (Montemerlo; 2003).
O retngulo vermelho indica uma regio que no possui marcos para deteco.
(a) Sem observaes negativas (b) Com observaes negativas


2.3.3. Associao de Dados
A atualizao global que o EKF-SLAM impe sobre as suas variveis tambm o torna bastan-
te sensvel a correspondncias erradas, que fazem com que as estimativas de localizao e
mapeamento se afastem da realidade ao mesmo tempo em que a incerteza referente a elas di-
minuem, dificultando a recuperao posterior do estado correto. Esse problema de relacionar
20

as observaes realizadas pelo rob em um determinado instante com a informao armaze-
nada em seu mapa conhecido como o problema de associao de dados (Nieto et al.; 2003).
Vrios algoritmos de SLAM procuram resolv-lo lidando com mltiplas hipteses indepen-
dentes de localizao ou de mapeamento, mapeamento, sejam mtricos como no caso do DP-
SLAM (Eliazar, Parr; 2003) ou de caractersticas como no FastSLAM (Montemerlo et al.;
2002).
Ao se lidar com mltiplos mapas do ambiente, cada hiptese pode carregar consigo uma asso-
ciao diferente de dados (Figura 2.8), criando ambigidades que so mantidas at que sejam
naturalmente resolvidas pela incorporao de novas informaes. Quando isso acontece, os
mapas que se mostram falsos so descartados sem nenhuma influncia no resultado final.
Tcnicas eficientes de tratamento de informaes eliminam a cpia redundante de informa-
es e tornam possvel lidar com milhares de mapas simultneos do ambiente. Em (Nebot et
al.; 2002) mostrada uma abordagem que suspende a atualizao do EKF-SLAM quando
surge uma ambigidade e institui um Filtro de Partculas vinculado a mltiplos mapas para
lidar com o problema at que ele seja resolvido. Esse processo simula (Leonard et al.; 2002)
o vetor temporrio de marcos utilizado para diminuir o nmero de correspondncias falsas,
com a diferena de que no gera nenhum custo computacional extra, pois resolvido natural-
mente durante uma das etapas do Filtro de Partculas (a Reamostragem).


(a) (b)
Figura 2.8 - Tratamento de ambigidades em mltiplas hipteses (Montemerlo; 2003).
(a) Mapeamento (b) Localizao


2.3.4. Offline SLAM
Outra limitao que a utilizao de filtros traz o descarte de informaes que feito depois
que as mesmas so incorporadas, o que impede a utilizao posterior caso necessrio. Solu-
es off-line para o problema do SLAM, introduzidas em 1997 por Lu e Milios e
21

implementadas no mesmo ano por Gutmann e Nebel (1997), permitem a soluo do SLAM de
maneira que a informao de um determinado instante possa ser utilizada para refinar as esti-
mativas de localizao e mapeamento em todos os instantes anteriores. O problema se torna
ento um problema de otimizao de todo o conjunto de dados, que procura minimizar a in-
certeza global do sistema (Duckett, Marsland, Shapiro; 2002). O GraphSLAM, proposto
recentemente (Thrun, Fox, Burgard; 2005) (Thrun, Montemerlo; 2006), consegue remover
dependncias entre o rob e as posies dos marcos observados ao substitu-las por relaes
de dependncia entre posies do rob em diferentes instantes, diminuindo o custo computa-
cional da otimizao resultante sem abrir mo do vnculo entre variveis.

2.4. Marcos no SLAM
Para que um marco possa ser utilizado pelo rob como um ponto de referncia que o auxilie
na navegao, ele deve ser capaz de detect-lo no ambiente e, depois, deve se capaz de reco-
nhec-lo de maneira inequvoca dentre outros marcos (Smith, Self, Cheeseman; 1990). A
falha em detectar um marco diminui o nmero de referenciais que o rob utiliza para corrigir
as suas estimativas, e a falha em reconhecer um marco pode gerar erros de correspondncia
que introduzem informaes erradas nas estimativas de localizao e mapeamento. Assim
sendo, fundamental que os sensores do rob sejam capazes de localizar uma quantidade su-
ficiente de marcos no ambiente e que eles sejam distintos o suficiente para garantir uma
correspondncia robusta.
Solues iniciais para o problema do SLAM com o uso de marcos utilizavam estruturas artifi-
ciais, adicionadas previamente ao ambiente e de fcil deteco. Esses marcos podem ser
ativos, enviando sinais de informaes diretamente para o rob (Kleeman; 1992) ou passivos,
possuindo padres facilmente reconhecveis pelos sensores do rob (Brady et al.; 1987). Con-
tudo, a introduo de marcos artificiais requer a alterao prvia do ambiente, algo que no
possvel em todos os casos e que fere a premissa bsica que a navegao por regies inici-
almente desconhecidas. Ainda assim, essa abordagem permitiu o surgimento de robs
autnomos em ambientes controlados e previsveis, como em linhas de montagem de fbricas
(Hu, Gu; 2000), que podem ser modificadas sem grandes dificuldades e apresentaro sempre
os mesmos tipos de movimentos.
22

Procurou-se ento utilizar estruturas naturais ao prprio ambiente como marcos (Olson;
2002), de maneira a eliminar a necessidade de modific-lo e ampliar a gama de situaes reais
onde o SLAM pode ser utilizado. A utilizao de marcos naturais limitada pela capacidade
de caracterizao do ambiente dos sensores do rob, que conseguem extrair apenas determi-
nadas propriedades das estruturas ao seu redor. Sensores de distncia conseguem fornecer
apenas informaes relativas posio dos objetos em relao ao rob, geralmente em um
nico plano, o que dificulta a caracterizao nica dos objetos que o rob pode utilizar como
marcos. Dessa forma, possvel obter apenas padres simples de perfis pr-determinados,
como postes (Press, Austin; 2004) e cantos (Altermatt et al.; 2004) em ambientes estruturados
(Tards et al.; 2001).
Sensores visuais conseguem, a partir das imagens fornecidas, uma caracterizao muito mais
rica das estruturas que formam o ambiente ao redor do rob (Shi, Tomasi; 1994). Essa carac-
terizao permite a extrao de marcos em ambientes no estruturados, seja atravs de um
banco de dados pr-estabelecido composto por imagens de objetos que podem ser utilizados
como marcos (Asmar, Zelek, Abdallah; 2006) ou pela determinao de estruturas subjetivas
no ambiente que possuam alguma propriedade atrativa, como a facilidade de reconhecimento
posterior sob diferentes pontos de vista (Lowe; 1999), que so ento utilizadas como marcos
(Jung; 2004). Essa capacidade faz com que sistemas de auxlio visual sejam especialmente
teis na resoluo do problema do SLAM quando o rob navega por ambientes desconheci-
dos e no estruturados.
Devido a essas razes, esse trabalho procurou utilizar sensores visuais na soluo do proble-
ma do SLAM, determinando com o auxlio de um sistema de viso omnidirecional os marcos
que o rob utilizar para corrigir a sua localizao durante a navegao. O prximo captulo
discutir as dificuldades geradas por essa abordagem e os mtodos j desenvolvidos que per-
mitem a obteno eficiente e robusta de marcos em imagens de maneira que possam ser
utilizados por algoritmos de SLAM. apresentado tambm o sistema de viso omnidirecio-
nal utilizado, assim como suas propriedades atrativas e limitaes em relao ao problema
que esse trabalho se prope a resolver.
23

3. Sistemas de Viso
A utilizao de imagens como uma forma de obteno de informaes do ambiente tem se
tornado cada vez mais comum em tarefas de navegao autnoma, devido a fatores como o
baixo custo e facilidade de implementao (Sujan, Meggiolaro, Belo; 2005). Contudo, o
maior atrativo da utilizao de sensores visuais est na riqueza de informaes que eles so
capazes de fornecer, qualitativa e quantitativamente. O rpido aumento no poder de proces-
samento computacional faz com que seja possvel atualmente lidar com toda essa informao,
permitindo uma melhor compreenso do ambiente e aumentando a quantidade de dados que o
rob dispe para tomar decises (Se, Lowe, Little; 2001).
Em (Kortenkamp, Bonasso, Murphy; 1998) apresentada uma maneira de se combinar a in-
formao de sensores visuais e de distncia para estimar a posio de objetos observados,
contornando uma limitao apresentada por sensores visuais que a impossibilidade de se
obter informaes de distncia com apenas uma imagem. Thrun (2001) descreve solues es-
tatsticas que procuram detectar a presena de objetos em movimento em imagens, o que
permite o acompanhamento de alvos e o estabelecimento de marcos em ambientes dinmicos
que o SLAM pode utilizar (Avots, Thibaux, Thrun; 2002). A utilizao de sensores visuais
ativos (Davison, Murray; 1998) tem como base a determinao de trajetrias para o rob e
orientao para os seus sensores de maneira a acelerar o processo de localizao e mapeamen-
to, diminuindo a complexidade computacional resultante.
Uma imagem uma caracterizao espacial densa do ambiente que define, de acordo com a
resoluo utilizada, cada uma das suas regies com um parmetro de cor que pode variar den-
tro de um intervalo de possibilidades. Essa caracterizao densa e gradual permite o
estabelecimento de uma grande quantidade de padres bem definidos na imagem, cada uma
representando uma propriedade do ambiente que o descreve de determinada maneira. Asada e
Brady (1986) descrevem a curvatura de reas na imagem em busca de padres como retas,
curvas e cantos, comuns em ambientes internos. O algoritmo de Hough (Duda, Hart; 1972),
inicialmente utilizado para determinar segmentos de reta em imagens, foi posteriormente ge-
neralizado (Ballard; 1981) para detectar formas geomtricas complexas que permitem
parametrizao. O SIFT utiliza espaos de escalas e orientaes principais para encontrar re-
gies invariantes na imagem que possam ser correspondidas de maneira robusta em diferentes
24

pontos de vista. Uma extensa descrio de mtodos de deteco de padres no ambiente pode
ser encontrada em (Tuytelaars, Mikolajczyk; 2006).
Ao observar uma determinada estrutura do ambiente o rob descreve e armazena as suas ca-
ractersticas relevantes em seu mapa, e espera-se que quando ele observar novamente essa
mesma estrutura ele obtenha o mesmo conjunto de caractersticas. Essa semelhana permite
que o rob corresponda essas observaes e estabelea um vnculo espacial e temporal entre
as duas regies, pois ambas representam uma mesma entidade no ambiente. Supondo que es-
sa entidade no se movimentou no intervalo de tempo entre as duas imagens (ou que o seu
deslocamento nesse intervalo conhecido), a sua posio tridimensional pode ser calculada,
refinando essa estimativa dentro do mapa de caractersticas. A partir desse momento essa es-
trutura se torna um marco no ambiente que o rob pode utilizar como ponto de referncia
durante a navegao para resolver o problema do SLAM (Prasser, Wyeth; 2003).

3.1. Caractersticas
Antes que uma imagem do ambiente possa ser utilizada pelo rob necessrio que ela seja
processada de forma a extrair um determinado conjunto de informaes que sejam relevantes
e o auxiliem no cumprimento do seu objetivo. Cada um desses pedaos de informao extra-
dos da imagem recebe o nome de caracterstica (feature), e pode representar (Figura 3.1)
tanto uma propriedade global, como a sua intensidade mdia, quanto uma propriedade local
restrita a uma certa rea da imagem, como o gradiente entre dois pixels que pode representar
uma regio limite entre objetos. Como durante a navegao o rob precisa reconhecer objetos
que compem a imagem que ele possui do ambiente, nessas aplicaes mais comum a utili-
zao de caractersticas locais, s quais esse trabalho se referir apenas como caractersticas.

(a) (b) (c)
Figura 3.1 - Deteco de caractersticas.
(a) Imagem Original (b) Caracterstica Global (contexto) (c) Caractersticas Locais (linhas)
25

Como definido em (Trucco, Verri; 1998) caractersticas representam propriedades significati-
vas e detectveis de uma imagem. Por significativas entende-se que elas esto associadas a
processos relevantes na formao daquela imagem em especfico e que contm alguma carac-
terstica importante segundo algum critrio. Por detectveis entende-se que elas devem poder
ser localizadas dentro da imagem e se repetiro dadas as mesmas condies. No caso da na-
vegao de robs isso desejvel porque permite o reconhecimento de objetos no ambiente,
algo necessrio para tarefas como clculo de distncias por processamento estreo ou deter-
minao de marcos que o rob pode utilizar para se localizar durante a navegao.
A utilizao de caractersticas em tarefas de processamento de imagens teve origem em traba-
lhos realizados por Moravec (Moravec; 1979), que criou o termo pontos de interesse
(interest points) para definir os pixels que desempenhavam papis importantes na composi-
o da imagem a partir das suas relaes com seus vizinhos. Com o passar do tempo o termo
ponto de interesse perdeu fora diante da denominao de caracterstica (feature) porque
essas estruturas possuem uma dimenso espacial, ou seja, cobrem uma determinada regio da
imagem, no sendo restritas a um nico pixel. Adicionalmente, mltiplas caractersticas po-
dem se sobrepor, compartilhando informaes de uma mesma regio da imagem.
De acordo com (Tuytelaars, Mikolajczyk; 2006), uma caracterstica ideal deve possuir as se-
guintes propriedades:
Repetibilidade: Alteraes nas condies de observabilidade de um objeto, como
mudanas de luminosidade ou de ponto de vista, no devem alterar as caractersticas de-
tectadas. Pode ser obtida de duas maneiras:
o Invarincia: As alteraes sofridas pela imagem so modeladas de forma a
permitir uma compensao antes das caractersticas serem detectadas.
o Robustez: Diminuio da rigorosidade na deteco das caractersticas, o que
pode comprometer a preciso.
Distino: Os padres de diferentes caractersticas devem apresentar uma alta varia-
o, para permitir uma correspondncia nica.
Localidade: Sua representao deve tomar uma rea pequena da imagem, de forma a
no sofrer ocluso ou representar mltiplos objetos simultaneamente.
Quantidade: Deve existir em grandes quantidades.
Preciso: Os padres que a definem devem ser precisamente determinados.
Eficincia: Sua deteco deve ser rpida.
26

Na prtica, uma caracterstica nunca ser ideal, e diferentes mtodos de deteco encontraro
conjuntos que satisfazem em maior ou menor grau cada um desses requisitos. Na realidade,
alguns desses requisitos so mutuamente excludentes, como o caso de distino e localida-
de, pois quanto mais local a caracterstica menos informao ela possuir para a etapa de
correspondncia. Valores elevados de invarincia tambm diminuem a distino, pois uma
parte da informao adquirida extrada para gerar as transformaes que levam invarin-
cia. Uma alta distino, por sua vez, diminui a repetibilidade, pois uma caracterstica muito
especfica possui uma menor probabilidade de ser correspondida com outra.

3.2. Descritores
Depois que uma caracterstica localizada na imagem as suas propriedades devem ser mode-
ladas de alguma forma, para que ela possa ser armazenada e utilizada posteriormente na
correspondncia com outras caractersticas. Essa modelagem feita atravs de um descritor,
que idealmente possui propriedades semelhantes s de uma caracterstica (Tuytelaars, Miko-
lajczyk; 2006):
Repetibilidade: Dadas duas caractersticas com propriedades similares, os seus des-
critores resultantes tambm devem ser similares entre si.
Distino: O descritor deve conseguir armazenar informao suficiente para ser capaz
de distinguir entre duas caractersticas diferentes.
Compactao: Informaes redundantes ou altamente correlacionadas no devem ser
armazenadas, visando com isso poupar memria e tempo de processamento durante a cor-
respondncia.
Eficincia: As informaes contidas em um descritor devem ser armazenadas de ma-
neira eficiente, permitindo um fcil acesso e utilizao.

Da mesma forma que diferentes caractersticas capturam diferentes propriedades da imagem,
diferentes descritores so capazes de capturar diferentes propriedades de uma nica caracters-
tica. A maneira como uma caracterstica descrita to importante quanto a maneira como
obtida, pois a partir dessa descrio que ela ser armazenada e utilizada posteriormente. As-
sim sendo, existem diversos tipos diferentes de descritores, cada um procurando melhores
resultados diante de certas situaes, como o caso da utilizao de histogramas (Lazebnik,
27

Schmid, Ponce; 2003) (Lowe; 2004), equaes diferenciais (Koenderink, Doorn; 1987) ou
transformaes para o espao de freqncias (Bigun, Buf; 1992). Em geral (Lowe; 1999), um
descritor representado por um vetor numrico onde cada um de seus coeficientes indica uma
propriedade independente referente caracterstica que est sendo descrita.

3.3. Correspondncia
Como dito anteriormente, a funo de um descritor armazenar as propriedades principais de
uma caracterstica de forma a permitir a sua correspondncia posterior com caractersticas ob-
tidas em outras imagens. Supondo que as estruturas existentes no ambiente mantm as suas
propriedades com o passar do tempo, pode-se dizer que as caractersticas obtidas a partir des-
sa estrutura tambm possuiro propriedades semelhantes. Essa semelhana entre dois vetores
descritores

pode ser calculada pela distncia euclidiana entre ambos no espao k-


dimensional de acordo com (3.1), onde representa a dimenso do vetor descritor. Quanto
menor for essa distncia, maior ser a probabilidade de ambos representarem uma mesma es-
trutura no ambiente.


(3.1)
Um descritor usualmente avaliado de acordo com dois critrios. O primeiro deles a taxa
de correspondncia entre as caractersticas de um mesmo objeto quando visto de maneiras
diferentes (Mikolajczyk, Schmid; 2002), como em diferentes pontos de vista ou luminosidade.
O segundo critrio a taxa de acertos conseguida por um classificador em um conjunto de
imagens, com base em um banco de dados que contm um modelo das caractersticas referen-
tes s possibilidades de classificao (Kadir, Brady, Zisserman; 2004). Diferentes aplicaes
requerem descritores com melhor desempenho em diferentes critrios, e existem situaes
onde um bom desempenho no visto como uma qualidade. O SLAM, por exemplo, se bene-
ficia mais de descritores capazes de reconhecer objetos sob diferentes pontos de vista,
enquanto a classificao de acordo com o tipo de objeto pode gerar correspondncias erradas
em ambientes com objetos similares.

28

3.4. Triangulao
A nica informao espacial que uma imagem consegue fornecer em relao a cada uma de
suas caractersticas so as coordenadas do pixel que elas ocupam. Essa informao, junta-
mente com a geometria da cmera e do sistema de viso, permite calcular o raio de luz que
refletiu na estrutura observada e gerou aquele pixel, restringindo a sua posio dentro do am-
biente a uma linha. No possvel restringir essa posio a um nico ponto, e por isso no h
como obter informaes de distncia a partir de uma nica imagem. Para isso necessrio
que uma mesma estrutura seja observada a partir de dois pontos de vista diferentes, ou seja,
que esteja presente em duas imagens obtidas a partir de posies distintas e conhecidas.
Essa configurao pode ser devido utilizao de mltiplas cmeras em posies diferentes
do rob (Murray, Little; 2000) ou utilizao de uma nica cmera que obtm mltiplas ima-
gens em instantes distintos de navegao (Gaspar; 2002). Com isso torna-se possvel, atravs
da triangulao (Gluckman, Nayar, Thorek; 1998), encontrar o ponto onde ambas as linhas se
cruzam, cada uma tendo como origem a posio do rob no instante em que a imagem foi ob-
tida, e assim determinar tridimensionalmente a estrutura no ambiente. A Figura 3.2 mostra
um exemplo de triangulao realizada com uma nica cmera deslocada no ambiente, saindo
do ponto 1 e seguindo at o ponto 2 com um deslocamento

.

Figura 3.2 - Triangulao com uma nica cmera deslocada no ambiente.
29

3.5. Marcos Visuais
A grande maioria dos algoritmos de SLAM que utilizam sistemas visuais como forma de se
obter informaes do ambiente fazem uso das prprias caractersticas obtidas da imagem co-
mo marcos (Davison; 2003) (Kwok, Dissanayake; 2004) (Se, Lowe, Little; 2002). Diferentes
mtodos de se extrair caractersticas viveis para a utilizao como marcos incluem o SIFT
(Lowe; 2004), Detectores de Harris (Harris, Stephens; 1988) e regies normalizadas de alto
contraste (Shi, Tomasi; 1994). Em (Mikolajczyk, Schmid; 2002) realizada uma extensa
pesquisa referente a mtodos de extrao de caractersticas em imagens e a sua utilizao co-
mo marcos.
A utilizao de caractersticas da imagem diretamente como marcos permite uma elasticidade
muito maior nos algoritmos resultantes, pois no necessrio estabelecer nenhuma restrio
quanto ao tipo de marco que ser utilizado, ele definido dinamicamente sem nenhum vncu-
lo semntico. Por outro lado surge o problema de escalabilidade, pois conforme os ambientes
se tornam maiores a quantidade de marcos cresce rapidamente, tornando o processo computa-
cionalmente invivel. Em (Jung; 2004) apresentada uma maneira de se agrupar diversas
caractersticas em um nico marco, ao invs de utiliz-las individualmente, o que contribui
para a diminuio do custo computacional final. importante perceber que mesmo assim no
h uma informao semntica que os relacione entre si, apenas propriedades inerentes ima-
gem na qual foram obtidos, o que permite a aplicao do algoritmo em diferentes tipos de
ambiente.
Outra abordagem consiste na incorporao de semntica s caractersticas utilizadas, definin-
do aquelas que o algoritmo deve utilizar como marcos durante a navegao. Em (Panzieri,
Pascucci, Ulivi; 2001) apresentado um algoritmo de SLAM que utiliza como marcos fontes
de luz artificiais circulares posicionadas no teto, segmentando-as para a deteco e reconhe-
cimento. Marcos verticais so utilizados em (Kim, Sukkarieh; 2003) para localizao e
mapeamento na navegao de avies no tripulados, cuja posio determinada pela projeo
dessas estruturas nas imagens obtidas. rvores so utilizadas como marcos por (Asmar, Ze-
lek, Abdallah; 2006) e postes em (Fitzgibbons; 2004), se aproveitando da organizao natural
que certos tipos de ambientes (como parques e ruas) tendem a possuir. Embora essa aborda-
gem consiga resultados mais consistentes, os algoritmos obtidos esto limitados s regies
para as quais foram desenvolvidos, o que compromete a sua generalidade.
30

3.6. Viso Omnidirecional
Sensores de viso omnidirecional representam uma famlia de sensores visuais que so capa-
zes de obter simultaneamente informaes referentes a todo o ambiente ao redor da cmera
(Grassi Jr., Okamoto Jr.; 2006). Alm da utilizao de cmeras verdadeiramente omnidirecio-
nais (Nalwa; 1996), existem vrias outras maneiras de se obter essa propriedade atravs de
arranjos especiais. Por exemplo, cmeras rotatrias ou mltiplas cmeras podem obter diver-
sas imagens que so ento combinadas para formar uma nica imagem omnidirecional (Peleg,
Ben-Erza; 1999). Espelhos especiais podem refletir a luz de todo o ambiente na cmera, con-
seguindo com isso imagens omnidirecionais com cmeras comuns (Baker, Nayar; 1998).
Diferentes tipos de geometria de espelho, como esfrica, cnica, parablica ou hiperblica
produzem resultados diferentes nas imagens obtidas.
Dentre essas possibilidades, os sistemas omnidirecionais obtidos com a utilizao de espelhos
so mais compactos e por isso mais indicados para serem embarcados em robs mveis. Den-
tre as geometrias de espelho possveis a hiprbole possui a propriedade de foco nico de
projeo, o que facilita a construo de espelhos e permite a utilizao de cmeras comuns na
construo do sistema de viso omnidirecional (Svoboda, Pajdla; 2002). Espelhos elpticos
devem ser cncavos para apresentarem essa mesma propriedade, o que dificulta a sua cons-
truo. Espelhos parablicos no podem ser utilizados com cmeras convencionais, pois
redirecionam a luz paralelamente, sem um foco nico de projeo.


Figura 3.3 - Imagens omnidirecionais com espelhos hiperblicos.
(a) Esquema de montagem (b) Exemplo de imagem

31

A Figura 3.3b mostra um exemplo de imagem omnidirecional obtida atravs do espelho hi-
perblico esquematizado na Figura 3.3a. A cmera montada na vertical e aponta para o
espelho, que se encontra acima dela, fixo em um suporte a uma distncia que faz com que o
seu foco inferior

coincida com o foco da cmera. A luz do ambiente refletida pelo es-


pelho e enviada para a cmera, que a transforma na imagem omnidirecional. A posio do
pixel na imagem define o ngulo entre o raio de luz e a vertical, que por sua vez define o
ngulo entre a horizontal e o raio de luz incidente no espelho, e com isso qual regio do
ambiente o pixel representar. Conforme aumenta o mesmo acontece com , e caso se
torne positivo aquele pixel estar observando o infinito (ou o objeto mais prximo naquela
direo).
Como se pode perceber pela Figura 3.3a, para 0 temos /2, o que j era esperado.
Conforme aumenta, no incio o valor de em pouco se altera, pois o espelho hiperblico
possui uma curvatura pequena em sua regio central. Contudo, quando comea a atingir as
regies mais externas do espelho essa curvatura se acentua cada vez mais (Figura 3.4), e o
valor de se torna extremamente sensvel a qualquer variao. Esse efeito responsvel pela
diminuio da resoluo nas regies mais distantes do centro de uma imagem omnidirecional.
Nessas regies um pixel pode representar uma rea de dezenas de metros, fazendo com que
qualquer impreciso na localizao de uma caracterstica dentro da imagem crie um erro subs-
tancial nas estimativas de posio obtidas com essa informao.

Figura 3.4 - Relao entre e .

Outra limitao enfrentada pelas imagens omnidirecionais construdas dessa forma a defor-
mao que os seus objetos sofrem, devido projeo da superfcie do espelho em uma
imagem bidimensional. Grande parte das tcnicas desenvolvidas pela computao visual leva
32

em considerao a geometria convencional e por isso no apresentam mesma qualidade nos
resultados quando aplicadas em geometrias diferentes como a omnidirecional. Assim, co-
mum que imagens omnidirecionais sejam retificadas antes do processamento visando eliminar
deformaes, por meio de tcnicas como a utilizao de cmeras virtuais (Akihiko, Imiya;
2004).
Contudo, mesmo diante dessas limitaes os sensores de viso omnidirecional ainda so am-
plamente utilizados em uma grande gama de aplicaes, inclusive na rea de navegao
autnoma. Algoritmos eficientes de triangulao capazes de fornecer informaes de distncia
dos objetos em relao ao rob so apresentados em (Zhu; 2001), permitindo a construo de
mapas tridimensionais densos do ambiente (Ikeda, Miura; 2006) e o posicionamento dos mar-
cos utilizados pelo SLAM. O amplo campo de viso que sensores omnidirecionais apresentam
permite a deteco e reconhecimento simultneos de um maior nmero de marcos, e por esta-
rem mais afastados entre si esses marcos permitem uma triangulao mais precisa.

33

4. Soluo Proposta
Esse trabalho prope a utilizao de um sensor de viso omnidirecional para a extrao de
marcos naturais no ambiente que possam ser utilizados como pontos de referncia por um ro-
b de maneira a auxiliar a sua navegao por ambientes desconhecidos. A utilizao de
sensores de viso omnidirecional gera um conjunto de benefcios que tem sido explorado em
diversos trabalhos. Em (Andreasson, Duckett; 2004) esse tipo de sensor utilizado na solu-
o do problema de localizao global em mapas topolgicos devido quantidade de marcos
que podem ser obtidos com uma nica imagem, o que permite uma melhor caracterizao de
cada regio do ambiente. Um processo similar foi descrito em 1993 por Horswill, onde cada
imagem omnidirecional caracterizada globalmente e utilizada como um nico marco. Em
(Goedem et al.; 2007) utilizado o mesmo princpio para se resolver o problema da localiza-
o incremental do rob, aproveitando-se do amplo campo de viso que uma imagem
omnidirecional proporciona e que faz com que cada marco observado permanea visvel por
um intervalo de tempo maior durante a navegao.
O problema do mapeamento abordado em (Wahlren, Duckett; 2005), onde imagens do am-
biente so obtidas e armazenadas juntamente com o vnculo estabelecido entre suas
caractersticas correspondidas. O mapa em si s construdo quando necessrio, permitindo
com isso o acmulo de observaes antes que sejam tomadas decises de associao de dados
e aumentando a qualidade do fechamento de loops. Kim e Chung (2003) apresentam uma so-
luo para o problema do SLAM que utiliza dois sistemas de viso omnidirecional para obter
imagens em pontos de vista distintos sem a necessidade de movimentao prvia do rob.
Em trabalhos anteriores (Guizilini, Okamoto Jr.; 2005) o autor explorou diferentes geometrias
de espelhos visando conseguir o mesmo efeito com apenas uma imagem.
Procurou-se no trabalho aqui desenvolvido criar uma estrutura que tirasse o mximo proveito
das propriedades inerentes a esse tipo de sensor. A deteco e reconhecimento de caracters-
ticas nas imagens omnidirecional obtidas realizada de acordo com os critrios de um
algoritmo conhecido como SIFT (Lowe; 2004). Em (Mikolajczyk, Schmid; 2002) realizado
um estudo que o elegeu o SIFT como o algoritmo mais estvel para a obteno de marcos de-
vido a propriedades das suas caractersticas como invarincia a escala e rotao. Essa
invarincia importante no reconhecimento de objetos sob diferentes pontos de vista, con-
34

forme o rob navega pelo ambiente. Os marcos utilizados so naturais ao prprio ambiente e
nenhuma suposio foi feita quanto ao tipo de estruturas que o compem, mantendo o princ-
pio de que o rob no deve conhecer o ambiente ao seu redor no incio do processo.
A informao obtida a partir do sensor de viso omnidirecional incorporada s estimativas
de localizao e mapeamento de acordo com um algoritmo de SLAM conhecido como FastS-
LAM (Montemerlo; 2003). O FastSLAM mantm um Filtro de Partculas para lidar com a
localizao e um mapa de caractersticas para lidar com o mapeamento, tratando cada um dos
marcos independentemente. O problema da associao de dados tratado com a utilizao de
mltiplos mapas, tornando o FastSLAM robusto a eventuais correspondncias falsas, algo
comum na utilizao de sensores visuais devido grande quantidade de informao que deve
ser processada. Tcnicas eficientes de manuteno e acesso a informao permitem a utiliza-
o simultnea de milhares de marcos mantendo um desempenho em tempo real, e proposto
e descrito aqui uma modificao na implementao tradicional do FastSLAM que permite li-
dar com grandes quantidades de marcos de maneira ainda mais eficiente.
No incio da navegao o rob est localizado em um ponto arbitrrio do ambiente e o seu
mapa se encontra vazio, indicando o seu desconhecimento em relao aos objetos ao seu re-
dor. Ao se movimentar, a sua localizao atualizada pelo seu sistema de odometria e o
conjunto de partculas se espalha por uma determinada rea, indicando o aumento da impreci-
so de localizao (etapa PF: Predio). obtida uma imagem do ambiente, que processada
pelo SIFT em busca de marcos que o rob pode utilizar como pontos de referncia. Esses
marcos so adicionados de maneira independente aos mapas correspondentes a cada uma das
partculas, gerando as mltiplas hipteses de localizao e mapeamento (etapa EKF). Como
utilizada apenas uma cmera, impossvel obter diretamente informaes de posio, e os
marcos so inicialmente adicionados sem essa informao. Ao invs disso, so armazenadas
as coordenadas da caracterstica na imagem e a localizao do rob naquele instante.
Posteriormente, conforme novas imagens so obtidas, os marcos extrados podem ser compa-
rados com aqueles j existentes no mapa, e caso haja correspondncia possvel triangular as
duas orientaes e posies, e com isso estimar a posio do marco observado (etapa EKF).
A partir desse ponto, novas observaes referentes a esse marco geraro informaes relativas
no apenas sua posio, permitindo refinar ainda mais essa estimativa, mas tambm posi-
o do rob naquele instante. Torna-se possvel ento utilizar essa informao para alterar a
distribuio de probabilidades das partculas que acompanham a localizao do rob no ambi-
35

ente (etapa PF: Atualizao). Partculas que possuem uma hiptese de mapeamento similar
quela observada pelo rob naquele instante recebem um peso maior e por isso mesmo tero
uma maior probabilidade de serem mantidas e duplicadas durante a PF: Reamostragem
(quando ela se mostra necessria). Essa localizao propagada para o prximo instante, rei-
niciando o processo iterativo do algoritmo.
A Figura 4.1 apresenta um esquema do algoritmo proposto nesse trabalho, mostrando os dife-
rentes componentes utilizados e a funo de cada um deles. Em seguida, cada uma das etapas
envolvidas descrita conceitualmente, assim como a maneira como se comunicam de forma a
permitir que os resultados desejados sejam alcanados.

Figura 4.1 - Diagrama do algoritmo proposto.
36

4.1. SIFT
O SIFT (Scale Invariant Feature Transform) foi introduzido por Lowe em 1999 como um al-
goritmo de reconhecimento de objetos e tem evoludo constantemente em trabalhos
posteriores (Brown, Lowe; 2002) (Lowe; 2004), alm de encontrar aplicaes em diversas
outras reas, entre elas o prprio SLAM (Se, Lowe, Little; 2001) (Ledwich, Williams; 2004).
A busca pelas caractersticas realizada em diversos espaos de escala e freqncia, garantin-
do uma distribuio bastante homognea que reduz os efeitos negativos causados por ocluses
ou rudos. A quantidade de caractersticas obtida em cada imagem bastante elevada e pode
ser controlada a partir da calibrao de diversos parmetros, gerando combinaes mais efici-
entes em determinadas situaes. Essas caractersticas podem ser utilizadas diretamente (Se,
Lowe, Little; 2001) ou ento reunidas, semanticamente (Panzieri, Pascucci, Ulivi; 2001) ou
no (Jung; 2004), para formar os marcos que o rob utilizar na navegao.
O algoritmo de SIFT utilizado nesse trabalho tem como entrada uma imagem omnidirecional
obtida a partir do sistema de viso embarcado no rob, e armazenada tambm a estimativa
de posio do rob no instante em que a imagem foi obtida, para que posteriormente possa ser
feita uma triangulao caso haja correspondncia entre marcos. Essa imagem omnidirecional
passa pelas trs etapas do SIFT e, como resultado, obtido um conjunto de caractersticas que
representam os marcos detectados na imagem naquele instante.

4.1.1. Extrao de Caractersticas
No algoritmo de SIFT a extrao de caractersticas realizada em etapas visando uma maior
eficincia computacional. Inicialmente os pixels da imagem so percorridos em diversos es-
paos de escala e aqueles que apresentarem um extremo de intensidade (mnimo ou mximo)
so armazenados como candidatos a caractersticas. Em teoria esses pixels j poderiam ser
utilizados, pois apresentam as propriedades que definem uma caracterstica de acordo com o
SIFT. Porm, muitos desses pixels so instveis e sensveis a rudos, dificultando a corres-
pondncia e diminuindo a qualidade do resultado final. Assim sendo, esse conjunto inicial de
caractersticas filtrado de acordo com dois critrios diferentes, e aqueles que falharem em
pelo menos um deles so eliminados do conjunto.
37

4.1.1.1. Deteco de Extremos
A primeira etapa na extrao de caractersticas em um algoritmo de SIFT consiste na busca
por pontos de extremo de intensidade dentro de diversas escalas possveis, o que feito ge-
rando-se uma estrutura conhecida como espao de escalas (Witkin; 1983), responsvel pela
invarincia a alteraes de escala que as caractersticas resultantes apresentam. Mostra-se
(Lindeberg; 1993) que, sob um conjunto razovel de suposies, o nico espao de escalas
possvel aquele gerado pela funo gaussiana. Assim sendo, cada imagem em uma escala
definida como uma funo , , gerada pela convoluo de uma mscara gaussiana
, , com uma imagem , .
, , , , , (4.1)
Onde , , o operador gaussiano bidimensional com mdia nula e matriz de covarin-
cia diagonal com autovalores iguais a . Em (Lowe; 1999) proposta a utilizao das
diferenas de gaussianas , , na composio do espao de escalas de onde sero extra-
dos os primeiros candidatos a caractersticas.
, , , , , , ,
, , , ,
(4.2)
Essa funo escolhida devido sua facilidade de obteno (a convoluo gaussiana precisa
ser calculada de qualquer forma para o clculo dos descritores que o SIFT utiliza) e tambm
porque apresenta uma aproximao para o laplaciano gaussiano

. Em (Lindeberg;
1994) mostrado que a invarincia total quanto a mudanas de escala obtida atravs da
normalizao do laplaciano pelo fator

. A relao entre esse laplaciano e a funo


, , pode ser obtida a partir da equao de difuso de calor (parametrizada em termos de
ao invs da forma mais usual

).


(4.3)
Uma aproximao linear da derivada parcial em (4.3) nos leva a:


, , , ,


(4.4)
38

Que pode ser reescrito como:
, , , , 1

(4.5)
Mostra-se com isso que a utilizao de diferenas gaussianas na determinao de caractersti-
cas invariantes a alteraes de escala j incorpora o fator

de normalizao proposto por


Lindeberg. A constante k 1 no se altera durante a construo do espao e por isso no
afeta a deteco de extremos. O erro de aproximao diminui conforme se aproxima da u-
nidade, mas testes empricos mostrados em (Lowe; 2004) mostraram no haver um impacto
significativo nos resultados. A Figura 4.2a mostra uma maneira eficiente de se construir o
espao de escalas de diferenas de gaussianas.

(a) (b)
Figura 4.2 - Espao de escalas (Lowe; 2004).
(a) Construo (b) Deteco de Extremos

Cada uma das imagens utilizadas na construo do espao de escalas obtida atravs da con-
voluo da imagem inicial com uma funo gaussiana de desvio padro multiplicado pelo
coeficiente , que aumenta seguindo uma progresso geomtrica at que o desvio padro efe-
tivo dobre, completando com isso uma oitava. Dessa forma, para uma oitava composta
por imagens o coeficiente de cada uma delas ser igual a 2
/
. Quando uma oitava
completada, a prxima construda tendo como base a ltima imagem da oitava anterior, a-
mostrada de forma a eliminar as linhas e colunas mpares (ou pares). Essa amostragem
diminui o tamanho das imagens da prxima oitava por um fator de 4 (e o desvio padro efeti-
vo pela metade), diminuindo significativamente o custo computacional da construo das
prximas oitavas sem interferir de maneira significativa no resultado final. Durante a cons-
truo da primeira oitava pode-se ainda dobrar as dimenses da imagem (interpolando os
pixels criados) de maneira a procurar por extremos em escalas maiores.
39

Com as imagens gaussianas calculadas, as diferenas de gaussiana so obtidas diretamente
pela subtrao de uma imagem com a sua anterior, formando uma pirmide de diferenas
gaussianas. Um extremo encontrado pela comparao de um pixel com os seus vizinhos,
levando em considerao tambm as imagens superior e inferior (Figura 4.2b). Caso esse pi-
xel seja um mximo ou um mnimo, ele representa um extremo e se torna um candidato a
caracterstica

, , , , com , sendo as coordenadas do pixel na imagem e , a


oitava qual a imagem pertence e a sua posio dentro dela.

4.1.1.2. Eliminao por Contraste
O primeiro filtro utilizado na eliminao de caractersticas instveis se baseia no contraste en-
tre pixels, eliminando aqueles que possuem um baixo contraste em relao sua vizinhana.
Implementaes iniciais do SIFT (Lowe; 1999) utilizavam diretamente a posio do candida-
to a caracterstica na imagem em que ele foi extrado. Em trabalhos posteriores (Brown,
Lowe; 2002) mostrou-se que interpolar os pontos prximos para se localizar a verdadeira po-
sio do extremo gera um aumento significativo na qualidade dos resultados, especialmente
nas reas de baixa resoluo que imagens omnidirecionais apresentam. Essa interpolao
feita atravs de uma expanso de Taylor centrada em

, com

representando a distncia
entre a posio real do extremo e

. Como nenhuma diferena de gaussianas construda


utilizando-se duas oitavas diferentes (Figura 4.2a), no necessrio derivar parcialmente em
relao a essa coordenada.


1
2

(4.6)
As derivadas parciais referentes a cada coordenada podem ser aproximadas pela diferena en-
tre pixels vizinhos naquela direo, como mostrado abaixo.

1
2

1, , 1, ,
, 1, , 1,
, , 1 , , 1


(4.7)

40

Derivando (4.6) e igualando a zero, encontra-se o valor do offset


(4.8)
Se o offset

de alguma coordenada for maior do que 0.5 o extremo estar mais prximo de
outro ponto da mesma imagem ou das imagens vizinhas no espao de escalas. O valor de


ento alterado para refletir a nova posio, e a interpolao realizada novamente agora em
relao a esse novo ponto. Quando o valor convergir, esse offset pode ser utilizado para de-
terminar o contraste

de

atravs da substituio de (4.8) em (4.6).


|


1
2

(4.9)
Onde um limiar predeterminado de contraste que elimina os candidatos que falharem na
comparao como sendo instveis para serem utilizados como caractersticas de acordo com o
SIFT.

4.1.1.3. Eliminao por Curvaturas
A deteco de extremos realizada pelo espao de escalas de diferenas gaussianas tende a
produzir muitos candidatos ao longo de bordas, mesmo quando essas regies so instveis.
Em viso computacional, bordas so definidas como regies na imagem que possuem uma
diferena acentuada entre as suas duas curvaturas principais (Trucco, Verri; 1998). Assim
sendo, o segundo filtro utilizado pelo SIFT procura eliminar candidatos a caractersticas que
possuem uma relao entre curvaturas principais elevada.
As curvaturas principais de um pixel podem ser obtidas atravs do clculo dos autovalores da
sua matriz Hessiana

, mostrada a seguir (4.10). Como nesse filtro no h transio entre


imagens, no necessrio utilizar as coordenadas de escala e de oitava, que sero omiti-
das para simplificar a notao.

(4.10)
41

Assim como foi feito anteriormente, as derivadas parciais podem ser calculadas pela diferena
de intensidade dos pixels vizinhos naquela direo.


1, 1,
2


, 1 , 1
2


1, 1 1, 1 1, 1 1, 1
4
(4.11)
Como apenas a proporo entre autovalores relevante, no h a necessidade de calcul-los
explicitamente (Harris, Stephens; 1988). Pode-se obter a soma deles pelo trao da Hessiana

e o produto pelo determinante da Hessiana

(4.12)

(4.13)
O determinante de

deve ser positivo porque de outra forma o ponto teria sido descartado
por no representar um extremo. Definindo a relao entre curvaturas como um valor de
forma que , temos:

(4.14)
Que j no depende dos valores individuais de curvatura, apenas da proporo entre elas.
Quando 1 as duas curvaturas sero iguais, e quanto maior maior ser a diferena entre
elas. Assim sendo, a eliminao de candidatos a feature com alta relao de curvaturas pode
ser feita pela seguinte comparao:

(4.15)
Onde um limiar mximo de relao entre curvaturas que uma caracterstica pode possuir
para ser considerada estvel de acordo com esse critrio. Implementaes tradicionais do
SIFT utilizam um limiar mximo igual a 10 e nesse trabalho percebeu-se que em imagens
omnidirecionais deve-se utilizar um valor prximo de 2 para que seja mantida a mesma taxa
de eliminao de candidatos, devido maior diferena entre curvaturas que esse tipo de ima-
gem tende a possuir.
42

4.1.2. Clculo do Descritor
O vetor descritor do SIFT baseado em um histograma de orientaes, que define a maneira
como os pixels ao redor da caracterstica se relacionam entre si. A cada orientao ,
atribudo um valor de magnitude , que indica a influncia que ela possui sobre o resul-
tado final, e para obter invarincia rotacional o SIFT institui uma orientao e magnitude
principais para cada caracterstica, e ento monta o seu vetor descritor relativamente a esses
valores. Assim, uma caracterstica rotacionada apresentar a mesma distribuio, e por isso
poder ser correspondida.
,
, 1 , 1
1, 1,
(4.16)
,

1, 1,

, 1 , 1


(4.17)
Para se obter a orientao principal de uma caracterstica uma janela posicionada ao seu re-
dor e os valores de orientao e magnitude de cada um dos pixels nessa regio so calculados.
Os valores de magnitude so ento posicionados em um histograma composto pelas orienta-
es calculadas, como mostrado na Figura 4.3. Para evitar instabilidades causadas por
alteraes bruscas em regies distantes da caracterstica, as magnitudes obtidas so pondera-
das por uma distribuio gaussiana centrada nas coordenadas da caracterstica e com desvio
padro igual quele utilizado na suavizao gaussiana da imagem de onde a caracterstica foi
obtida.

Figura 4.3 - Histograma de orientao.



43

O ponto mais alto do histograma ser a orientao principal da caracterstica, e caso haja ou-
tro pico com valor suficientemente elevado (Lowe prope um limiar de 80% em relao ao
principal) outra caractersticas criada com as mesmas propriedades e apresentando outra ori-
entao principal. Assim, um mesmo pixel pode possuir diversas orientaes vinculadas a
caractersticas distintas, o que contribui para uma melhor representao da imagem e corres-
pondncias mais robustas.
A construo do vetor descritor feita posicionando-se outra janela ao redor da caracterstica,
que dividida em subjanelas de acordo com a complexidade do vetor descritor final desejado.
A orientao e magnitude dos pixels pertencentes a cada janela so calculadas e para cada
subjanela montado um histograma que armazena esses valores, onde as orientaes so dis-
cretizadas tambm de acordo com a complexidade desejada do vetor descritor final. A Figura
4.4 apresenta um exemplo da construo do vetor onde so consideradas 4 subjanelas e 8 va-
lores diferentes de orientao (o crculo azul indica a distribuio gaussiana utilizada).
Novamente utilizada uma suavizao gaussiana (crculo azul) visando diminuir a influncia
de alteraes bruscas em regies distantes da caracterstica

Figura 4.4 - Construo do descritor (Lowe; 2004).



O vetor descritor armazena a magnitudes referentes a cada uma das orientaes, rotacionadas
de acordo com a orientao principal calculada anteriormente. No exemplo da Figura 4.4 o
vetor descritor final possuir 36 posies, enquanto implementaes tradicionais do SIFT cos-
tumam apresentar descritores compostos por 128 valores, obtidos em 16 histogramas com 8
orientaes cada um. Embora essa quantidade seja alta em relao a outros descritores, ela
permite uma alta taxa de correspondncia em objetos que foram submetidos a deformaes,
fazendo com que o SIFT apresente certo grau de invarincia em tambm em relao a essa
transformao.
44

Para se obter invarincia relativa luminosidade as magnitudes contidas no descritor so
normalizadas, pois dessa forma alteraes globais de luminosidade no afetaro os resultados
obtidos. Contudo, variaes no-lineares podem ocorrer devido a efeitos de saturao da c-
mera, o que interfere na distribuio das magnitudes, mas no afeta de forma perceptvel as
orientaes. Assim, uma invarincia parcial quanto a essas alteraes pode ser obtida limi-
tando-se a influncia das magnitudes mais elevadas, saturando o seu valor em um
determinado limiar. Depois disso o descritor novamente normalizado, e estar completo
para ser utilizado na correspondncia entre caractersticas.

4.1.3. Determinao dos Marcos
Uma vez que as caractersticas da imagem j tenham sido extradas e descritas, necessrio
que elas sejam transformadas nos marcos que o rob utilizar para resolver o problema do
SLAM durante a navegao. Uma abordagem possvel consiste na utilizao direta das carac-
tersticas extradas como marcos (Se, Lowe, Little; 2002), utilizando o vetor descritor como o
conjunto de propriedades que define o marco e permite a sua correspondncia posterior. Caso
haja uma correspondncia, a posio da caracterstica no ambiente pode ser estimada por tri-
angulao, completando o conjunto de propriedades que um marco deve possuir para ser
utilizado pelo SLAM da maneira como proposto aqui.
Contudo, essa abordagem tende a gerar uma quantidade muito grande de marcos, pois todas
as caractersticas extradas das imagens coletadas so adicionadas ao mapa de caractersticas
para serem utilizadas pelo SLAM. Uma grande parte dessas caractersticas pode ser conside-
rada espria, por no representar nenhum objeto consistente no ambiente, e por isso no sero
estveis para serem correspondidas em imagens posteriores. Adicionalmente, a correspon-
dncia entre caractersticas individuais pode gerar uma grande quantidade de erros, devido a
fatores como similaridade entre objetos no ambiente. Essas correspondncias erradas podem
propagar informaes incorretas para as estimativas de localizao e mapeamento e aumentar
a impreciso dos resultados.
Uma alternativa j discutida a atribuio de relaes semnticas aos objetos correspondidos,
de maneira a utilizar apenas caractersticas que possuam um determinado conjunto de propri-
edades pr-estabelecidas. Mas essa abordagem vai contra a proposta desse trabalho, que a
navegao em qualquer tipo de ambiente. Por isso, optou-se aqui pela determinao de con-
45

juntos no semnticos de caractersticas (Jung; 2004), de acordo com as relaes que elas a-
presentam dentro da imagem de onde foram extradas. Foram escolhidos dois critrios
diferentes para a determinao desses conjuntos, a distncia entre caractersticas na imagem e
a diferena de contraste entre elas. Supe-se aqui que caractersticas que representem uma
mesma estrutura estaro prximas entre si e possuiro um contraste similar na imagem.
Inicialmente a posio de cada caracterstica comparada com a posio das outras extradas
da imagem, e aquelas que estiverem suficientemente prximas de acordo com algum limiar
pr-estabelecido de distncia seguem para a segunda comparao, que a diferena de con-
traste que elas apresentem. Caso tambm estejam dentro do limiar de contraste elas so
reunidas com a caracterstica inicial e o processo repetido com elas, at que no reste ne-
nhuma caracterstica que satisfaa ambos os critrios. Se a quantidade de caractersticas
reunidas dessa forma for maior do que um limiar de tamanho estabelecido ele considerado
um objeto no ambiente e essas caractersticas sero utilizadas como marcos nessa iterao
do algoritmo, caso contrrio so eliminadas. Dessa forma a quantidade de marcos gerada a
cada instante diminui consideravelmente, mas aqueles gerados sero mais estveis nas etapas
posteriores.

Figura 4.5 - Conjuntos de caractersticas. Os pontos pretos indicam as caractersticas que foram locali-
zadas na imagem (limiar: 3 pixels).

As caractersticas referentes a cada objeto observado so armazenadas independentemente no
mapa de caracterstica do rob, cada uma possuindo o seu prprio valor de incerteza e de po-
sicionamento. O ndice do objeto ao qual pertencem mantido de forma a permitir o
estabelecimento de vnculos durante a etapa de correspondncia, como mostrado a seguir.
46

4.2. Correspondncia
A correspondncia entre caractersticas realizada pela comparao entre os valores contidos
em seus vetores descritores em busca daqueles que se encontrarem mais prximos no espao
k-dimensional. Uma caracterstica ser correspondida com outra quando a distncia euclidia-
na (3.1) entre ambas for a menor possvel dado o conjunto de caractersticas possveis da
imagem a qual cada uma delas pertence. Para aumentar a confiabilidade dos resultados so
descartadas as correspondncias onde a proporo entre a menor distncia euclidiana obtida e
a segunda for maior do que um determinado limiar. Dessa forma so eliminadas correspon-
dncias ambguas, como o caso daquelas extradas do plano de fundo da imagem, e que por
isso no so estveis como marcos.
Contudo, o custo computacional gerado por uma busca exaustiva pela melhor correspondn-
cia entre dois conjuntos de caractersticas elevado devido alta dimensionalidade que os
vetores devem possuir para conseguir descrever de maneira satisfatria cada caracterstica.
Outro fator limitante a grande quantidade de caractersticas que uma nica imagem tende a
possuir, o que aumenta o espao de possibilidades de correspondncia. Algoritmos eficientes
de busca, como as kd-tree (Friedman, Bentley, Finkel; 1977) no apresentam uma melhora
significativa para casos com dimenses elevadas, portanto no solucionam esse problema.
Em (Beis, Lowe; 1997) proposta uma soluo probabilstica para o problema da correspon-
dncia, que consegue encontrar as caractersticas com menor distncia euclidiana em
aproximadamente 95% das tentativas com um ganho computacional de duas ordens de gran-
deza (Figura 4.6), chamado BBF (Best Bin Fit).

Figura 4.6 - Comparao entre kd-tree e Best Bin Fit (Arya, Mount; 1993).


47

O BBF mantm uma verso modificada da kd-tree, que organiza os componentes do vetor
descritor de cada caracterstica de forma que valores semelhantes fiquem prximos entre si.
Quando uma busca realizada so verificadas primeiramente as distncias referentes a deter-
minadas dimenses do vetor (Arya, Mount; 1993), e a busca interrompida quando aquela
regio de caractersticas se mostra distante daquela que est sendo correspondida. Essa busca
probabilstica gera um ganho computacional de duas ordens de magnitude e gera resultados
no timos em aproximadamente 5% das correspondncias. O BBF se torna especialmente
eficiente em casos onde caractersticas ambguas so descartadas, como o caso daquelas ge-
radas pelo plano de fundo da imagem (Lowe; 1999).
Ainda assim, a comparao individual entre caractersticas pode ocasionar erros de corres-
pondncia, especialmente em ambientes estruturados que tendem a possuir repetio de
padres, como portas em um corredor e rvores em um parque. Dessa forma, esse trabalho
apresenta e utiliza uma segunda etapa na correspondncia entre caractersticas, que leva em
considerao os conjuntos estabelecidos durante a determinao de marcos. Inicialmente as
caractersticas de cada um dos objetos armazenados no mapa so correspondidas com as ca-
ractersticas extradas da imagem, em busca de semelhanas que indiquem o reconhecimento
de estruturas. Em seguida calculada a porcentagem de correspondncias que foram feitas em
relao quantidade de caractersticas que o objeto possui, e caso esse valor esteja abaixo de
um limiar essas correspondncias so ignoradas. A probabilidade de que um conjunto de ca-
ractersticas seja corespondido de maneira errada menor do que a probabilidade de apenas
uma o seja, o que aumenta a confiabilidade dos resultados finais e diminui consideravelmente
o custo computacional do processo.
Adicionalmente, dessa forma possvel instituir uma maneira de se eliminar marcos conside-
rados esprios, de acordo com a influncia que eles apresentam durante a correspondncia de
seus objetos. Caso um objeto seja consistentemente reconhecido, mas uma de suas caracters-
ticas no o seja, ela pode ser removida do mapa de maneira a diminuir a quantidade de marcos
com os quais o rob deve lidar. Se isso fizer com que a quantidade de caractersticas do obje-
to caia abaixo de um limiar estabelecido, outras caractersticas que cumpram os requisitos de
distncia e de contraste na imagem onde ele foi correspondido podem ser incorporadas a ele, e
se isso no for possvel o objeto como um todo pode ser eliminado como no sendo mais re-
levante para a localizao e mapeamento.

48

4.3. Triangulao
A triangulao uma etapa necessria quando sensores de viso so utilizados para que seja
possvel conseguir informaes de distncias de marcos em relao ao rob. Cada observao
de um marco realizada gera o conjunto

, de informaes, onde

, , representa
a posio e orientao do rob no instante de obteno da imagem (supondo navegao bidi-
mensional) e , indica as coordenadas do marco dentro dela. Alm disso, a geometria
do espelho e do sistema de viso conhecida, permitindo que seja determinado o raio de luz
que deu origem quele pixel e com isso o segmento de reta no qual o marco extraido deve es-
tar localizado. Caso esse marco seja correspondido em uma imagem posterior possvel obter
um segundo segmento de reta, e a interseco entre ambos determinar a posio tridimensio-
nal do marco no ambiente.
A Figura 4.7 apresenta um diagrama das principais entidades geomtricas na triangulao e
como elas se relacionam entre si. Os pontos

reresentam os focos inferior e superior da


hiprbole, sendo que

deve coincidir com o ponto focal da cmera. Os parmetros e so


parte da equao de hiprbole do espelho e

a translao vertical realizada no espelho


visando garantir o alinhamento entre o foco da cmera e o foco inferior da hiprbole. O ponto
pode ser obtido pela converso das coordenadas em unidades de distncia (o fator de con-
verso prprio da cmera utilizada), e a sua altura calculada a partir da distncia focal
em relao a

.

Figura 4.7 - Entidades e parmetros relevantes na triangulao.


49

O vetor que modela o raio de luz incidente na cmera pode ser obtido a partir dos pontos


e como mostrado abaixo.

(4.18)
Contudo, ainda no o raio desejado, pois o marco extrado na imagem representa uma es-
trutura que foi refletida no espelho hiperblico utilizado, e por isso necessrio definir qual o
vetor que representa esse mesmo raio de luz antes de ser refletido. Para isso devemos calcular
inicialmente o ponto na hiprbole que intersecta .

4
2

1 2


(4.19)
Esse ponto e o foco superior da hiprbole

definem o vetor incidente que, aps ser re-


fletido, d origem ao vetor que capturado pela cmera e foi detectado como representativo
de um marco no ambiente. Adicionalmente, necessrio rotacionar e transladar para que
ele leve em considerao a posio e orientao do rob no instante em que a imagem foi ob-
tida, de acordo com o sistema de coordenadas absoluto utilizado na construo do mapa.


cos

sin

sin

cos

0 0 1
(4.20)
Essa informao ento armazenada na varivel aleatria correspondente a esse marco no
mapa de caractersticas. Posteriormente, caso haja uma correspondncia entre o marco e uma
nova caracterstica, a posio da estrutura representada por ambos pode ser calculada como a
interseco entre

, ou seja, o ponto definido pela interseo de dois vetores. Devido


ao limite de resoluo das imagens utilizada e as imprecises na correspondncia e nos par-
metros utilizados possvel que ambos os raios no se interseccionem, o que em teoria
impediria a triangulao. Para evitar instabilidades numricas em situaes como essa os dois
vetores so inicialmente projetados no solo e a interseco entre eles calculada nessa proje-
o, de maneira a se obter as coordenadas e do marco. Em seguida calculada a mdia da
50

altura entre os dois vetores nessas coordenadas, determinado a coordenada do marco. Essa
informao ento incorporada varivel correspondente a esse marco no mapa, gerando
uma primeira estimativa de posio ou ento refinando aquela que j existe.


(4.21)

4.4. FastSLAM
O algoritmo escolhido nesse trabalho para incorporar as informaes obtidas pelo sistema de
viso omnidirecional o FastSLAM, desenvolvido por Montemerlo em parceria com diversos
outros pesquisadores (Montemerlo et al.; 2002) (Montemerlo; 2003). Desde ento ele vem se
tornando cada vez mais popular em tarefas de localizao e mapeamento simultneos, geran-
do diversos trabalhos que procuram testar e ampliar os seus limites (Haehnel et al.; 2003)
(Nieto et al.; 2006) (Thrun et al.; 2004) (Bailey, Nieto, Nebot; 2006) ou aumentar a sua efici-
ncia (Montemerlo et al.; 2003).
A grande contribuio do FastSLAM para o problema da localizao e mapeamento simult-
neos est na sua capacidade de lidar de uma forma eficiente com grandes quantidades de
marcos, algo importante quando so utilizados sensores visuais. Para conseguir isso explo-
rada a propriedade mostrada em (Murphy; 1999) que diz que o problema do SLAM pode ser
dividido em diversos problemas menores de estimao, um para cada varivel que relevante
na localizao e no mapeamento. Em particular, utiliza-se a noo de independncia entre
observaes que diz que, se a localizao do rob de alguma forma conhecida, o posiciona-
mento dos marcos observados pode ser fatorado em problemas independentes entre si. Essa
fatorao mostrada a seguir, onde

a posiao do rob,

o conjunto de observaes,

o vetor de controles utilizado e

o mapa composto por

marcos.


(4.22)
51

Obviamente a localizao do rob no conhecida, mas pode ser aproximada com um Filtro
de Partculas, onde cada partcula representa uma possvel localizao do rob e tratada in-
ternamente como se fosse correta. Para cada uma das partculas o problema de mapeamento
do ambiente pode ser subdividido em problemas de estimao independentes, cada um re-
ferente a um nico marco, e tratado por um EKF. Assim sendo, o FastSLAM lida
simultaneamente com EKFs, um para cada marco para cada partcula, e um Filtro de Par-
tculas para estimar a localizao do rob. Esse valor pode parecer alto, mas todas as matrizes
possuem uma dimensionalidade constante e baixa (igual a 3 no caso de marcos tridimensio-
nais contra 3 3 no EKF-SLAM), e por serem independentes entre si apenas as estimativas
referentes aos marcos observados so atualizadas a cada instante. Implementaes eficientes
conseguem no FastSLAM um custo computacional proporcional a (contra

no
EKF-SLAM), permitindo a utilizao de milhares ou at mesmo (Montemerlo et al.; 2002)
milhes de marcos simultaneamente com um custo computacional aceitvel.
Diferentemente do que acontece na abordagem tradicional do EKF-SLAM, o FastSLAM lida
com mltiplas hipteses de mapa, armazenando-as juntamente com a hiptese de localizao
que cada partcula representa. Assim sendo, possvel lidar com ambigidades de forma na-
tural, pois diferentes mapas podem possuir diferentes hipteses de associao de dados, e
aquelas que se mostrarem erradas so eliminadas implicitamente durante a etapa de Reamos-
tragem do Filtro de Partculas. Essa propriedade, juntamente com o fato de que o FastSLAM
atualiza seus marcos localmente, faz com que ele seja menos sensvel a erros de correspon-
dncia. Adicionalmente, a utilizao de mltiplos mapas gera um efeito de atualizao global
similar quele apresentado pelo EKF-SLAM, pois quando uma partcula eleita a mais pro-
vvel no apenas a distribuio de probabilidades da localizao do rob que se altera, mas
tambm a de todos os marcos armazenados, refletindo a sua hiptese de mapeamento que
tambm se torna a mais provvel.
O alto custo computacional gerado pela necessidade de se manter mltiplos mapas amorte-
cido por algoritmos eficientes de armazenamento e acesso a informaes, que explora as
redundncias existentes entre marcos cuja mesma estimativa compartilhada por mais do que
uma partcula. Consegue-se dessa forma um custo computacional que no depende do tama-
nho do mapa armazenado, mas sim da quantidade de marcos observados pelo rob a cada
instante, que um valor aproximadamente constante durante todo o perodo de navegao.

52

4.4.1. Mapeamento
A etapa de mapeamento no FastSLAM tem como entrada um conjunto de marcos obtidos a
partir da imagem omnidirecional coletada pelo sensor de viso, processada de acordo com o
SIFT. Esses marcos so correspondidos com aqueles que j esto armazenados do mapa de
caractersticas do rob e podem ser processados de maneira diferente de acordo com o nme-
ro de correspondncias que j foram realizadas. Quando um marco observado pela primeira
vez ele adicionado ao mapa sem nenhuma estimativa, de maneira a permitir a sua posterior
correspondncia e triangulao. Quando a primeira correspondncia realizada possvel
por triangulao obter uma primeira estimativa de posio para esse marco, assim como da
incerteza referente a essa estimativa. A partir desse momento, novas correspondncias gera-
ro novas estimativas que podem ser utilizadas para refinar aquela j existente, diminuindo a
sua incerteza. Essas atualizaes so feitas de acordo com as equaes do Filtro Estendido de
Kalman, supondo distribuies de probabilidade gaussianas e linearizao de funes.
Inicialmente necessrio definir um modelo de erros do sistema de viso que quantifique a
distribuio de probabilidades que cada uma das estimativas obtidas a partir dele possuir.
Supondo distribuies gaussianas pode-se definir a mdia como a prpria estimativa obtida na
triangulao, definindo que ela possui a maior probabilidade de representar o estado correto
do rob (os erros envolvidos so aleatrios com mdia nula). J a matriz de covarincia ob-
tida empiricamente a partir de testes que quantifiquem a sensibilidade do sistema ao
surgimento de erros. A matriz de erros utilizada nesse trabalho mostrada em (4.23), onde

indica a sensibilidade que o sistema possui para o surgimento de erros do tipo devido a
uma estimativa do tipo . Por exemplo, a sensibilidade do rob ao surgimento de erros na es-
timativa de distncia devido aos valores referentes sua estimativa de orientao angular em
relao ao eixo xy dada pelo coeficiente

(4.23)
Devido deformao que a geometria omnidirecional gera sobre diferentes regies da ima-
gem podem ser utilizados valores diferentes de sensibilidade de acordo com as coordenadas
do pixel que representa a caracterstica. Em especial, regies mais distantes do centro sero
mais sensveis do que as centrais, gerando uma matriz com valores mais elevados.
53

4.4.1.1. Adio de Marcos
Um marco observado pela primeira vez em uma imagem no possui uma estimativa de posi-
o no ambiente, e por isso tambm no possui uma incerteza em relao a essa posio
(pode-se, ao invs disso, dizer que essa incerteza infinita). A nica informao disponvel
nesse instante a posio

, , ocupada pelo rob no instante em que o marco foi


observado de acordo com a hiptese de localizao da partcula e as coordenadas ,
do pixel que representa o marco na imagem, alm do vetor descritor da caracterstica que
gerou o marco. Esses valores so armazenados na varivel correspondente do mapa de carac-
terstica para que possam ser recuperados posteriormente durante a etapa de correspondncia
e, caso ela seja positiva, de triangulao. Esse processo realizado uma vez para cada marco
detectado pela primeira vez para cada partcula do Filtro de Partculas, sendo que um mesmo
marco adicionado em diferentes partculas difere apenas pela posio do rob, possuindo as
mesmas coordenadas na imagem e vetor descritor.

, (4.24)

4.4.1.2. Atualizao de Marcos
Quando uma caracterstica extrada de uma imagem correspondida com um marco armaze-
nado no seu mapa possvel calcular o vetor de observaes
,
,
referente ao marco que foi
correspondido, a partir da sua estimativa de posio

no ambiente e da posio do rob


naquele instante. Esse vetor composto por trs valores, o primeiro correspondente distn-
cia entre o sensor e o marco e os outros dois correspondentes aos ngulos e que o
posicionam unicamente no espao. Esse vetor de observaes definido em (4.25) e ser di-
ferente para cada partcula, pois cada uma possui uma hiptese de localizao diferente.

,
,

(4.25)
54

A atualizao de marcos pode ocorrer de duas maneiras diferentes. Caso essa seja a primeira
correspondncia, o marco ainda no contar com nenhuma estimativa de posio, e por isso
essa primeira estimativa ser incorporada completamente sua varivel, assim como a sua
incerteza. Caso seja uma correspondncia posterior, essa estimativa, assim como a sua incer-
teza, ser utilizada para atualizar aquela j existente no marco, de maneira a diminuir a sua
incerteza inerente.

Primeira Correspondncia

Quando um marco

correspondido pela primeira vez, a sua estimativa de posio defi-


nida pelo resultado

da triangulao realizada. Resta ento calcular a matriz de covarincia


da incerteza envolvida
,

nessa medida, o que pode ser feito a partir do modelo de erros do


sensor (4.23) e do vetor de observaes (4.25) obtido tambm a partir da triangulao. Antes
de ser utilizado, o modelo de erros deve ser projetado nos eixos cartesianos, de maneira a in-
dicar a rea no ambiente onde o marco pode estar posicionado. Essa projeo feita a partir
da matriz , que incorpora os valores contidos em
,
,
e determina em quais eixos as sensibi-
lidades apresentadas na matriz sero relevantes para o surgimento de erros.


cos cos sin cos 0
sin cos cos cos 0
sin 0 sin
(4.26)
A matriz de covarincia
,

ento dada ento pela seguinte multiplicao matricial:


(4.27)
Esses dois valores so adicionados varivel representativa do marco no ambiente apresenta-
da em (4.24), completando-a com uma estimativa de posio e sua respectiva incerteza como
mostrado em (4.28). Para efeitos de triangulao, as informaes referentes s coordenadas
do pixel na imagem so atualizadas com os valores obtidos na ltima observao, e com isso
a posio do rob

no instante em que observou a imagem tambm o ser.

, , , (4.28)
55

Correspondncias Posteriores

A atualizao do estado dos marcos armazenados no mapa de caractersticas realizada de
acordo com as equaes do EKF, individualmente para cada marco em cada uma das partcu-
las. O sistema de equaes no-lineares genricas que o EKF se prope a resolver mostrado
a seguir:

,
,


(4.29)
Onde

so rudos referentes aos modelos de movimentao e de medidas que os senso-


res utilizados para obter essas estimativas possuem. Esse trabalho parte do pressuposto de
que os marcos observados no se movimentam, portanto os seus estados de localizao no se
propagam no tempo. Os rudos referentes ao sistema de viso so modelados pela matriz
definida em (4.23) e so considerados constantes, no variando no tempo (embora possam
variar de acordo com a posio do pixel que representa a caracterstica na imagem). Dessa
forma, esse sistema pode ser simplificado da seguinte forma:

,
,


(4.30)
A funo que relaciona a localizao do rob

em um determinado instante com a posio


de um marco
,

j armazenado em seu mapa, ambas de acordo com as hipteses referentes


partcula , indicada abaixo.

,
,

(4.31)
Como a formulao matemtica do Filtro de Kalman se baseia em sistemas lineares, neces-
srio linearizar a funo

,
,

. O Jacobiano
,

apresentado em (4.32) consegue essa


linearizao atravs de uma expanso de Taylor, que calcula o valor da funo em seu ponto
56

de maior probabilidade (valor
,

obtido na triangulao) e utiliza as derivadas parciais em


relao a cada uma das coordenadas do marco para estimar o valor no ponto desejado.

,
,

,
,

,
,


(4.32)
Onde

.
A diferena
,
,
entre o vetor de observaes
,
,
obtido a partir dos valores de triangulao e
o vetor

,
,

obtido a partir dos valores contidos no mapa do rob indica o erro entre o
que foi observado e o que deveria ter sido.

,
,

,
,

,
,

(4.33)
A covarincia da inovao
,

, que indica a incerteza relativa a esse erro e que posteriormen-


te ser utilizada tambm na atualizao dos pesos das partculas, calculada com o auxlio do
jacobiano
,

da observao e do modelo de erros .


(4.34)
O Ganho de Kalman
,

definido como:


(4.35)
Com isso possvel calcular a nova posio do marco (4.36) e a sua matriz de covarincia
correspondente (4.37).


,
,

(4.36)


(4.37)
Essas estimativas substituem aquelas armazenadas na varivel correspondente ao marco no
mapa. A incorporao de novas informaes referentes a esse marco faz com que a sua incer-
teza diminua, aumentando a preciso da estimativa final de posicionamento e melhorando os
resultados finais de mapeamento.
57

4.4.1.3. rvore de Marcos
Uma implementao direta da etapa de mapeamento no FastSLAM possui um custo computa-
cional proporcional quantidade de partculas e de marcos utilizados. Isso porque cada
partcula carrega consigo um mapa composto por estimativas de posio de cada um de seus
marcos, e deve propagar essas estimativas no tempo de acordo com a evoluo do Filtro de
Partculas. O custo computacional relativo quantidade de partculas no pode ser evitado
porque cada partcula representa uma hiptese independente. Contudo, devido relao de
independncia que foi estabelecida entre marcos, grande parte da informao contida nos ma-
pas construdos dessa forma ser redundante, pois diversas partculas eventualmente
compartilharo de uma mesma estimativa referente a um marco, principalmente aps uma e-
tapa de Reamostragem.
Tirando proveito disso, o FastSLAM consegue diminuir o seu custo computacional para uma
funo logartmica em relao quantidade de marcos, permitindo a utilizao simultnea de
quantidades muito maiores do que seria possvel de outra forma. Para isso utilizada uma
rvore binria (Figura 4.8a), onde a estimativa de cada marco armazenada em uma das fo-
lhas (ns inferiores da rvore). Partculas que compartilham de uma mesma estimativa
relativa a um marco compartilharo dessa mesma folha, o que elimina a cpia de informaes
redundantes em diversas partculas. Conforme novas estimativas referentes a um marco so
incorporadas so geradas novas folhas que as armazenam e novos caminhos que apontam para
elas, mantendo os outros intactos (Figura 4.8b)


(a) (b)
Figura 4.8 - rvore binria de marcos tradicional (Montemerlo; 2003).
(a) Formato esttico (b) Adio de novas estimativas
58

Nesse trabalho a estrutura apresentada acima foi modificada de maneira a se obter um resulta-
do em mdia mais eficiente, que no pior caso alcana o custo logartmico da implementao
padro utilizada pelo FastSLAM. Ao invs de armazenar as estimativas apenas nas folhas da
rvore binria elas so armazenadas em todos os ns (Figura 4.10a), gerando uma economia
de memria (so necessrios menos ns) e de tempo (no necessrio percorrer toda a rvore
para se chegar em alguns dos ns). Cada marco recebe um ndice nico que indica qual a sua
posio dentro da rvore, e ela manuseada de maneira a sempre permanecer balanceada,
com a alterao de sua raiz, quando necessrio. Esse balanceamento realizado pela rotao
da raiz da rvore, realizada no sentido anti-horrio (Figura 4.9) devido ao acrscimo de mar-
cos em ordem ascendente de ndices que faz a rvore ficar mais populada do lado direito.






Figura 4.9 - Rotao de ns para a esquerda.

Quando um marco observado pela partcula e a sua estimativa de posio alterada, um no-
vo n gerado para armazenar essa estimativa, e um novo caminho que leva at ele
construdo na rvore binria da partcula. Caso esse caminho passe por outras estimativas,
elas tambm sero reconstrudas, realizando uma cpia aparentemente desnecessria de in-
formaes. Contudo, caso esses marcos sejam observados em um instante posterior, suas
estimativas podero ser atualizadas sem a necessidade de construir outro caminho, pois ele j
ser nico quela partcula. De qualquer forma, a implementao apresentada em trabalhos
tradicionais de FastSLAM requer a criao de ns responsveis pela busca binria, gerando
um custo semelhante.


(a) (b)
Figura 4.10 - rvore binria proposta. (a) Formato esttico (b) Adio de novas estimativas
59

A Figura 4.10b mostra um exemplo da estrutura descrita aqui, para o caso em que dois marcos
(2 e 7) foram observados. Os ns em cinza so referentes rvore binria compartilhada, e os
em branco foram reconstrudos devido s estimativas incorporadas pela partcula em seu ma-
pa. Uma implementao tradicional como aquela mostrada em (Montemerlo et al.; 2003)
necessitaria de mais trs ns para conseguir o mesmo resultado, dois para armazenar as esti-
mativas propriamente ditas e um para completar o caminho que leva at a folha que
armazenaria a estimativa do marco de identidade 2. Dessa forma necessrio um menor tem-
po de atualizao para conseguir o mesmo resultado, o que gera um aumento de eficincia no
algoritmo. Adicionalmente, a rvore binria tradicional necessita de 14 ns para armazenar
essa informao, contra apenas 7 necessrios na implementao proposta, gerando uma eco-
nomia significativa de memria.

4.4.2. Localizao
O problema da localizao tratado pelo FastSLAM por um Filtro de Partculas, que mantm
um conjunto finito de amostras retiradas da distribuio de probabilidades que modela a posi-
o do rob a cada instante (Liu, Chen; 1998). Cada partcula representa uma hiptese
diferente de localizao e mapeamento, e utiliza esses valores para determinar o seu peso, um
indicador da sua probabilidade de representar os estados corretos do rob em um dado instan-
te. Conforme novas informaes relativas aos marcos observados so incorporadas a essas
estimativas esse peso alterado de maneira a refletir a distribuio de probabilidades das par-
tculas naquele instante.
Um Filtro de Partculas composto por trs etapas que so realizadas em seqncia. Na Figu-
ra 4.11 essa seqncia indicada, assim como a influncia que cada uma das etapas possui
sobre a distribuio das partculas no ambiente e sobre o peso de cada uma delas. A seguir
so apresentados os conceitos e a formulao envolvida em cada uma dessas etapas.

Figura 4.11 - Etapas do Filtro de Partculas (regies escuras possuem maior probabilidade de serem corretas).
60

4.4.2.1. Predio
A etapa de Predio no Filtro de Partculas no depende de informaes externas, apenas do
modelo de movimentao que o rob utiliza para estimar a sua localizao conforme navega
pelo ambiente. Inicialmente o estado de cada partcula propagado de maneira determinsti-
ca, de acordo com o vetor de controles

fornecido naquele instante pelo algoritmo de


controle. Esse trabalho lidar apenas com robs diferenciais no-holonmicos se movimen-
tando por um plano, o que restringe esses graus de liberdade a apenas trs, sendo dois
necessrios para descrever sua posio no plano e o terceiro para descrever sua orientao
(Figura 4.12a). O deslocamento do rob realizado partir de um vetor de velocidades

suposto constante em cada intervalo de tempo e cujos coeficientes agem de ma-


neira independente no rob, primeiro o rotacionando ainda na posio inicial e em seguida
transladando-o at a posio final (Figura 4.12b).


(a) (b)
Figura 4.12 - Modelo de odometria. (a) Estado de localizao (b) Modelo de movimentao

A funo de transio que modela esse deslocamento do rob apresentada em (4.38) e per-
mite a propagao do estado de localizao de cada uma das partculas no tempo.

(4.38)
Essa transio determinstica, ou seja, no leva em considerao os erros acumulados pelo
rob durante o deslocamento. Esses erros podem ser causados devido a imprecises na rota-
o e na translao do rob, e para maximizar o conjunto de erros possveis (Thrun, Fox,
Burgard; 2005) includo um terceiro grau de liberdade durante a movimentao, referente a
61

uma rotao ao redor da posio final, como mostrado na Figura 4.13. Assim, o rob inicial-
mente rotaciona na sua posio inicial, em seguida translada para a posio final e em seguida
rotaciona nela de maneira a assumir a sua orientao final, e todos esses movimentos esto
sujeitos a erros.

Figura 4.13 - Deslocamentos realizados durante a movimentao.

Esses trs deslocamentos podem ser facilmente calculados a partir da geometria do problema.
A primeira rotao calculada subtraindo-se a orientao intermediria do rob (obtida aps a
primeira rotao) da sua orientao inicial. A translao calculada pelo Teorema de Pitgo-
ras levando-se em considerao o deslocamento do rob nas coordenadas e . A ltima
rotao calculada pela subtrao da orientao final do rob da sua orientao intermediria.


(4.39)
Esses deslocamentos mdios so utilizados como base para a incorporao do modelo de er-
ros desenvolvido para o rob. Intuitivamente, quanto maior o deslocamento maior dever
ser o erro incorporado estimatva, de acordo com a sensibilidade que o rob possui para o
surgimento de erros de cada natureza. Essa sensibilidade estimada empiricamente atravs
da atribuio de coeficientes

que representam a propenso que o rob possui para o sur-


gimento de erros do tipo quando submetido a uma movimentao do tipo . Por exemplo, a
sensibilidade do rob ao surgimento de erros de translao quando ele se movimenta angu-
larmente regida pelo coeficiente

, enquanto a sua sensibilidade ao surgimento de erros


de orientao quando ele se movimenta linearmente regida pelo coeficiente

(4.40)
62

Multiplicando os deslocamentos obtidos pelos seus coeficientes correspondentes so determi-
nados os desvios-padro que representam a incerteza em relao a cada um dos
deslocamentos realizados, modelando-os como uma distribuio gaussiana.

(4.41)
A posio de cada uma das partculas obtida por amostragem dentro dessa distribuio de
probabilidades, onde a mdia igual ao valor determinstico obtido em (4.38) e o desvio pa-
dro dado por (4.41). Uma maneira de se realizar essa amostragem atravs da equao de
Box-Muller, mostrada em (4.42) onde e so variveis aleatrias uniformemente distribu-
das entre 0,1.
, 2ln cos2 (4.42)
O resultado , obtido uma varivel aleatria gaussiana com mdia e desvio padro
. O deslocamento

possui ento a seguinte forma:

0,
,

0,
,


0,
,

(4.43)
Para se obter

necessrio projetar

de volta para o eixo cartesiano.

cos

sin

(4.44)

FastSLAM 2.0
O FastSLAM 2.0, apresentado em (Montemerlo et al.; 2003) uma evoluo do algoritmo
tradicional de FastSLAM que procura aumentar a eficincia do Filtro de Partculas utilizado
para estimar a localizao do rob a cada instante. Mais especificamente, o FastSLAM 2.0
procura aumentar a eficincia da etapa de Predio do Filtro de Partculas de forma a evitar o
surgimento de partculas em regies de baixa probabilidade. Para conseguir isso, as informa-
63

es coletadas pelos sensores do rob so utilizadas diretamente na etapa de amostragem de
partculas, ao invs de apenas na determinao do peso de cada uma delas. No h nenhum
aumento na qualidade dos resultados finais obtidos pelo FastSLAM 2.0 em relao imple-
mentao original, apenas consegue-se obter os mesmos resultados com significativamente
menos partculas. Em particular, para sistemas lineares o FastSLAM 2.0 consegue conver-
gncia para 1, constituindo dessa forma o nico algoritmo de SLAM com tempo de
atualizao constante.
Com mostrado anteriormente, a etapa de Predio envolve a amostragem do estado de locali-
zao de cada uma das partculas dentro da distribuio de probabilidades gerada pela
propagao desse estado no tempo, cuja mdia dada por (4.38) e o desvio padro por (4.41).
No FastSLAM 2.0 essa distribuio de probabilidades modificada pelas observaes coleta-
das pelo que foram correspondidas com marcos que j possuem uma estimativa de posio,
de maneira a diminuir a sua impreciso e aumentar a probabilidade de que sejam amostradas
partculas prximas do estado real de localizao do rob. A covarincia em relao a cada
observao calculada a partir da matriz
,

de inovao calculada durante a etapa de atuali-


zao do mapeamento (4.34), e a estimativa quanto posio do marco no ambiente pode ser
transformada para uma estimativa quanto localizao do rob com o auxlio de
,


(4.45)
Em (4.45) calculada a nova covarincia da distribuio de probabilidades que ser utilizada
na amostragem durante a Predio. J a nova mdia calculada em (4.46), novamente utili-
zado a matriz de covarincia da inovao
,

e o jacobiano
,


(4.46)
No caso de haver mais de uma observao correspondida, todo o processo deve ser repetido
de maneira a incorporar a sua estimativa tambm. importante lembrar que a alterao da
localizao estimada do rob far com que o jacobiano
,

e a matriz de covarincia
,

se
alterem, e devam ser calculadas novamente. Adicionalmente, as adies em (4.45) e (4.46)
devem ser feitas utilizando-se os resultados obtidos na incorporao da estimativa anterior, e
no os originais obtidos na ltima iterao. Uma vez que todas as observaes j tenham sido
incorporadas, pode-se realizar a amostragem com a mdia e covarincia resultantes.
64

O FastSLAM 2.0 tende a ser mais eficiente do que o FastSLAM especialmente em situaes
onde a preciso dos sensores de coleta de informaes do ambiente muito maior em relao
preciso do sistema de odometria utilizado, algo que acontece na grande maioria das aplica-
es (Montemerlo et al.; 2003). Isso faz com que a regio de probabilidades onde uma
partcula pode se localizar durante a predio se torne grande em comparao quela que a
Reamostragem gera uma vez que as observaes so incorporadas, gerando um desperdcio de
partculas. Ao manter uma maior quantidade de partculas em reas de alta probabilidade o
FastSLAM 2.0 consegue tambm uma maior diversidade de hipteses, o que resulta na capa-
cidade de fechamento de loops mais extensos.

4.4.2.2. Atualizao
Durante a etapa de Predio o estado de localizao das partculas foi alterado pela movimen-
tao do rob, de acordo com seus estados anteriores, o vetor de controles e a funo de
transio que os relaciona. O estado de mapeamento das partculas tambm foi alterado pelas
etapas do EKF que modelam a posio de cada um dos marcos que elas possuem em seus res-
pectivos modelo de mapa. A etapa de Atualizao do Filtro de Partculas utiliza essas
alteraes para verificar quais partculas possuem o conjunto de estados de localizao e ma-
peamento com maior probabilidade de representar o estado correto que o rob apresenta
naquele instante. Essa probabilidade modelada pelo peso que cada partcula possui, sendo
que quanto maior o peso maior a probabilidade, e supe-se que a soma de todos os pesos
igual a 1, ou seja, o estado correto do rob representado de maneira exata por uma de suas
partculas.
As mesmas informaes que foram utilizadas para atualizar a estimativa de posio de um
marco tambm podem ser utilizadas para atualizar a estimativa de posio do rob, pois esses
valores esto relacionados entre si. Uma observao determina a posio de um marco no
ambiente quando a localizao do rob conhecida, e uma observao tambm determina a
localizao do rob no ambiente caso a posio do marco seja conhecida. Dessa forma, quan-
do no h nenhuma correspondncia entre caractersticas e marcos a etapa de Atualizao no
acontece, e os pesos das partculas se mantm os mesmos durante essa iterao. Similarmen-
te, caso ocorram vrias correspondncias os pesos so alterados seqencialmente, devido
hiptese de independncia estabelecida entre os marcos que compem o mapa.
65

Quanto mais prximas a estimativas de localizao e mapeamento da partcula estiverem da
estimativa obtida pela observao correspondida, maior a probabilidade de que ela represente
o estado correto do rob, e por isso maior ser o seu peso. Essa semelhana quantificada
pelo vetor de diferenas
,
,
definido em (4.33), sendo que quanto maior ele for menor ser a
semelhana. A matriz de covarincia da inovao
,

definida em (4.34) quantifica a impre-


ciso relacionada observao correspondida, sendo que quanto maior ela for menor ser o
peso que ela possuir sobre a atualizao dos pesos. Essa atualizao tem a forma de uma
distribuio gaussiana multivariada, que leva em considerao as trs parcelas do vetor de in-
formaes
,

definido em (4.25) onde 3.

1
2

exp
1
2

,
,

,
,

(4.47)
Depois que todas as atualizaes tenham sido feitas os pesos do conjunto de partculas so
normalizados (4.48) para que a sua soma volte a ser igual a 1. O resultado da etapa de Atuali-
zao uma nova distribuio de probabilidades que leva em considerao as informaes
obtidas pelo rob naquele instante. A partcula com o maior peso representa o estado mais
provvel de localizao e mapeamento para o rob, indicando qual a sua posio e a de todos
os marcos j observados no ambiente.

(4.48)

4.4.2.3. Reamostragem
A etapa de Reamostragem procura eliminar partculas que no representem uma hiptese v-
lida para a localizao do rob, ao mesmo tempo em que multiplica aquelas que possuem
pesos elevados, aumentando a densidade de partculas na regio que se supe prxima da lo-
calizao real do rob. Como a quantidade de partculas com as quais se lida constante (ou
ao menos finita) a densidade delas tende a diminuir conforme ocorre o espalhamento causado
pela etapa de Predio, fazendo com que eventualmente no reste nenhuma partcula prxima
do local onde o rob realmente se encontra e at a partcula de maior peso no representar
uma estimativa precisa o suficiente.
66

Como essa proximidade determinada pelo peso que cada partcula possui, a Reamostragem
se baseia em procurar eliminar aquelas que possuem um peso baixo e criar novas cpias da-
quelas que possuem um peso elevado. Uma maneira simples de se realizar isso e que gera
resultados bastante satisfatrios consiste em realizar uma amostragem no conjunto de partcu-
las, utilizando os pesos como distribuio de probabilidades. Partculas com maior peso tero
maior probabilidade de ser escolhidas, o que desejvel dado que isso tambm significa que
elas tm uma maior chance de representarem o estado correto de localizao do rob. Outros
mtodos de se realizar a Reamostragem so apresentados em (Rekleitis; 2003), e um mtodo
particularmente eficiente, que possui custo computacional linear em relao quantidade de
partculas, encontrado (Thrun, Fox, Burgard; 2005).


, ,

(4.49)
Inicialmente, amostrado um nmero aleatrio de uma distribuio uniforme normalizada
entre [0,1]. O conjunto de partculas

ento percorrido linearmente desde o seu incio, e


os pesos

de cada partcula so somados at que o resultado se torne maior do que . A


partcula

cujo peso fez com que a somatria ultrapassasse ser escolhida como amostra e
adicionada no conjunto final de partculas

. Partculas com maior peso contribuiro mais


na somatria, aumentando a probabilidade de sejam responsveis por ultrapassar o valor de
e com isso sejam escolhidas. Esse processo, equacionado em (4.49), repetido at que


tenha a mesma quantidade de elementos que

, sendo que uma nica partcula pode ser


escolhida mais de uma vez. Nesse caso o conjunto final de partculas possuir estados redun-
dantes, mas durante a prxima etapa de Predio eles se diferenciaro devido aos processos
aleatrios envolvidos.
Diferentemente das outras etapas do Filtro de Partculas, a Reamostragem no precisa, e nem
deve, ser realizada a cada iterao do algoritmo, apenas quando se torna necessria de acordo
com algum critrio pr-estabelecido. A principal razo para isso est na eliminao aleatria
de partculas, que gera um empobrecimento da diversidade de estados do rob. Esse empo-
brecimento faz com que a varincia do conjunto

diminua, pois as partculas se aglutinaro


em uma nica rea, com pouca diferena entre os seus estados. Ao mesmo tempo, esse pro-
cesso aumenta a varincia do Filtro de Partculas como um estimador da varivel de interesse,
o que indica uma maior incerteza quanto ao resultado final.
67

Um exemplo extremo disso seria o caso de um rob imvel

e que no possui ne-


nhum sensor para coletar informaes do ambiente. No incio existe uma incerteza quanto
sua localizao, fazendo com que suas partculas se espalhem por uma determinada rea. A
aleatoriedade da Reamostragem faz com que algumas partculas sejam escolhidas em detri-
mento de outras, at que eventualmente a covarincia do conjunto de partculas se anule, pois
ele ser composto por cpias de uma nica partcula. Essa convergncia de partculas indi-
ca que o estado correto de localizao foi encontrado, o que est em clara contradio com o
simples fato de que o rob no possui sensores que permitam determinar a sua localizao.
Na realidade, essa convergncia aconteceu devido a fatores puramente aleatrios que ocorrem
durante a Reamostragem, ou seja, a covarincia dessa estimativa infinita.
necessrio ento controlar a magnitude da varincia do Filtro de Partculas, de forma a per-
mitir o seu funcionamento e garantir a preciso das suas estimativas a cada instante. Em (Liu,
Chen, Logvinenko; 2001) so apresentadas duas maneiras de se estimar a quantidade de part-
culas cujo peso irrelevante para o processo em um determinado instante, indicando quando a
Reamostragem deve ser realizada. A primeira atravs do Coeficiente de Variao


(4.50), que quantifica a varincia do conjunto

, e a segunda atravs do Tamanho Efetivo


da Amostra

(4.51), que quantifica a quantidade de partculas que so significantes para a


distribuio de probabilidades.

(4.50)


(4.51)
Um aumento no valor de

implica em uma variao maior entre os estados das partculas


de

, o que significa que elas esto se afastando cada vez mais, gerando uma densidade local
menor. Da mesma forma, uma diminuio no valor de

significa uma menor quantidade


de partculas que possuem um peso significativo, e com isso alguma chance de representar o
estado correto da localizao do rob naquele instante. Quando uma dessas duas variveis
cruza um determinado limiar, realizada a Reamostragem.


68

4.5. Paralelizao dos Algoritmos
O algoritmo apresentado nesse trabalho, da maneira como foi proposto, realiza cada uma das
suas etapas seqencialmente, aguardando os resultados de uma antes de seguir para a prxi-
ma. Inicialmente o rob se movimenta e ento coleta uma imagem omnidirecional, que
processada pelo SIFT em busca de marcos que podem ser utilizados. Esse conjunto de mar-
cos extrados comparado com aqueles armazenados no mapa em busca de correspondncias
e aqueles que forem correspondidos so utilizados para refinar as estimativas de cada partcu-
la, enquanto aqueles que no foram so incorporados ao mapa. Para que essas informaes
possam ser utilizadas durante a navegao, necessrio que todo esse processo acontea no
intervalo entre coleta de dados, tanto de localizao como de mapeamento, para evitar que o
algoritmo perca sua sincronia com o rob e deixe de acompanh-lo conforme ele se movimen-
ta pelo ambiente.
Contudo, o algoritmo de SIFT possui um custo computacional elevado, que juntamente com a
etapa de busca por correspondncia pode fazer com que o tempo necessrio para que todos os
clculos sejam realizados seja maior do que o intervalo entre iteraes dos sensores. Uma
soluo aumentar esse intervalo, de maneira a fornecer mais tempo para que os clculos
possam ser feitos. Mas essa soluo diminui a controlabilidade do rob, pois as informaes
de localizao se tornam mais espaadas entre si, dificultando o processo de tomada de deci-
ses durante a navegao. Por exemplo, ele pode ter alcanado o seu objetivo final, mas
devido ao atraso na atualizao da sua localizao ele permanece se movimentando e o ultra-
passa, entrando em um processo oscilatrio em torno de um ponto.
A soluo para esse problema utilizada nesse trabalho consiste na paralelizao dos algorit-
mos de SIFT e de FastSLAM, pemitindo que o rob se localize com a freqncia necessria
enquanto realiza ao mesmo tempo os clculos de extrao de marcos na em imagens omnidi-
recionais. Durante esse intervalo considera-se que o rob no obteve nenhuma informao do
ambiente e, portanto, apenas a etapa de Predio ser realizada iterativamente, com a sua lo-
calizao se propagando no tempo. Dessa forma a incerteza referente a ela aumenta, pois os
erros gerados a cada instante se acumulam. Quando os clculos referentes ao SIFT so com-
pletados e o conjunto de marcos obtido, a informao referente a eles incorporada s
estimativas de localizao e mapeamento, eliminando os erros acumulados durante a navega-
o cega e restabelecendo a preciso dos resultados.
69

5. Resultados e Discusso
Esse captulo apresenta os resultados obtidos nas etapas de implementao realizadas visando
a obteno da soluo para o problema do SLAM como proposto no captulo anterior. Em
um primeiro momento essa soluo foi dividida em duas etapas independentes entre si, que
foram desenvolvidas paralelamente em ambientes controlados que permitissem o isolamento e
quantificao dos erros envolvidos de maneira a verificar a capacidade de cada uma em resol-
ver o problema ao qual se prope. A primeira etapa composta pelo algoritmo de SLAM
propriamente dito, que lida com a maneira como a informao obtida a partir do sistema de
reconhecimento de marcos incorporada s estimativas de localizao e mapeamento do ro-
b. A segunda etapa composta pelo algoritmo de reconhecimento de marcos, que lida com a
obteno da informao que ser utilizada pelo algoritmo de SLAM sob a forma de pontos de
referncia durante a navegao.
Os resultados individuais obtidos em cada uma dessas etapas so apresentados como uma
forma de se validar as solues individuais escolhidas para se resolver cada um desses pro-
blemas, assim como as ferramentas e mtodos utilizados. Pontos pertinentes que foram
previstos durante a reviso bibliogrfica ou que surgiram durante o desenvolvimento das so-
lues so tambm apresentados e discutidos, procurando-se com isso esclarecer a influncia
que eles possuiro sobre os resultados finais. Uma vez que ambos os algoritmos estivessem
funcionando de maneira satisfatria, dados os resultados alcanados em testes controlados,
seguiu-se para a ltima etapa, que se constituiu na unio de ambos em uma soluo fechada
para o problema do SLAM da maneira como proposta no captulo anterior, capaz de obter in-
formaes do ambiente e incorpor-la s estimativas durante a navegao. Essa soluo foi
submetida a testes reais de navegao, e os resultados alcanados so apresentados como uma
maneira de valid-la como uma soluo para o SLAM com Auxlio Visual Omnidirecional.

5.1. Localizao e Mapeamento Simultneos
A implementao isolada do algoritmo de SLAM foi realizada em ambientes virtuais com o
auxlio do Gazebo, um simulador de robs tridimensional open-source que funciona em plata-
70

formas Linux e MacOS. A comunicao entre algoritmo e rob feita atravs do Player, uma
interface que lida de maneira indistinta com robs virtuais ou reais, permitindo uma transio
rpida entre os testes feitos no simulador e a navegao em ambientes reais. A utilizao de
simuladores nas etapas iniciais de um algoritmo de navegao importante por fornecer um
ambiente controlado e seguro para os testes, alm de facilitar a construo de percursos com-
plexos e permitir a quantificao da melhoria nos resultados que um algoritmo de SLAM
capaz de proporcionar.

5.1.1. Simulador
Dentro do ambiente Gazebo foi construdo inicialmente um modelo dinmico de um rob
no-holonmico com atuadores diferenciais, equivalente ao de um rob real existente (um
Magellan Pro da iRobot). As equaes de odometria foram adicionadas de maneira a fornecer
ao rob uma estimativa incremental de localizao conforme se movimenta pelo ambiente.
Tambm foram desenvolvidas rotinas de navegao que permitiram ao rob se movimentar de
um ponto ao outro de maneira autnoma, de acordo com a teoria de controle timo apresenta-
da em (Davis, Vinter; 1985). A aquisio de informaes foi feita a uma taxa de 10 Hz, e
estabeleceu-se que o algoritmo de SLAM final deveria ser capaz de manter a sincronia de co-
municao com o rob dentro dessa freqncia de atualizao.

Figura 5.1 - Exemplo de modelo de rob e de ambiente no Gazebo.
71

O modelo construdo foi equipado com um sensor laser que varre uma rea de 180 sua fren-
te, com um alcance de 3 metros. Esse sensor foi utilizado na construo de um mapa mtrico
probabilstico do ambiente, com discretizao de 50 milmetros e que no influencia de forma
alguma no SLAM, sendo utilizado apenas como visualizao do resultado de mapeamento (e,
conseqentemente, de localizao). Como o Gazebo no possui suporte para modelos de es-
pelho no foi possvel simular o sistema de viso omnidirecional, pois ele depende de um
espelho hiperblico posicionado sobre a cmera. Esse sistema foi ento substitudo provisori-
amente nos testes em ambientes virtuais por um segundo sensor laser que varre uma rea de
360 ao redor do rob com um alcance de 4 metros, posicionado a uma altura de 0.5 metros
acima do primeiro laser.
Postes elevados foram espalhados pelo ambiente de forma que possam ser detectados por esse
sistema como mnimos locais (Figura 5.2) e utilizados como marcos artificiais. A correspon-
dncia entre marcos feita pela minimizao da distncia euclidiana entre o conjunto
observado e aquele armazenado no mapa de caractersticas do rob. Embora esse arranjo
permitisse a obteno direta de informaes de distncia, optou-se por abrir mo dessa infor-
mao e obt-la por meio de triangulaes, para tornar o algoritmo mais similar quele
utilizado em conjunto com o sistema de viso omnidirecional. Essa informao de distncia
foi, ao invs disso, utilizada na caracterizao dos marcos, que devido natureza da informa-
o obtida a partir do sensor de laser foi feita tendo como base apenas a sua posio no
ambiente em relao ao rob.

Figura 5.2 - Deteco de marcos no ambiente virtual.
72

Um ambiente virtual no contm os erros inerentes aos sensores utilizados na localizao e no
mapeamento que fazem com que o SLAM seja necessrio. Por isso, esses erros foram mode-
lados, tendo como base um rob real (o prprio Magellan Pro) e incorporados s medies
realizadas pelo seu sistema de odometria e de lasers (tanto o superior quanto o inferior), de
maneira a torn-los imprecisos. Nessa modelagem foram utilizadas distribuies gaussianas
cuja mdia igual ao valor fornecido pelo clculo determinstico e o desvio padro se relacio-
na com a preciso inerente ao sensor. Os parmetros utilizados nessa etapa no so utilizados
durante o tratamento de erros (que tambm foram modelados como distribuies gaussianas),
pois em aplicaes reais no h como conhec-los. A Figura 5.3 mostra o efeito que a intro-
duo desses erros possui sobre os resultados finais alcanados com a utilizao direta da
informao coletada pelos sensores.

(a) (b) (c)
Figura 5.3 - Modelo de erros em ambientes virtuais (Guizilini et al; 2007).
(a) Localizao e mapeamento sem erros (b) Localizao com erros (c) Mapeamento com erros

Pode-se perceber que a utilizao direta da informao obtida pelos sensores j no suficien-
te para se obter resultados precisos de localizao e mapeamento, devido ao acmulo de erros
que a navegao iterativa acarreta e que se reflete em ambas as estimativas. Nesse ambiente
impreciso j existe a necessidade de um algoritmo de SLAM como uma maneira de se elimi-
nar esses erros antes que eles se acumulem a ponto de invalidar o resultado final.

5.1.2. FastSLAM
Dentro do ambiente Gazebo foi construdo um percurso fechado (Figura 5.4a) para a navega-
o do rob, composto por diversos corredores e com postes espalhados pelo ambiente que
agem como marcos pr-estabelecidos, cujas posies no so conhecidas pelo rob no incio
da navegao. A Figura 5.4b mostra o resultado de localizao e mapeamento quando o mo-
73

delo de erros no utilizado, ou seja, quando os sensores fornecem resultados exatos. O rob
iniciou a navegao no ponto indicado na Figura 5.4a e se deslocou inicialmente para a direi-
ta, percorrendo os corredores at retornar a posio inicial, em um percurso aproximado de
150 metros. O mapa mtrico construdo a partir das informaes do laser inferior e o mapa
de caractersticas (que representa os marcos como crculos amarelos) construdo a partir das
informaes do laser superior.


(a) (b)
Figura 5.4 - Primeiro percurso virtual.
(a) Mapa original (b) Localizao e mapeamento sem erros


Como j era de se esperar, os resultados de localizao e mapeamento obtidos se aproxima-
ram muito da realidade, limitados apenas pelos erros de aproximao que tanto o simulador
como o algoritmo possuem. Em seguida, o modelo de erros dos sensores (odometria e laser)
foi adicionado e o rob percorreu novamente a trajetria definida. Durante essa navegao foi
utilizada a informao exata de localizao de forma a impedir a coliso e permitir que o per-
curso fosse completado, enquanto a odometria era submetida ao acmulo de erros.


(a) (b)
Figura 5.5 - Localizao e mapeamento com erros no primeiro percurso virtual.
(a) Localizao com erros (b) Mapeamento com erros
74

Pode-se perceber claramente a influncia que os erros possuem sobre os resultados finais de
localizao e mapeamento. O acmulo de erros de odometria se reflete na incapacidade do
rob de retornar at o ponto inicial depois de completar a trajetria proposta (Figura 5.5a). A
parcela dos erros de mapeamento referente impreciso do laser, por no ser cumulativa, p-
de ser eliminada pela abordagem probabilstica utilizada no mapa mtrico, gerando uma alta
definio nos contornos das paredes que foram mapeadas. Contudo, a parcela dos erros de
mapeamento referente impreciso de localizao do rob no pde ser eliminada, e os erros
de localizao se propagaram para o mapa, refletindo-se na falta de paralelismo entre corredo-
res e repetio de estruturas (Figura 5.5b).
Esse mesmo percurso foi realizado novamente, utilizando inicialmente o FastSLAM 1.0 e de-
pois o FastSLAM 2.0, e os resultados so mostrados na Figura 5.6. Em ambos os algoritmos
foi incorporado tambm um sistema de eliminao de marcos gerados por erros de correspon-
dncia que atribui um ndice de existncia para cada um dos marcos armazenados. Sempre
que um marco observado o seu ndice aumenta, e quando a sua posio se encontra dentro
da rea dos sensores e ela no observada o ndice diminui. Caso se torne negativo o marco
excludo do mapa e no mais utilizado no FastSLAM.

(a) (b)
Figura 5.6 - Resultados do FastSLAM no primeiro percurso.
(a) FastSLAM 1.0 (50 partculas) (b) FastSLAM 2.0 (10 partculas)


A melhoria nos resultados obtidos na Figura 5.6 substancial, mostrando que um algoritmo
de SLAM realmente necessrio em tarefas de localizao e mapeamento simultneos que
apresentam erros que no podem ser modelados. O mapa resultante e a trajetria se mostram
muito prximos da realidade (Figura 5.4b) e podem ser utilizados em aplicaes posteriores
que requerem resultados precisos. Em especial, pode-se perceber que o rob comeou a per-
correr o corredor inferior esquerdo de maneira desalinhada, mas to logo reconheceu um
75

marco ele conseguiu recuperar a preciso na sua localizao e se alinhar com o corredor j
mapeado. Como esperado o FastSLAM 2.0 no aumentou a qualidade dos resultados, mas
sim permitiu que uma mesma qualidade pudesse ser obtida com menos partculas. Testes rea-
lizados com conjuntos maiores de partculas em ambos os algoritmos mostraram resultados
semelhantes, indicando que a Figura 5.6 a melhor estimativa que o FastSLAM consegue
fornecer para a localizao e mapeamento de acordo com as condies de erro estabelecidas e
a maneira como ele aborda o problema.

(a) (b)

(c) (d)
Figura 5.7 - Segundo percurso virtual.
(a) Mapa original (b)Localizao e mapeamento sem erros
(c) Localizao com erros (d) Mapeamento com erros


Para testar os limites do FastSLAM foi construdo (Figura 5.7) um outro ambiente virtual,
com um percurso de navegao aproximadamente dez vezes maior (1.5 km) e com significa-
tivamente mais marcos. O dimetro de cada um dos postes utilizados como marcos tambm
76

foi aumentado, gerando uma maior impreciso quanto sua posio ao ser detectada em dife-
rentes ngulos. Adicionalmente, como um desafio para o SLAM foi includo um corredor
(extremo superior, com entrada pelo lado esquerdo) onde no h nenhum marco para ser de-
tectado. Enquanto est atravessando esse corredor nenhuma informao ser incorporada s
estimativas do rob, e os erros de localizao e mapeamento se acumularo at que o corredor
termine e ele possa voltar a detectar marcos e refinar suas estimativas. Espera-se que nesse
momento o rob consiga recuperar a preciso na sua localizao e tambm corrigir as estima-
tivas das posies dos observados antes dessa convergncia ocorrer.
Novamente, os resultados de localizao e mapeamento obtidos com o uso direto da informa-
o coletada pelos sensores do rob servem apenas para reiterar a necessidade de se utilizar
algoritmos de SLAM nessas situaes. O mesmo percurso foi realizado novamente, agora
com o FastSLAM 1.0 e 2.0, e os resultados so mostrados na Figura 5.8.


(a) (b)
Figura 5.8 - Resultados do FastSLAM no segundo percurso.
(a) FastSLAM 1.0 (50 partculas) (b) FastSLAM 2.0 (50 partculas)


Pode-se perceber que at o incio do corredor os erros referentes s estimativas de localizao
e mapeamento se mantinham estveis e de acordo com aqueles obtidos no percurso anterior,
mesmo levando em considerao uma navegao mais prolongada. Contudo, ao sair do cor-
redor o FastSLAM 1.0 (Figura 5.8a) no foi capaz de recuperar a preciso de localizao a
partir dos marcos observados devido baixa caracterizao que eles possuem no sistema de
deteco utilizado. Essa caracterizao feita tendo como base a posio do marco no ambi-
ente relativamente ao rob, e por isso erros tanto de localizao quanto de mapeamento
77

dificultam a correspondncia. Ao sair do corredor a localizao do rob havia acumulado tan-
tos erros que ele no conseguiu reconhecer os marcos observados, e ao invs disso comeou a
gerar um outro conjunto de marcos, eliminando aqueles que estavam corretos atravs do sis-
tema de verificao de existncia e passando a se orientar a partir das correspondncias
erradas. Esse erro ento se consolidou e se propagou pelo restante da navegao, criando uma
inconsistncia entre os resultados obtidos antes e depois do corredor ter sido atravessado, que
se reflete na repetio de estruturas observadas nesses dois instantes.
J o FastSLAM 2.0 conseguiu recuperar a preciso (Figura 5.8b) depois que o rob atravessou
o corredor, e com isso manter a consistncia de resultados durante todo o perodo de navega-
o. Isso se deve sua maior eficincia na representao da distribuio de probabilidades de
localizao do rob, que fez com que ele conseguisse propagar o estado correto a partir de um
pequeno conjunto de partculas que aleatoriamente se mantiveram dentro da tolerncia de re-
conhecimento de marcos estabelecida. Essas partculas conseguiram reconhecer os marcos
observados e refinar as suas hipteses de localizao e mapeamento, e ao receberem pesos
maiores se propagaram para as iteraes posteriores enquanto aquelas com correspondncias
erradas eram eliminadas. A utilizao de um maior nmero de partculas aumenta a probabi-
lidade de restar um conjunto dentro dessa regio aps a navegao cega e o acmulo de erros,
e testes realizados mostraram que o FastSLAM 1.0 consegue manter a preciso com conjuntos
de pelo menos 200 partculas.
Os resultados obtidos nessa etapa validam o FastSLAM como uma soluo para o problema
de se incorporar as informaes obtidas a partir dos sensores do rob s suas estimativas de
localizao e mapeamento de maneira a eliminar os erros acumulados durante a navegao, e
permitiram a sua utilizao no algoritmo final proposto. A substituio do sistema de sensori-
amento a laser pelo sistema de viso omnidirecional trouxe uma srie de benefcios que
eliminou grande parte das dificuldades encontradas nos testes preliminares aqui apresentados,
permitindo a obteno de resultados mais precisos em um conjunto maior de situaes e apli-
caes. Um sistema de viso permite a obteno de marcos naturais, eliminando a necessidade
de posicionar estruturas especficas no ambiente previamente navegao e aumentando a
quantidade de informaes que o rob coleta a cada iterao. A caracterizao de marcos que
uma imagem proporciona permite uma correspondncia mais robusta que no depende das
estimativas de localizao e mapeamento, e com isso o rob torna-se capaz de se recuperar
mais facilmente de situaes de alta impreciso.
78

5.2. Auxlio Visual Omnidirecional
Os primeiros testes realizados com o SIFT foram feitos tendo como base imagens convencio-
nais, dado que esse algoritmo foi inicialmente desenvolvido para esse tipo de imagem e
depois modificado para outros tipos de geometria. Foram realizados testes de extrao, des-
crio e correspondncia de caractersticas, tendo como base os parmetros apresentados por
(Lowe; 2004), onde so escolhidos por gerarem resultados eficientes e estveis em uma gran-
de gama de aplicaes. Posteriormente os mesmos testes foram realizados nas imagens
omnidirecionais que seriam utilizadas na soluo final, e esses parmetros foram modificados
visando a obteno de melhores resultados nessas condies. Os algoritmos de triangulao e
determinao de marcos, por dependerem diretamente da geometria do sistema de viso, fo-
ram implementados diretamente em imagens omnidirecionais j visando a sua utilizao nos
testes finais.

5.2.1. Imagens Convencionais
Os testes iniciais de deteco e extrao de caractersticas em imagens convencionais foram
realizados com o auxlio de imagens de figuras geomtricas, como uma forma de se reconhe-
cer se as caractersticas estavam sendo detectados de maneira correta. Nessas figuras simples
possvel prever onde elas se localizaro, e com isso julgar se o resultado final consistente.
Um exemplo de extrao de caractersticas em figuras geomtricas mostrado a seguir (Figu-
ra 5.9), onde os pontos vermelhos indicam as caractersticas extradas.

Figura 5.9 - Extrao de caractersticas em formas geomtricas.
79

.
possvel perceber a consistncia entre as caractersticas que compem cada um dos objetos
da imagem. Crculos so caracterizados unicamente pelo seu centro, e conforme se alonga em
uma elipse passa a ser caracterizado por dois pontos, os seus focos. Quadrados e retngulos
so definidos pelos seus cantos e centro e retngulos muito alongados so tratados como elip-
ses, com o surgimento de dois focos ao invs de um nico centro. Segmentos de reta so
caracterizados em suas extremidades e interseces. Regies vazias localizadas entre dois
objetos podem ser caracterizadas devido suavizao gaussiana que mistura dois objetos em
escalas mais elevadas. Contudo, testes de correspondncia entre caractersticas coletadas nes-
se tipo de imagem no se mostraram promissores, devido sua escassez e semelhana entre
as caractersticas de dois objetos geomtricos simples, o que gera uma grande quantidade de
correspondncias erradas.
Para a obteno de imagens reais do ambiente para testes foi utilizada uma webcam comum,
que coletava imagens de tamanho 320x240 pixels utilizadas diretamente pelo SIFT, mantendo
os mesmos parmetros utilizados anteriormente. A Figura 5.10 mostra as etapas de extrao
de caractersticas e atribuio de orientao e magnitude (o sentido das setas indica a orienta-
o e o tamanho, a magnitude). Pontos com mais de uma seta representam regies que se
multiplicaram durante a etapa de atribuio de orientao realizada com o seu histograma lo-
cal, dando origem a mais de uma caracterstica.


(a) (b)
Figura 5.10 - Extrao de caractersticas em imagens convencionais.
(a) Caractersticas extradas (b) Magnitude e orientao

Cada uma dessas caractersticas foi descrita para correspondncia posterior, e como durante a
navegao supe-se que os objetos permanecero imveis e apenas o rob se movimentar, a
maioria dos testes foi realizada em ambientes estticos, movimentando apenas a cmera de
forma a obter imagens dos mesmos objetos em diferentes pontos de vista. A Figura 5.11 mos-
80

tra o resultado de correspondncia para alguns objetos escolhidos manualmente na imagem
esquerda (caractersticas limitadas pelos retngulos azuis), com as linhas verdes indicando as
correspondncias realizadas com a imagem direita. Todo o processo de extrao, descrio
e correspondncia foi realizado em aproximadamente 1.2 segundos, e possvel perceber que
o SIFT consegue resultados precisos nessa tarefa.

Figura 5.11 - Correspondncia entre objetos.


Outros testes de correspondncia de objetos foram realizados, agora considerando efeitos co-
mo ocluso e mudana de disposio dos objetos, como mostrado na Figura 5.12.
Inicialmente o algoritmo recebeu uma imagem isolada de cada um dos objetos que ele deveria
procurar e extraiu as caractersticas que os compem, agrupando-os em conjuntos que repre-
sentam cada um dos objetos em especfico.


Figura 5.12 - Reconhecimento de objetos.
81

Dessa forma, ao receber outra imagem do ambiente o SIFT pode procurar por esse padro e
reconhecer cada um dos objetos de uma forma muito mais precisa do que seria feito caso ele
estivesse correspondendo caractersticas isoladamente. O algoritmo final utilizou um proces-
so semelhante, com a diferena que no h nenhuma informao inicial referente natureza
dos objetos que sero utilizados, eles so determinados a partir das prprias imagens coletadas
de maneira a eliminar a necessidade de conhecimento prvio do ambiente e aumentar a gene-
ricidade do algoritmo. Ao corresponder uma determinada quantidade de caractersticas (trs,
como proposto por Lowe) o objeto considerado correspondido e a sua forma passa por uma
transformao que visa orient-lo de acordo com sua projeo na imagem naquele instante,
dando origem aos quadrilteros que delimitam a sua posio na imagem. Caractersticas no
correspondidas pertencentes ao objeto que so mantidas para correspondncias posteriores e
so utilizadas para o clculo espacial da deformao.

5.2.2. Imagens Omnidirecionais
O prximo passo foi a implementao do algoritmo em imagens omnidirecionais, obtidas a
partir de um sistema de viso (Figura 5.13a) que utiliza um espelho hiperblico usinado em
um torno de preciso (Figura 5.13b). O sistema montado sobre o rob de maneira a coinci-
dir com o seu eixo de rotao, ou seja, a cmera no se desloca quando o rob rotaciona,
apenas gira junto com ele. A geometria do espelho permite que o rob observe objetos arbi-
trariamente distantes, sendo limitado apenas por regies de ocluso e pela resoluo que o
sistema omnidirecional apresenta e que se degrada conforme se aproxima das bordas.

(a) (b)
Figura 5.13 - Sistema de viso omnidirecional (Grassi Jr., Okamoto Jr.; 2006).
(a) Sistema montado (b) Espelho hiperblico utilizado
82

Esse sistema foi calibrado a partir da determinao de pontos na imagem cujas posies no
ambiente so conhecidas e procurando-se minimizar a distncia entre as posies calculadas e
as reais atravs da modificao dos parmetros relevantes. A Figura 5.14 mostra um resulta-
do de calibrao usando como base o raio do rob, o raio mximo do espelho hiperblico e o
limite inferior de alguns objetos espalhados no ambiente a distncias conhecidas.

Figura 5.14 - Calibrao do espelho.


Os resultados de extrao de caractersticas e atribuio de magnitude e orientao em ima-
gens omnidirecionais obtidas a partir desse sistema so mostrados na Figura 5.15. As regies
em preto internas e externas representam regies no relevantes da imagem (a reflexo da
cmera e o suporte do espelho, respectivamente) que foram removidas para evitar o surgimen-
to de caractersticas que no representam o ambiente.

(a) (b)
Figura 5.15 - Extrao de caractersticas em imagens omnidirecionais.
(a) Extrao de caractersticas (b) Orientao e magnitude
83

Na Figura 5.15a possvel perceber que uma imagem omnidirecional continua gerando uma
grande quantidade de caractersticas para cada um dos objetos que a compem, e eles se dis-
tribuem de uma maneira similar ao que acontece em imagens convencionais. A diferena que
uma imagem omnidirecional gera sobre o algoritmo de SIFT em relao a outros tipos de i-
magem est principalmente na orientao das suas caractersticas, que possuem uma
tendncia a apontar radialmente em relao ao centro da imagem, seja para fora ou para den-
tro, como mostrado na Figura 5.15b.
Na Figura 5.16 apresentado um resultado de correspondncias entre imagens omnidirecio-
nais, da mesma forma que foi feito na Figura 5.11. O ambiente permaneceu esttico e a
cmera se movimentou paralelamente caixa, percorrendo aproximadamente 3 metros e mu-
dando em 90 o seu ngulo de viso em relao a ela. Todas as caractersticas extradas da
imagem da esquerda foram comparadas com todas aquelas obtidas na imagem da esquerda em
busca de correspondncia, e foram escolhidas algumas regies (delimitadas pelos quadrados
azuis na imagem esquerda) para representar as correspondncias realizadas (indicadas pelas
linhas verdes que conectam caractersticas). Como possvel perceber, a qualidade dos resul-
tados de correspondncia entre objetos em imagens omnidirecionais similar quela obtida
quando so utilizadas imagens convencionais.

Figura 5.16 - Correspondncia entre objetos em imagens omnidirecionais.


A Figura 5.17 apresenta os resultados obtidos com o algoritmo de determinao de marcos
que agrupa as caractersticas extradas da imagem em busca de grupos que possam ser corres-
pondidos conjuntamente, visando diminuir a probabilidade de erros. Os crculos verdes
84

indicam as caractersticas extradas da imagem que foram correspondidas com aquelas arma-
zenadas no mapa do rob, e os crculos amarelos so marcos adicionados ao mapa naquele
instante. Os retngulos verdes indicam os conjuntos de marcos que pertencem a um mesmo
objeto, determinado pelo rob a partir de informaes de contraste e distncia entre os seus
pixels. As imagens mostradas esto separadas por um intervalo de 2 segundos (outras ima-
gens foram obtidas e processadas nesse intervalo).

Figura 5.17 - Deteco de marcos em imagens seqenciais (intervalo de 2 segundos entre frames).

A correspondncia entre objetos obtida na Figura 5.16 e a determinao de marcos apresenta-
da na Figura 5.17 validam a utilizao do SIFT como um mtodo de se extrair e corresponder
marcos no ambiente que possam ser utilizados pelo rob durante a navegao. Esse mesmo
sistema de viso foi utilizado nos testes finais, no sendo necessria nenhuma alterao. Du-
rante a navegao as imagens omnidirecionais obtidas estaro vinculadas a uma localizao (a
do rob no instante em que a imagem foi coletada), e o conhecimento dessa localizao aliado
com a informao da orientao do marco em relao a essa localizao permitem a triangu-
lao, e com isso a estimao da posio do marco no ambiente e da localizao do rob.
85

5.3. SLAM com Auxlio Visual Omnidirecional
A ltima etapa de implementao realizada nesse trabalho constituiu-se na unio dos dois al-
goritmos apresentados anteriormente, o FastSLAM e o SIFT, em um nico algoritmo capaz
de cumprir todas as tarefas necessrias para se resolver o problema do SLAM (obter informa-
es e incorpor-las s estimativas) da maneira como apresentado no captulo anterior. Foram
utilizados dois robs, um Magellan Pro (Figura 5.18a) e um Pioneer 3AT (Figura 5.18b), que
navegaram percursos distintos. Procurou-se com isso testar a capacidade do algoritmo de li-
dar com diferentes situaes sem a necessidade de alteraes em seu cdigo, visando a
obteno de uma soluo verdadeiramente genrica para o problema do SLAM que no de-
penda da plataforma utilizada.
Sobre ambos os robs foi montado o mesmo sistema de viso omnidirectional, a ambos pos-
suem tambm um sistema de odometria que fornece estimativas incrementais de localizao.
O mapeamento mtrico no Magellan Pro foi feito com sensores de sonar (16 sensores espa-
lhados igualmente ao redor do rob com um alcance mximo de 4 metros) enquanto o Pioneer
3AT utilizou separadamente sensores de sonar (12 espalhados igualmente nas partes frontal e
traseira e 2 em cada lado, todos com alcance mximo de 5 metros) e um sensor laser (varredu-
ra de 180 frente do rob, com resoluo de 0.5 e alcance mximo definido de 30 metros).

(a) (b)
Figura 5.18 - Robs utilizados nos experimentos.
(a) Magellan Pro (b) Pioneer 3AT

Os testes foram realizados em percursos montados dentro do LPA (Laboratrio de Percepo
Avanada), ao qual pertencem os robs e onde esse trabalho foi conduzido. O processamento
86

foi realizado em um computador externo aos robs (um Pentium IV 2.0 GHz Core 2 Duo com
Ubuntu 7.10) e a comunicao foi feita a partir de uma rede wireless (responsvel pelo envio
e recebimento de dados) e um transmissor via rdio (responsvel pelo envio de imagens em
uma estrutura CORBA). A navegao foi feita manualmente nas situaes em que o algorit-
mo de SLAM no era utilizado, devido ao acmulo de erros odomtricos que impedia uma
navegao segura, e de maneira autnoma nas situaes em que esses erros eram tratados pelo
algoritmo proposto. O processamento de imagens e construo de mapas foi feito com o au-
xlio das bibliotecas do OpenCV, e a comunicao entre programa e rob foi feita atravs do
Player, instalado nos computadores embarcados do rob e acessado externamente pela rede
de comunicao.
Os primeiros testes foram feitos com o MagellanPro, e para isso foi construda uma pista de
testes (Figura 5.19) por onde o rob navegou enquanto eram coletados em intervalos regulares
dados fornecidos pelo seu sistema de viso, odometria e sonares. Em um percurso de apro-
ximadamente 40 metros com uma velocidade mxima de 0.2 m/s foram coletados 542
conjuntos de informao. Para testar a consistncia de localizao e mapeamento em diferen-
tes instantes o rob atravessou vrias vezes os mesmos corredores, gerando diferentes
conjuntos de dados para uma mesma regio que deveriam ser correspondidos. Os objetos que
compunham a pista de testes e o laboratrio (e que seriam utilizados pelo sistema de viso
para a determinao de marcos) permaneceram estticos durante a navegao, mas permitiu-
se que houvesse movimentao natural de pessoas.


(a) (b)
Figura 5.19 - Pista de testes para o Magellan Pro.
(a) Foto (b) Mapa mtrico da pista

87

Esse banco de dados de informaes construdo foi processado off-line, e tentou-se manter o
tempo de processamento o mais prximo possvel do tempo de navegao, de maneira a per-
mitir que o algoritmo pudesse ser usado on-line durante a movimentao do rob pelo
ambiente. O tempo necessrio para o rob completar o percurso foi de aproximadamente 300
segundos, e o tempo de processamento do cdigo (levando em considerao a paralelizao
de algoritmos que fez com que a informao de marcos no fosse utilizada em todas as itera-
es) foi de 268 segundos, indicando que seria possvel process-lo iterativamente durante a
navegao. A Figura 5.20 apresenta os resultados obtidos nesse processamento de dados.



(a) (b) (c)
Figura 5.20 - Localizao e mapeamento no primeiro percurso real.
(a) Sem SLAM (b) Com SLAM (c) SLAM e Mapeamento por Caractersticas

A Figura 5.20a mostra os resultados de localizao e o mapa mtrico construdo a partir dos
dados coletados quando o algoritmo de SLAM proposto no utilizado. Pode-se perceber
que os erros se acumulam de maneira que, quando o rob atravessa novamente os corredores
superiores ele j no consegue reconhec-los e os repete no mapa, assim como torna a caixa
central superior irreconhecvel. A utilizao desses dados tambm faria com que o rob no
conseguisse completar o percurso de maneira autnoma, pois ele colidiria com essa caixa co-
mo indicado pela sua odometria. A resoluo do mapeamento mtrico se deve utilizao
de sensores de sonar, que possuem uma alta disperso angular e so imprecisos radialmente,
criando uma grande quantidade de falsos negativos que impede a definio correta de bordas
e regies transversais ao movimento do rob, como o caso dos cantos do percurso.
88

A Figura 5.20b mostra os resultados de localizao (linha vermelha) e o mapa mtrico cons-
trudo a partir deles quando o algoritmo de SLAM proposto utilizado, comparando-os com a
localizao obtida originalmente (linha azul). Pode-se perceber que o alinhamento de trajet-
rias e corredores muito mais pronunciado, indicando que o rob foi capaz de reconhecer as
regies por onde j passou e com isso manter a consistncia de seu mapeamento durante toda
a navegao. As alteraes bruscas de localizao se devem ao acmulo de incertezas durante
os intervalos em que no h informao visual, que faz com que as partculas se espalhem por
uma rea maior do ambiente. Quando a informao visual obtida os pesos das partculas
so alterados e pode ser que uma partcula distante seja eleita a mais provvel, fazendo com
que o rob altere bruscamente a sua estimativa de localizao. A Figura 5.20c apresenta o
mapeamento por caractersticas dos marcos utilizados pelo rob, indicados por crculos ama-
relos (so apresentados apenas os marcos que foram correspondidos durante a navegao).
possvel perceber claramente alguns aglomerados de marcos em determinadas regies do am-
biente onde existem estruturas, mas no foi possvel determinar exatamente a quais objetos
pertencem, pois o rob decide quais estruturas utilizar.
Em seguida foram realizados testes com o Pioneer 3AT, para o qual foi montada uma segunda
pista de testes que foi percorrida de diversas maneiras em trajetrias de aproximadamente 70
metros. Nesses testes o algoritmo de SLAM foi utilizado simultaneamente navegao e os
resultados obtidos a cada instante eram utilizados pelo rob no clculo da sua trajetria.


(a) (b)
Figura 5.21 - Pista de testes para o Pioneer 3AT.
(a) Foto (b) Mapa mtrico da pista
89

Nesses testes o processamento dos dados foi feito on-line, ou seja, no houve armazenamento
dos dados para utilizao posterior, as informaes fornecidas pelo sistema de odometria, vi-
so e sensores de distncia eram coletadas, processadas pelo algoritmo de SLAM e
descartadas, enquanto as estimativas obtidas eram utilizadas pelo rob para orientar a sua na-
vegao. Inicialmente foram utilizados os sensores de sonar para o mapeamento mtrico, e os
resultados so indicados na Figura 5.22. Pode-se perceber claramente o desalinhamento entre
as regies superiores e inferiores do percurso quando a navegao ocorreu sem o auxlio visu-
al. Esse desalinhamento foi praticamente eliminado com o algoritmo de SLAM proposto, que
manteve a consistncia das estimativas durante toda a navegao e permitiu que o rob retor-
nasse para o ponto de partida com uma maior preciso. O mapeamento por caractersticas
mostra diversos aglomerados de marcos ao redor do percurso e em alguns dos obstculos uti-
lizados na sua construo, indicando uma consistncia entre a posio dos marcos extrados e
as estruturas existentes no ambiente.


(a) (b) (c)
Figura 5.22 - Localizao e mapeamento no segundo percurso real (sonar).
(a) Sem SLAM (b) Com SLAM (c) SLAM e Mapeamento por Caractersticas

Em seguida, foram realizados testes de mapeamento mtrico com o sensor laser montado so-
bre o Pioneer 3AT. A utilizao desse tipo de sensor permitiu uma definio muito maior das
paredes que compunham o percurso, melhorando consideravelmente a qualidade do mapa m-
trico final obtido (Figura 5.23). O desalinhamento entre estruturas observadas em instantes
90

diferentes de navegao mostram o acmulo de erros de odometria que impede o rob de re-
tornar sua posio inicial depois de cumprir o percurso. Especialmente na regio superior
do mapa, pode-se perceber o desalinhamento da parede diagonal direita e da parede vertical
esquerda, e a dificuldade em se caracterizar as caixas que se encontram no meio do percurso
devido ao acmulo de informaes conflitantes. Uma navegao autnoma baseada nessas
informaes novamente terminaria em coliso, impedindo que o percurso fosse completado.


(a) (b) (c)
Figura 5.23 - Localizao e mapeamento no segundo percurso real (laser).
(a) Sem SLAM (b) Com SLAM (c) SLAM e Mapeamento por Caractersticas

A utilizao do algoritmo de SLAM gerou um grande ganho de qualidade nas estimativas uti-
lizadas durante a navegao, praticamente eliminando qualquer tipo de desalinhamento e
fazendo com que a trajetria do rob fosse consistente durante todo o percurso. Em especial,
pode-se perceber que o rob foi capaz de retornar exatamente para o ponto inicial, indicando
que ele manteve a preciso de localizao e de mapeamento durante todo o perodo de nave-
gao. Novamente, os saltos bruscos nas estimativas de localizao se devem a correes de
erros acumulados nos instantes em que a informao visual no pde ser obtida. O mapea-
mento por caractersticas gerou uma grande quantidade de marcos em objetos posicionados
dentro do percurso, indicando consistncia de resultados tambm nesse tipo de mapa.
91

6. Concluso
Esse trabalho apresentou uma soluo para o problema do SLAM que faz uso de um sensor de
viso omnidirecional para detectar e reconhecer marcos no ambiente que o rob possa utilizar
como pontos de referncia para auxiliar a sua navegao por ambientes desconhecidos. Pro-
curou-se com isso eliminar os erros de localizao e mapeamento gerados por imprecises
nos sensores utilizados, que de outra forma se acumulariam e invalidariam os resultados finais
obtidos. Um sensor de viso omnidirecional traz uma srie de benefcios que foram explora-
dos visando a obteno de uma soluo robusta que possa ser utilizada em qualquer tipo de
ambiente, sem a necessidade de alteraes prvias ou o conhecimento de suas estruturas.
A obteno de marcos no ambiente feita atravs do algoritmo de SIFT utilizado diretamente
sobre as imagens omnidirecionais, gerando caractersticas que so agrupadas em conjuntos
no-semnticos que permitem uma maior estabilidade nos resultados de correspondncia e um
menor custo computacional. A incorporao dessa informao nas estimativas de localizao
e mapeamento do rob feita atravs do FastSLAM, cujo mtodo de armazenagem de marcos
foi modificado visando uma maior eficincia na manipulao da grande quantidade de infor-
mao que uma imagem omnidirecional pode gerar. O conhecimento da posio do rob no
instante em que cada imagem foi obtida permite a triangulao das informaes obtidas na
correspondncia e o clculo da posio tridimensional da posio dos objetos ao seu redor.
As ferramentas utilizadas nessa soluo foram implementadas inicialmente em ambientes
controlados procurando com isso validar a capacidade de cada uma delas em resolver o pro-
blema ao qual se propem. O mtodo de extrao de marcos apresentado foi implementado
inicialmente em imagens convencionais e posteriormente adaptado para o sistema omnidire-
cional final. O algoritmo de SLAM proposto foi implementado em um simulador
tridimensional e foram realizados testes que validam a sua capacidade de eliminar os erros
acumulados de localizao e mapeamento em situaes semelhantes quelas encontradas em
situaes reais de navegao. Para se obter resultados on-line o processamento do SIFT foi
realizado paralelamente ao processo de estimao dos estados do rob, e seus resultados so
incorporados sempre que possvel para eliminar os erros acumulados. Essa estrutura permite
a incorporao imediata de novas informaes obtidas a partir de outros sensores, aumentan-
do a quantidade de dados que o rob possui para resolver o problema do SLAM sem
92

comprometer a sua capacidade de navegao. Outra possibilidade a fuso sensorial entre
diferentes sensores, criando vnculos entre suas informaes de maneira proporcionar uma
melhor caracterizao do ambiente.
Os testes finais com os robs apresentados mostram que a utilizao de sensores de viso om-
nidirecional uma soluo atraente para a obteno da informao necessria para se resolver
o problema do SLAM em diferentes situaes por perodos de navegao arbitrariamente
grandes. A premissa bsica de que no h nenhum conhecimento prvio do ambiente foi
mantida, e o algoritmo proposto nesse trabalho pode, em princpio, ser utilizado em qualquer
tipo de ambiente. As restries utilizadas no processo de determinao de marcos a partir de
caractersticas podem ser livremente alteradas, tanto em relao aos seus parmetros quanto
sua natureza. Diferentes tipos de cmera, geometria ou ambiente podem possuir determina-
dos padres que sero explorados de maneira mais eficiente com o auxlio de parmetros
especficos, aumentando a qualidade dos resultados finais.

93

7. Referncias Bibliogrficas
Akihiko, T.; Imiya, A. A Panoramic Image Transform of Omnidirectional Images Using
Discrete Geometry Techniques. Second International Symposium on 3D Data Processing,
Visualization and Transmission (DPVT). 2004.
Altermatt, M.; Martinelli, A.; Tomatis, N.; Siegwart, R. SLAM With Corner Features
Based on a Relative Map. Proceedings of IEEE, International Conference on Intelligent
Robots and Systems. Vol: 2. Pags: 1053-1058. 2004.
Andreasson, H.; Duckett, T. Topological Localization for Mobile Robots Using
Omnidirectional Vision and Local Features. Proceedings of 5th Symposium on Intelligent
Autonomous Vehicles. Julho 2004.
Araneda, A. Statistical Inference in Mapping and Localization for Mobile Robots. PhD
Thesis. Dept. Statistics, Carnegie Mellon University. 2004.
Arya, S.; Mount, D. Approximate Nearest Neighbour Queries in Fixed Dimensions.
Fourth Annual Symposium on Discrete Algorithms (SODA). Pags: 271-280. 1993.
Asada, H.; Brady, M. The Curvature Primal Sketch. IEEE Transactions on Pattern
Analysis and Machine Intelligence. Vol: 8. Num: 2. 1986.
Asmar, D.; Zelek, J.; Abdallah, S. Tree Trunks as Landmarks for Outdoor Vision SLAM.
Conference on Computer Vision and Pattern Recognition Workshop. Vol: 17. Num: 22. Pags:
196-206. Junho 2006.
Avots, D.; Thibaux, R.; Thrun, S. A Probabilistic Technique for Simultaneous
Localization and Door State Estimation with Mobile Robots in Dynamic Environments.
Proceedings of the Conference on Intelligent Robots and Systems (IROS). Lausanne, Suia,
2002.
Bailey, T.; Nieto, J.; Nebot, E. Consistency of the FastSLAM Algorithm. Proceedings of
IEEE, International Conference on Robotics and Automation (ICRA). Pags: 424-429. Maio
2006.
Bailey, T. Mobile Robot Localization and Mapping in Extensive Outdoor Environments.
PhD Thesis. University of Sydney. Sydney, Austrlia, 2002.
Baker, S.; Nayar, S. A Theory of Catadioptric Image Formation. International Conference
for Computer Vision. Pags: 35-42. 1998.
Balch, T.; Arkin, R. Avoiding the Past: A Simple but Effective Strategy for Reactive
Navigation. Proceedings of IEEE, International Conference on Robotics and Automation.
Atlanta, Maio 1993.
Ballard, D. Generalizing the Hough Transform to Detect Arbitrary Shapes. Pattern
Recognition. Vol: 13. Num: 2. Pags: 111-122. 1981.
Beis, J.; Lowe, D. Shape Indexing Using Approximate Nearest-Neighbour Search in High
Dimensional Spaces. Conference on Computer Vision and Pattern Recognition. Pags: 1000-
1006. Porto Rico, 1997.
94

Bekris, K.; Glick, M.; Kavraki, L. Evaluation of Algorithms for Bearing-Only SLAM.
Proceedings of IEEE, International Conference on Robotics and Automation. Pags: 1937-
1943. Maio 2006.
Betke, M.; Gurvits, L. Mobile Robot Localization Using Landmarks. Proceedings of IEEE,
Transactions on Robotics and Automation. Vol: 13. Num: 2. Abril 1997.
Bigun, J.; Buf, J. Texture Segmentation by Real and Complex Momentos of the Gabor
Power Spectrum. Progress in Image Analysis and Processing II. Pags: 191-198. 1992.
Brady, M.; Cameron, S.; Durrant-Whyte, H.; Fleck, M.; Forsyth, D.; Noble, A.; Page, I.
Progress Towards a System that Can Acquire Pallets and Clean Warehouses. Fourth
International Symposium of Robotics Research. Pags: 359-374. 1987.
Brezetz, S.; Hebert, P.; Chatila, R.; Devy, M. Uncertain Map Making in Natural
Environments. Proceedings of IEEE, International Conference on Robotics and Automation.
Minneapolis, Minnesota, Abril 1996.
Brooks, R. Symbolic Error Analysis and Robot Planning. International Journal of
Robotics Research. Vol: 1. Num: 4. Pags: 29-68. 1982.
Brown, M.; Lowe, D. Invariant Features from Interest Point Groups. British Machine
Vision Conference. Pags: 656-665. Cardiff, Pas de Gales, 2002.
Burgard, W.; Fox, D.; Thrun, S. Active Mobile Robot Localization. Technical Report D-
53117. Dept. of Computer Science, University of Bonn. 1997.
Buschka, P. An Investigation on Hybrid Maps for Mobile Robots. PhD Thesis.
Institutionen fr Teknik, rebro University. rebro, Sucia, 2006.
Castellanos, J.; Neira, .; Tards, J. Limits to the Consistency of EKF-Based SLAM. 5th
Symposium on Intelligent Autonomous Vehicles (IRAC/EURON). Instituto Superior Tcnico.
Lisboa, Portugal, Julho 2004.
Chatila, R.; Laumond, J. Position Referencing and Consistent World Modelling for
Mobile Robots. Proceedings of IEEE, International Conference on Robotics and Automation.
Pags: 138-145. St. Louis, 1985.
Chong, K.; Kleeman, L. Feature Based Mapping in Real, Large Scale Environments
Using an Ultrasonic Array. International Journal on Robotics Research. Vol: 18. Num: 1.
1999.
Choset, H.; Nagatani, K. Topological Simultaneous Localization and Mapping (SLAM):
Toward Exact Localization Without Explicit Localization. Proceedings of IEEE,
Transactions on Robotics and Automation. Vol: 17. Num: 2. Abril 2001.
Csorba, M. Simultaneous Localization and Map Building. PhD Thesis. University of
Oxford, Robotics Research Group. 1997.
Davis, M.; Vinter, R. Stochastic Modelling and Control. Monographs on Statistics and
Applied Probability. Maio 1985.
Davison, A.; Murray, D. Mobile Robot Localization Using Active Vision. Proceedings of
the 5th European Conference on Computer Vision. Pags: 809-825. Freiburg, Alemanha, 1998.
Davison, A. Real-Time Simultaneous Localization and Mapping with a Single Camera.
International Conference on Computer Vision. Nice, Frana, Outubro 2003.
Dellaert, F.; Fox, D.; Burgard, W.; Thrun, S. Monte Carlo Localization for Mobile Robots.
Internation Conference on Robotics and Automation (ICRA). 1999.
95

Dissanayake, G.; Durrant-Whyte, H.; Bailey, T. A Computationally Efficient Solution to
the Simultaneous Localization and Map Building (SLAM) Problem. Proceedings of
IEEE, International Conference on Robotics and Automation. Vol: 2. Pags: 1009-1014. 2000.
Dissanayake, G.; Newman, P.; Clark, S.; Durrant-Whyte, H.; Csorba, M. A Solution to the
Simultaneous Localization and Map Building (SLAM) Problem. IEEE Transactions on
Robotics and Automation. Vol: 17. Num: 3. Junho 2001.
Duckett, T.; Marsland, S.; Shapiro, J. Fast, Online Learning of Globally ConsistentAps.
Autonomous Robots. Vol: 12. Num: 3. Pags: 287-300. 2002.
Duda, R.; Hart, P. Use of the Hough Transformation to Detect Lines and Curves in
Pictures. Communications of the Association for Computer Machinery. Vol: 15. Num: 1.
Pags: 11-15. 1972.
Durrant-Whyte, H. Uncertain Geometry in Robotics. IEEE Transactions on Robotics and
Automation. Vol: 4. Pags: 23-31. 1988.
Elfes, A. Occupancy Grids: A Probabilistic Framework for Robot Perception and
Navigation. PhD Thesis. Department of Electrical and Computer Engineering, Carnegie
Mellon University. 1989.
Elfes, A. Sonar-Based Real-World Mapping and Navigation. Proceedings of IEEE,
International Journal of Robotics and Automation. Vol: 3. Num: 3. Junho 1987.
Eliazar, A.; Parr, R. DP-SLAM: Fast, Robust Simultaneous Localization and Mapping
Without Predetermined Landmarks. Proceedings of the 16th International Joint Conferenc
on Artificial Intelligence (IJCAI). Acapulco, Mxico, 2003.
Engelson, S.; McDermott, V. Error Correction in Mobile Robot Map Learning.
Proceedings of IEEE, International Conference on Robotics and Automation. Nice, Frana,
Maio 1992.
Ersson, T.; Hu, X. Path Planning and Navigation of Mobile Robots in Unknown
Environments. Proceedings of IEEE, International Robots and Systems (IROS). 2001.
Fitzgibbons, T. Visual-Based Simultaneous Localization and Mapping. PhD Thesis.
University of Sydey. Austrlia, Outubro 2004.
Fox, D.; Burgard, W.; Thrun, S. Markov Localization for Mobile Robots in Dynamic
Environments. Journal of Artificial Intelligence Research. Pags: 391-427. 1999.
Friedman, J.; Bentley, J.; Finkel, R. An Algorithm for Finding Best Matches in
Logarithmic Expected Time. ACM Transactions on Mathematical Software (TOMS). Vol: 3.
Num: 3. Pags: 209-226. Setembro 1977.
Gaspar, J. Omnidirectional Vision for Mobile Robot Navigation. Tese de Doutorado.
Universidade Tcnica de Lisboa, Instituto Superior Tcnico. 2002.
Gluckman, J.; Nayar, S.; Thorek, K. Real-Time Omnidirectional and Panoramic Stereo.
Proceedings of DARPA Image Understanding Workshop. Vol: 1. Pags: 299-303. 1998.
Goedem, T.; Nuttin, M.; Tuytelaars, T.; Gool, L. Omnidirectional Vision Based
Topological Navigation. International Journal of Computer Vision. Springer Netherlands.
Vol: 74. Num: 3. Pags: 219-236. Setembro 2007.
Grassi Jr., J.; Okamoto Jr., J. Development of an Omnidirectional Vision System. Journal
of the Brazilin Society of Mechanical Sciences and Engineering. Vol: 28. Num: 1. Pags: 58-
68. Rio de Janeiro, 2006.
96

Guivant, J.; Nebot, E. Optimization of the Simultaneous Localization and Map Building
Algorithm for Real Time Implementations. Proceedings of IEEE, Transactions of Robotics
and Automation. Vol: 17. Num: 3. Junho 2001.
Guizilini, V.; Okamoto Jr., J.; Corra, F.; Grassi Jr., V. Implementao do DP-SLAM em
Tempo Real para Robs Mveis Usando Sensores Esparsos. 8 Simpsio Brasileiro de
Automao Inteligente (SBAI). Florianpolis SC, Outubro 2007.
Guizilini, V.; Okamoto Jr., J. Viso Estreo Omnidirecional com Espelho Hiperblico
Duplo. 13 Simpsio Internacional de Iniciao Cientifca de So Paulo (SIICUSP). So
Paulo, 2005.
Gutmann, J.; Konolige, K. Incremental Maping of Large Cyclic Environments.
Proceedings of IEEE, International Symposium on Computational Intelligence in Robotics
and Automation. Pags: 318-315. Califrnia, Novembro 1999.
Haehnel, D.; Burgard, W.; Fox, D.; Thrun, S. An Efficient FastSLAM Algorithm for
Generating Maps of Large-Scale Cyclic Environments from Raw Laser Range
Measurements. International conference on Intelligent Robots and Systems. 2003.
Harris, C.; Stephens, M. A Combined Corner and Edge Detector. 4th Alvey Vision
Conference. Pags: 147-151. 1988.
Horswill, I. Polly: A Vision-Based Artificial Agent. Proceedings of National Conference on
Artificial Intelligence. Pags: 824-829. Washington DC, 1993.
Hu, H.; Gu, D. Landmark-Based Navigation of Industrial Mobile Robots. International
Journal of Industry Robot. Vol: 27. Num: 6. Pags: 458-467. 2000.
Ikeda, S.; Miura, J. 3-D Indoor Environment Modeling by a Mobile Robot With
Omnidirectional Stereo and Laser Range Finder. Proceedings of International Conferene
on Intelligent Robots and Systems. Pags: 3435-3440. 2006.
Jensfelt, P. Approaches to Mobile Robot Localization in Indoor Environments. PhD
Thesis in Signal, Sensors and Systems. Royal Institute of Technology SE-10044. Estocolmo,
Sucia, 2001.
Jensfelt, P.; Kristensen, S. Active Global Localization for Mobile Robot Using Multiple
Hypothesis Tracking. Proceedings of IJCAI, Workshop on Reasoning With Uncertainty in
Robot Navigation. Pags: 13-22. Estocolmo, Sucia, 1999.
Jung, I. Simultaneous Localization and Mapping in 3-D Environments With Stereo
Vision. PhD Thesis. CNRS, Toulouse, 2004.
Kadir, T.; Brady, M.; Zisserman, A. An Affine Invariant Method for Selecting Salient
Regions in Images. Proceedings of the 8th European Conference on Computer Vision. Pags:
345-357. Praga, 2004.
Kaess, M.; Dellaert, F. A Markov Chain Monte Carlo Approach to Closing the Loop in
SLAM. Proceedings of IEEE, International Conference on Robotics and Automation (ICRA).
Pags: 643-648. 2005.
Kalman, R. A New Approach to Linear Filtering and Prediction Problems. Transactions
of ASME (Journal of Basic Engineering). Vol: 82. Pags: 35-45. 1960.
Kehagias, A.; Diugash, J.; Singh, S. Range-Only SLAM With Interpolated Range Data.
Technica Report CMU-RI-TR-06-26. Robotics Institute, Carnegie Mellon University. Maio
2006.
97

Kim, J.; Sukkarieh, S. Airborne Simultaneous Localization and Map Building.
Proceedings of IEEE, International Conference on Robotics and Automation. Taipei, Taiwan,
2003.
Kim, J.; Chung, M. SLAM With Omnidirectional Stereo Vision Sensor. Proceedings of
IEEE, International Conference on Intelligent Robots and Systems. Las Vegas, Nevada,
Outubro 2003.
Kleeman, L. Optimal estimation of Position and Heading for Mobile Robots Using
Ultrasonic Beacons and Dead Reckoning. Proceedings of IEEE, International Conference
on Robotics and Automation. Pags: 2582-2587. 1992.
Koenderink, J.; Doorn, A. Representation of Local Geometry in the Visual System.
Biological Cybernetics. Vol: 55. Pags: 367-375. 1987.
Kortenkamp, D.; Bonasso, R.; Murphy, R. AI-Based Mobile Robots: Case Studies of
Successful Robot Systems. MIT Press. 1998.
Kwok, N.; Dissanayake, G. An Efficient Multiple Hypothesis Filter for Bearing-Only
SLAM. Proceedings of IEEE, International Conference on Intelligent Robots and Systems.
Sendai, Japo, 2004.
Lazebnik, S.; Schmid, C.; Ponce, J. Sparse Texture Representation Using Affine-Invariant
Neighbourhoods. Proceedings of the Conference on Computer Vision and Pattern
Recognition. Pags: 319-324. Madison, Wisconsin, USA, 2003.
Ledwich, L.; Williams, S. Reduced SIFT Features for Image Retrieval and Indoor
Localization. Australian Conference on Robotics and Automation. 2004.
Leonard, J.; Feder, H. Decoupled Stochastic Mapping. Technical Report. Massachusetts
Institute of Technology, Marine Robotics Laboratory. 1999.
Leonard, J.; Durrant-Whyte, H. Directed Sonar Sensing for Mobile Robot Navigation.
Kluwer Academic. Boston, MA, 1992.
Leonard, J.; Durrant-Whyte, H.; Cox, I. Dynamic Map Building for an Autonomous
Mobile Robot. International Journal of Robotics Research. Vol: 11. Num: 4. Pags: 89-96.
1992.
Leonard, J.; Rickoski, R.; Newman, P.; Bosse, M. Mapping Partially Observable Features
from Multiple Vantage Points. International Journal of Robotics Research. Vol: 21. Num:
10-11. Pags: 943-975. 2002.
Leonard, J.; Durrant-Whyte, H. Mobile Robot Localization by Tracking Geometric
Beacons. Proceedings of IEEE, Transactions on Robotics and Automation. Vol: 7. Num: 3.
Pags: 376-382. 1991.
Lindeberg, T. Detecting Salient Blob-Like Image Structures and Their Scale With a
Scale-Space Primal Sketch: A Method for Focus-of-Attention. International Journal of
Computer Vision. Vol: 11. Num: 3. Pags: 283-318. 1993.
Lindeberg, T. Scale-Space Theory: A Basic Tool for Analysing Structures at Different
Scales. Journal of Applied Statistics. Vol: 21. Num: 2. Pags: 224-270. 1994.
Liu, J.; Chen, R.; Logvinenko, T. A Theoretical Framework for Sequential Importance
Sampling and Resampling. Sequential Monte Carlo in Practice. Springer-Verlag. Janeiro
2001.
98

Liu, J.; Chen, R. Sequential Monte Carlo Methods for Dynamic Systems. Journalof the
American Statistic Association. Num: 93. 1998.
Lowe, D. Distinctive Image Features from Scale-Invariant Keypoints. International
Journal of Computer Vision. Vol: 60. Num: 2. Pags: 91-110. 2004.
Lowe, D. Object Recognition From Local Scale Invariant Features. Proceedings of the
International Conference on Computer Vision (ICCV). Pags: 1150-1157. 1999.
Lu, F.; Milios, E. Globally Consistent Range Scan Alignmnent for Environment
Mapping. Autonomous Robots. Vol: 4. Pags: 333-349. 1997.
Maybeck, P. Stochastic Models, Estimation and Control. New York Academic. Vol: 1.
1979.
Mikolajczyk, K.; Schmid, C. A Performance Evaluation of Local Descriptors. Proceedings
of IEEE, Transactions on Pattern Analysis and Machine Intelligenc. Vol: 27. Num: 10. Pags:
1615-1630. 2002.
Montemerlo, M.; Thrun, S.; Koller, D.; Wegbreit, B. FastSLAM: A Factored Solution to
the Simultaneous Localization and Mapping Problem. Proceedings of the Association for
the Advancement of Artificial Intelligence. 2002.
Montemerlo, M. FastSLAM: A Factored Solution to the Simultaneous Localization and
Mapping Problem With Unknown Data Association. Phd Thesis. Robotics Institute,
Carnegie Mellon University. Pittsburgh PA, 2003.
Montemerlo, M.; Thrun, S.; Koller, D.; Wegbreit, B. FastSLAM 2.0: An Improved Particle
Filtering Algorithm for Simultaneous Localization and Mapping that Probably
Converges. Proceedings of the 16th International Conference on Artificial Intelligence
(IJCAI). Acapulco, Mxico, 2003.
Moravec, H. Visual Mapping by a Robot Rover. International Joint Conference on
Artificial Intelligence. Pags: 598-600. 1979.
Moutarlier, P.; Chatila, R. Stochastic Multisensory Data Fusion for Mobile Robot
Localization and Environment Modeling. 5th Simposium on Robotics Research. Tquio,
1989.
Murphy, K. Bayesian Map Learning in Dynamic Environments. Neural Information
Processing Systems (NIPS). 1999.
Murray, D.; Little, J. Using Real-Time Stereo Vision for Mobile Robot Navigation.
Autonomous Robots. Vol: 8. Num: 2. Pags: 161-171. 8 2000.
Nalwa, V. A True Omnidirectional Viewer. Technical Report, Bell Lab. Holmdel, 1996.
Nebot, E.; Masson, F.; Guivant, J.; Durrant-Whyte, H. Robust Simultaneous Localization
and Mapping for Very Large Outdoor Environments. Proceedings of the 8th International
Symposium on Experimental Robotics (ISER). 2002.
Negenborn, R. Robotic Localization and Kalman Filters. PhD Thesis. Utrecht University.
2003.
Nieto, J.; Guivant, J.; Nebot, E.; Thrun, S. Real Time Data Association for FastSLAM.
Proceedings of IEEE, International Conference on Robotics and Automation (ICRA). 2003.
Nieto, J.; Guivant, J.; Nebot, E.; Thrun, S. A New Solution to the Simultaneous
Localization and Map Building (SLAM) Problem - The GPF. Department of Mechanical
and Mechatronic Engineering. University of Sydney. Austrlia, 2006.
99

Olson, O. Selecting Landmarks for Localization in Natural Terrain. Autonomous Robos.
Vol: 12. Pags: 201-210. 2002.
Panzieri, S.; Pascucci, F.; Ulivi, G. Vision Based Navigation Using Kalman Approach for
SLAM. Technical Report. Universit'a degli Studi "La Sapienza". 2001.
Peleg, S.; Ben-Erza, M. Stereo Panorama With a Single Camera. Proceedings of Computer
Vision and Pattern Recognition. Pags: 395-401. 1999.
Pierce, D.; Kuipers, B. Learning to Explore and Build Maps. Proceedings of the 12th
National Conference on Artificial Intelligence. MIT Press, Menlo Park. Pags: 1264-1271.
Julho 1994.
Prasser, D.; Wyeth, G. Probabilistic Visual Recognition of Artificial Landmarks for
Simultaneous Localization and Mapping. Proceedings of IEEE, International Conference
on Robotics and Automation. Vol: 1. Num: 14. Pags: 1291-1296. Setembro 2003.
Press, P.; Austin, D. Approaches to Pole Detection Using Ranged Laser Data. Proceedings
of Australasian Conference on Robotics and Automation. 2004.
Rekleitis, I. A Particle Filter Tutorial for Mobile Robot Localization. International
Conference on Robotics and Automation (ICRA). 2003.
Se, S.; Lowe, D.; Little, J. Simultaneous Localization and Map-Building Using Active
Vision. The International Journal of Robotics Research. Vol: 21. Num: 8. Pags: 735-758.
Agosto 2002.
Se, S.; Lowe, D.; Little, J. Vision-Based Mobile Robot Localization and Mapping Using
Scale-Invariant Features. Proceedings of IEEE, International Conference on Robotics and
Automation. Pags: 2051-2058. Coria, 2001.
Shi, J.; Tomasi, C. Good Features to Track. Proceedings of IEEE, Conference on Computer
Vision and Pattern Recognition. Pags: 593-600. 1994.
Simon, J.; Uhlmann, J. A New Extension of the Kalman Filter to Nonlinear Systems.
Proceedings of Aerosense, 11th International Symposium on Aerospace/Defense Sensing,
Simulations and Controls, Multisensor Fusion, Tracking and Resource Management (SPIE).
1997.
Smith, R.; Self, M.; Cheeseman, P. Estimating Uncertain Spatial Relationships in
Robotics. Autonomous Robot Vehicles. Springer. Pags: 167-193. 1990.
Smith, R.; Cheeseman, P. On the Representation and Estimation of Spatial Uncertainty.
International Journal of Robotics Research. Vol: 5. Num: 4. Pags: 56-68. 1986.
Smith, S.; Self, M.; Cheeseman, P. A Stochastic Map for Uncertain Spatial Relationships.
Fourth International Symposium of Robotics Research. Pags: 467-474. 1987.
Stentz, A. Optimal and Efficient Path Planning for Partially-Known Environments.
Proceedings of IEEE, International Conference on Robotics and Automation. Vol: 4. Pags:
3310-3317. San Diego CA, USA, Maio 1994.
Sujan, V.; Meggiolaro, M.; Belo, F. Mobile Robot Localization and Mapping Using Low
Cost Vision Sensors. Springer Tracts in Advanced Robotics. 2005.
Svoboda, T.; Pajdla, T. Epipolar Geometry for Central Catadioptric Cameras.
International Journal of Computer Vision. Vol: 49. Num: 1. 2002.
Tards, J.; Neira, J.; Newman, P.; Leonard, J. Robust Mapping and Localization in Indoor
Environments Using Sonar Data. Technical Report. Num: 4. 2001.
100

Taylor, R. A Synthesis of Manipulator Control Programs from Task-Level
Specifications. Stanford Artificial Intelligence Laboratory Memo. Num: 282. 1976.
Thorpe, C.; Durrant-Whyte, H. Field Robots. Proceedings of the 10th International
Symposium of Robotics Research (ISRR). Lorne, Austrlia, 2001.
Thrun, S. A Probabilistic Online Mapping Algorithm for Teams of Mobile Robots.
International Journal of Robotics Research. Vol: 20. Pags: 335-363. 2001.
Thrun, S.; Montemerlo, M.; Koller, D.; Wegbreit, B.; Nieto, J.; Nebot, E. FastSLAM: an
Efficient Solution to the Simultaneous Localization and Mapping Problem With
Unknown Data Association. Journal of Machine Learning Research. 2004.
Thrun, S. Particle Filter in Robotics. Proceedings of the 17th Annual Conference on
Uncertainty and Artificial Intelligenc (UAI). 2002b.
Thrun, S.; Fox, D.; Burgard, W. Probabilistic Robotics. MIT Press. Cambridge MA, 2005.
Thrun, S. Robotic Mapping: A Survey. Exploring Artificial Intelligence in the New
Millenium. Morgan Kaufmann. 2002a.
Thrun, S.; Montemerlo, M. The GraphSLAM Algorithm With Application to Large-Scale
Mapping of Urban Structures. International Journal of Robotics Research. Vol: 25. Num:
5-6. Pags: 403-430. 2006.
Trucco, E.; Verri, A. Introductory Techniques for 3-D Computer Vision. Prentice Hall
Inc. 1998.
Tuytelaars, T.; Mikolajczyk, K. A Survey on Local Invariant Features. K.U. Leuven &
University of Surrey. Maio 2006.
Wahlren, C.; Duckett, T. Topological Map Building for Mobile Robots Using
Omnidirectional Vision. Proceedings of SWAR, 3th Swedish Workshop on Autonomous
Robotics. Pags: 28-39. Estocolmo, Sucia, 2005.
Welch, G.; Bishop, G. An Introduction to the Kalman Filter. Technical Report, TR 95-041.
University of North Carolina, Department of Computer Science. 1995.
Williams, S. Efficient Solutions to Autonomous Mapping and Navigation Problems. PhD
Thesis. Australian Centre for Field Robotics. 2001.
Witkin, A. Scale-Space Filtering. International Joint Conference on Artificial Intelligence.
Pags: 1019-1022. Karlsruhe, Alemanha, 1983.
Yamauchi, B.; Schultz, A.; Adams, W. Mobile Robot Exploration and Map-Building with
Continuous Exploration. Proceedings of IEEE, International Conference on Robotics and
Automation. Leuven, Blgica, Maio 1998.
Zelinsky, A. A Mobile Robot Exploration Algorithm. Proceedings of IEEE, Transactions
on Robotics and Automation. Vol: 8. Num: 6. Dezembro 1992.
Zhu, Z. Omnidirectional Stereo Vision. Workshop on Omnidirectional Vision. Proceedings
of IEEE, 10th International Conference on Advanced Robotics. Budapeste, Hungria, 2001.

Você também pode gostar