Você está na página 1de 36

Universidade Federal do Maranho

Centro de Cincias Exatas e Tecnolgicas


Programa de Ps-Graduao em Cincia da Computao

ANDR FELIPE DA SILVA OLIVEIRA

LOCALIZAO SIMULTNEA E MAPEAMENTO

So Lus
2016
ANDR FELIPE DA SILVA OLIVEIRA

LOCALIZAO SIMULTNEA E MAPEAMENTO

Trabalho apresentado ao Programa de


Ps-Graduao em Cincia da Computa-
o da Universidade Federal do Maranho,
como requisitos necessrios para obteno
Obteno de nota na disciplina Estudo
Dirigido.

Orientador: Profo Areolino Almeida Neto

So Lus
2016
Resumo
Este trabalho consiste em uma reviso bibliogrfica a cerca de localizao simultnea
e mapeamento aplicada a robs mveis. Neste trabalho abordado sobre os tipos
de filtros, tipos de modelos de movimento, tipos de medio e a aplicao deles no
contexto de localizao simultnea e mapeamento. Todo o trabalho fundamento
em uma abordagem probabilstica.

Palavras-chaves: localizao. mapeamento. filtro. modelo de movimento. medio.


Abstract
This work consists of a literature review about simultaneous localization and
mapping applied to mobile robots. This work is discussed on the types of filters,
types of motion models, measurement types and their application in the context
of simultaneous localization and mapping. All work is ground in a probabilistic
approach.

Key-words: location. mapping. filter. motion model. measurement.


Lista de ilustraes

Figura 1 Pose do rob demonstrado como um sistema de coordenadas


global. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Figura 2 Algoritmo EKF SLAM com correspondncias conhecidas. . . . . 32
Figura 3 Algoritmo EKF SLAM com correspondncias desconhecidas. . . 33
Sumrio

Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1 FILTROS PROBABILSTICOS . . . . . . . . . . . . . . . . . 7
1.1 Filtro de Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Parametrizados . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.1 Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2.2 Filtro de Kalman estendido . . . . . . . . . . . . . . . . . . . . . . 15
1.3 No-parametrizados . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3.1 Filtro histograma . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3.1.1 Filtro discreto de Bayes . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3.1.2 Estados contnuos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3.2 Filtro de partculas . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2 MODELOS PROBABILSTICOS DE MOVIMENTO . . . . . 22


2.1 Modelo de Velocidade . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 Modelo Odomtrico . . . . . . . . . . . . . . . . . . . . . . . . 23

3 MODELOS PROBABILSTICOS DE MEDIO . . . . . . . 26

4 FILTROS SLAM NA ABORDAGEM PROBABILSTICA . . 29


4.1 SLAM com filtro de Kalman extendido com correspondncias
conhecidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2 SLAM com filtro de Kalman extendido com correspondncias
desconhecidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

REFERNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . 34
6

Introduo

Sempre que se fala em robs autnomos, pensa-se que ele deve ser capaz
de reconhecer e atuar no ambiente ao seu redor, mesmo que esse ambiente seja
inicialmente desconhecido. Quando se fala em robs moveis, atuao do rob se da
na forma de locomoo no ambiente e com isso a sua autonomia passa por reconhecer
ou mapear o ambiente em que esta inserido. SLAM (Simultaneous Localization
and Mapping) uma rea cujo objetivo mapear ambientes desconhecidos, de
forma a fornecer ao rob mvel informao suficiente para que este possa exercer
sua autonomia (um mapa e a localizao do rob neste mapa de forma precisa e
confivel).
SLAM envolve varias reas de pesquisas, sendo algumas delas controle,
tratamento de dados , processamento de imagens e mapeamento. As aplicaes
so as mais variadas possveis, sendo uma das mais utilizadas em motivaes de
trabalho, a utilizao de robs que se usam de SLAM para salvamento em ambientes
desconhecidos.
Os primeiros trabalhos relevantes publicados sobre SLAM foram realizados
pelos pesquisadores R.C. Smith e P. Cheeseman em (SMITH; CHEESEMAN, 1986)
e (SMITH; SELF; CHEESEMAN, 1990). Outro trabalho pioneiro foi o de Hugh
F. Durrant-Whyte em (LEONARD; DURRANT-WHYTE, 1991) atravs de uma
abordagem algortmica computacionalmente tratvel.
Neste trabalho esta dividido da seguinte forma, onde no Captulo 1 explana-
se sobre filtros bastante utilizados no estudo e implementao de SLAM, no Captulo
2 fala-se sobre os modelos de movimentos probabilsticos predominantes em SLAM,
no Captulo 3 se aborda as tcnicas de medio probabilsticas e no Captulo 4
explanado sobre filtros SLAM em uma abordagem probabilstica.
7

1 Filtros Probabilsticos

A aquisio de informaes em ambiente desconhecido deveras complicado,


visto que a forma de aquisio atravs de sensores. Quando um sensor adquire
dados de um ambiente, esses dados normalmente vem corrompidos com rudos,
portanto faz-se necessrio se utilizar de tcnicas para amenizar esses rudos.
Por serem aleatrios e instveis, os rudos tornam-se difceis de predizer o
quanto eles interferem na preciso de aquisio da informao, por este motivo, a
melhor forma de trata-los atravs de modelos probabilsticos, onde estima-se como
deve ser a informao real baseando-se no dados adquiridos atravs dos sensores.
Para entender como os filtros devem funcionar preciso primeiro entender
os conceitos de estado do rob x que pode ser definido em cima de um tempo t,
dessa forma temos xt . O estado na abordagem SLAM considerado a posio do
rob no ambiente e para isso, normalmente definido que o rob tem um ponto de
partida, o estado inicial x0 e defini-se que o conjunto de estados desde o estado
inicial do rob at o estado atual como x0:t . As medies z feitas pelo rob tambm
so atreladas ao tempo, nesse caso tem-se a primeira medio feita pelo rob at
a ultima medio executada por ele z1:t1 , que resultou na possibilidade de se
chegar ao estado atual e o conjunto de aes executadas pelo rob no ambiente (na
abordagem SLAM o movimento) que gerou a posio atual, dada por u1:t .
Para se obter o estado do rob xt preciso ter o conhecimento de seu estado
inicial x0 , do conjunto de medies z1:t1 e conjunto de aes de movimentos u1:t
. Neste caso pode-se dizer que a o conjunto de estados ao longo do tempo, suas
medidas e aes de movimentos determinam o estado atual (FALLIS, 2013):

