Sunteți pe pagina 1din 114

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 desenvolvimento 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. Agradeo 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 problema 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 procuram eliminar esses erros resolvendo ambos os problemas simultaneamente, utilizando as
informaes de uma etapa para aumentar a preciso dos resultados alcanados na outra e viceversa. Uma das maneiras de se alcanar isso se baseia no estabelecimento de marcos no ambiente 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 extrao 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 navegao. 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 problem 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 accumulate 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 landmarks 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 system 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 robot, 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.4 - Relao entre  e  ............................................................................................... 31

Figura 3.3 - Imagens omnidirecionais com espelhos hiperblicos ........................................... 30

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



Vetor  obtido em um instante   de navegao










Orientao do rob (eixo ) no plano de navegao

Vetor  de acordo com a hiptese da partcula  no instante




Mdia da distribuio de probabilidades de 



Matriz de covarincia referente 



Posio do marco  no eixo  do plano de navegao

,

Vetor  de acordo com a hiptese da partcula  no instante





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


,

Matriz de covarincia referente ,

,

Matriz de projeo da incerteza de , nos eixos cartesianos






!,

Matriz de erros do sensor

Vetor de deslocamento calculado entre  e 




Mdia da distribuio de probabilidades de 

Vetor de desvios-padro calculado para o vetor de deslocamentos 

"

Conjunto de partculas em um instante

%

Conjunto de & informaes obtidas pelo sensor no instante

#

% :


Peso da partcula  no instante

Observao incompleta ' , ' , ('


nmero ) do conjunto %

Conjunto de observaes realizadas desde o instante inicial de navegao

,

Observao completa *+,' , ' , ' , (' , nmero ) do conjunto %

'

Inclinao (eixo xy) do marco observado por 

,

+,'
$,

'

Distncia entre  e ,




$,

Orientao (eixo z) do marco observado por 

-

,
,

.* , , ,


/,

0,
,

",

2,

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 4 , 5


fornecido ao rob no instante

3

3 :
4

Vetors de controles fornecidos desde o instante inicial de navegao

5

6 , 3

Velocidade angular (eixo ) do rob no instante

7

Funo de transio que propaga  no tempo

Conjunto de variveis 8 que formam o mapa do rob no instante

90

-0

 0
9

Velocidade linear do rob no instante

Varivel *-0 , que modela uma regio ,


do ambiente

Probabilidade da regio descrita por 90 estar ocupada


Estado ocupado da varivel 90

9,


Varivel *, , ,
, - , que modela o marco  no mapeamento por caractersticas de acordo com a hiptese da partcula 

:;, <

Valor do pixel de coordenadas ,


na imagem

-

=;, <, >

?;, <, >

@;, <, >

Vetor descritor de 9

Mscara gaussiana de centro ,


e desvio padro >

Pixel :,
suavizado gaussianamente por =, , >

A9

Coordenadas ;B , <B , CB , B


de um candidato a caracterstica

<B

Coordenada do candidato a caracterstica A9

D9
;B

CB

B

/9

;, <

8;, <

+A9 , A

Diferena de gaussianas no espao de escalas

Coordenadas ;B , <B


de um candidato a caracterstica na imagem

Coordenada  do candidato a caracterstica A9

ndice da oitava onde foi detectado o candidato a caracterstica A9

ndice da escala dentro da oitava CB do candidato a caracterstica A9

Matriz Hessiana do candidato a caracterstica A9

Orientao de uma caracterstica A9

Magnitude de uma caracterstica A9

Distncia euclidiana entre duas caractersticas

SUMRIO

1.

Introduo ............................................................................................................................... 1

2.

Localizao e Mapeamento Simultneos.............................................................................. 4


2.1.

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.
3.

Localizao ....................................................................................................................... 6

Marcos no SLAM ........................................................................................................... 21

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.

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.
5.

SIFT ................................................................................................................................ 36

Paralelizao dos Algoritmos ......................................................................................... 68

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.

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 autnomos, 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 ambiente. 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 caractersticas 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 realidade 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 imprecisas 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 processo utilizado para obt-las.

Essa dificuldade em se conciliar as etapas de localizao e mapeamento de maneira a conseguir 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 problemas, 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 refinar 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 soluo 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 estimativas 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 obteno 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 possuem propriedades de invarincia que facilitam a correspondncia entre marcos sob diferentes
pontos de vista.

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 correspondncias 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.

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 sistema 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 gerar 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 posio inicial ou trajetria podem ser desconhecidas, e existem situaes onde sistemas
absolutos de posicionamento, como o GPS, no podem ser utilizados ou no fornecem resultados 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 modelados 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

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 proporcionariam 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 atrativa, sendo necessrios investimentos cada vez maiores para gerar aumentos de preciso cada
vez menores. Adicionalmente, era bvio que seria impossvel eliminar completamente os erros 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 suficiente para comprometer os resultados finais.
Sendo impossvel eliminar esses erros a soluo foi ento lidar com eles, e para isso necessrio 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 possveis 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 para 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 mapeamento 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 sistema 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.

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 rapidamente 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 iterao 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, partindo 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 alcanar 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 deslocamento 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 responsveis 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 calculado 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
3 , possvel determinar iterativamente qual ser a sua localizao E atravs de uma fun-

o de transio 6 , 3
que depende dos parmetros do problema.
E F 6 , 3

