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 20
Planejador BVP
É possível incorporar restrições ambientais durante o planejamento de caminhos ?
Restrições ambientais referem-se à preferência de movimentação por certas regiões do ambiente.
É melhor o robô seguir um caminho por uma região plana do que por uma região acidentada.
Regiões com restrições são diferentes de regiões com
obstáculos, pois elas podem ser cruzadas se necessário.
Planejador BVP
O planejador baseado na equação de Laplace gera sempre os caminhos mais seguros para alcançar a posição objetivo.
Figura extraída de [7]
Obstáculos
Objetivo
Planejador BVP
O planejador BVP distorce o campo potencial dando uma preferência de movimentação de acordo com os
parâmetros v e ²
Considere o caso unidimensional
Planejador BVP
Figura extraída de [7]
Planejador BVP
Figuras extraídas de [7]
Planejador BVP
No caso bidimensional, temos
com
e é o gradiente do potencial harmônico
Planejador BVP
(a)
(a) (c) (d)
(a) – ambiente de teste
(b) – curvas de nível do potencial harmônico
(c) – curvas de nível do potencial BVP com ²=0.2 (d) – curvas de nível do potencial BVP com ²=-0.2
Planejador BVP
(b) (a)
(a) – ambiente de teste. Regiões marcadas sofreram planificação (b) – curvas de nível do potencial harmônico
(c) – curvas de nível do potencial BVP. ²>0 apenas na região selecionada. Potencial sem planificação.
(c)
Planejador BVP
Planejador BVP
Regiões com alta preferência
²= 0.1 ²= 0.5
Planejador BVP
Regiões com baixa preferência
²= - 0.1 ²= -0.5
Planejador BVP
Regiões com diferentes graus de preferência
HP (²= 0.5) e VHP (²= 1.5) LP (²= -0.5) e V LP (²= -1.5)
Planejador BVP
Regiões com diferentes graus de preferência
Planejador BVP
Regiões com diferentes graus de preferência
Planejador BVP
Regiões com diferentes graus de preferência
HP (²= 1.5) e LP (²= -1.5) Figuras extraídas de [7]
Planejador BVP
Usar o campo vetorial do potencial harmônico como
campo de entrada na equação pode gerar situações
indesejadas.
∇ 2 p(r) = !v · ∇ p(r)
∇
2p(r) = ! |∇ p(r) | cos(θ(r))
Planejador BVP
Este efeito pode ser visto reescrevendo a equação
como
onde Θ é o angulo que o vetor v faz com o gradiente do
potential ∇p(r)
Planejador BVP
A partir da equação
assumimos , ou seja, que v= ∇p(r)/|∇p(r)|, obtendo [8]
Temos agora apenas um único parâmetro para o controle da preferência das regiões. Usando desigualdade
triangular temos,
∇
2p(r) = ! |∇ p(r) | cos(θ(r))
∇
2p(r) = !(r) !"" " " ∂ p(r)
∂ x
"
"
"
" +
"
"
"
" ∂ p(r)
∂ y
"
"
"
"
#
Planejador BVP
cos(θ(r)) = 1
∇
2p(r) = !(r) |∇ p(r) |
Planejador BVP
In the algorithm, each cell c has a position (x, y) in the mesh; a potential p(c) and a parameter !(c) according to Equation 6. Cells cn, cs, cw, ce have position (x, y + 1), (x, y − 1), (x − 1, y), (x + 1, y), respectively. The value h(c) corresponds to the harmonic potential, ∇2p(c) = 0, and the term !(c)d(c)/4 corresponds to the distortion
!(c)!"""∂p(c)∂x
"
"
" + """∂p(c)∂y
"
"
"#
.
Algorithm 1 Basic Algorithm
1: for all cell c that does not contain the goal do
2: set its potential value to high potential ! p(c) ← 1
3: initialize "(c) ← 0
4: end for
5: for all cell c that contain the goal do
6: set its potential value to low potential ! p(c) ← 0
7: end for
8: while TRUE do
9: for all cell c that represents an environment free-space do
10: h(c) ← 14(p(cn) + p(cs) + p(cw) + p(ce))
11: d(c) ← $""p(cn)−2p(cs)""+ ""p(cw)−2 p(ce)""%
12: p(c) ← h(c) − !(c)4 d(c)
13: end for
14: if potential converged then
15: for all cell c do
16: "(c) ← pref erence(c)
17: end for
18: end if
19: end while
The algorithm extension to handle dynamic environment or preferences collected in real-time by the robot is straight- forward. We need only to add lines to save the cells pref- erences from the data collected by robot sensors or to save the new features in the map and update the potential of the corresponding cells.
III. RESULTS
This section presents several results obtained in simulation to demonstrate the ideas discussed in the previous sections.
All experiments use the environment shown in Figure 3(a) represented by an array of 100 ×100 cells.
A. Experiment with Laplace Equation
Figure 5 shows an experiment using Laplace Equation.
Several paths(black lines) starting near the bottom wall are displayed. We can see that the robot tends to approach the environment center, since it diminishes the hitting probability with obstacles.
In what follows we discuss the role of the distortions in concavity/convexity and its relation with preferences in crossing a region. In order illustrate that, we produce in Figures 6 and 7 the two-dimensional equivalents of Figures 1 and 2. In these figures, a small square region is introduced at the center of the environment shown in Figure 3(a). In Figure 6 we investigate the effect in the paths when we distort the potential using ! > 0 while in Figure 7, ! < 0 is used.
Fig. 5. Experiment with Laplace Equation. Paths (black lines) produced by Laplace Equation from several robot starting positions.
B. Zone with High Preference (HP): ! > 0
Figures 6 (a) and (b) show the paths followed by the robot using Eq. 3 and Eq. 6, respectively. In both cases, there exists a HP region at the environment center with !(r) = 1.2 for all position r at this region. Observe that the concavity of the potential in this region is increased giving rise to an effective attractive force that pulls the trajectories towards this region.
The bigger the ! the more the paths approach the center of the region. Figures 6(c) and (d) illustrate the paths (black lines) over the level curves of the potential field computed in (a) and (b), respectively. Observe that the low potential zone is stretched diminishing the high potential zone, as compared to the harmonic potential (Figure 5). The distortion produced by Eq. 6 , show in (c), is stronger than the distortion generated by Eq. 3, show in (d). As a consequence, this region becomes still more attractive since the potential decays more quickly augmenting the influence of the goal.
C. Zones with Low Preference (LP): ! < 0
Figures 7(a) and (b) show the paths followed by the robot using Eq. 3 and Eq. 6, respectively, in an environment with a low preference region with !(r) = −1.2. We can observe that increasing the convexity in a region decreases its preference for path planning. Figures 7(c) and (d) illustrate the paths (black lines) over the level curves of the potential field computed in (a) and (b), respectively. The high potential zone is stretched diminishing the low potential zone, as compared to the harmonic potential (Figure 5). The paths tend to avoid the convex region. Again, we can see that Eq. 6 produces a distortion stronger than Eq.3 for the same ! value. Besides, in (a), we can see that some paths cross the low preference region. In (b), this does not happen and the robot changes its direction before getting too close to the low preference region.
D. Several zones of different preference levels
Figures 8(a) and (b) show an experiment in an environment with a barrier of alternating LP and very low preference (VLP) zones using Eq. 3 and Eq. 6, respectively. In both cases, !(r) = −0.6 at the LP region and !(r) = −1.2 at the VLP region. Observe the robot crosses LP regions to reach
Planejador BVP
Com campo harmônico Sem campo harmônico
Zona de Alta Preferência
Planejador BVP
Zona de Baixa Preferência
Com campo harmônico Sem campo harmônico
Planejador BVP
Diversas zonas de baixa preferência
Com campo harmônico Sem campo harmônico
Planejador BVP
Diversas zonas de baixa preferência
Com campo harmônico Sem campo harmônico
Planejador BVP
Diversas zonas de baixa preferência
Com campo harmônico Sem campo harmônico
Exploração direcionada
Durante a exploração, o robô considera a preferência de navegação das regiões do ambiente.
Estas preferências estão associadas às distorções locais produzidas no campo potencial.
O valor do parâmetro associado às distorções é obtido dinamicamente durante à exploração.
Esta estratégia [10] é a base para o desenvolvimento de métodos do tipo “integrated exploration”, pois favorece certas regiões do ambiente produzindo mapas de melhor qualidade.
Exploração direcionada
Equação base
∇
2p(r) = !(r) !"" "
" ∂ p(r)
∂ x
"
"
"
" +
"
"
"
" ∂ p(r)
∂ y
"
"
"
"
#
ε(r) é a distorção local e está associada à preferência da região
Exploração direcionada
Exploração direcionada
Algoritmo
Ativa e obtém as leituras dos sensores;
Realiza a atualização local do mapa;
Atualiza o atributo potencial das células da região visitada;
Determina a preferência das regiões do ambiente e associa um valor de distorção às células da região.
Calcula o vetor gradiente descendente da posição do robô;
Desloca-se seguindo a direção definida por este gradiente;
Repete o processo até que todo o ambiente esteja completamente explorado.
Exploração direcionada
Ambientes de Teste
Exploração direcionada
Com preferência Sem preferência
Exploração direcionada
Ambientes de Teste
Numeros de Passos Numeros de Visitas
Exploração direcionada
Com preferência Sem preferência
Exploração direcionada
Numeros de Passos Numeros de Visitas
Ambientes de Teste
Planejador BVP
Planejador BVP
Hierarchical BVP
Combination of BVP Path Planning and the Full Multigrid method (FMG) [9].
FMG solves PDE through a combination of solutions at
several resolution levels.
Hierarchical BVP
(1)
(2) Considering the error of approximation
Ae = − A p ˜
and using eq. (2), we obtain
where r is the residual and defined by The error is relaxed
and used to correct the potential
Assuming the operator , eq. 1 becomes
Hierarchical BVP
Hierarchical BVP
Hierarchical BVP
Operators:
Restriction (R) Prolongation (P)
Full weighting restriction Bilinear interpolation
Hierarchical BVP
Level 0
33 x 33
Hierarchical BVP
Level 0
33 x 33 Solves the coarsest level
Hierarchical BVP
Level 0
33 x 33
The robot starts the navigation in this level
Hierarchical BVP
prolongs the potential
Level 0 Level 1
33 x 33 65 x 65
Hierarchical BVP
Level 0 Level 1
33 x 33 65 x 65
restricts the residual
Hierarchical BVP
Level 0 Level 1
33 x 33 65 x 65
restricts the residual
Compute the error approximation
Hierarchical BVP
prolongs the error and updates the potential
Level 0 Level 1
33 x 33 65 x 65
restricts the residual
Hierarchical BVP
prolongs the error and updates the potential
Level 0 Level 1
33 x 33 65 x 65
restricts the residual
The robot can navigate using the potential field at
this level
Hierarchical BVP
prolongation prolongs the potential
Level 0 Level 1 Level 2
33 x 33 65 x 65 129 x 129
Hierarchical BVP
Level 0 Level 1 Level 2
33 x 33 65 x 65 129 x 129
restricts the residual
Hierarchical BVP
Level 0 Level 1 Level 2
33 x 33 65 x 65 129 x 129
restricts the residual restricts the residual
Hierarchical BVP
Level 0 Level 1 Level 2
33 x 33 65 x 65 129 x 129
restricts the residual restricts the residual Compute the error approximation
Hierarchical BVP
Level 0 Level 1 Level 2
33 x 33 65 x 65 129 x 129
restricts the residual restricts the residual prolongs and update the error
Hierarchical BVP
Level 0 Level 1 Level 2
33 x 33 65 x 65 129 x 129
restricts the residual restricts the residual prolongs and update the error prolongs and update the error
Hierarchical BVP
Level 0 Level 1 Level 2
33 x 33 65 x 65 129 x 129
Update de potential. The robot can use the highest resolution grid to navigate
Hierarchical BVP
prolongation prolongation
Level 0 Level 1 Level 2
33 x 33 65 x 65 129 x 129
restriction
restriction restriction
Hierarchical BVP
Hierarchical BVP
17x17
129 x129 Navigation switching the grids
Hierarchical BVP
17x17
129 x129 Navigation switching the grids
Hierarchical BVP
17x17
129 x129 Navigation switching the grids
Hierarchical BVP
Resolution Time (seconds)Time (seconds)Time (seconds)Time (seconds) Resolution
HBVP PP BVP PP (SOR) BVP PP (GS) A*
9 x 9 2.29 x 10-5 2.04 x 10-3 2.01x10-3 6.58 x 10-5 17 x 17 2.37 x 10-4 2.10 x 10-3 3.61 x 10-3 2.10 x 10-4 33 x 33 1.24 x 10-3 5.52 x 10-3 3.11 x 10-2 5.57 x 10-4 65 x 65 1.51 x 10-2 3.53 x 10-2 4.88 x 10-1 1.70 x 10-3 129 x 129 2.64 x 10 -2 2.90 x 10-1 7.94 5.36 x10-3 257 x 257 2.39 x 10-1 2.56 130.32 1.95 x 10-2
BIBLIOGRAFIA
[7] Prestes, E., Idiart, M. Sculpting Potential Fields in the BVP Path Planner. IEEE International Conference on Robotics and Biomimetics, 2009.
[8] Prestes, E. Idiart, M. Computing Navigational Routes in Inhomogeneous Environments using BVP Path Planner. IEEE/RSJ International Conference on Robotics and Systems, 2010.
[9] Silveira, R. , Prestes, E. Nedel, L. Fast Path Planning using Multi-Resolution Boundary Value Problems. IEEE/RSJ International Conference on Robotics and Systems, 2010.
[10] Prestes, E. Engel, P. Exploration driven by Local Potential Distortions.
Submetido ao IEEE/RSJ International Conference on Robotics and Systems, 2011.
[11] Stachniss, C., Grisetti, G., Burgard, W. Information Gain-based Exploration using Rao-Blackwellized Particle Filters. Proc. of Robotics: Science and Systems (RSS), 2005.