Documente Academic
Documente Profesional
Documente Cultură
SO PAULO
2008
SO PAULO
2008
Orientador:
Prof. Livre Docente Jun Okamoto Junior
SO PAULO
2008
DEDICATRIA
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
- Mithrandir
RESUMO
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
LISTA DE SMBOLOS
:
,
,
,
!,
"
%
#
%:
,
'
,
+,'
$,
'
$,
-
,
,
.* , , ,
/,
0,
,
",
2,
Funo que relaciona a localizao do rob com a do marco ,$
Ganho de Kalman
3
3:
4
5
6 , 3
7
90
-0
0
9
9,
Varivel *, , ,
, - , que modela o marco no mapeamento por caractersticas de acordo com a hiptese da partcula
:;, <
-
Pixel :,
suavizado gaussianamente por =, , >
A9
<B
D9
;B
CB
B
/9
;, <
8;, <
+A9 , A
SUMRIO
1.
Introduo ............................................................................................................................... 1
2.
2.1.1.
Odometria .................................................................................................................. 6
2.1.2.
2.2.
Mapeamento ...................................................................................................................... 9
2.2.1.
2.2.2.
2.3.
2.3.1.
Fatorao ................................................................................................................. 17
2.3.2.
2.3.3.
2.3.4.
Offline SLAM.......................................................................................................... 20
2.4.
3.
Localizao ....................................................................................................................... 6
Caractersticas ................................................................................................................. 24
3.2.
Descritores ...................................................................................................................... 26
3.3.
Correspondncia ............................................................................................................. 27
3.4.
Triangulao ................................................................................................................... 28
3.5.
Marcos Visuais................................................................................................................ 29
3.6.
4.
4.1.1.
4.1.2.
4.1.3.
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
5.1.1.
Simulador................................................................................................................. 70
5.1.2.
FastSLAM ............................................................................................................... 72
5.2.
5.2.1.
5.2.2.
5.3.
6.
Concluso .............................................................................................................................. 91
7.
1.
Introduo
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.
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.
2.
(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
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)
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.
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-
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.
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
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-
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
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
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
conjunto de caractersticas
va de posio
).
(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-
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.
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
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.
16
(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
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.
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)
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)
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.
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.
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
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)
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:
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.
Localidade: Sua representao deve tomar uma rea pequena da imagem, de forma a
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):
Distino: O descritor deve conseguir armazenar informao suficiente para ser capaz
armazenadas, visando com isso poupar memria e tempo de processamento durante a correspondncia.
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
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
29
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
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.
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
Como se pode perceber pela Figura 3.3a, para F 0 temos F s}/2, o que j era esperado.
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.
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
33
4.
Soluo Proposta
Essa
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.
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.
37
4.1.1.1.
Deteco de Extremos
(4.1)
cia f diagonal com autovalores iguais a >. Em (Lowe; 1999) proposta a utilizao das
(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
1994) mostrado que a invarincia total quanto a mudanas de escala obtida atravs da
=
F > d =
>
(4.3)
>
)> s >
(4.4)
38
(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
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
4.1.1.2.
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
@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)
comparao como sendo instveis para serem utilizados como caractersticas de acordo com o
SIFT.
4.1.1.3.
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)
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
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
como os pixels ao redor da caracterstica se relacionam entre si. A cada orientao ;, <
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.
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
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
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.
Figura 4.5 - Conjuntos de caractersticas. Os pontos pretos indicam as caractersticas que foram localizadas na imagem (limiar: 3 pixels).
46
4.2. Correspondncia
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
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
: 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 .
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
(4.20)
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.
tculas para estimar a localizao do rob. Esse valor pode parecer alto, mas todas as matrizes
52
4.4.1. Mapeamento
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
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
,
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
\
S2 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,
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
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
F .* , , , `
(4.29)
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
F .* , , , `
(4.30)
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
\
S2 s , s
d ` s
d S
R
[
(4.31)
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
o vetor .* , , , obtido a partir dos valores contidos no mapa do rob indica o erro entre o
,
(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)
(4.35)
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)
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).
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.
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
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-
(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)
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.
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.
(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
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$,
>
>
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)
,
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
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
c
(4.45)
(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
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
pelo vetor de diferenas 0, definido em (4.33), sendo que quanto maior ele for menor ser a
,
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)
$
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
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.
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
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
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.
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
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.
72
(a)
(b)
(c)
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)
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
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.
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
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.
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.
(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.
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.
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
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
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)
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)
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.
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
93
7.
Referncias Bibliogrficas
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
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
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
100