(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
com uma distribuio de probabilidades E | , 3
, ou seja, a probabilidade do rob se
uma estimativa do estado atual do rob naquele instante. Essa incerteza pode ser modelada

encontrar na posio E dado que ele partiu da posio  e se deslocou de acordo com o
vetor de controle 3 . Essa distribuio obtida empiricamente de maneira a quantificar a

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

dade de ser o correto, e uma matriz de covarincia HE 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 Figura 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 I F 0 e desvios padro > distintos para cada tipo de deslocamento.

Qualquer que seja a distribuio utilizada importante perceber que, devido ao carter iterativo 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 tornar 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 K de marcos cujas posies absolutas  F L, MN j lhe so conhecidas,

possvel determinar qual a sua estimativa de posio a partir dos valores  F L+, MN 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 precisa 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-

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 O 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 mapa, 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 ambiente 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 tambm 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). Conforme 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 comportamentos 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 modelo 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 parcela 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 sujeitos 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 variveis 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 varivel pode ser atualizada com um estado que no corresponde realidade.

Erros de

correspondncia podem ser evitados com a utilizao de conjuntos de caractersticas mais robustos (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 ambiente 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 detalhes 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 ocupacomo uma matriz 7 onde cada clula 9,0 uma varivel que representa uma regio discreo (Elfes; 1989). Uma grade de ocupao, aqui suposta bidimensional, pode ser modelada

determinado instante . Cada uma dessas variveis caracterizada pelas suas coordenadas no
tizada e bem definida do ambiente e armazena o estado em que ela se encontra em um

ambiente, e o seu estado indica a probabilidade daquela regio estar vazia (pode ser atraves-

estados de localizao  : do rob e o conjunto de observaes % : realizadas desde o incio


sada pelo rob) ou ocupada (possui algum obstculo que impede a navegao) dados os



indica o estado ocupado da varivel e 8
 PQ
o estado livre.
da navegao. Por conveno, 8PQ

7 F


9 ,
U 9
,
S
T9 ,Z
S 9
R ,Z

9
9
9
9

,Z
,Z

V
Y

9W
9W

9W ,Z
V 9
W ,Z

9W,
9W,

]
S

