online computation of euclidean shortest paths in two
TRANSCRIPT
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