p(xt |x0:t1 , z1:t1 , u1:t ). (1.1)

Considerando-se que a medio no influi diretamente na determinao


do estado do rob, que apenas as aes de movimento realmente determinam e
o ultimo estado do rob determinam o estado atual, pode-se dizer que (FALLIS,
Captulo 1. Filtros Probabilsticos 8

2013):
p(xt |xt1 , ut ), (1.2)

dessa forma, tem-se ento que o estado atual do rob depende do estado anterior e
a ao de movimento que ocorreu sobre a ao anterior, gerando assim o estado
atual.
Sabendo que a medio diretamente vinculada ao estado do rob, ou seja,
sua localizao, pode-se dizer que (FALLIS, 2013):

p(zt |xt ), (1.3)

ou seja, a medio depende apenas da posio atual do rob, independe das posies
anteriores e movimentos por ele executado.
Para entender as sesses a seguir, preciso introduzir um conceito de robtica
probabilstica chamada de crena (belief ). Crena o conhecimento interno do rob
sobre o estado do ambiente (seu posicionamento). Um estado no pode ser medido
diretamente e o rob deve inferir seu posicionamento atravs dos dados fornecidos
pelas medies. preciso saber distinguir um estado verdadeiro de uma crena
interna do rob.
A robtica probabilstica representa a crenas como uma distribuio proba-
bilstica condicional (Distribuio de crenas). A crena atribui uma probabilidade
para cada hipotese possvel de ser o estado real. Pode-se chamar a crena sobre a
varivel estado xt de bel(xt ) e dessa forma pode-se dizer que (FALLIS, 2013):

bel(xt ) = p(xt |z1:t , u1:t ). (1.4)

Essa a distribuio de probabilidade sobre o estado xt no tempo t, considerando


todas as medidas feitas z1:t e todos os controles executados u1:t . J a distribuio
anterior a medio no tempo t, caso se deseje calcular antes de se incorporar a
ultima medio e aps executar o ultimo controle ut pode-se dizer que (FALLIS,
2013):
bel(xt ) = p(xt |z1:t1 , u1:t ). (1.5)

Essa distribuio, por sua vez, tenta-se prever o estado no tempo t.


Captulo 1. Filtros Probabilsticos 9

1.1 Filtro de Bayes


Este filtro utilizado para calcular as crenas a partir dos dados de controle
e medio. O algoritmo para do filtro de Bayes, um algoritmo recursivo, onde o
prximo estado depende diretamente do estado anterior.
Segundo (FALLIS, 2013), bel(xt ) pode ser calculado por:
Z
bel(xt ) = p(xt |ut , xt1 ) bel(xt1 )dx, (1.6)

enquanto o valor de bel(xt ) pode ser calculado por:

bel(xt ) = p(zt |xt ) bel(xt ). (1.7)

Tendo conhecimento dessas formulas, pode-se prever a crena do prximo estado


atravs do algoritmo (FALLIS, 2013):

Algorithm 1 Algoritmo Filtro de Bayes (FALLIS, 2013)


1: procedure BayesFilter(bel(xt1 ), ut , zt )
2: for all xt do R
3: bel(xt ) = p(xt |ut , xt1 ) bel(xt1 )dx
4: bel(xt ) = p(zt |xt ) bel(xt )
5: end for
6: Return bel(xt )
7: end procedure

Para entender melhor o funcionamento do filtro, ser utilizado um exemplo


simples de (FALLIS, 2013), onde tem-se uma situao em que um rob tenta
estimar o estado de uma porta (ser assumido que a porta pode estar apenas aberta
ou fechada e que apenas o rob poder alterar o estado da porta). Inicialmente o
rob no sabe o estado da porta e assume-se que a probabilidade da porta estar
em qualquer dos dois estados seja a mesma:

bel(X0 = aberto) = 0.5 (1.8)

bel(X0 = f echado) = 0.5 (1.9)


Captulo 1. Filtros Probabilsticos 10

Tambm assume-se que o sensor do rob contem rudo e que o rudo do sensor
segue as seguintes condies de probabilidade:

p(Zt = detectouAberto | Xt = estaAberto) = 0.6


p(Zt = detectouF echado | Xt = estaAberto) = 0.4 (1.10)

p(Zt = detectouAberto | Xt = estaF echado) = 0.2


p(Zt = detectouF echado | Xt = estaF echado) = 0.8 (1.11)

Dessa forma a chance de falso negativo caso a porta esteja aberta e o sensor
detecte ela fechada com a probabilidade ocorrer de 0.4. No caso de falso positivo a
porta esta fechada e o sensor detecta ela aberta com a probabilidade de 0.2.
Analisando as probabilidades das Frmulas 1.10 e 1.11 e se considerar que
a nica ao que o rob pode exercer sobre a porta empurra-la, pode-se ento
inferir que:

p(Xt = estaAberto | Ut = empurrar, Xt1 = estaAberto) = 1


p(Xt = estaF echado | Ut = empurrar, Xt1 = estaAberto) = 0 (1.12)

p(Xt = estaAberto | Ut = empurrar, Xt1 = estaF echado) = 0.8


p(Xt = estaF echado | Ut = empurrar, Xt1 = estaF echado) = 0.2 (1.13)

As probabilidades da Frmula 1.12 so triviais na medida em que se considerar


que a porta esteja aberta e o rob empurra-la, a chance dela continuar aberta
de 1 e a chance dela fechar de 0. J no caso das probabilidades em 1.13, as
probabilidades so de acordo com 1.11, em que a chance de caso a porta esteja
fechada, o rob empurra-la e ela abrir igual a chance de a medio do sensor esta
correta quanto a porta estar fechada, enquanto que no caso de ele empurrar a porta
e ela permanecer fechada, apenas no caso em que o sensor detecta erroneamente
que a porta esta fechada.
Considerando tambm que o rob pode no executar nenhuma ao na
porta, pode-se inferir:

p(Xt = estaAberto | Ut = f azerN ada, Xt1 = estaAberto) = 1


p(Xt = estaF echado | Ut = f azerN ada, Xt1 = estaAberto) = 0 (1.14)
Captulo 1. Filtros Probabilsticos 11

p(Xt = estaAberto | Ut = f azerN ada, Xt1 = estaF echado) = 0


