online computation of euclidean shortest paths in two

69
References Online Computation of Euclidean Shortest Paths in Two Dimensions ICAPS 2020 Ryan Hechenberger, Peter J Stuckey, Daniel Harabor, Pierre Le Bodic, Muhammad Aamir Cheema Monash University 1 / 21

Upload: others

Post on 15-Oct-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Page 2: Online Computation of Euclidean Shortest Paths in Two

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

Page 3: Online Computation of Euclidean Shortest Paths in Two

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

Page 4: Online Computation of Euclidean Shortest Paths in Two

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

Page 5: Online Computation of Euclidean Shortest Paths in Two

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

Page 6: Online Computation of Euclidean Shortest Paths in Two

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

Page 7: Online Computation of Euclidean Shortest Paths in Two

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

Page 8: Online Computation of Euclidean Shortest Paths in Two

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

Page 9: Online Computation of Euclidean Shortest Paths in Two

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

Page 10: Online Computation of Euclidean Shortest Paths in Two

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

Page 11: Online Computation of Euclidean Shortest Paths in Two

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

Page 12: Online Computation of Euclidean Shortest Paths in Two

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

Page 13: Online Computation of Euclidean Shortest Paths in Two

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

Page 14: Online Computation of Euclidean Shortest Paths in Two

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

Page 15: Online Computation of Euclidean Shortest Paths in Two

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

Page 16: Online Computation of Euclidean Shortest Paths in Two

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

Page 17: Online Computation of Euclidean Shortest Paths in Two

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

Page 18: Online Computation of Euclidean Shortest Paths in Two

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

Page 19: Online Computation of Euclidean Shortest Paths in Two

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

Page 20: Online Computation of Euclidean Shortest Paths in Two

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

Page 21: Online Computation of Euclidean Shortest Paths in Two

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

Page 22: Online Computation of Euclidean Shortest Paths in Two

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

Page 23: Online Computation of Euclidean Shortest Paths in Two

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

Page 24: Online Computation of Euclidean Shortest Paths in Two

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

Page 25: Online Computation of Euclidean Shortest Paths in Two

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

Page 26: Online Computation of Euclidean Shortest Paths in Two

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

Page 27: Online Computation of Euclidean Shortest Paths in Two

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

Page 28: Online Computation of Euclidean Shortest Paths in Two

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

Page 29: Online Computation of Euclidean Shortest Paths in Two

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

Page 30: Online Computation of Euclidean Shortest Paths in Two

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

Page 31: Online Computation of Euclidean Shortest Paths in Two

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

Page 32: Online Computation of Euclidean Shortest Paths in Two

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

Page 33: Online Computation of Euclidean Shortest Paths in Two

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

Page 34: Online Computation of Euclidean Shortest Paths in Two

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

Page 35: Online Computation of Euclidean Shortest Paths in Two

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

Page 36: Online Computation of Euclidean Shortest Paths in Two

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

Page 37: Online Computation of Euclidean Shortest Paths in Two

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

Page 38: Online Computation of Euclidean Shortest Paths in Two

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

Page 39: Online Computation of Euclidean Shortest Paths in Two

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

Page 40: Online Computation of Euclidean Shortest Paths in Two

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

Page 41: Online Computation of Euclidean Shortest Paths in Two

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

Page 42: Online Computation of Euclidean Shortest Paths in Two

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

Page 43: Online Computation of Euclidean Shortest Paths in Two

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

Page 44: Online Computation of Euclidean Shortest Paths in Two

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

Page 45: Online Computation of Euclidean Shortest Paths in Two

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

Page 46: Online Computation of Euclidean Shortest Paths in Two

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

Page 47: Online Computation of Euclidean Shortest Paths in Two

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

Page 48: Online Computation of Euclidean Shortest Paths in Two

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

Page 49: Online Computation of Euclidean Shortest Paths in Two

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

Page 50: Online Computation of Euclidean Shortest Paths in Two

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

Page 51: Online Computation of Euclidean Shortest Paths in Two

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

Page 52: Online Computation of Euclidean Shortest Paths in Two

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

Page 53: Online Computation of Euclidean Shortest Paths in Two

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

Page 54: Online Computation of Euclidean Shortest Paths in Two

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

Page 55: Online Computation of Euclidean Shortest Paths in Two

References

Comparisions to Visibility GraphsSparse Visibility Graph Compare

s

t

s

t

16 / 21

Page 56: Online Computation of Euclidean Shortest Paths in Two

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

Page 57: Online Computation of Euclidean Shortest Paths in Two

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

Page 58: Online Computation of Euclidean Shortest Paths in Two

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

Page 59: Online Computation of Euclidean Shortest Paths in Two

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

Page 60: Online Computation of Euclidean Shortest Paths in Two

References

Comparisions to Visibility GraphsVisibility Graph with Projection Field Compare

s

t

s

t

18 / 21

Page 61: Online Computation of Euclidean Shortest Paths in Two

References

Comparisions to Visibility GraphsVisibility Graph with Projection Field Compare

s

t

s

t

18 / 21

Page 62: Online Computation of Euclidean Shortest Paths in Two

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

Page 63: Online Computation of Euclidean Shortest Paths in Two

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

Page 64: Online Computation of Euclidean Shortest Paths in Two

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

Page 65: Online Computation of Euclidean Shortest Paths in Two

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

Page 66: Online Computation of Euclidean Shortest Paths in Two

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

Page 67: Online Computation of Euclidean Shortest Paths in Two

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

Page 68: Online Computation of Euclidean Shortest Paths in Two

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

Page 69: Online Computation of Euclidean Shortest Paths in Two

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