9W,Z \
9W,Z S
[

90 F L-M
-0 F *90 | : ,  : ,

(2.2)

No inicio da navegao cada uma das regies apresenta um estado que indica o conhecimento
valor 0.5, indicando 50% de probabilidade de existir algum obstculo. Conforme o rob se

que se possui em relao quela regio, e caso no haja nenhum conhecimento atribudo o

movimenta ele coleta informaes a partir dos seus sensores e as utiliza para atualizar os estados 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 iterativamente a distribuio de probabilidades de uma varivel aleatria conforme novas
em (2.3), onde % indica o conjunto de observaes  realizadas naquele instante e  , a poinformaes referentes a ela so obtidas. A formulao do Teorema de Bayes apresentada

sio do rob naquele instante.


*90 |% ,  , F

*90 ,*% |90 ,  ,

 0 ,*% |9
 0 ,  ,
*90 ,*% |90 ,  , ` *9

(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 detectados, 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 representa 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 suas 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 processamento 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 correspondncia. 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).

13

2.2.2. Mapas de Caractersticas

Outra maneira de se armazenar informaes coletadas pelos sensores do rob atravs dos
chamados mapas de caractersticas,
ersticas, que filtram essas informaes em busca de padres relerel
vantes de alguma forma para a aplicao onde esse mapa ser utilizado e os armazenam sob a
forma de pontos esparsos (Buschka;
(
2006),, enquanto o resto descartado. Assim sendo, um
mapa

uma estrutura composta por um conjunto de

conjunto de caractersticas
va de posio

variveis, cada uma contendo um

que a define de maneira nica dentro do mapa e uma estimatiestimat

quee indica as suas coordenadas absolutas no ambiente (e a sua incerteza

).

(2.4)

Essa abordagem gera um menor custo computacional de manuteno, pois lida com uma mem
nor quantidade de 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 cac
racterizao desses padres de maneira a permitir a correspondncia com estruturas
semelhantes.
s. Como as variveis em um mapa de caractersticas no possuem posies fixas
no espao como acontece em um mapa mtrico,
mtrico, a incerteza quanto a essa estimativa pode ser
incorporada diretamente no parmetro que a define, sob a forma de uma distribuio de prop
babilidades similar quela utilizada no tratamento do problema
problema de localizao (Figura 2.5b).
2.5b
Supe-se
se aqui que as estruturas que cada varivel representa no ambiente no se movimenmovime
tam, e por isso essa distribuio de probabilidades no se propaga no tempo,
temp permanecendo
constante uma vez definida.

(a)
(b)
Figura 2.5 - Mapas de caractersticas (Montemerlo; 2003).
(a) Mapa resultante (rvores) (b) Distribuio de Probabilidades

14

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

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 daquela 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 apresentados 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 rapidamente 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 minimize globalmente as incertezas envolvidas.
A primeira formalizao matemtica de uma soluo para o problema do SLAM foi apresentada 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 problemas ao utilizar um mesmo EKF para acompanhar simultaneamente o estado de localizao do
de estados 0 e a matriz de covarincia H utilizados pelo EKF-SLAM para o caso da navega-

rob e dos marcos que ele observa no ambiente. As Equaes 2.5 e 2.6 exemplificam o vetor
o bidimensional, onde a localizao do rob pode ser descrita como  F L, , M e a
posio tridimensional dos marcos como  F L, , M.

 F L 
F L 

a V b MN
 c c c

> , 
d
i
d
h >  , 

h > , 
d
f F h
h > j , 
d
e 
h
j
>
, 
d
e
h
g >ej , 
d

d

d

> , 
d > , 
d
>  , 
d >  , 
d
> , 
d > , 
d
X
>ej , 
d >ej , 
d
> ej , 
d > ej , 
d
>ej , 
d >ej , 
d

d

V
Y

e

e

> , ej
d
>  , ej
d
> , ej
d

>ej , ej
d
V > ej , ej
d
>ej , ej
d

e MN

> , ej
d > , ej
d
m
>  , ej
d >  , ej
d l
> , ej
d > , ej
d l
l
X
j
j
d
j
j
d l
>e , e
>e , e
l
j
j
d
> e , e
> ej , ej
d l
>ej , ej
d >ej , ej
d k

(2.5)

(2.6)

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

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
A matriz de covarincia H , mantida pelo EKF-SLAM, capaz de armazenar essas relaes

e parte ser devido aos erros aleatrios gerados pelos sensores que realizaram a observao.

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, respectivamente). 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 definidas, 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 pequena 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 localizao 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 permite que todas as estimativas de mapeamento tambm sejam atualizadas. O resultado uma
alterao que afeta todas as variveis envolvidas no problema, tornando localizao e mapeamento 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 caracterstica, que o seu custo quadrtico em relao quantidade de marcos devido manuteno da
tados 0 utilizado pelo EKF-SLAM igual a 3K ` 3, onde K a quantidade de marcos

matriz de covarincia apresentada. Pode-se perceber em (2.5) que o tamanho do vetor de esarmazenados no mapa. Isso faz com que  seja proporcional ao quadrado desse valor, e por

isso operaes feitas com ela tero um custo computacional oK d


, 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 atualizao 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 possa ser utilizado em aplicaes onde isso no ocorre, minimizando o efeito positivo da
atualizao global. Aplicaes reais do SLAM em navegao autnoma necessitam de grandes 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 eficiente (Guivant, Nebot; 2001). Adicionalmente, em trabalhos recentes (Castellanos, Neira,
Tards; 2004) a consistncia do EKF-SLAM em aplicaes de navegao questionada devido 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 podem 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 navegao. 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 construdo 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 resultados 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, detectando quando o rob retornou a um ponto previamente visitado para somente ento
atualizar globalmente o mapa. Em (Dissanayake, Durrant-Whyte, Bailey; 2000) apresentada 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 proximidade entre suas posies e a semelhana entre suas caractersticas. Intuitivamente, marcos
mais distantes entre si diminuem a probabilidade de que ocorram correspondncias falsas, assim 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 correspondncia, 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 eliminar marcos esprios adicionados ao mapa incluem a utilizao de vetores de marcos
temporrios (Thrun, Fox, Burgard; 2005). Um marco temporrio tem suas estimativas atualizadas, 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 processo. 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 inexistente 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 bastante 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 diminuem, dificultando a recuperao posterior do estado correto. Esse problema de relacionar

20

as observaes realizadas pelo rob em um determinado instante com a informao armazenada 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 independentes de localizao ou de mapeamento, mapeamento, sejam mtricos como no caso do DPSLAM (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 associao 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 informaes 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 naturalmente 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. Solues 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 estimativas 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 incerteza 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 computacional 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 reconhec-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 suficiente 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 artificiais, 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). Contudo, 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 inicialmente 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 determinadas 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 caracterizao 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 desconhecidos e no estruturados.
Devido a essas razes, esse trabalho procurou utilizar sensores visuais na soluo do problema 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 permitem 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 omnidirecional 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 processamento 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 informao 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 estatsticas 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 mapeamento, 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 dentro 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 generalizado (Ballard; 1981) para detectar formas geomtricas complexas que permitem
parametrizao. O SIFT utiliza espaos de escalas e orientaes principais para encontrar regies 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 caractersticas 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 essa 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 estrutura 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 extrados 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 utilizao 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 significativas 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 caracterstica 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 navegao de robs isso desejvel porque permite o reconhecimento de objetos no ambiente,
algo necessrio para tarefas como clculo de distncias por processamento estreo ou determinao 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 trabalhos realizados por Moravec (Moravec; 1979), que criou o termo pontos de interesse
(interest points) para definir os pixels que desempenhavam papis importantes na composio 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 podem se sobrepor, compartilhando informaes de uma mesma regio da imagem.
De acordo com (Tuytelaars, Mikolajczyk; 2006), uma caracterstica ideal deve possuir as seguintes propriedades:

Repetibilidade: Alteraes nas condies de observabilidade de um objeto, como

mudanas de luminosidade ou de ponto de vista, no devem alterar as caractersticas detectadas. 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 localidade, 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 invarincia. 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 modeladas 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, Mikolajczyk; 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 correspondncia.

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 caracterstica. 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. Assim 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 obtidas 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 desdescritores -9 e - pode ser calculada pela distncia euclidiana + entre ambos no espao k-

sa estrutura tambm possuiro propriedades semelhantes. Essa semelhana entre dois vetores

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 estrutura no ambiente.
t

+A9 , A
F pq(rB s (r
d
uvw

(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 referentes 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 beneficia 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

suas caractersticas so as coordenadas  do pixel que elas ocupam. Essa informao, junta-

A nica informao espacial que uma imagem consegue fornecer em relao a cada uma de

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 ambiente 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 imagens 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 obtida, e assim determinar tridimensionalmente a estrutura no ambiente. A Figura 3.2 mostra
do ponto 1 e seguindo at o ponto 2 com um deslocamento zcd .

um exemplo de triangulao realizada com uma nica cmera deslocada no ambiente, saindo

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 como 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 como 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 vnculo 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 computacionalmente 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 imagem 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, definindo 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 reconhecimento. 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, Zelek, 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 abordagem 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 capazes de obter simultaneamente informaes referentes a todo o ambiente ao redor da cmera
(Grassi Jr., Okamoto Jr.; 2006). Alm da utilizao de cmeras verdadeiramente omnidirecionais (Nalwa; 1996), existem vrias outras maneiras de se obter essa propriedade atravs de
arranjos especiais. Por exemplo, cmeras rotatrias ou mltiplas cmeras podem obter diversas 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, conseguindo 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. Dentre 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 construo. 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 hiperblico esquematizado na Figura 3.3a. A cmera montada na vertical e aponta para o
seu foco inferior {d coincida com o foco | da cmera. A luz do ambiente refletida pelo es-

espelho, que se encontra acima dela, fixo em um suporte a uma distncia que faz com que o

pixel  na imagem define o ngulo  entre o raio de luz e a vertical, que por sua vez define o
pelho e enviada para a cmera, que a transforma na imagem omnidirecional. A posio do

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  F 0 temos  F s}/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

valor de  se torna extremamente sensvel a qualquer variao. Esse efeito responsvel pela
regies mais externas do espelho essa curvatura se acentua cada vez mais (Figura 3.4), e o

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 substancial nas estimativas de posio obtidas com essa informao.

Figura 3.4 - Relao entre  e .

Outra limitao enfrentada pelas imagens omnidirecionais construdas dessa forma a deformao 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, comum 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 amplamente 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 marcos 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 estarem 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 rob 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 soluo 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 localizao 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 ambiente 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 soluo 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 caractersticas 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 devido 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 princpio 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 FastSLAM (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 utilizao 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 lidar 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 redor. 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 impreciso 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 comparados 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 posio 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, reiniciando o processo iterativo do algoritmo.
A Figura 4.1 apresenta um esquema do algoritmo proposto nesse trabalho, mostrando os diferentes 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 algoritmo 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, garantindo 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 eficientes 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 espaos 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 correspondncia 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 gerando-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
definida como uma funo ?;, <, >
gerada pela convoluo de uma mscara gaussiana
possvel aquele gerado pela funo gaussiana. Assim sendo, cada imagem em uma escala
=;, <, >
com uma imagem :;, <
.

?;, <, >


F =;, <, >
 :;, <

(4.1)

Onde =;, <, >


o operador gaussiano bidimensional com mdia I nula e matriz de covarin-

cia f 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.

@;, <, >


F *=;, <, )>
s =;, <, >
,  :;, <

F ?;, <, )>


s ?;, <, >

(4.2)

Essa funo escolhida devido sua facilidade de obteno (a convoluo gaussiana precisa
porque apresenta uma aproximao para o laplaciano gaussiano > d d =. Em (Lindeberg;
ser calculada de qualquer forma para o clculo dos descritores que o SIFT utiliza) e tambm

normalizao do laplaciano pelo fator > d .

1994) mostrado que a invarincia total quanto a mudanas de escala obtida atravs da

@;, <, >


pode ser obtida a partir da equao de difuso de calor (parametrizada em termos de
A relao entre esse laplaciano e a funo

> ao invs da forma mais usual F > d ).

=
F > d =
>

(4.3)

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


> d = F

= =;, <, )>


s =;, <, >

>
)> s >

(4.4)

38

Que pode ser reescrito como:


=;, <, )>
s =;, <, >
) s 1
> d d =