p(Xt = estaF echado | Ut = f azerN ada, Xt1 = estaF echado) = 1 (1.15)

Em posse dos dados do problema, pode-se ento desenvolver o Algoritmo 1:

Z
bel(x1 ) = p(x1 |u1 , x0 ) bel(x0 )dx
X
bel(x1 ) = p(x1 |u1 , x0 ) bel(x0 )
x0

bel(x1 ) = p(X1 | U1 = f azerN ada, X0 = estaAberto) bel(X0 = estaAberto)


+p(X1 | U1 = f azerN ada, X0 = estaF echado) bel(X0 = estaF echado)
(1.16)

Substituindo os valores para a hipotese X1 = estaAberto, tem-se que:

bel(x1 = estaAberto)
= p(X1 = estaAberto | U1 = f azerN ada, X0 = estaAberto) bel(X0 = estaAberto)
+p(X1 = estaAberto | U1 = f azerN ada, X0 = estaF echado) bel(X0 = estaF echado)
bel(x1 = estaAberto) = 1 0.5 + 0 0.5 = 0.5
(1.17)

e para X1 = estaF echado:

bel(x1 = estaF echado)


= p(X1 = estaF echado | U1 = f azerN ada, X0 = estaAberto) bel(X0 = estaAberto)
+p(X1 = estaF echado | U1 = f azerN ada, X0 = estaF echado) bel(X0 = estaF echado)
bel(x1 = estaF echado) = 0 0.5 + 1 0.5 = 0.5
(1.18)

Incorporar as medies altera a crena, dessa forma:

bel(x1 ) = p(z1 = detectouAberto|x1 ) bel(x1 ) (1.19)


Captulo 1. Filtros Probabilsticos 12

Considerando os possveis estados de X1 serem estaAberto ou estaF echado, calcula-


se:

bel(x1 = estaAberto) = p(z1 = detectouAberto|x1 ) bel(x1 )


bel(x1 = estaAberto) = 0.6 0.5 = 0.3 (1.20)

bel(x1 = estaF echado) = p(z1 = detectouAberto|x1 ) bel(x1 )


bel(x1 = estaF echado) = 0.2 0.5 = 0.1 (1.21)

sabendo disso, s calcular o valor de :

bel(x1 = estaF echado) + bel(x1 = estaAberto) = 1


0.3 + 0.1 = 1
= 2.5 (1.22)

com isso tem-se que:

bel(x1 = estaAberto) = 0.75


bel(x1 = estaF echado) = 0.25 (1.23)

Quando se calcula o valor de X1 fica facil calcular os prximos valores


atravs do Algoritmo 1

bel(x2 = estaAberto) = 1 0.75 + 0.8 0.25 = 0.95


bel(x2 = estaF echado) = 0 0.75 + 0.2 0.25 = 0.05, (1.24)

e ento:

bel(x2 = estaAberto) = 0.6 0.95 0.983


bel(x2 = estaF echado) = 0.2 0.05 0.017. (1.25)

Atravs desse exemplo e at este ponto, pode-se dizer que existe uma chance
de aproximadamente 0.983 da porta estar aberta caso as medies estejam corretas.
Captulo 1. Filtros Probabilsticos 13

Ainda de acordo com (FALLIS, 2013), ele compara isso a uma chance de um avio
em voou com piloto automatico, ter uma chance de 0.983 de no cair.
Atravs desse exemplo, pode-se perceber a importncia da aplicao de
filtros para prever a possibilidade de situaes possveis, no caso do SLAM, os
filtros so utilizados para confirmar medies (ex.: qual a possibilidade de realmente
existir uma parede em um determinado local) e analisar o quo confiveis essas
medies podem ser.
Na tentativa de melhorar ainda mais a preciso dos filtros, pois este um
dos pilares fundamentais na utilizao dos mesmos, atrela-se o filtro de Bayes a
conceitos de probabilidade. Nos tpicos a seguir, se aborda sobre alguns filtros
derivados do filtro de Bayes e fundamentados em probabilidade.

1.2 Parametrizados
Os filtros parametrizados tem por caracterstica serem um estimador de es-
tados recursivo, tambm chamados de filtros gaussianos. Esses filtros so conhecidos
por serem implementaes tratveis do filtro de Bayes.
Os filtros gaussianos tem uma caracterstica bsica em que as crenas so
representadas por distribuies normais multivariadas, que dada pela Equao
(FALLIS, 2013):
1
 
12
p(x) = det(2) exp (x )T 1 (x ) , (1.26)
2
onde x o estado, a mdia e a covarincia.
Filtros gaussianos so unimodais, ou seja, eles possuem apenas um nico
mximo. Inferir um estado posterior uma caracterstica de muitos problemas de
rastreamento em robtica, em que o estado posterior inferido se encontra prximo
ao estado verdadeiro e com apenas uma pequena margem de incerteza.
Em (FALLIS, 2013) dito que a representao de uma gaussiana por
mdia e covarincia chamada de representao de momentos, isto porque a
mdia e a covarincia so os primeiros e segundo momento de uma distribuio de
probabilidade. Todos os outros momentos so zero para distribuio normal.
Captulo 1. Filtros Probabilsticos 14

1.2.1 Filtro de Kalman


Segundo (FALLIS, 2013), o filtro de Kalman representa as crenas por
representao de momentos. A mdia representada por t e a covarincia por
t , onde t o tempo. Os estados posteriores so gaussianos se as seguintes trs
propriedades se mantm:
- probabilidade do prximo estado;
- probabilidade de medio;
- crena inicial.
A probabilidade do prximo estado p(xt |ut , xt1 ) deve ser uma funo linear
com um adicional de rudo gaussiano, que pode ser expressa por:

xt = At xt1 + Bt ut + t (1.27)

nesta abordagem, xt e xt1 so vetores de estados e ut um vetor de controle no


tempo t. At e Bt so matrizes, em que At uma matriz n n, onde n a dimenso
do vetor de estado xt e Bt uma matriz n m, sendo m o nmero de dimenses
do vetor de controle ut .
A varivel aleatria t um vetor aleatrio e gaussiano que modela a
aleatoriedade no estado de transio e possui a mesma dimenso do vetor de estado.
Sua mdia zero e a covarincia chamada de Rt .
Conectando a Equao 1.27 com 1.26 e considerando que a mdia do estado
posterior dada por At xt1 + Bt ut e que a covarincia Rt , tem-se que:
1
 
