INTRODUÇÃO À ROBÓTICA
MÓVEL
Aula 27
Edson Prestes
Departamento de Informática Teórica
http://www.inf.ufrgs.br/~prestes
[email protected]
Localização
l
l
l
l
É um componente essencial para um robô ser
completamente autônomo.
Se o robô não sabe sua posição no ambiente ele não
pode realizar nenhuma tarefa de navegação
A odometria por si só não é suficiente para ser usada
como estimativa da posição do robô, pois o erro de
estimativa cresce de forma ilimitada.
Os principais algoritmos são baseados em processo de
Filtragem de Kalman e de Bayes.
Localização
l
l
l
O processo de auto-localização usando Filtro de
Kalman considera que a postura do robô pode ser
representada por uma distribuição gaussiana.
Esta forma de estimação assume que a crença sobre a
localização robô não possui ambiguidades. Portanto, a
distribuição é sempre unimodal.
Distribuições unimodais são particularmente importante
em problemas de position tracking.
Localização
l
l
l
Em position tracking, a postura inicial do robô é
conhecida.
As observações feitas pelo robô podem ser associadas
de forma única com as características armazenadas no
mapa do ambiente.
Exemplo: se um robô sabe aproximadamente sua
localização e detecta uma porta, ele pode determinar
sua postura usando a informação sobre sua posição e a
da porta, armazenada no mapa do ambiente.
Figura extraída de [1]
Localização
l
l
l
l
Se a incerteza sobre a postura do robô é alta então
múltiplas portas armazenadas no mapa podem
corresponder à porta observada pelo robô.
Temos situações ambíguas.
Logo, o método deve modela a postura do robô através
de uma distribuição multi-modal.
Problemas com esta característica são chamados de
problemas de auto-localização global.
Localização
Figura extraída de [1]
Localização Probabilística- Filtragem
Bayesiana
l
l
Seja X o espaço de estados do robô. Queremos estimar
o estado x 2 X, que é sua postura corrente.
Para isto é necessário estimar a seguinte probabilidade
condicional (posterior probability)
P(x(k) | u(0:k–1), y(1:k))
que consiste na probabilidade de x(k) ser a postura real
do robô dados u(0:k–1) e y(1:k), onde u(0:k-1) são as
ações nos instantes de 0 a k-1; e y(1:k) são as
observações feitas nos instantes de 1 a k.
l
Observe que u e y são considerados de forma
sincronizada, u(0), y(1), u(1), y(2), … u(k-1),y(k)
Localização Probabilística- Filtragem
Bayesiana
l
A probabilidade posterior (detalhes em [1])
(1)
Onde
P(y(k)|x(k)) é o modelo de observação, i.e., a
probabilidade de observar y(k) na postura x(k).
P(x(k)| u(k-1), x(k-1)) é o modelo de movimento que
pode ser visto como a probabilidade de transição de
x(k-1) para x(k) após a aplicação da ação u(k-1).
n(k) é a constante de normalização.
Localização Probabilística- Filtragem
Bayesiana
l
A equação (1) é um caso particular, que considera os
estados discretos da seguinte equação
(2)
Onde
P(y(k)|x(k)) é o modelo de observação, i.e., a
probabilidade de observar y(k) na postura x(k).
P(x(k)| u(k-1), x(k-1)) é o modelo de movimento que
pode ser visto como a probabilidade de transição de
x(k-1) para x(k) após a aplicação da ação u(k-1).
n(k) é a constante de normalização.
Localização Probabilística- Filtragem
Bayesiana
l
l
Tanto a equação (1) quanto a equação (2), incorporam de
forma conjunta os passos de predição e atualização,
diferentemente da filtragem de Kalman.
O passo de predição atualiza a probabilidade corrente da
postura do robô, P(x(k-1)|u(0:k-2),y(1:k-1)), usando a
medida de odometria u(k-1).
Estimado no instante k-1
Localização Probabilística- Filtragem
Bayesiana
l
O passo de atualização é executado quando o robô
percebe uma medida y(k) com as informações sobre o
ambiente no estado x(k). Isto é feito através do termo
p(y(k)|x(k)).
Calculado no passo anterior
onde
Localização Probabilística- Representação
Resolução espacial : 10 ~30
cm
Resolução angular : 2 ~10
graus
Figura extraída de [1]
Localização Probabilística- Representação
Algoritmo extraído de [1]
Localização Probabilística- Filtragem
Bayesiana
Muitas operações devem ser realizadas.
Para aumentar a eficiência das linhas de 2-5, Fox et al [2]
propuseram o seguinte algoritmo:
l
desloca os dados de acordo com o movimento do robô
l
O grid é convoluído com um kernel gaussiano. No caso
bidimensional temos
l
l
O eixo x, temos
P'(x,y, µ)=0.5P((x,y, µ))+(0.25)(P((x-1,y,µ)) + P((x+1,y, µ)))
l
Localização Probabilística- Filtragem
Bayesiana
l
O processo é repetido para os eixos y e µ
l
Em seguida, a observação y(i) é integrada no grid.
l
Isto é feito multiplicando cada célula do grid pela
probabilidade de observação, dado que o robô tem a
postura correspondente àquela célula.
Localização Probabilística- Filtragem
Bayesiana
Figuras extraídas de [1]
Localização Probabilística- Filtragem
Bayesiana
Figuras extraídas de [1]
Localização Probabilística- Filtragem
Bayesiana – Filtro de Partículas
l
l
Uma alternativa eficiente para representar e manter a
PDF.
É chamado de Localização Monte Carlo, Condensation,
entre outros
A idéia chave é representar a probabilidade posterior,
P(x(k) | u(0:k–1), y(1:k))
através de um conjunto de amostras.
l
l
Cada amostra é um par (x,w) que contém uma hipótese
candidata x sobre a postura do robô e um fator w que
indica a adequação da hipótese em representar a postura
real do robô.
Localização Probabilística- Filtragem
Bayesiana – Filtro de Partículas
Localização Probabilística- Filtragem
Bayesiana – Filtro de Partículas
Motion Model
Figura extraída de [1]
Localização Probabilística- Filtragem
Bayesiana – Filtro de Partículas
Sensor Model
Figura extraída de [1]
Localização Probabilística- Filtragem
Bayesiana – Filtro de Partículas
Figura extraída de [1]
Localização Probabilística- Filtragem
Bayesiana – Filtro de Partículas
Figura extraída de [1]
Localização Probabilística- Filtragem
Bayesiana – Filtro de Partículas
Figura extraída de [1]
Localização Probabilística- Filtragem
Bayesiana – Filtro de Partículas
Como incorporar o Filtro de Partículas no
Processo de Mapeamento de forma a
desenvolver um método SLAM ?
Particle Selection based on
Potential Fields
¢
Particle filter method draws samples randomly in
the free-space environment.
¢
This strategy has at least two disadvantages:
All regions will have the same importance.
— The regions near the obstacles are improperly covered.
—
Particle Selection based on
Potential Fields
How to produce a good environment covering?
How to minimize the number of particles keeping
the filter convergence to the correct solution?
Particle Selection based on
Potential Fields
¢
An initial tentative has been proposed by Kwon
et al.
¢
They consider that the robot will always follow
the topological edges of the environment freespace.
¢
The method samples particles around topological
edges.
¢
The number of particles significantly diminishes.
Particle Selection based on
Potential Fields
This strategy is very efficient to dense
environments.
¢ When the robot is in a sparse environment, the
method fails.
¢
robot
Sparse Regions
The regions near the obstacles
are improperly covered
Topological Edges
Particle Selection based on
Potential Fields
How to solve this problem ?
By sampling particles near the walls.
a)
b)
Depending on the
sensor range, we can
focus on different
regions to draw
particles
Particle Selection based on
Potential Fields
¢
¢
To determine the best navigational edges, we need
—
The grid cells size (wcell);
—
The maximum robot distance from the walls (drobot). We can
consider only a small fraction of the sensor range as useful
information, e.g., only 30% of the sonar returns.
By using this information, we know the cells that will comprise
navigational edges should be far from the nearest obstacles
η = drobot /wcell
Particle Selection based on
Potential Fields
By shrinking the free-space cells through a thinning
algorithm, we can determine the navigational edges.
η=1
Particle Selection based on
Potential Fields
By shrinking the free-space cells through a thinning
algorithm, we can determine the navigational edges.
η=2
Particle Selection based on
Potential Fields
By shrinking the free-space cells through a thinning
algorithm, we can determine the navigational edges.
η=4
Particle Selection based on
Potential Fields
By shrinking the free-space cells through a thinning
algorithm, we can determine the navigational edges.
η = 10
Particle Selection based on
Potential Fields
By shrinking the free-space cells through a thinning
algorithm, we can determine the navigational edges.
η = 17
Particle Selection based on
Potential Fields
By shrinking the free-space cells through a thinning
algorithm, we can determine the navigational edges.
Final Skeleton
(The result produced by Kwon’s methods)
Particle Selection based on
Potential Fields
By considering the maximum robot’s distance from the
walls (drobot) as half of the sensors range
Low potential (0.0)
High potential (1)
Intermediary potential (0.5)
Particle Selection based on
Potential Fields
The probability that a cell r is selected to generate one
particle
Where c is a constant and p( r ) is the potential stored in
the cell r
Results
Uniform distribution samples
particles in regions that will not
help the robot in the localization.
Kwon’s method samples most of
the particles in the sparse
regions.
The method proposed produces
the best covering.
Green cells – Uniform distribution
Red cells
– Method proposed
Lilac cells – Kwon methods
Sparse
Regions
Results
Connected dense environment
The environment has 10m x 10m.
The robot can sense any obstacle at maximum distance
of 2m.
Environment 10m x 10m
Sensor Range 2m
Connected sparse environment
30m
24m
(c)
(b)
(a)
Sensor Range 2m
(b)
(a)
(c)
Non-Connected Sparse
Environment
The environment has 10m x 10m.
The robot can sense any obstacle at maximum distance
of 2m.
30m
24m
Sensor Range 2m
Adding information using the
robot motion
Robot motion and sensor readings are used to provide an initial
particle orientation.
The initial orientation is determined from the vector field computed
from the intermediary skeleton.
Final Results
Método
publicado em
[3] e [4].
Percentage of successful localizations. For each initial particle
distribution and number of particles the convergence rate
without and with orientation of the particles is given.
BIBLIOGRAFIA
l
l
l
l
[1] Choset, H., Lynch, K., Hutchinson, S., Kantor, G., Burgard, W.,
Kavraki, L., Thrun, S. Principles of Robot Motion : Theory, Algorithms,
and Implementations. MIT Press. 2005.
[2] D. Fox, W. Burgard and S. Thrun. Markov Localization for mobile
robots in dynamic environments. Journal of Artificial Intelligence
Research (JAIR), 11: 391-427, 1999
[3] SILVA JÚNIOR, E. P., Ritt, M., Fuhr, GImproved Particle Filter for
Sparse Environments Accepted for publication in the Special Issue
“Intelligent Robotic Systems” of the Journal of the Brazilian Computer
Society, 2009.
[4] SILVA JÚNIOR, E. P., RITT, M., FUHR, G. Improving Monte Carlo
Localization in Sparse Environments using Structural Environment
Information. In: IEEE/RSJ International Conference on Intelligent Robots
and Systems, Nice, France, 2008.
Download

INTRODUÇÃO À ROBÓTICA MÓVEL