(4.5)

cas invariantes a alteraes de escala j incorpora o fator > d de normalizao proposto por

Mostra-se com isso que a utilizao de diferenas gaussianas na determinao de caracterstiLindeberg. A constante k s 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

voluo da imagem inicial com uma funo gaussiana de desvio padro > multiplicado pelo

Cada uma das imagens utilizadas na construo do espao de escalas obtida atravs da concoeficiente ), 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 K imagens o coeficiente ) de cada uma delas ser igual a 2/e . Quando uma oitava
completada, a prxima construda tendo como base a ltima imagem da oitava anterior, amostrada 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 efetivo pela metade), diminuindo significativamente o custo computacional da construo das
prximas oitavas sem interferir de maneira significativa no resultado final. Durante a construo 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 picaracterstica A9 F L;, <, C, M, com L;, <M sendo as coordenadas do pixel na imagem e LC, M a

xel seja um mximo ou um mnimo, ele representa um extremo e se torna um candidato 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 entre pixels, eliminando aqueles que possuem um baixo contraste em relao sua vizinhana.
Implementaes iniciais do SIFT (Lowe; 1999) utilizavam diretamente a posio do candidato 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 posio do extremo gera um aumento significativo na qualidade dos resultados, especialmente
feita atravs de uma expanso de Taylor centrada em A9 , com A9 representando a distncia

nas reas de baixa resoluo que imagens omnidirecionais apresentam. Essa interpolao
entre a posio real do extremo e A9 . Como nenhuma diferena de gaussianas construda

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


relao a essa coordenada.
@A9
F @A9
`

@A9
N
1
d @A9

A9 ` A9 N
A9
A
2
A

(4.6)

As derivadas parciais referentes a cada coordenada podem ser aproximadas pela diferena entre pixels vizinhos naquela direo, como mostrado abaixo.
@A

i
m
h ; l
@; ` 1, <, 
s ; s 1, <, 

@A9
h@A
l
1
Fh
F @;, < ` 1, 
s ;, < s 1, 