12
p(xt |ut , xt1 ) = det(2Rt ) exp (xt At xt1 Bt ut )T Rt1 (xt At xt1 Bt ut ) .
2
(1.28)
Para a probabilidade de medio p(zt | xt ), que precisa ser linear e com a
adio do rudo gaussiano, tem-se:

zt = Ct xt + t . (1.29)

Onde Ct a matriz k n, em que k a dimenso do vetor de medio zt e o vetor


t representa o rudo da medio. A distribuio de t uma gaussiana multivariada
Captulo 1. Filtros Probabilsticos 15

com mdia zero e covarincia Qt . Dessa forma, considerando a Equao 1.26 em


conjunto com 1.29, tem-se que a distribuio da probabilidade de medio dada
por:
1
 
1
p(zt | xt ) = det(2Qt ) 2 exp (zt ct xt )T Q1
t (zt Ct xt ) . (1.30)
2

No caso da crena inicial bel(x0 ), deve ser normalmente distribuda, consi-


derando a sua mdia como 0 e a covarincia como 0 . Levando em considerao a
equao 1.26, tem-se que:
1
 
1
bel(x0 ) = p(x0 ) = det(20 ) 2 exp (x0 0 )T 1
0 (x0 0 ) . (1.31)
2

Segundo (FALLIS, 2013) Considerando essas trs propriedades, pode-se


calcular o posterior bel(xt ) como uma gaussiana, a partir de qualquer ponto no
tempo t.

Algorithm 2 Algoritmo Filtro de Kalman (FALLIS, 2013)


1: procedure KalmanFilter(ut1 , t1 , ut , zt )
2: t = At t1 + Bt ut

3: t = At t1 AT + Rt

 t
t C T + Qt 1

4: T
Kt = t Ct Ct t
5: t = t + Kt (zt Ct t )
6: t = (I Kt Ct ) t
7: Return t ,t
8: end procedure

O Algoritmo 2 (FALLIS, 2013) representa o algoritmo do filtro de Kalman,


antes
e
em que a varivel Kt o ganho de Kalman e bel(xt ) representado por
da incorporao da medio zt .

1.2.2 Filtro de Kalman estendido


Segundo (FALLIS, 2013), o estado de transio linear e medio linear
adicionados de ruido gaussiano so raramente utilizveis na prtica, pois em casos
em que robs se movimentam em constante velocidade rotacional e translacional,
Captulo 1. Filtros Probabilsticos 16

o rob acaba se movendo em trajetrias circulares, que no podem ser descritas


atravs de uma transio de prximo estado linear.
O filtro de Kalman estendido tenta resolver este problema tratando a
probabilidade do prximo estado e a probabilidade de medio atravs de funes
no lineares, sendo estas g e h, respectivamente. Atravs dessa idia, pode-se dizer
que:

xt = g(ut , xt1 ) + t (1.32)


zt = h(xt ) + t (1.33)

Este modelo baseado nas Equaes 1.27 e 1.29 e uma generalizao delas.
Porm, sendo g e h funes arbitrarias, a crena deixa de ser uma gaussiana e a
atualizao da crena tambm deixa de ser exata para as funes no lineares g e
h.
Segundo (FALLIS, 2013), o filtro de Kalman estendido (EKF) calcula uma
aproximao da verdadeira crena e representa essa aproximao por uma gaussiana.
Dessa forma, a crena bel(xt ) no tempo t representada pela mdia t e a covarincia
t . Por este motivo, o EKF herda do filtro de Kalman a representao da crena,
mudando apenas que no EKF, a crena passa a ser apenas uma aproximao,
enquanto o filtro de Kalman exato.
O EKF tem uma ideia que que o viabiliza chamada de linearizao (FALLIS,
2013). A gaussiana projetada atravs da funo no-linear de prximo estado g
no gaussiana. O motivo disso porque a no-linearidade em g distorce a crena
de forma que destri a a sua forma gaussiana.A linearizao aproxima g atravs
de uma funo linear, que tangente a g na mdia da gaussiana. Ainda segundo
(FALLIS, 2013), a linearizao de g aproxima a propagao da crena de forma
que torna ela equivalente ao do filtro de Kalman. O mesma tcnica se aplica a h.
A tcnica de linearizao utilizada pelo EKF a expanso de Taylor, essa
tcnica constri uma aproximao linear para g a partir de seus valores e inclinao.
A inclinao calculada pela derivada parcial:

g(ut , xt1 )
g 0 (ut , xt1 ) := (1.34)
xt1
Captulo 1. Filtros Probabilsticos 17

Para gaussiana o estado mais provvel a mdia do posterior t1 , isso quer


dizer que g aproximado pelo valor de t1 (e ut tambm), dito isto, a extrapolao
linear determinado por um termo proporcional ao gradiente de g com t1 e ut :

g(ut , xt1 ) g(ut , t1 ) + g 0 (ut , t1 )(xt1 t1 )


| {z }
=: Gt
= g(ut , t1 ) + Gt (xt1 t1 ) (1.35)

Escrevendo como uma gaussiana, a probabilidade do prximo estado


aproximada por:
1 1
p(xt |ut , xt1 ) det(2Rt ) 2 exp{ [xt g(ut , t1 ) Gt (xt1 t1 )]T
2
1
Rt [xt g(ut , t1 ) Gt (xt1 t1 )]} (1.36)

A matriz Gt tem tamanho n n, sendo n a dimenso do estado, essa matriz


chamada de Jacobian. O valor de Jacobian depende de ut e t1 .

Algorithm 3 Algoritmo Filtro de Kalman Estendido (FALLIS, 2013)


1: procedure ExtendedKalmanFilter(ut1 , t1 , ut , zt )
2: t = g(ut , t1 )

3: t = Gt t1 GT + Rt

 t
t H T + Qt 1

4: T
Kt = t Ht Ht t
5: t = t + Kt (zt ht t )
6: t = (I Kt Ht ) t
7: Return t ,t
8: end procedure

A mesma linearizao aplicada em g em 1.35, agora aplicada em h, porm


aqui a expanso de Taylor desenvolvida ao redor de t :

