Method of Evolving Junctions: Finding the Shortest Paths in - - PowerPoint PPT Presentation
Method of Evolving Junctions: Finding the Shortest Paths in - - PowerPoint PPT Presentation
Method of Evolving Junctions: Finding the Shortest Paths in Cluttered Environment Jun Lu collaboration with Shui-Nee Chow, Magnus Egerstedt Yancy Diaz-Mercado, Haomin Zhou Georgia Institute of Technology SIAM Gators, 2014 Introduction
Introduction
Shortest Path Problem Given a finite number of obstacles in a region M in R2 or R3, what is the shortest path connecting two given points X, Y in M while avoiding the obstacles. X Y
1 / 25
Existing Methods
- Polygonal obstacles: optimal alogrithm with complexity
O(n log n). (Hershberger and Suri) X Y
2 / 25
Existing Methods
- Polygonal obstacles: optimal alogrithm with complexity
O(n log n). (Hershberger and Suri) X Y
- Polyhedral obstacles, NP-hard in the framework configuration
- space. (Canny and Reif)
X Y
2 / 25
- Approximation Methods. (Papadimitriou)
3 / 25
- Approximation Methods. (Papadimitriou)
- Continuous Settings: Penalty Method
X Y
3 / 25
- Approximation Methods. (Papadimitriou)
- Continuous Settings: Penalty Method
X Y
- Front Propagation (Dijkstra, A∗, HJB).
|∇d(x)| = 1, d(Y ) = 0.
3 / 25
Shortest Path Problem
- Starting point X, ending point Y in domain M ⊂ Rn.
4 / 25
Shortest Path Problem
- Starting point X, ending point Y in domain M ⊂ Rn.
- Obstacles {Pk}k≤1. The boundary ∂Pk of Pk are piecewise
C 2 and has level set representation φk(x) = 0.
4 / 25
Shortest Path Problem
- Starting point X, ending point Y in domain M ⊂ Rn.
- Obstacles {Pk}k≤1. The boundary ∂Pk of Pk are piecewise
C 2 and has level set representation φk(x) = 0.
- Admissible paths connecting X and Y is
A(X, Y , M) = {γ : [0, 1] → M | γ(0) = X, γ(1) = Y , φk(γ(θ)) ≥ 0, 1 ≤ k ≤ N} .
4 / 25
Shortest Path Problem
- Starting point X, ending point Y in domain M ⊂ Rn.
- Obstacles {Pk}k≤1. The boundary ∂Pk of Pk are piecewise
C 2 and has level set representation φk(x) = 0.
- Admissible paths connecting X and Y is
A(X, Y , M) = {γ : [0, 1] → M | γ(0) = X, γ(1) = Y , φk(γ(θ)) ≥ 0, 1 ≤ k ≤ N} .
- The shortest path is
γopt = argminγ∈A J(γ). where J(γ) is the Euclidean length of γ.
4 / 25
Separable Path
- For any two points x, y ∈ M, define
γ0(x, y) = argminγ∈A(x,y,M) J(γ), = {z(λ) = (1 − λ)x + λy, λ ∈ [0, 1]} , J0(x, y) = J(γ0(x, y)) = x − y.
5 / 25
Separable Path
- For any two points x, y ∈ M, define
γ0(x, y) = argminγ∈A(x,y,M) J(γ), = {z(λ) = (1 − λ)x + λy, λ ∈ [0, 1]} , J0(x, y) = J(γ0(x, y)) = x − y.
- For any two points x, y ∈ ∂Pk, k ≥ 1, define
γk(x, y) = argminγ∈A(x,y,∂Pk) J(γ), Jk(x, y) = J(γk(x, y)).
5 / 25
Separable Path
A path γ ∈ A(X, Y , M) is SEPARABLE if there are finite number
- f points, called junctions
(x0, x1, · · · , xn+1) such that γ = γ0(x0, x1) · γk1(x1, x2) · · · · γ0(xn, xn+1). Here γ1 · γ2 is the concatenation defined by (γ1 · γ2)(θ) =
- γ1(2θ),
θ ∈ [0, 1
2];
γ2(2θ − 1), θ ∈ [ 1
2, 1].
xi xi+1 xi+2 xi+3 xi+4 xi+5
Figure : γ0(xi, xi+1) · γk1(xi+1, xi+2) · γ0(xi+2, xi+3)·
6 / 25
Separable Path Theorem
γopt of the shortest path problem is separable.
7 / 25
Separable Path Theorem
γopt of the shortest path problem is separable.
- γopt is completely determined by finitely many junctions.
7 / 25
Separable Path Theorem
γopt of the shortest path problem is separable.
- γopt is completely determined by finitely many junctions.
- Dimension Reduction
Finding γopt = ⇒ Finding junctions (x0, · · · , xn+1) Infinite Dimensional = ⇒ Finite Dimensional
7 / 25
Gradient Flow
- The length of the path connecting junction xi and xi+1 is
J(xi, xi+1) =
- J0(xi, xi+1),
i even; Jki(xi, xi+1), i odd.
8 / 25
Gradient Flow
- The length of the path connecting junction xi and xi+1 is
J(xi, xi+1) =
- J0(xi, xi+1),
i even; Jki(xi, xi+1), i odd.
- The length of the shortest path is
J(x0, · · · , xn+1) =
n
- i=0
J(xi, xi+1), xi ∈ ∂Pki
8 / 25
Gradient Flow
- The length of the path connecting junction xi and xi+1 is
J(xi, xi+1) =
- J0(xi, xi+1),
i even; Jki(xi, xi+1), i odd.
- The length of the shortest path is
J(x0, · · · , xn+1) =
n
- i=0
J(xi, xi+1), xi ∈ ∂Pki
- The gradient flow on the manifold ∂Pki is
dxi dθ = −∇J(x0, · · · , xn+1) = −∇xi
- J(xi−1, xi) + J(xi, xi+1)
- J(xi)
- .
8 / 25
Gradient Flow
- For i odd, J(xi) = J0(xi−1, xi) + Jki(xi, xi+1).
9 / 25
Gradient Flow
- For i odd, J(xi) = J0(xi−1, xi) + Jki(xi, xi+1).
- T(xi, xi+1) ∈ Txi∂Pki - unit tangent of γki(xi, xi+1) at xi.
xi xi+1 T(xi, xi+1) γki(xi, xi+1)
9 / 25
Gradient Flow
- For i odd, J(xi) = J0(xi−1, xi) + Jki(xi, xi+1).
- T(xi, xi+1) ∈ Txi∂Pki - unit tangent of γki(xi, xi+1) at xi.
xi xi+1 T(xi, xi+1) γki(xi, xi+1)
- Gradient of Jki is
∇xiJki(xi, xi+1) = −T(xi, xi+1).
9 / 25
Gradient Flow
- For i odd, J(xi) = J0(xi−1, xi) + Jki(xi, xi+1).
- T(xi, xi+1) ∈ Txi∂Pki - unit tangent of γki(xi, xi+1) at xi.
xi xi+1 T(xi, xi+1) γki(xi, xi+1)
- Gradient of Jki is
∇xiJki(xi, xi+1) = −T(xi, xi+1).
- Gradient of J0 is
∇xiJ0(xi−1, xi) = xi − xi−1 xi − xi−1 · T
- T
9 / 25
Intermittent Diffusion
- The gradient flow on the manifold ∂Pki is
dxi dθ = − xi − xi−1 xi − xi−1 · T − 1
- · T.
10 / 25
Intermittent Diffusion
- The gradient flow on the manifold ∂Pki is
dxi dθ = − xi − xi−1 xi − xi−1 · T − 1
- · T.
- Gradient descent only finds local minimizeers.
10 / 25
Intermittent Diffusion
- The gradient flow on the manifold ∂Pki is
dxi dθ = − xi − xi−1 xi − xi−1 · T − 1
- · T.
- Gradient descent only finds local minimizeers.
- There could be 2N locally shortest paths in an environment
with N obstacles.
10 / 25
Intermittent Diffusion
- Idea: add noise to gradient flow intermittently,
dxi = −∇xiJ(xi)dθ + σ(θ)dW(θ),
11 / 25
Intermittent Diffusion
- Idea: add noise to gradient flow intermittently,
dxi = −∇xiJ(xi)dθ + σ(θ)dW(θ), where
- W(θ) is a standard Brownian motion in tangent space Txi∂Pki.
11 / 25
Intermittent Diffusion
- Idea: add noise to gradient flow intermittently,
dxi = −∇xiJ(xi)dθ + σ(θ)dW(θ), where
- W(θ) is a standard Brownian motion in tangent space Txi∂Pki.
- For 0 = S1 < T1 < · · · < Sm,
σ(θ) =
m
- i=1
σiχ[Si,Ti](θ).
S1 T1 S2 T2 S3 T3 S4 σ1 σ2 σ3 x y 11 / 25
Intermittent Diffusion
- Diffusion on, get out of local trap.
12 / 25
Intermittent Diffusion
- Diffusion on, get out of local trap.
- Diffusion off, converges to local minimizers.
12 / 25
Intermittent Diffusion
- Diffusion on, get out of local trap.
- Diffusion off, converges to local minimizers.
- After m diffusions, obtain m local minimzers.
12 / 25
Intermittent Diffusion
- Diffusion on, get out of local trap.
- Diffusion off, converges to local minimizers.
- After m diffusions, obtain m local minimzers.
- Set γopt to be the best minimizer.
12 / 25
Intermittent Diffusion
- Diffusion on, get out of local trap.
- Diffusion off, converges to local minimizers.
- After m diffusions, obtain m local minimzers.
- Set γopt to be the best minimizer.
Theorem
For any given δ > 0, the probability that γopt is the globally shortest path is larger that 1 − δ for appropriate selected σ.
12 / 25
Solving SDEs
- The full SDE is
dxi = − xi − xi−1 xi − xi−1 · T − 1
- dθ · T + σ(θ)dW(θ)
= f (xi)dθ · T + σ(θ)dW(θ)· (1)
13 / 25
Solving SDEs
- The full SDE is
dxi = − xi − xi−1 xi − xi−1 · T − 1
- dθ · T + σ(θ)dW(θ)
= f (xi)dθ · T + σ(θ)dW(θ)· (1)
- SDE (1) can be discretized by
x∗
i − xn i = f (xn i )∆θT + σn
√ ∆θξ, ξ ∼ N(0, I).
13 / 25
Solving SDEs
- The full SDE is
dxi = − xi − xi−1 xi − xi−1 · T − 1
- dθ · T + σ(θ)dW(θ)
= f (xi)dθ · T + σ(θ)dW(θ)· (1)
- SDE (1) can be discretized by
x∗
i − xn i = f (xn i )∆θT + σn
√ ∆θξ, ξ ∼ N(0, I).
- Projection. x∗
i is then projected onto ∂Pki( φki = 0)
xn+1
i
= x∗
i − φki(x∗ i )N(x∗ i ).
xn
i
x∗
i
xn+1
i
T N
13 / 25
Handling Dimension Changes
- Add junctions when γ0(xi, xi+1) intersect with one obstacle.
xi−2 xi−1 xi xi+4 xi+5 xi+1 xi+2 xi+3
14 / 25
Handling Dimension Changes
- Add junctions when γ0(xi, xi+1) intersect with one obstacle.
xi−2 xi−1 xi xi+4 xi+5 xi+1 xi+2 xi+3
- Remove junctions when xi = xi+1.
xi−3 xi−2 xi−1 xi = xi+1 xi+2 xi+3 xi+4
14 / 25
One Realization of the Algorithm
One Realization
15 / 25
Complexity
A comparison with different algorithms Algorithm Complexity A∗ O(( 1
ǫ)3 log 1 ǫ)
Papadimitriou O( 1
ǫ)
Choi, et. al O( 1
ǫ)
Choi, et. al (unique shortest path) O(log 1
ǫ)
Evolving Junctions O(log 1
ǫ)
16 / 25
Example: 4 convex obstacles
(a) L = 1.0264, 26 times (b) L = 1.0966, 6 times (c) L = 1.1320, 9 times (d) L = 1.1501, 9 times
17 / 25
Example: 4 convex obstacles in R3
−2 2 −2 2 1 2 North (Meters) Minimizer 1, Length = 5.8660 meters East (Meters) Up (Meters) −2 2 −2 2 1 2 North (Meters) Minimizer 2, Length = 5.9527 meters East (Meters) Up (Meters) −2 2 −2 2 1 2 North (Meters) Minimizer 3, Length = 6.0403 meters East (Meters) Up (Meters) −2 2 −2 2 1 2 North (Meters) Minimizer 7, Length = 6.2305 meters East (Meters) Up (Meters)
18 / 25
Example: 4 convex obstacles in R3
Minimizer Length (m) Times Obtained Out of 100 200 300 1 5.8660 48 103 159 2 5.9527 50 91 128 3 6.0403 1 4 6 4 6.0594 1 1 5 6.0919 1 6 6.2286 3 7 6.2305 1 1 2
Table : Improvement on Probability of Obtaining Shortest Path
19 / 25
Example: One Non-convex Obstacle
(e) L = 1.1874, 46 times (f) L = 1.3393, 4 times
20 / 25
Example: Polyhedral Obstacles
(g) Occurs 6 times, L=2.600 (h) Occurs 3 times, L=2.623 (i) Occurs once, L=3.000
21 / 25
Example: Polyhedral Obstacles
(j) N=13, L=7.0803 (k) N=2, L=7.0956 (l) N=2, L=7.3404
22 / 25
Example: Polyhedral Obstacles
(m) N=1, L=7.3436 (n) N=1, L=7.4314 (o) N=1, L=7.5253
23 / 25
Example: Disk Mover
(p) L = 0.6266, r = 0 (q) L = 0.6347, r = 0.02 (r) L = 0.6952, r = 0.05
24 / 25
Example: Shortest Path between two sets
(s) L = 0.2840 (t) L = 0.2979
25 / 25
Questions?
25 / 25