2
< l
h
l
@;, <,  ` 1
s ;, <,  s 1
AvA
9
@A

h
l
g  kAvA
9

(4.7)

40
Derivando (4.6) e igualando a zero, encontra-se o valor do offset B .
B F s

d @A9

Ad

c

@A9

(4.8)

Se o offset B 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 B

ento alterado para refletir a nova posio, e a interpolao realizada novamente agora em
terminar o contraste @B
de B atravs da substituio de (4.8) em (4.6).

relao a esse novo ponto. Quando o valor convergir, esse offset pode ser utilizado para de-

|@A9
| F @A9
`

1 @A9
N
A9 |
2
A

(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.
sua matriz Hessiana B , mostrada a seguir (4.10). Como nesse filtro no h transio entre

As curvaturas principais de um pixel podem ser obtidas atravs do clculo dos autovalores da
imagens, no necessrio utilizar as coordenadas  de escala e C de oitava, que sero omitidas para simplificar a notao.

@uu
B F
@u

@u

(4.10)

41

Assim como foi feito anteriormente, as derivadas parciais podem ser calculadas pela diferena
de intensidade dos pixels vizinhos naquela direo.
@; ` 1, <
s @; s 1, <

2
@;, < ` 1
s @, s 1

@ F
2
@; ` 1, < ` 1
` @; s 1, < s 1
s @; ` 1, < s 1
s @; s 1, < ` 1

@u F @u F
4
@uu F

(4.11)

Como apenas a proporo entre autovalores relevante, no h a necessidade de calcul-los


B
e o produto pelo determinante da Hessiana + B
.

explicitamente (Harris, Stephens; 1988). Pode-se obter a soma deles pelo trao da Hessiana
B
F @uu ` @u F `

d
+ B
F @u @ s @u
F

(4.12)

(4.13)

O determinante de B 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 F , temos:

B
d  `
d  `
d  ` 1
d
F
F
F
+ B

(4.14)

Quando F 1 as duas curvaturas sero iguais, e quanto maior maior ser a diferena entre
Que j no depende dos valores individuais de curvatura, apenas da proporo entre elas.

elas. Assim sendo, a eliminao de candidatos a feature com alta relao de curvaturas pode
ser feita pela seguinte comparao:
 ` 1
d
B


+ B

(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 imagem tende a possuir.

42

4.1.2. Clculo do Descritor

como os pixels ao redor da caracterstica se relacionam entre si. A cada orientao ;, <

O vetor descritor do SIFT baseado em um histograma de orientaes, que define a maneira


atribudo um valor de magnitude 8;, <
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.
;, <
F 

?;, < ` 1
s ?;, < s 1

?; ` 1, <
s ?; s 1, <

(4.16)

8;, <
F *?; ` 1, <
s ?; s 1, <
, ` *?;, < ` 1
s ?;, < s 1
,
d

(4.17)

Para se obter a orientao principal de uma caracterstica uma janela posicionada ao seu redor 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 orientaes calculadas, como mostrado na Figura 4.3. Para evitar instabilidades causadas por
alteraes bruscas em regies distantes da caracterstica, as magnitudes obtidas so ponderadas 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 outro 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 orientao principal. Assim, um mesmo pixel pode possuir diversas orientaes vinculadas a
caractersticas distintas, o que contribui para uma melhor representao da imagem e correspondncias 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 discretizadas 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 valores 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 costumam 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 cmera, 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 limitando-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 caractersticas 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 triangulao, 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 considerada espria, por no representar nenhum objeto consistente no ambiente, e por isso no sero
estveis para serem correspondidas em imagens posteriores. Adicionalmente, a correspondncia 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 propriedades 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 apresentam 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 contraste 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 nenhuma 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 localizadas 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 posicionamento.

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 euclidiana (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 correspondncias 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 correspondncia 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 correspondncia, que consegue encontrar as caractersticas com menor distncia euclidiana em
aproximadamente 95% das tentativas com um ganho computacional de duas ordens de grandeza (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 determinadas 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 geradas pelo plano de fundo da imagem (Lowe; 1999).
Ainda assim, a comparao individual entre caractersticas pode ocasionar erros de correspondncia, 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 caractersticas 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 caractersticas 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 considerados 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 caractersticas 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 objeto 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 relevante 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  , D de informaes, onde  F L, , M representa




mensional) e D F L;, <M indica as coordenadas do marco dentro dela. Alm disso, a geometria
a posio e orientao do rob no instante de obteno da imagem (supondo navegao bidi-

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 tridimensional do marco no ambiente.
como elas se relacionam entre si. Os pontos {c e {d reresentam os focos inferior e superior da
A Figura 4.7 apresenta um diagrama das principais entidades geomtricas na triangulao e

hiprbole, sendo que {c 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

: pode ser obtido pela converso das coordenadas D em unidades de distncia (o fator de convisando garantir o alinhamento entre o foco da cmera e o foco inferior da hiprbole. O ponto

verso prprio da cmera utilizada), e a sua altura calculada a partir da distncia focal
em relao a {c .

Figura 4.7 - Entidades e parmetros relevantes na triangulao.

49
O vetor 4 que modela o raio de luz incidente na cmera pode ser obtido a partir dos pontos {c
e : como mostrado abaixo.


;
F ` < F : ` { s :


)

(4.18)

Contudo, ainda no o raio desejado, pois o marco extrado na imagem representa uma estrutura que foi refletida no espelho hiperblico utilizado, e por isso necessrio definir qual o
inicialmente o ponto na hiprbole que intersecta .

vetor que representa esse mesmo raio de luz antes de ser refletido. Para isso devemos calcular



;
F F ` <


)
F

s ` d s 4|
2

) d
; d
< d
s s

 )  ; < ) 
F 2 d s d s d s d

(4.19)

 d
 d
d
 
 d
| F s s s1s2 d `

Esse ponto e o foco superior da hiprbole {d 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 obtida, de acordo com o sistema de coordenadas absoluto utilizado na construo do mapa.
cos
s sin

F ` {d s
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
interseco entre e a , ou seja, o ponto definido pela interseo de dois vetores. Devido

nova caracterstica, a posio da estrutura representada por ambos pode ser calculada como a

ao limite de resoluo das imagens utilizada e as imprecises na correspondncia e nos parmetros 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
o, de maneira a se obter as coordenadas  e do marco. Em seguida calculada a mdia da
vetores so inicialmente projetados no solo e a interseco entre eles calculada nessa proje-

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.
U&c c s &d ;d ` d s c
&c s &d
]

S
S
c ` &c  s c

 F F
T  `  `  s c
`  s d
2 \

d
S c
S
;c
;d
R
[

&c F

&d F

<c
;c

<d
;d

(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, gerando 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 eficincia (Montemerlo et al.; 2003).
A grande contribuio do FastSLAM para o problema da localizao e mapeamento simultneos 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 explorada 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 posicionafatorao mostrada a seguir, onde  a posiao do rob, % o conjunto de observaes,

mento dos marcos observados pode ser fatorado em problemas independentes entre si. Essa
3 o vetor de controles utilizado e 7 o mapa composto por 9b marcos.
e

 , 7 |% , 3
F

,
3
9 | , % , 3

 |%
u
uvw


B$B

(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 indo ambiente pode ser subdividido em K problemas de estimao independentes, cada um re-

ternamente como se fosse correta. Para cada uma das partculas o problema de mapeamento

simultaneamente com K EKFs, um para cada marco para cada partcula, e um Filtro de Parferente a um nico marco, e tratado por um EKF.

Assim sendo, o FastSLAM lida

possuem uma dimensionalidade constante e baixa (igual a 3 no caso de marcos tridimensio-

tculas para estimar a localizao do rob. Esse valor pode parecer alto, mas todas as matrizes

nais contra 3K ` 3 no EKF-SLAM), e por serem independentes entre si apenas as estimativas

conseguem no FastSLAM um custo computacional proporcional a C6K (contra K d no


referentes aos marcos observados so atualizadas a cada instante. Implementaes eficientes

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 natural, pois diferentes mapas podem possuir diferentes hipteses de associao de dados, e
aquelas que se mostrarem erradas so eliminadas implicitamente durante a etapa de Reamostragem 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 correspondncia. 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 provvel 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 amortecido 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 tamanho 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 nmero 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 geraro 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 obsurgimento de erros. A matriz de erros  utilizada nesse trabalho mostrada em (4.23), onde

tida empiricamente a partir de testes que quantifiquem a sensibilidade do sistema ao


>u 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 esrelao ao eixo xy dada pelo coeficiente > .

timativa de distncia devido aos valores referentes sua estimativa de orientao angular em
>
 F >
>

>
>
>

>
>
>

(4.23)

Devido deformao que a geometria omnidirecional gera sobre diferentes regies da imagem podem ser utilizados valores diferentes de sensibilidade de acordo com as coordenadas
mais sensveis do que as centrais, gerando uma matriz  com valores mais elevados.

do pixel que representa a caracterstica. Em especial, regies mais distantes do centro sero

53

4.4.1.1.

Adio de Marcos

Um marco observado pela primeira vez em uma imagem no possui uma estimativa de posio 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  F L, , M ocupada pelo rob no instante em que o marco foi


observado de acordo com a hiptese de localizao da partcula  e as coordenadas D F L;, <M

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.
9, F D,  , -


4.4.1.2.

(4.24)

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 

cia + entre o sensor e o marco e os outros dois correspondentes aos ngulos  e  que o

naquele instante. Esse vetor composto por trs valores, o primeiro correspondente distn-

posicionam unicamente no espao. Esse vetor de observaes definido em (4.25) e ser diferente para cada partcula, pois cada uma possui uma hiptese de localizao diferente.

,
,

U
S

]
+
S
$
$
$


2*
s

,

s

s

,

F F





T
\

S 2  s  $ , * s  $ ,d ` *  s $ ,d S



R
[
* s $ , ` *  s $ , ` * s $ ,
d

(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 incerteza, ser utilizada para atualizar aquela j existente no marco, de maneira a diminuir a sua
incerteza inerente.

Primeira Correspondncia
Quando um marco 9 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 indicar 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
s+ sin
cos

0
0
, F sin
cos
+ cos
cos

s sin

0
s+ sin

(4.26)


A matriz de covarincia ,$
ento dada ento pela seguinte multiplicao matricial:

,
F *, ,*, ,

(4.27)

Esses dois valores so adicionados varivel representativa do marco no ambiente apresentamostrado em (4.28). Para efeitos de triangulao, as informaes referentes s coordenadas

da em (4.24), completando-a com uma estimativa de posio e sua respectiva incerteza como

a posio do rob  $ no instante em que observou a imagem tambm o ser.

do pixel na imagem so atualizadas com os valores obtidos na ltima observao, e com isso
9, F D,  , -, , H


(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 partculas. O sistema de equaes no-lineares genricas que o EKF se prope a resolver mostrado
a seguir:
E F 6 , 3
` 

 F .* , , , ` 


(4.29)

Onde  e  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
propagam no tempo. Os rudos referentes ao sistema de viso so modelados pela matriz 

que os marcos observados no se movimentam, portanto os seus estados de localizao no se

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:
E F 

 F .* , , , ` 

(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.
.* , , , F


U
S

 s 
d `   s 
d `  s 
d

]
S

2  s  ,  s 
s 
T
\
S 2  s  ,  s 
d `   s 
d S
R
[

(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.

/,

.* , , ,
F



.* , , , .* , , ,



P




s
F
+


s
+

+

+

s
s

(4.32)
Pv

Onde  F  s  , F  s  ,  F  s  , F  d ` d `  d e + F  d ` d .


$

A diferena 0, 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.

0, F , s .* , , ,


,

,

(4.33)


A covarincia da inovao ,$
, que indica a incerteza relativa a esse erro e que posteriormen-


jacobiano ,$
da observao e do modelo de erros .

te ser utilizada tambm na atualizao dos pesos das partculas, calculada com o auxlio do
", F */, ,H, */, , ` 

(4.34)

2, F H, */, , *", ,

(4.35)

O Ganho de Kalman 2, definido como:

c

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


E
, F , ` 2, 0,
,




HE
, F * s 2, /, ,H,

(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 incerteza 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 computacional 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 mapas construdos dessa forma ser redundante, pois diversas partculas eventualmente
compartilharo de uma mesma estimativa referente a um marco, principalmente aps uma etapa 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 folhas (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 resultado 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 marcos 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 novo 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 informaes. 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 mapa. 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 estimativas 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 tempo 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 economia 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 posio 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 instante. Conforme novas informaes relativas aos marcos observados so incorporadas a essas
estimativas esse peso alterado de maneira a refletir a distribuio de probabilidades das partculas naquele instante.
Um Filtro de Partculas composto por trs etapas que so realizadas em seqncia. Na Figura 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
ca, de acordo com o vetor de controles O fornecido naquele instante pelo algoritmo de

pelo ambiente. Inicialmente o estado de cada partcula propagado de maneira determinsti-

controle. Esse trabalho lidar apenas com robs diferenciais no-holonmicos se movimentando 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
3 F L4, 5MN suposto constante em cada intervalo de tempo e cujos coeficientes agem de ma-

(Figura 4.12a). O deslocamento do rob realizado partir de um vetor de velocidades

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 permite a propagao do estado de localizao de cada uma das partculas no tempo.

E

 ` 4 C ` 5


F F  `   F 6* , 3 , F  ` 4 ; ` 5


 ` 5

(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 rotao 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 inicialmente 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
ras levando-se em considerao o deslocamento do rob nas coordenadas  e . A ltima
primeira rotao) da sua orientao inicial. A translao calculada pelo Teorema de Pitgo-

rotao calculada pela subtrao da orientao final do rob da sua orientao intermediria.



2 Ec s  , Ec s 


s 
z
F z F Ec s 
d `  Ec s 
d
z
Ec s  s z

(4.39)

Esses deslocamentos mdios so utilizados como base para a incorporao do modelo de erros 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
da atribuio de coeficientes u que representam a propenso que o rob possui para o sursurgimento de erros de cada natureza. Essa sensibilidade estimada empiricamente atravs

gimento de erros do tipo < quando submetido a uma movimentao do tipo ;. Por exemplo, a

larmente regida pelo coeficiente , enquanto a sua sensibilidade ao surgimento de erros

sensibilidade do rob ao surgimento de erros de translao quando ele se movimenta angude orientao quando ele se movimenta linearmente regida pelo coeficiente .

(4.40)

62

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

z$, ` z$,
>

F > F *z$, ` z$, , ` z$,

>
z$, ` z$,

(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 paBox-Muller, mostrada em (4.42) onde e so variveis aleatrias uniformemente distribudro dado por (4.41). Uma maneira de se realizar essa amostragem atravs da equao de
das entre 0,1.

I, >
F I ` > s2 ln
cos2}

(4.42)

O resultado I, >


obtido uma varivel aleatria gaussiana com mdia I e desvio padro

>. O deslocamento z$ possui ento a seguinte forma:


*0, >$, ,

,
 F 
 ` *0, >$,


*0, >$, ,

(4.43)

Para se obter E necessrio projetar E de volta para o eixo cartesiano.


z$,
cos* ` z$, ,

sin* ` z$, ,
E F * , 3 , F  ` z$,


z$,

z$,

(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 implementao original, apenas consegue-se obter os mesmos resultados com significativamente
gncia para F 1, constituindo dessa forma o nico algoritmo de SLAM com tempo de
menos partculas. Em particular, para sistemas lineares o FastSLAM 2.0 consegue conver-

atualizao constante.

Com mostrado anteriormente, a etapa de Predio envolve a amostragem do estado de localizao 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 coletadas 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


de inovao calculada durante a etapa de atualiobservao calculada a partir da matriz ,$

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 ,$
.
 c c

H F /, *", , /, ` *H ,


N

c

(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 ,$
.

 F  ` */, , ", */, ,




(4.46)

No caso de haver mais de uma observao correspondida, todo o processo deve ser repetido
localizao estimada do rob far com que o jacobiano /, e a matriz de covarincia ", se
de maneira a incorporar a sua estimativa tambm. importante lembrar que a alterao da

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 aplicaes (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 capacidade 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 movimentao 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 respectivos 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 mapeamento 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, quando 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. Similarmente, 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 0, 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 K F 3.

# F #c
$

c
e

2}
d ,$
d

1 $,
c $, N

exp s * ', ,*,$
, * ', ,
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 Atualizao 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.
#Ec F
$

4.4.2.3.

#Ec
$

$
uvw #Ec

(4.48)

Reamostragem

A etapa de Reamostragem procura eliminar partculas que no representem uma hiptese vlida 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 localizao 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 daquelas 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 partculas, 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).
"E F

Ec , , Ec
Ec

u
,  q #Ec
uvw

(4.49)

Inicialmente, amostrado um nmero aleatrio de uma distribuio uniforme normalizada

entre [0,1]. O conjunto de partculas "


E ento percorrido linearmente desde o seu incio, e

$
os pesos #Ec
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 "E . 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 "E

tenha a mesma quantidade de elementos que "


E , sendo que uma nica partcula pode ser

escolhida mais de uma vez. Nesse caso o conjunto final de partculas possuir estados redundantes, 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
brecimento faz com que a varincia do conjunto " diminua, pois as partculas se aglutinaro
de partculas, que gera um empobrecimento da diversidade de estados do rob. Esse empo-

em uma nica rea, com pouca diferena entre os seus estados. Ao mesmo tempo, esse processo 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  F E
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 detriele ser composto por cpias de uma nica partcula. Essa convergncia de partculas indimento de outras, at que eventualmente a covarincia do conjunto de partculas se anule, pois

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 permitir 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 partReamostragem deve ser realizada. A primeira atravs do Coeficiente de Variao 4d

culas cujo peso irrelevante para o processo em um determinado instante, indicando quando a
(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.
4d

4*#u ,

1
d
F d u F q*#u s 1,

*# ,
uvc
 F

1 ` 4d

(4.50)

(4.51)

Um aumento no valor de 4 d 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 prxima. 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 marcos extrados comparado com aqueles armazenados no mapa em busca de correspondncias
e aqueles que forem correspondidos so utilizados para refinar as estimativas de cada partcula, 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 movimenta 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 decises 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 ultrapassa, entrando em um processo oscilatrio em torno de um ponto.
A soluo para esse problema utilizada nesse trabalho consiste na paralelizao dos algoritmos 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 omnidirecionais. 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 localizao 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 completados e o conjunto de marcos obtido, a informao referente a eles incorporada s
estimativas de localizao e mapeamento, eliminando os erros acumulados durante a navegao 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 resolver 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 rob. 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 problemas, assim como as ferramentas e mtodos utilizados. Pontos pertinentes que foram
previstos durante a reviso bibliogrfica ou que surgiram durante o desenvolvimento das solues 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 informaes 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 complexos 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 apresentada 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 comunicao 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 frente, 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 espelho 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 provisoriamente 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 correspondncia 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 informao 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 informao 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 modelados, 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 relaciona 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 introduo 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 suficiente 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 eliminar 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 navegao 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 direita, 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 aproximaram 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 percurso 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, pde 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 corredores e repetio de estruturas (Figura 5.5b).
Esse mesmo percurso foi realizado novamente, utilizando inicialmente o FastSLAM 1.0 e depois 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 correspondncia 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 percorrer 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 realizados 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 significativamente 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 diferentes 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 detectado. 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 estimativas das posies dos observados antes dessa convergncia ocorrer.
Novamente, os resultados de localizao e mapeamento obtidos com o uso direto da informao 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 corredor 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 ambiente 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 tantos 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 sistema 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 navegao. 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 reconhecimento 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 probabilidade 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 sensoriamento 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 aplicaes. 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 convencionais, 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, descrio e correspondncia de caractersticas, tendo como base os parmetros apresentados por
(Lowe; 2004), onde so escolhidos por gerarem resultados eficientes e estveis em uma grande 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, foram 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 reconhecer 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 (Figura 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 elipses, 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 nesse 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 orientao 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 local, 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 como 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 representam 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 processo 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 genericidade 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 coincidir 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 arbitrariamente 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 resultado 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 imagens 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 surgimento 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 distribuem 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 imagem 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 dentro, como mostrado na Figura 5.15b.
Na Figura 5.16 apresentado um resultado de correspondncias entre imagens omnidirecionais, 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 mudando 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 resultados 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 correspondidos conjuntamente, visando diminuir a probabilidade de erros.

Os crculos verdes

84

indicam as caractersticas extradas da imagem que foram correspondidas com aquelas armazenadas 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 imagens 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 apresentada 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. Durante 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 triangulao, 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 algoritmos 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 informaes 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 lidar 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 dependa da plataforma utilizada.
Sobre ambos os robs foi montado o mesmo sistema de viso omnidirectional, a ambos possuem 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 espalhados 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 (varredura 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 algoritmo 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 auxlio 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 aproximadamente 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 diferentes 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 permitiuse que houvesse movimentao natural de pessoas.

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

(b)

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 permitir 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 iteraes) 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 como 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 construdo 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 trajetrias 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 amarelos (so apresentados apenas os marcos que foram correspondidos durante a navegao).
possvel perceber claramente alguns aglomerados de marcos em determinadas regies do ambiente 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)
Figura 5.21 - Pista de testes para o Pioneer 3AT.
(a) Foto
(b) Mapa mtrico da pista

(b)

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, viso 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 navegao. 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 visual. 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 retornasse 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 utilizados 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 sobre 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 mtrico 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 retornar 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 utilizadas 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 navegao. 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 mapeamento 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. Procurou-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 explorados 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 informao 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 problema ao qual se propem. O mtodo de extrao de marcos apresentado foi implementado
inicialmente em imagens convencionais e posteriormente adaptado para o sistema omnidirecional 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, aumentando 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 omnidirecional 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 determinados 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: 10001006. 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: 19371943. 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 D53117. 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: 5868. 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.

S-ar putea să vă placă și