INTRODUÇÃO À ROBÓTICA
MÓVEL
Edson Prestes
Departamento de Informática Teórica
http://www.inf.ufrgs.br/~prestes
prestes@inf.ufrgs.br
Aula 27
Localização
l É um componente essencial para um robô ser
completamente autônomo.
l Se o robô não sabe sua posição no ambiente ele não
pode realizar nenhuma tarefa de navegação
l 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.
l Os principais algoritmos são baseados em processo de
Localização
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.
l 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.
l Distribuições unimodais são particularmente importante
Localização
l Em position tracking, a postura inicial do robô é
conhecida.
l As observações feitas pelo robô podem ser associadas
de forma única com as características armazenadas no mapa do ambiente.
l 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.
Localização
l Se a incerteza sobre a postura do robô é alta então
múltiplas portas armazenadas no mapa podem corresponder à porta observada pelo robô.
l Temos situações ambíguas.
l Logo, o método deve modela a postura do robô através
de uma distribuição multi-modal.
l Problemas com esta característica são chamados de
Localização
Localização Probabilística- Filtragem
Bayesiana
l Seja X o espaço de estados do robô. Queremos estimar
o estado x2 X, que é sua postura corrente.
l 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
Localização Probabilística- Filtragem
Bayesiana
l A probabilidade posterior (detalhes em [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
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 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.
l 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).
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
Localização Probabilística- Representação
Figura extraída de [1] Resolução espacial : 10 ~30 cm Resolução angular : 2 ~10 grausLocalização Probabilística- Representação
Localização Probabilística- Filtragem
Bayesiana
l Muitas operações devem ser realizadas.
l 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 O eixo x, temos
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
Localização Probabilística- Filtragem
Bayesiana
Localização Probabilística- Filtragem
Bayesiana – Filtro de Partículas
l Uma alternativa eficiente para representar e manter a
PDF.
l É chamado de Localização Monte Carlo, Condensation,
entre outros
l 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 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
Figura extraída de [1] Motion Model
Localização Probabilística- Filtragem
Bayesiana – Filtro de Partículas
Figura extraída de [1] Sensor Model
Localização Probabilística- Filtragem
Bayesiana – Filtro de Partículas
Localização Probabilística- Filtragem
Bayesiana – Filtro de Partículas
Localização Probabilística- Filtragem
Bayesiana – Filtro de Partículas
Localização Probabilística- Filtragem
Bayesiana – Filtro de Partículas
Como incorporar o Filtro de Partículas no
Processo de Mapeamento de forma a
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.Particle Selection based on
Potential Fields
How to produce a good environment covering?
How to minimize the number of particles keeping
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
free-space.
¢
The method samples particles around topological
edges.
¢
This strategy is very efficient to dense
environments.
¢
When the robot is in a sparse environment, the
method fails.
Particle Selection based on
Potential Fields
Topological Edges
Sparse Regions
The regions near the obstacles are improperly covered
Particle Selection based on
Potential Fields
How to solve this problem ?
By sampling particles near the walls.
Depending on the sensor range, we can focus on different regions to draw particles
a)
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
Particle Selection based on
Potential Fields
η = 1
By shrinking the free-space cells through a thinning
algorithm, we can determine the navigational edges.
Particle Selection based on
Potential Fields
η = 2
By shrinking the free-space cells through a thinning
algorithm, we can determine the navigational edges.
Particle Selection based on
Potential Fields
η = 4
By shrinking the free-space cells through a thinning
algorithm, we can determine the navigational edges.
Particle Selection based on
Potential Fields
η = 10
By shrinking the free-space cells through a thinning
algorithm, we can determine the navigational edges.
Particle Selection based on
Potential Fields
η = 17
By shrinking the free-space cells through a thinning
algorithm, we can determine the navigational edges.
Particle Selection based on
Potential Fields
Final Skeleton
(The result produced by Kwon’s methods)
By shrinking the free-space cells through a thinning
algorithm, we can determine the navigational edges.
By considering the maximum robot’s distance from the
walls (d
robot) as half of the sensors range
Particle Selection based on
Potential Fields
High potential (1)
Intermediary potential (0.5)
The probability that a cell r is selected to generate one
particle
Particle Selection based on
Potential Fields
Where c is a constant and p( r ) is the potential stored in
the cell r
Results
Green cells – Uniform distribution Red cells – Method proposed Lilac cells – Kwon methods
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.
Sparse
Regions
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
(a) (a) (b) (b) (c) (c) 30m 24m Sensor Range 2mNon-Connected Sparse
Environment
The environment has 10m x 10m.
The robot can sense any obstacle at maximum distance
of 2m.
Sensor Range 2m 30m
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
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.
Método
publicado em
[3] e [4].
BIBLIOGRAFIA
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.
l [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
l [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.
l [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.