Online Computation of Euclidean Shortest Paths in Two ...
Transcript of Online Computation of Euclidean Shortest Paths in Two ...
References
Online Computation of Euclidean Shortest Pathsin Two Dimensions
ICAPS 2020
Ryan Hechenberger, Peter J Stuckey, Daniel Harabor,Pierre Le Bodic, Muhammad Aamir Cheema
Monash University
1 / 21
References
Euclidean Shortest Path
I Pathfinding on theEuclidean plane
I Takes as input start s,target t and a set ofpolygonal obstacles P
I Find shortest path from s tot without crossing throughany obstacles P
I Distance is based off theEuclidean distance√
(x2 − x1)2 + (y2 − y1)2
2 / 21
References
Euclidean Shortest Path
I Pathfinding on theEuclidean plane
I Takes as input start s,target t and a set ofpolygonal obstacles P
I Find shortest path from s tot without crossing throughany obstacles P
I Distance is based off theEuclidean distance√
(x2 − x1)2 + (y2 − y1)2
s
t
2 / 21
References
Euclidean Shortest Path
I Pathfinding on theEuclidean plane
I Takes as input start s,target t and a set ofpolygonal obstacles P
I Find shortest path from s tot without crossing throughany obstacles P
I Distance is based off theEuclidean distance√
(x2 − x1)2 + (y2 − y1)2
s
t
2 / 21
References
Euclidean Shortest Path
I Pathfinding on theEuclidean plane
I Takes as input start s,target t and a set ofpolygonal obstacles P
I Find shortest path from s tot without crossing throughany obstacles P
I Distance is based off theEuclidean distance√
(x2 − x1)2 + (y2 − y1)2
s
t
2 / 21
References
Visibility Graph
I Visibility graphs can solvethe Euclidean shortest path(Lozano-Perez et al. 1979)
I Generates graph G = (V ,E )where V is polygon verticesand E is edges that are freeof all obstacles
I A full visibility graph usesV 2 edges complexity
3 / 21
References
Visibility Graph
I Visibility graphs can solvethe Euclidean shortest path(Lozano-Perez et al. 1979)
I Generates graph G = (V ,E )where V is polygon verticesand E is edges that are freeof all obstacles
I A full visibility graph usesV 2 edges complexity
3 / 21
References
Visibility Graph
I Visibility graphs can solvethe Euclidean shortest path(Lozano-Perez et al. 1979)
I Generates graph G = (V ,E )where V is polygon verticesand E is edges that are freeof all obstacles
I A full visibility graph usesV 2 edges complexity
3 / 21
References
Sparse Visibility Graph
I A variant of the visibilitygraph (Oh et al., SoCS2017)
I Keeps only edges that canform a shortest path
I Greatly reduces the densityof edges
4 / 21
References
Sparse Visibility Graph
I A variant of the visibilitygraph (Oh et al., SoCS2017)
I Keeps only edges that canform a shortest path
I Greatly reduces the densityof edges
4 / 21
References
Sparse Visibility Graph
I A variant of the visibilitygraph (Oh et al., SoCS2017)
I Keeps only edges that canform a shortest path
I Greatly reduces the densityof edges
4 / 21
References
Navigation Mesh
I Inverts the search spacefrom a set ofnon-traversable obstacles totraversable convex regions
I Has a state-of-the-art solverPolyanya (Cui et al., IJCAI2017)
I Requires less memory andare easier to construct thanvisibility graphs
I Like visibility graphs, doesnot solve the problemdirectly
5 / 21
References
Navigation Mesh
I Inverts the search spacefrom a set ofnon-traversable obstacles totraversable convex regions
I Has a state-of-the-art solverPolyanya (Cui et al., IJCAI2017)
I Requires less memory andare easier to construct thanvisibility graphs
I Like visibility graphs, doesnot solve the problemdirectly
5 / 21
References
Navigation Mesh
I Inverts the search spacefrom a set ofnon-traversable obstacles totraversable convex regions
I Has a state-of-the-art solverPolyanya (Cui et al., IJCAI2017)
I Requires less memory andare easier to construct thanvisibility graphs
I Like visibility graphs, doesnot solve the problemdirectly
5 / 21
References
Navigation Mesh
I Inverts the search spacefrom a set ofnon-traversable obstacles totraversable convex regions
I Has a state-of-the-art solverPolyanya (Cui et al., IJCAI2017)
I Requires less memory andare easier to construct thanvisibility graphs
I Like visibility graphs, doesnot solve the problemdirectly
5 / 21
References
Introducing RayScan
I An online method for solving the Euclidean shortest path
I Works as an on-the-fly partial visibility graph on a A* search
I Generates edges for each expanding node; they can bediscarded after being pushed to the priority queue
6 / 21
References
Introducing RayScan
I An online method for solving the Euclidean shortest path
I Works as an on-the-fly partial visibility graph on a A* search
I Generates edges for each expanding node; they can bediscarded after being pushed to the priority queue
6 / 21
References
Introducing RayScan
I An online method for solving the Euclidean shortest path
I Works as an on-the-fly partial visibility graph on a A* search
I Generates edges for each expanding node; they can bediscarded after being pushed to the priority queue
6 / 21
References
RayScan ConceptsShooting Rays Direct the Search
I Expand start node s
I Shoot a ray towards targetpoint t
I If point is visible, it is asuccessor
I Direct line-of-sight from s tot is the simplest case
s
t
7 / 21
References
RayScan ConceptsShooting Rays Direct the Search
I Expand start node s
I Shoot a ray towards targetpoint t
I If point is visible, it is asuccessor
I Direct line-of-sight from s tot is the simplest case
s
t
7 / 21
References
RayScan ConceptsShooting Rays Direct the Search
I Expand start node s
I Shoot a ray towards targetpoint t
I If point is visible, it is asuccessor
I Direct line-of-sight from s tot is the simplest case
s
t
7 / 21
References
RayScan ConceptsShooting Rays Direct the Search
I Expand start node s
I Shoot a ray towards targetpoint t
I If point is visible, it is asuccessor
I Direct line-of-sight from s tot is the simplest case s
t
7 / 21
References
RayScan ConceptsScanning
I Target t is not visible fromstart s
I First obstacle blockingtarget needs to be navigatedaround
I Scanning is a core conceptto find methods ofnavigating aroundobstruction
I Find turning point a and bscanning CCW/CW that wecan bend around
s
t
8 / 21
References
RayScan ConceptsScanning
I Target t is not visible fromstart s
I First obstacle blockingtarget needs to be navigatedaround
I Scanning is a core conceptto find methods ofnavigating aroundobstruction
I Find turning point a and bscanning CCW/CW that wecan bend around
s
t
8 / 21
References
RayScan ConceptsScanning
I Target t is not visible fromstart s
I First obstacle blockingtarget needs to be navigatedaround
I Scanning is a core conceptto find methods ofnavigating aroundobstruction
I Find turning point a and bscanning CCW/CW that wecan bend around
a
b
s
t
8 / 21
References
RayScan ConceptsScanning
I Target t is not visible fromstart s
I First obstacle blockingtarget needs to be navigatedaround
I Scanning is a core conceptto find methods ofnavigating aroundobstruction
I Find turning point a and bscanning CCW/CW that wecan bend around
a
b
s
t
8 / 21
References
RayScan ConceptsRecursion
I Turning point a is visiblefrom s
I Turning point b is blockedfrom s
I The ray shot to b directs thesearch to find successorsthat may lead to it
I Recurse the scan CCW/CWfrom obstruction intersection
I Successors c and d is found
a
b
s
t
9 / 21
References
RayScan ConceptsRecursion
I Turning point a is visiblefrom s
I Turning point b is blockedfrom s
I The ray shot to b directs thesearch to find successorsthat may lead to it
I Recurse the scan CCW/CWfrom obstruction intersection
I Successors c and d is found
a
b
s
t
9 / 21
References
RayScan ConceptsRecursion
I Turning point a is visiblefrom s
I Turning point b is blockedfrom s
I The ray shot to b directs thesearch to find successorsthat may lead to it
I Recurse the scan CCW/CWfrom obstruction intersection
I Successors c and d is found
a
b
s
t
9 / 21
References
RayScan ConceptsRecursion
I Turning point a is visiblefrom s
I Turning point b is blockedfrom s
I The ray shot to b directs thesearch to find successorsthat may lead to it
I Recurse the scan CCW/CWfrom obstruction intersection
I Successors c and d is found
a
b
d
c
s
t
9 / 21
References
RayScan ConceptsRecursion
I Turning point a is visiblefrom s
I Turning point b is blockedfrom s
I The ray shot to b directs thesearch to find successorsthat may lead to it
I Recurse the scan CCW/CWfrom obstruction intersection
I Successors c and d is found
a
b
d
c
s
t
9 / 21
References
RayScan ConceptsAngled Sectors
I Scan is restricted to a regioncalled the angled sector
I Once the scan leaves theangled sector, it ends
I When recursing a scanCW/CCW, angled sector isalso split
I After finding c , the angledsector gets splits
I The CCW scan uses thegreen split
a
b
d
c
s
t
10 / 21
References
RayScan ConceptsAngled Sectors
I Scan is restricted to a regioncalled the angled sector
I Once the scan leaves theangled sector, it ends
I When recursing a scanCW/CCW, angled sector isalso split
I After finding c , the angledsector gets splits
I The CCW scan uses thegreen split
a
b
d
c
s
t
10 / 21
References
RayScan ConceptsAngled Sectors
I Scan is restricted to a regioncalled the angled sector
I Once the scan leaves theangled sector, it ends
I When recursing a scanCW/CCW, angled sector isalso split
I After finding c , the angledsector gets splits
I The CCW scan uses thegreen split
a
b
d
c
s
t
10 / 21
References
RayScan ConceptsAngled Sectors
I Scan is restricted to a regioncalled the angled sector
I Once the scan leaves theangled sector, it ends
I When recursing a scanCW/CCW, angled sector isalso split
I After finding c , the angledsector gets splits
I The CCW scan uses thegreen split
a
b
d
c
s
t
10 / 21
References
RayScan ConceptsAngled Sectors
I Scan is restricted to a regioncalled the angled sector
I Once the scan leaves theangled sector, it ends
I When recursing a scanCW/CCW, angled sector isalso split
I After finding c , the angledsector gets splits
I The CCW scan uses thegreen split
a
b
d
c
s
t
10 / 21
References
RayScan ConceptsNext Expansion
I A* search expands thesmallest f -value a
I Each expanding node has aspecial angled sector knownas the projection field
I All successor must fallwithin this field to ensuretaut (bends around corner)
a
s
t
11 / 21
References
RayScan ConceptsNext Expansion
I A* search expands thesmallest f -value a
I Each expanding node has aspecial angled sector knownas the projection field
I All successor must fallwithin this field to ensuretaut (bends around corner)
a
s
t
11 / 21
References
RayScan ConceptsNext Expansion
I A* search expands thesmallest f -value a
I Each expanding node has aspecial angled sector knownas the projection field
I All successor must fallwithin this field to ensuretaut (bends around corner)
a
s
t
11 / 21
References
RayScan ConceptsEnd Search
I Expanding a, target t iswithin the projection field
I Shoot ray to t
I Target is visible, successor isadded
I Expansion of node endssince target is found
I If using a Euclidean heuristicvalue, search ends here
a
s
t
12 / 21
References
RayScan ConceptsEnd Search
I Expanding a, target t iswithin the projection field
I Shoot ray to t
I Target is visible, successor isadded
I Expansion of node endssince target is found
I If using a Euclidean heuristicvalue, search ends here
a
s
t
12 / 21
References
RayScan ConceptsEnd Search
I Expanding a, target t iswithin the projection field
I Shoot ray to t
I Target is visible, successor isadded
I Expansion of node endssince target is found
I If using a Euclidean heuristicvalue, search ends here
a
s
t
12 / 21
References
RayScan ConceptsEnd Search
I Expanding a, target t iswithin the projection field
I Shoot ray to t
I Target is visible, successor isadded
I Expansion of node endssince target is found
I If using a Euclidean heuristicvalue, search ends here
a
s
t
12 / 21
References
RayScan ConceptsEnd Search
I Expanding a, target t iswithin the projection field
I Shoot ray to t
I Target is visible, successor isadded
I Expansion of node endssince target is found
I If using a Euclidean heuristicvalue, search ends here s
t
12 / 21
References
RayScan ConceptsSkipped Successors
I Multiple squares are notconsidered
I Moving target t behind asquare makes it relevant
I Since rays direct the search,this reduces the successorsand number of rays shot
s
t
13 / 21
References
RayScan ConceptsSkipped Successors
I Multiple squares are notconsidered
I Moving target t behind asquare makes it relevant
I Since rays direct the search,this reduces the successorsand number of rays shot
s
t
13 / 21
References
RayScan ConceptsSkipped Successors
I Multiple squares are notconsidered
I Moving target t behind asquare makes it relevant
I Since rays direct the search,this reduces the successorsand number of rays shot
s
t
13 / 21
References
Comparisions to Visibility GraphsRayScan
I Applying RayScan to alarger scenario
I Diagram shows RayScansearch successors
I Red line is the shortest path
I Blue lines are othersuccessors found during thesearch
s
t
14 / 21
References
Comparisions to Visibility GraphsRayScan
I Applying RayScan to alarger scenario
I Diagram shows RayScansearch successors
I Red line is the shortest path
I Blue lines are othersuccessors found during thesearch
s
t
14 / 21
References
Comparisions to Visibility GraphsRayScan
I Applying RayScan to alarger scenario
I Diagram shows RayScansearch successors
I Red line is the shortest path
I Blue lines are othersuccessors found during thesearch
s
t
14 / 21
References
Comparisions to Visibility GraphsRayScan
I Applying RayScan to alarger scenario
I Diagram shows RayScansearch successors
I Red line is the shortest path
I Blue lines are othersuccessors found during thesearch s
t
14 / 21
References
Comparisions to Visibility GraphsSparse Visibility Graph
I Blue lines show the edges ofthe sparse visibility graph
I Red lines show the edgesexpanded during an A*search
I RayScan generates edgesfound on the sparse visibilitygraphs on-the-fly
s
t
15 / 21
References
Comparisions to Visibility GraphsSparse Visibility Graph
I Blue lines show the edges ofthe sparse visibility graph
I Red lines show the edgesexpanded during an A*search
I RayScan generates edgesfound on the sparse visibilitygraphs on-the-fly
s
t
15 / 21
References
Comparisions to Visibility GraphsSparse Visibility Graph
I Blue lines show the edges ofthe sparse visibility graph
I Red lines show the edgesexpanded during an A*search
I RayScan generates edgesfound on the sparse visibilitygraphs on-the-fly s
t
15 / 21
References
Comparisions to Visibility GraphsSparse Visibility Graph Compare
s
t
s
t
16 / 21
References
Comparisions to Visibility GraphsVisibility Graph with Projection Field
I The projection field conceptcan be applied to visibilitygraph on A*
I Add only the successors ofA* within the projectionfield
I The search proceedssimilarly to RayScan withthis change
I This is referred as taut A*by Oh et al. (2017)
s
t
17 / 21
References
Comparisions to Visibility GraphsVisibility Graph with Projection Field
I The projection field conceptcan be applied to visibilitygraph on A*
I Add only the successors ofA* within the projectionfield
I The search proceedssimilarly to RayScan withthis change
I This is referred as taut A*by Oh et al. (2017)
s
t
17 / 21
References
Comparisions to Visibility GraphsVisibility Graph with Projection Field
I The projection field conceptcan be applied to visibilitygraph on A*
I Add only the successors ofA* within the projectionfield
I The search proceedssimilarly to RayScan withthis change
I This is referred as taut A*by Oh et al. (2017)
s
t
17 / 21
References
Comparisions to Visibility GraphsVisibility Graph with Projection Field
I The projection field conceptcan be applied to visibilitygraph on A*
I Add only the successors ofA* within the projectionfield
I The search proceedssimilarly to RayScan withthis change
I This is referred as taut A*by Oh et al. (2017)
s
t
17 / 21
References
Comparisions to Visibility GraphsVisibility Graph with Projection Field Compare
s
t
s
t
18 / 21
References
Comparisions to Visibility GraphsVisibility Graph with Projection Field Compare
s
t
s
t
18 / 21
References
Results Presented in Paper
I Testing against Moving AILab pathfinding benchmarks(Sturtevant 2012)
I Comparing RayScan againstPolyanya
I Bresenham is RayScan usinga Bresenham line for the rayshooting (Bresenham 1965)
I Oracle uses a free rayshooter
Starcraft Aurora Map
0 1 2 30
2
4
6
8
Polyanya (ms)
RA
YS
CA
N(m
s)
BresenhamOracley = x
19 / 21
References
Results Presented in Paper
I Testing against Moving AILab pathfinding benchmarks(Sturtevant 2012)
I Comparing RayScan againstPolyanya
I Bresenham is RayScan usinga Bresenham line for the rayshooting (Bresenham 1965)
I Oracle uses a free rayshooter
Starcraft Aurora Map
0 1 2 30
2
4
6
8
Polyanya (ms)
RA
YS
CA
N(m
s)
BresenhamOracley = x
19 / 21
References
Results Presented in Paper
I Testing against Moving AILab pathfinding benchmarks(Sturtevant 2012)
I Comparing RayScan againstPolyanya
I Bresenham is RayScan usinga Bresenham line for the rayshooting (Bresenham 1965)
I Oracle uses a free rayshooter
Starcraft Aurora Map
0 1 2 30
2
4
6
8
Polyanya (ms)
RA
YS
CA
N(m
s)
BresenhamOracley = x
19 / 21
References
Results Presented in Paper
I Testing against Moving AILab pathfinding benchmarks(Sturtevant 2012)
I Comparing RayScan againstPolyanya
I Bresenham is RayScan usinga Bresenham line for the rayshooting (Bresenham 1965)
I Oracle uses a free rayshooter
Starcraft Aurora Map
0 1 2 30
2
4
6
8
Polyanya (ms)
RA
YS
CA
N(m
s)
BresenhamOracley = x
19 / 21
References
Recap
I RayScan works directly on the environment
I Well suited to single instance or dynamically changing maps
I Performance dependent on ray shooter (i.e. more than halfruntime is shooting rays)
20 / 21
References
Recap
I RayScan works directly on the environment
I Well suited to single instance or dynamically changing maps
I Performance dependent on ray shooter (i.e. more than halfruntime is shooting rays)
20 / 21
References
Recap
I RayScan works directly on the environment
I Well suited to single instance or dynamically changing maps
I Performance dependent on ray shooter (i.e. more than halfruntime is shooting rays)
20 / 21
References
References
Lozano-Perez, T., & Wesley, M. A. (1979). An algorithm for planning collision-freepaths among polyhedral obstacles. Communications of the ACM, 22(10),560–570.
Oh, S., & Leong, H. W. (2017). Edge n-level sparse visibility graphs: Fast optimalany-angle pathfinding using hierarchical taut paths. Proceedings of theTenth International Symposium on Combinatorial Search (SoCS 2017).
Cui, M. L., Harabor, D., & Grastien, A. (2017). Compromise-free pathfinding on anavigation mesh. Proceedings of the 26th International Joint Conference onArtificial Intelligence, 496–502.
Sturtevant, N. (2012). Benchmarks for grid-based pathfinding. Transactions onComputational Intelligence and AI in Games, 4(2), 144–148.http://web.cs.du.edu/∼sturtevant/papers/benchmarks.pdf
Bresenham, J. E. (1965). Algorithm for computer control of a digital plotter. IBMSystems journal, 4(1), 25–30.
21 / 21