t ) + h0 (
h(xt ) h( t )(xt
t )
| {z }
=: Ht
t ) + Ht (xt
= h( t ) (1.37)
Captulo 1. Filtros Probabilsticos 18

h(xt )
Sabendo que h0 (xt ) := xt
, tem-se:

1 1
p(zt |xt ) det(2Qt ) 2 exp{ [zt h( t ) Ht (xt t )]T
2
Q1
t [zt h(
t ) Ht (xt t )]} (1.38)

O algoritmo do EKF similar ao Algoritmo 2, porem as diferenas impor-


tantes podem ser observadas no Algoritmo 3.

1.3 No-parametrizados
Segundo (FALLIS, 2013), alternativo aos filtros paramtricos (gaussianos),
tem-se os filtros no-paramtricos. Os filtros paramtricos no ficam presos de
forma funcional a uma forma de estado posterior nica, como acontece com os
filtros gaussianos.
Os filtros no-paramtricos se utilizam de uma aproximao do estado poste-
rior, atravs de nmero finito de valores, cada um correspondendo aproximadamente
a uma regio do espao de estado. O nmero de parmetros utilizados para estimar
uma aproximao do prximo estado pode variar e a qualidade da aproximao
depende diretamente desse nmero de parmetros utilizados. Quando o nmero
de parmetros tende ao infito, a aproximao tende ao prximo estado de forma
exata, porm, quanto maior o nmero de parmetros, maior o custo computacional,
felizmente que sero apresentados tem a possibilidade de adaptar se o nmero
de parmetros para a complexidade do estado posterior. Dessa forma, quando o
estado posterior tem uma pequena complexidade, utiliza-se um pequeno nmero de
parmetros e quando tem uma alta complexidade, o nmero de parmetros cresce.
A tcnicas que sero apresentadas aqui, histograma e filtro de partculas,
no tem fortes hipteses paramtricas sobre o estado posterior, porm elas so
adequadas para representar crenas complexas e multimodais. So uma boa escolha
quando tem que se lidar com fases de incertezas globais e quando encontra problemas
com difceis associao de dados.
Segundo (FALLIS, 2013), tcnicas em que se possvel adaptar o nmero
de parmetros so chamadas de adaptativas e aquelas que so capazes de adaptar
Captulo 1. Filtros Probabilsticos 19

o nmero de parmetros baseando-se no recurso computacional disponvel para


computao da crena so chamadas de recurso-adaptativa. As tcnicas recurso-
adaptativas so extremamente importantes para a robtica, poise isso possibilita a
que o rob tome decises em tempo real.

1.3.1 Filtro histograma


Histograma decompe o espao de estados em um grande nmero de regies
finitas e representa o estado posterior cumulativo para cada regio por um simples
valor probabilstico (FALLIS, 2013). Para estados discretos, o filtro chamado de
filtro de Bayes discreto e em espaos de estados contnuos conhecido como filtro
histograma.

1.3.1.1 Filtro discreto de Bayes

Este filtro aplicado a problemas com um finito espao de estados, quando


Xt pode ter vrios valores finitos.

Algorithm 4 Algoritmo Filtro de Bayes discreto (FALLIS, 2013)


1: procedure DiscreteBayesFilter({pk,t1 }, ut , zt )
2: for all k do
pk,t = i p(Xt = xk |ut , Xt1 = xi ) pi,t1
P
3:
4: pk,t = p(zt |Xt = xk ) pk,t
5: end for
6: Return pk,t
7: end procedure

No Algoritmo 4 tem-se o pseudo-cdigo para o algoritmo de Bayes discreto,


ele derivado do filtro de Bayes (Algoritmo 1). As variveis xi e xk representam
estados individuais. A crena no tempo t uma distribuio de probabilidade para
cada estado xk , denotado por pk,t . A entrada do algoritmo uma distribuio de
probabilidade discreta {pk,t } ao longo do recente controle ut e medio zt . O pk,t
representa a previso da crena para o novo estado, se baseando apenas no controle,
enquanto pk,t a previso aps incorporar a medio. Segundo (FALLIS, 2013), o
filtro de Bayes discreto muito popular nas reas de tratamento de sinal muitas
vezes referido como um passo a frente de uma Cadeia de Markov Escondida.
Captulo 1. Filtros Probabilsticos 20

1.3.1.2 Estados contnuos

Este filtro, tambm chamado de filtro histograma decompe o o espao de


estados contnuo em muitas finitas regies:

range(Xt ) = x1,t x2,t ... xK,t (1.39)

onde Xt uma varivel aleatria que descreve o estado do rob no tempo t e a


funo range(Xt ) denota esse espao. Enquanto xk,t descreve regies convexas. No
existe intersees entre as regies xk,t e a unio delas resulta na funo range(Xt ).
A decomposio de um espao de estados contnuo uma grande multi-dimensional,
visto que cada xk,t representa uma clula da grade. Dependendo de do tamanho
dessas grades e da quantidade, pode-se trocar acurcia por eficincia computacional.
Neste filtro a probabilidade do prximo estado p(xt ) definida por:
pk,t
p(xt ) = . (1.40)
|xk,t |

O |xk,t | representa o volume da regio xk,t e pk,t a probabilidade para cada regio
xk,t . O estado mdio xk,t calculado por:
Z
xk,t = |xk,t |1 xt dxt (1.41)
xk,t

E atravs disso pode-se inferir que:

p(zt |xk,t ) p(zt | xk,t ) (1.42)



p(xk,t |ut , xi,t1 ) xk,t |ut , xi,t1 )
p( (1.43)
|xk,t |

Atravs dessas aproximaes, que calcula-se o filtro histograma.

1.3.2 Filtro de partculas


Segundo (FALLIS, 2013), o filtro de partcula um alternativa no-paramtrica
do filtro de Bayes. Assim como o filtro histograma, o filtro de partculas aproxima
o estado posterior atravs de um nmero finito de parmetros, porm, ele difere
na forma como esses parmetros so gerados e na forma como popula o espao de
estados.
Captulo 1. Filtros Probabilsticos 21

A ideia central por trs do filtro de partculas a representao do estado


posterior bel(xt ) atravs de um conjunto de amostras de estados aleatrios extrado
do estado posterior.
No filtro de partculas, as amostras de uma distribuio posterior chamada
de partcula e denotada:
[1] [2] [M ]
t = xt , xt , ..., xt (1.44)
[m]
A partir disso pode-se dizer que cada partcula xt (1 m M ) uma instanciao
de estado no tempo t, uma hipotese do que o mundo verdadeiro pode ser no tempo
t.
Segundo (FALLIS, 2013), a ideia inicial do filtro aproximar a crena bel(xt )
do conjunto de partculas t . O ideal seria que a hipotese de estado xt fosse includa
no conjunto de partculas t e fosse proporcional ao estado posterior do filtro de
Bayes bel(xt ):
[m]
xt p(xt |z1:t , u1:t ) (1.45)

Algorithm 5 Algoritmo Filtro de partcula (FALLIS, 2013)


1: procedure ParticleFilter(t1 , ut , zt )
2: t = t =
3: for m = 1 to M do do
[m] [m]
4: sample xt  p(xt |u ,x )
t t1
[m]
[m],wt
5: t = t + xt
6: end for
7: for m = 1 to M do do
[i]
8: draw i with probability wt
[i]
9: add xt to t
10: end for
11: Return t
12: end procedure

Quanto mais uma regio de espao de estados estiver populada de amostras,


maior a chance do verdadeiro estado posterior estar nesta regio. Assim como o
filtro de Bayes, o algoritmo do filtro de partculas constri a crena bel(xt ) de forma
recursiva a partir de bel(xt1 ). Da mesma forma, ele constri t recursivamente a
partir de t conforme pode-se visualizar no Algoritmo 5.
22

2 Modelos Probabilsticos de Movimento

Neste captulo abordado sobre as aes do rob u1:t em forma de movimento.


Em SLAM, a movimentao do rob e sua preciso de extrema importncia.
Como visto no captulo 1, os modelos de predio de estados, utilizam as aes do
rob como base de previso.
Segundo (FALLIS, 2013), apesar de modelos de movimentos ser estudados
a dcadas de forma determinstica, para SLAM foi necessrio generalizar esses
modelos. Neste captulo os modelos abordados so baseados na probabilidade de
transio de estado p(xt |ut , xt1 ).
Segundo (FALLIS, 2013), cinemtica o calculo que descreve o efeitos das
aes de controle de acordo com a configurao do rob. A cinemtica do rob
um dos principais temas abordados, pois todo o processo depende do quo preciso
as previses so nesta etapa (o tratamento de incertezas e rudos).
A cinemtica abordada baseado em um modelo bidimensional (planar) e
descrita por coordenadas cartesianas hx, yi (o x da posio cartesiana diferente
do xt que representa o estado atual do rob) e um ngulo de orientao . No vetor
da Equao 2.1, pode-se observar a representao do estado cinemtico do rob,
tambm chamado de pose.
x

y

(2.1)


Pode-se observar melhor como funciona a pose do rob atravs da Figura 1.
O modelo de cinemtica probabilstica (modelo de movimento) baseado
no modelo de transio de estado do rob p(xt |ut , xt1 ) onde xt e xt1 representa
poses do rob e ut o comando de movimento. Neste captulo abordado sobre
dois modelos de movimento, modelo de velocidade e modelo de odometria que so
apresentados nos tpicos a seguir.
Captulo 2. Modelos Probabilsticos de Movimento 23

Figura 1: Pose do rob demonstrado como um sistema de coordenadas global.


Fonte: Acervo do autor (FALLIS, 2013)

2.1 Modelo de Velocidade


De acordo com (FALLIS, 2013), este modelo de movimento assume que os
controles ut sejam comandos de controle de velocidade dados pelo motor do rob.
Nesse caso, ut composto por dois tipos de velocidades, velocidade de rotao t e
velocidade de translao t , sendo denotado da seguinte forma:

t
ut = (2.2)
t

De acordo com o modelo cinemtico do rob (Equao 2.1), pode-se dizer


que a pose inicial seja xt1 = (x y )T , o controle seja ut = ( )T e a prxima
pose seja xt = (x0 y 0 0 )T , assume-se que o controle tem uma durao fixa t. Os
parmetros especficos de erro de movimento do rob so 1 , 2 , ..., 6 .
O algoritmo primeiro calcula o controle do rob livre de erro, o significado
de cada varivel aparece aps derivar-los, esses parmetros so so dados por e
. No Algoritmo 6 pode-se observar um algoritmo para resoluo do problema com

modelo de velocidade de movimento.

2.2 Modelo Odomtrico


Alternativo ao modelo de velocidade de movimento, existe o o modelo
odomtrico, que consiste em calcular o movimento do rob ao longo do tempo.
Captulo 2. Modelos Probabilsticos de Movimento 24

Algorithm 6 Amostra do modelo de velocidade de movimento (FALLIS, 2013)


1: procedure velocityMotionModel(t1 , ut , zt )
2: = + sample(1 || + 2 ||)
3: = + sample(3 || + 4 ||)
4: = sample(5 || + 6 ||)
5:
6: x0 = x sin + sin( + t)
7: y 0 = y + sin sin( +
t)
8: 0 = t + t
9:
10: Return xt = (x0 , y 0 , 0 )T
11: end procedure

A odometria normalmente obtida atravs da da integrao dos encoders das


rodas do rob. Segundo (FALLIS, 2013), pela experiencia, o modelo odomtrico
mais preciso que o modelo de velocidade, porm ambos sofrem com problemas de
derrapagem.
Segundo (FALLIS, 2013), odometria uma medio e no um controle,
porm tratam odometria como um sinal de controle e dessa forma tratam a medio
odomtrica como controle.
No modelo odomtrico, utiliza-se a informao relativa da odometria interna
do rob, considerando o intervalo de tempo (t1, t] e o rob avanando da pose xt1
at a pose xt . A odometria retorna o avano de xt1 = ( para xt = (
x y ) x0 y0 0 ),
a barra representa que uma medio odomtrica. A chave para o resoluo do
problema esta em considera que a diferena entre xt1 e xt um bom estimador
para a diferena das verdadeiras poses xt1 e xt , dessa forme, podendo dizer que:

xt1
ut = (2.3)
xt

Por conta da odometria, ut transformado em trs passos, rotao rot1 ,


translao trans e uma segunda rotao rot2 . Para cada par de posies (s s0 ),
existe um nico vetor de parmetros (rot1 trans rot2 )T e esses parmetros so
considerados suficientes para reconstruo do movimento relativo entre as duas
posies.
Captulo 2. Modelos Probabilsticos de Movimento 25

O algoritmo utilizado para resolver esse problema o Algoritmo 7.

Algorithm 7 Amostra do modelo de odomtrico de movimento (FALLIS, 2013)


1: procedure odometryMotionModel(t1 , ut , zt )
2: y 0 y, x0 x)
rot1 = atan2(
q
3: trans = ( x x0 )2 + (
y y0 )s
4: rot2 = 0 rot1
5:
6: rot1 = rot1 sample(1 rot1 + 2 trans )
7: trans = trans sample(3 trans + 4 (rot1 + rot2 ))
8: rot2 = rot2 sample(1 rot2 + 2 trans )
9:
10: x0 = x + trans cos( + rot1 )
11: y0 = y + trans sin( + rot1 )
12: 0 = + rot1 + rot2
13:
14: Return xt = (x0 , y 0 , 0 )T
15: end procedure

Exemplos de trabalhos onde aplica-se o modelo odomtrico so (EUDES et


al., 2010a) e (EUDES et al., 2010b).
26

3 Modelos Probabilsticos de Medio

Modelos de medio so uma etapa fundamental no processo de SLAM, tanto


quanto os modelos de movimento e assim como tal, sofre do mesmo problema de
rudos e incertezas. Os modelos de medio tentam captar o mundo real e descreve-
lo da maneira mais precisa possvel em um modelo computacional. Existem diversos
tipos de sensores, sendo os mais utilizados em SLAM os sensores de distncia (ex.:
lasers e sonares) e cmeras.
De acordo com (FALLIS, 2013), os modelos de medio so formalizados
como uma distribuio de probabilidade condicional p(zt |xt , m) (para minimizao
de rudos e incertezas), onde xt a pose do rob, zt a medio do rob no tempo
t e m o mapa do ambiente.
Ainda de acordo com (FALLIS, 2013), a robtica probabilstica acomoda
imprecises do modelo do sensor em aspectos estocsticos como a modelagem
do processo de medio como uma densidade de probabilidade condicional, onde
calcula-se p(zt |xt ) ao invs de uma funo determinstica zt = f (xt ), a incerteza
do sensor acomodada por aspectos no determinsticos do modelo.
Uma medio costuma no adquirir apenas uma nica medio de uma vez,
podendo extrair varias caractersticas diferentes do ambiente, como no caso da
cmara que pode extrair a cor, luminosidade e saturao. Dessa forma a medio
denotada da seguinte forma:

zt = {zt1 , zt2 , ..., ztK }, (3.1)

ser utilizado ztk para se referir a uma medio individualmente. Aps definir a foram
como as medies so expressas, aproxima-se p(zt |xt , m) atravs do produtrio das
medies individuais.
K
p(ztk |xt , m)
Y
p(zt |xt , m) = (3.2)
k=1

Um mapa de um ambiente composto por um nmero de objetos presente


Captulo 3. Modelos Probabilsticos de Medio 27

neste ambiente:
m = {m1 , m2 , ..., mN }, (3.3)

considerando que mn , com 1 n N . Como se trata de mapas planares, pode-se


considerar os elementos do mapa sendo representados por mx,y , sendo x e y a
coordenadas dos objetos.
Existem vrios mtodos para tratar os erros e rudos de medio, no Algo-
ritmo 8 tem-se o algoritmo do modelo de feixe de distncia por exemplo. Neste
algoritmo tem-se um tipo de medio onde o sensor possui um alcance que
denotado por [0; zmax ] e zmax representa o alcance mximo do sensor.

Algorithm 8 modelo de feixe de distncia (FALLIS, 2013)


1: procedure beamRangerFinderModel(zt , xt , m)
2: q = 1
3: for k = 1 to K do do
4: compute ztk for the measurement ztk using ray casting
5: p = zhit phit (ztk |xt , m) + zshort pshort (ztk |xt , m) + zmax pmax (ztk |xt , m) +
zrand prand (ztk |xt , m)
6: q = qp
7: end for
8: end procedure

No Algoritmo 8 existe algumas expresses que devem ser definidas. A


expresso phit (ztk |xt , m)m definida por:

N (z k ; z k , 2 if 0 ztk zmax
t t hit )
phit (ztk |xt , m) = (3.4)
0 otherwise

onde ztk a mdia, hit o desvio padro e N (ztk , ztk , hit


2
) dado por:
(ztk ztk )2
1 21
2
N (ztk ; ztk , hit
2
) = q e hit (3.5)
2
2hit

e o normalizador para phit (ztk |xt , m) calculado por:


Z zmax 1
= N (ztk ; ztk , hit
2
)dztk (3.6)
0
Captulo 3. Modelos Probabilsticos de Medio 28

Agora a expresso pshort (ztk |xt , m) definida por:



short ztk

short e if 0 ztk ztk
pshort (ztk |xt , m) = (3.7)
0 otherwise

e normalizador para pshort (ztk |xt , m) dado por:


1
= k (3.8)
1 eshort zt

A expresso pmax (ztk |xt , m) definida por:



1 if z = zmax
pmax (ztk |xt , m) = (3.9)
0 otherwise

Por ultimo a expresso prand (ztk |xt , m) definida por:



1 if 0 ztk zmax
prand (ztk |xt , m) = zmax
(3.10)
0 otherwise

Dessa forma, tendo conhecimento de todas as expresses envolvidas no


Algoritmo 8 faz-se possvel sua implementao. Exemplos de aplicaes com o
modelo apresentado neste captulo podem ser observado em (KRETZSCHMAR;
STACHNISS; GRISETTI, 2011) e (DIOSI; KLEEMAN, 2004).
29

4 Filtros SLAM na Abordagem Probabi-


lstica

Segundo (FALLIS, 2013), o problema SLAM ocorre quando o rob no tem


acesso ao mapa do ambiente em que esta inserido e por sua vez, tambm no tem
acesso a sua pose. No SLAM, o rob mapeia o ambiente ao ser redor e ao mesmo
tempo se localiza neste ambiente.
Ainda segundo (FALLIS, 2013), da perspectiva probabilstica, exitem duas
formas principais do problema SLAM, sendo a primeira delas a online SLAM, que
envolve estimar a pose posterior atravs das poses momentneas ao longo do mapa.
Sendo representado pela seguinte forma:

p(xt , m|z1:t , u1:t ) (4.1)

muitos algoritmos tratam o online SLAM de maneira incremental, descartando


a medies anteriores e realizando o controle apenas aps o medies e controle
terem sido processados. O posterior do online SLAM dado por:

p(xt , m, ct |z1:t , u1:t ) (4.2)

A segunda opo o full SLAM, o calculo da pose posterior feita sobre o


caminho x1:t ao longo do mapa:

p(x1:t , m|z1:t , u1:t ) (4.3)

O posterior do full SLAM dado por:

p(x1:t , m, c1:t |z1:t , u1:t ) (4.4)

Nos tpicos a seguir, abordado sobre o online SLAM juntamente com o


filtro de Kalman extendido (EKF), sendo tratado da forma em que o SLAM tem
correspondncias conhecidas e correspondncias desconhecidas.
Captulo 4. Filtros SLAM na Abordagem Probabilstica 30

4.1 SLAM com filtro de Kalman extendido com correspon-


dncias conhecidas
Segundo (FALLIS, 2013), o algoritmo SLAM para correspondncias conhe-
cidas resolve a poro contnua apenas o problema SLAM. O EKF SLAM alm de
estimar o xt , ele tambm estima a coordenada de todos os pontos de referncia ao
longo do caminho e isso torna necessrio incluir as coordenadas desses pontos no
vetor de estados.
Assim como em (FALLIS, 2013), o vetor de estados tratado como a unio
da pose do rob com o mapa, sendo assim chamado de vetor de estados combinados
e sendo denotado por yt , onde:

xt
yt =
m
yt = (x y m1,x m1,y s1 m2,x m2,y s2 ... mN,x mN,y sN ) (4.5)
sendo que x, y e so as coordenadas da pose do rob no tempo t, mi,x , mi,y so as
coordenadas de cada ponto para i = 1, ..., N e si a assinatura do ponto. O EKF
SLAM ento calcula o estado posterior:

p(yt |z1:t , u1:t ) (4.6)


Pode-se observar o funcionamento do EKF SLAM atravs do algoritmo da Figura
2.

4.2 SLAM com filtro de Kalman extendido com correspon-


dncias desconhecidas
De acordo com (FALLIS, 2013), o EKF SLAM com correspondncias co-
nhecidas generalizada para o EKF SLAM geral, que utilizada uma estimativa de
incremento de probabilidade mxima para determinar as correspondncias. Agora
o algoritmo carece da varivel de correspondncia ct e no seu lugar, includo o
tamanho momentneo do mapa, Nt1 . O algoritmo EKF SLAM pode ser observador
na Figura 3.
Captulo 4. Filtros SLAM na Abordagem Probabilstica 31

Exemplos de trabalhos utilizando este o EKF SLAM podem ser observados


em (BAILEY et al., 2006) e em (PAZ; TARDS; NEIRA, 2008).
Captulo 4. Filtros SLAM na Abordagem Probabilstica 32

Figura 2: Algoritmo EKF SLAM com correspondncias conhecidas.


Fonte: Acervo do autor (FALLIS, 2013)
Captulo 4. Filtros SLAM na Abordagem Probabilstica 33

Figura 3: Algoritmo EKF SLAM com correspondncias desconhecidas.


Fonte: Acervo do autor (FALLIS, 2013)
34

Referncias

BAILEY, T.; NIETO, J.; GUIVANT, J.; STEVENS, M.; NEBOT, E. Consistency
of the ekf-slam algorithm. In: 2006 IEEE/RSJ International Conference on
Intelligent Robots and Systems. [S.l.: s.n.], 2006. p. 35623568. ISSN 2153-0858.
Citado na pgina 31.

DIOSI, A.; KLEEMAN, L. Advanced sonar and laser range finder fusion for
simultaneous localization and mapping. In: Intelligent Robots and Systems, 2004.
(IROS 2004). Proceedings. 2004 IEEE/RSJ International Conference on. [S.l.:
s.n.], 2004. v. 2, p. 18541859 vol.2. Citado na pgina 28.

EUDES, A.; LHUILLIER, M.; NAUDET-COLLETTE, S.; DHOME, M. Fast


odometry integration in local bundle adjustment-based visual slam. In: Pattern
Recognition (ICPR), 2010 20th International Conference on. [S.l.: s.n.], 2010. p.
290293. ISSN 1051-4651. Citado na pgina 25.

EUDES, A.; NAUDET-COLLETTE, S.; LHUILLIER, M.; DHOME, M. Weighted


Local Bundle Adjustment and Application to Odometry and Visual SLAM Fusion.
2010. Citado na pgina 25.

FALLIS, A. Probabilistic robotics. [S.l.: s.n.], 2013. v. 53. 16891699 p. ISSN


1098-6596. ISBN 9788578110796. Citado 22 vezes nas pginas 7, 8, 9, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32 e 33.

KRETZSCHMAR, H.; STACHNISS, C.; GRISETTI, G. Efficient information-


theoretic graph pruning for graph-based slam with laser range finders. In: 2011
IEEE/RSJ International Conference on Intelligent Robots and Systems. [S.l.: s.n.],
2011. p. 865871. ISSN 2153-0858. Citado na pgina 28.

LEONARD, J. J.; DURRANT-WHYTE, H. F. Simultaneous map building and


localization for an autonomous mobile robot. In: Intelligent Robots and Systems
91. Intelligence for Mechanical Systems, Proceedings IROS 91. IEEE/RSJ
International Workshop on. [S.l.: s.n.], 1991. p. 14421447 vol.3. Citado na pgina
6.

PAZ, L. M.; TARDS, J. D.; NEIRA, J. Divide and conquer: Ekf slam in
o(n). IEEE Transactions on Robotics, v. 24, n. 5, p. 11071120, Oct 2008. ISSN
1552-3098. Citado na pgina 31.
Referncias 35

SMITH, R.; SELF, M.; CHEESEMAN, P. Estimating uncertain spatial


relationships in robotics. In: . Autonomous Robot Vehicles. New York, NY:
Springer New York, 1990. p. 167193. ISBN 978-1-4613-8997-2. Disponvel em:
<http://dx.doi.org/10.1007/978-1-4613-8997-2_14>. Citado na pgina 6.

SMITH, R. C.; CHEESEMAN, P. On the representation and estimation of spatial


uncertainty. The International Journal of Robotics Research, v. 5, n. 4, p. 5668,
1986. Disponvel em: <http://ijr.sagepub.com/content/5/4/56.abstract>. Citado
na pgina 6.