Online Computation of Euclidean Shortest Paths in Two Dimensions - - PowerPoint PPT Presentation

online computation of euclidean shortest paths in two
SMART_READER_LITE
LIVE PREVIEW

Online Computation of Euclidean Shortest Paths in Two Dimensions - - PowerPoint PPT Presentation

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 References Euclidean Shortest Path


slide-1
SLIDE 1

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

slide-2
SLIDE 2

References

Euclidean Shortest Path

◮ Pathfinding on the Euclidean plane

2 / 21

slide-3
SLIDE 3

References

Euclidean Shortest Path

◮ Pathfinding on the Euclidean plane ◮ Takes as input start s, target t and a set of polygonal obstacles P

s t

2 / 21

slide-4
SLIDE 4

References

Euclidean Shortest Path

◮ Pathfinding on the Euclidean plane ◮ Takes as input start s, target t and a set of polygonal obstacles P ◮ Find shortest path from s to t without crossing through any obstacles P

s t

2 / 21

slide-5
SLIDE 5

References

Euclidean Shortest Path

◮ Pathfinding on the Euclidean plane ◮ Takes as input start s, target t and a set of polygonal obstacles P ◮ Find shortest path from s to t without crossing through any obstacles P ◮ Distance is based off the Euclidean distance

  • (x2 − x1)2 + (y2 − y1)2

s t

2 / 21

slide-6
SLIDE 6

References

Visibility Graph

◮ Visibility graphs can solve the Euclidean shortest path (Lozano-P´ erez et al. 1979)

3 / 21

slide-7
SLIDE 7

References

Visibility Graph

◮ Visibility graphs can solve the Euclidean shortest path (Lozano-P´ erez et al. 1979) ◮ Generates graph G = (V , E) where V is polygon vertices and E is edges that are free

  • f all obstacles

3 / 21

slide-8
SLIDE 8

References

Visibility Graph

◮ Visibility graphs can solve the Euclidean shortest path (Lozano-P´ erez et al. 1979) ◮ Generates graph G = (V , E) where V is polygon vertices and E is edges that are free

  • f all obstacles

◮ A full visibility graph uses V 2 edges complexity

3 / 21

slide-9
SLIDE 9

References

Sparse Visibility Graph

◮ A variant of the visibility graph (Oh et al., SoCS 2017)

4 / 21

slide-10
SLIDE 10

References

Sparse Visibility Graph

◮ A variant of the visibility graph (Oh et al., SoCS 2017) ◮ Keeps only edges that can form a shortest path

4 / 21

slide-11
SLIDE 11

References

Sparse Visibility Graph

◮ A variant of the visibility graph (Oh et al., SoCS 2017) ◮ Keeps only edges that can form a shortest path ◮ Greatly reduces the density

  • f edges

4 / 21

slide-12
SLIDE 12

References

Navigation Mesh

◮ Inverts the search space from a set of non-traversable obstacles to traversable convex regions

5 / 21

slide-13
SLIDE 13

References

Navigation Mesh

◮ Inverts the search space from a set of non-traversable obstacles to traversable convex regions ◮ Has a state-of-the-art solver Polyanya (Cui et al., IJCAI 2017)

5 / 21

slide-14
SLIDE 14

References

Navigation Mesh

◮ Inverts the search space from a set of non-traversable obstacles to traversable convex regions ◮ Has a state-of-the-art solver Polyanya (Cui et al., IJCAI 2017) ◮ Requires less memory and are easier to construct than visibility graphs

5 / 21

slide-15
SLIDE 15

References

Navigation Mesh

◮ Inverts the search space from a set of non-traversable obstacles to traversable convex regions ◮ Has a state-of-the-art solver Polyanya (Cui et al., IJCAI 2017) ◮ Requires less memory and are easier to construct than visibility graphs ◮ Like visibility graphs, does not solve the problem directly

5 / 21

slide-16
SLIDE 16

References

Introducing RayScan

◮ An online method for solving the Euclidean shortest path

6 / 21

slide-17
SLIDE 17

References

Introducing RayScan

◮ An online method for solving the Euclidean shortest path ◮ Works as an on-the-fly partial visibility graph on a A* search

6 / 21

slide-18
SLIDE 18

References

Introducing RayScan

◮ An online method for solving the Euclidean shortest path ◮ Works as an on-the-fly partial visibility graph on a A* search ◮ Generates edges for each expanding node; they can be discarded after being pushed to the priority queue

6 / 21

slide-19
SLIDE 19

References

RayScan Concepts

Shooting Rays Direct the Search

◮ Expand start node s

s t

7 / 21

slide-20
SLIDE 20

References

RayScan Concepts

Shooting Rays Direct the Search

◮ Expand start node s ◮ Shoot a ray towards target point t

s t

7 / 21

slide-21
SLIDE 21

References

RayScan Concepts

Shooting Rays Direct the Search

◮ Expand start node s ◮ Shoot a ray towards target point t ◮ If point is visible, it is a successor

s t

7 / 21

slide-22
SLIDE 22

References

RayScan Concepts

Shooting Rays Direct the Search

◮ Expand start node s ◮ Shoot a ray towards target point t ◮ If point is visible, it is a successor ◮ Direct line-of-sight from s to t is the simplest case

s t

7 / 21

slide-23
SLIDE 23

References

RayScan Concepts

Scanning

◮ Target t is not visible from start s

s t

8 / 21

slide-24
SLIDE 24

References

RayScan Concepts

Scanning

◮ Target t is not visible from start s ◮ First obstacle blocking target needs to be navigated around

s t

8 / 21

slide-25
SLIDE 25

References

RayScan Concepts

Scanning

◮ Target t is not visible from start s ◮ First obstacle blocking target needs to be navigated around ◮ Scanning is a core concept to find methods of navigating around

  • bstruction

a b s t

8 / 21

slide-26
SLIDE 26

References

RayScan Concepts

Scanning

◮ Target t is not visible from start s ◮ First obstacle blocking target needs to be navigated around ◮ Scanning is a core concept to find methods of navigating around

  • bstruction

◮ Find turning point a and b scanning CCW/CW that we can bend around

a b s t

8 / 21

slide-27
SLIDE 27

References

RayScan Concepts

Recursion

◮ Turning point a is visible from s

a b s t

9 / 21

slide-28
SLIDE 28

References

RayScan Concepts

Recursion

◮ Turning point a is visible from s ◮ Turning point b is blocked from s

a b s t

9 / 21

slide-29
SLIDE 29

References

RayScan Concepts

Recursion

◮ Turning point a is visible from s ◮ Turning point b is blocked from s ◮ The ray shot to b directs the search to find successors that may lead to it

a b s t

9 / 21

slide-30
SLIDE 30

References

RayScan Concepts

Recursion

◮ Turning point a is visible from s ◮ Turning point b is blocked from s ◮ The ray shot to b directs the search to find successors that may lead to it ◮ Recurse the scan CCW/CW from obstruction intersection

a b d c s t

9 / 21

slide-31
SLIDE 31

References

RayScan Concepts

Recursion

◮ Turning point a is visible from s ◮ Turning point b is blocked from s ◮ The ray shot to b directs the search to find successors that may lead to it ◮ Recurse the scan CCW/CW from obstruction intersection ◮ Successors c and d is found

a b d c s t

9 / 21

slide-32
SLIDE 32

References

RayScan Concepts

Angled Sectors

◮ Scan is restricted to a region called the angled sector

a b d c s t

10 / 21

slide-33
SLIDE 33

References

RayScan Concepts

Angled Sectors

◮ Scan is restricted to a region called the angled sector ◮ Once the scan leaves the angled sector, it ends

a b d c s t

10 / 21

slide-34
SLIDE 34

References

RayScan Concepts

Angled Sectors

◮ Scan is restricted to a region called the angled sector ◮ Once the scan leaves the angled sector, it ends ◮ When recursing a scan CW/CCW, angled sector is also split

a b d c s t

10 / 21

slide-35
SLIDE 35

References

RayScan Concepts

Angled Sectors

◮ Scan is restricted to a region called the angled sector ◮ Once the scan leaves the angled sector, it ends ◮ When recursing a scan CW/CCW, angled sector is also split ◮ After finding c, the angled sector gets splits

a b d c s t

10 / 21

slide-36
SLIDE 36

References

RayScan Concepts

Angled Sectors

◮ Scan is restricted to a region called the angled sector ◮ Once the scan leaves the angled sector, it ends ◮ When recursing a scan CW/CCW, angled sector is also split ◮ After finding c, the angled sector gets splits ◮ The CCW scan uses the green split

a b d c s t

10 / 21

slide-37
SLIDE 37

References

RayScan Concepts

Next Expansion

◮ A* search expands the smallest f -value a

a s t

11 / 21

slide-38
SLIDE 38

References

RayScan Concepts

Next Expansion

◮ A* search expands the smallest f -value a ◮ Each expanding node has a special angled sector known as the projection field

a s t

11 / 21

slide-39
SLIDE 39

References

RayScan Concepts

Next Expansion

◮ A* search expands the smallest f -value a ◮ Each expanding node has a special angled sector known as the projection field ◮ All successor must fall within this field to ensure taut (bends around corner)

a s t

11 / 21

slide-40
SLIDE 40

References

RayScan Concepts

End Search

◮ Expanding a, target t is within the projection field

a s t

12 / 21

slide-41
SLIDE 41

References

RayScan Concepts

End Search

◮ Expanding a, target t is within the projection field ◮ Shoot ray to t

a s t

12 / 21

slide-42
SLIDE 42

References

RayScan Concepts

End Search

◮ Expanding a, target t is within the projection field ◮ Shoot ray to t ◮ Target is visible, successor is added

a s t

12 / 21

slide-43
SLIDE 43

References

RayScan Concepts

End Search

◮ Expanding a, target t is within the projection field ◮ Shoot ray to t ◮ Target is visible, successor is added ◮ Expansion of node ends since target is found

a s t

12 / 21

slide-44
SLIDE 44

References

RayScan Concepts

End Search

◮ Expanding a, target t is within the projection field ◮ Shoot ray to t ◮ Target is visible, successor is added ◮ Expansion of node ends since target is found ◮ If using a Euclidean heuristic value, search ends here

s t

12 / 21

slide-45
SLIDE 45

References

RayScan Concepts

Skipped Successors

◮ Multiple squares are not considered

s t

13 / 21

slide-46
SLIDE 46

References

RayScan Concepts

Skipped Successors

◮ Multiple squares are not considered ◮ Moving target t behind a square makes it relevant

s t

13 / 21

slide-47
SLIDE 47

References

RayScan Concepts

Skipped Successors

◮ Multiple squares are not considered ◮ Moving target t behind a square makes it relevant ◮ Since rays direct the search, this reduces the successors and number of rays shot

s t

13 / 21

slide-48
SLIDE 48

References

Comparisions to Visibility Graphs

RayScan

◮ Applying RayScan to a larger scenario

s t

14 / 21

slide-49
SLIDE 49

References

Comparisions to Visibility Graphs

RayScan

◮ Applying RayScan to a larger scenario ◮ Diagram shows RayScan search successors

s t

14 / 21

slide-50
SLIDE 50

References

Comparisions to Visibility Graphs

RayScan

◮ Applying RayScan to a larger scenario ◮ Diagram shows RayScan search successors ◮ Red line is the shortest path

s t

14 / 21

slide-51
SLIDE 51

References

Comparisions to Visibility Graphs

RayScan

◮ Applying RayScan to a larger scenario ◮ Diagram shows RayScan search successors ◮ Red line is the shortest path ◮ Blue lines are other successors found during the search

s t

14 / 21

slide-52
SLIDE 52

References

Comparisions to Visibility Graphs

Sparse Visibility Graph

◮ Blue lines show the edges of the sparse visibility graph

s t

15 / 21

slide-53
SLIDE 53

References

Comparisions to Visibility Graphs

Sparse Visibility Graph

◮ Blue lines show the edges of the sparse visibility graph ◮ Red lines show the edges expanded during an A* search

s t

15 / 21

slide-54
SLIDE 54

References

Comparisions to Visibility Graphs

Sparse Visibility Graph

◮ Blue lines show the edges of the sparse visibility graph ◮ Red lines show the edges expanded during an A* search ◮ RayScan generates edges found on the sparse visibility graphs on-the-fly

s t

15 / 21

slide-55
SLIDE 55

References

Comparisions to Visibility Graphs

Sparse Visibility Graph Compare s t s t

16 / 21

slide-56
SLIDE 56

References

Comparisions to Visibility Graphs

Visibility Graph with Projection Field

◮ The projection field concept can be applied to visibility graph on A*

s t

17 / 21

slide-57
SLIDE 57

References

Comparisions to Visibility Graphs

Visibility Graph with Projection Field

◮ The projection field concept can be applied to visibility graph on A* ◮ Add only the successors of A* within the projection field

s t

17 / 21

slide-58
SLIDE 58

References

Comparisions to Visibility Graphs

Visibility Graph with Projection Field

◮ The projection field concept can be applied to visibility graph on A* ◮ Add only the successors of A* within the projection field ◮ The search proceeds similarly to RayScan with this change

s t

17 / 21

slide-59
SLIDE 59

References

Comparisions to Visibility Graphs

Visibility Graph with Projection Field

◮ The projection field concept can be applied to visibility graph on A* ◮ Add only the successors of A* within the projection field ◮ The search proceeds similarly to RayScan with this change ◮ This is referred as taut A* by Oh et al. (2017)

s t

17 / 21

slide-60
SLIDE 60

References

Comparisions to Visibility Graphs

Visibility Graph with Projection Field Compare s t s t

18 / 21

slide-61
SLIDE 61

References

Comparisions to Visibility Graphs

Visibility Graph with Projection Field Compare s t s t

18 / 21

slide-62
SLIDE 62

References

Results Presented in Paper

◮ Testing against Moving AI Lab pathfinding benchmarks (Sturtevant 2012) Starcraft Aurora Map

1 2 3 2 4 6 8 Polyanya (ms) RAYSCAN (ms) Bresenham Oracle y = x

19 / 21

slide-63
SLIDE 63

References

Results Presented in Paper

◮ Testing against Moving AI Lab pathfinding benchmarks (Sturtevant 2012) ◮ Comparing RayScan against Polyanya Starcraft Aurora Map

1 2 3 2 4 6 8 Polyanya (ms) RAYSCAN (ms) Bresenham Oracle y = x

19 / 21

slide-64
SLIDE 64

References

Results Presented in Paper

◮ Testing against Moving AI Lab pathfinding benchmarks (Sturtevant 2012) ◮ Comparing RayScan against Polyanya ◮ Bresenham is RayScan using a Bresenham line for the ray shooting (Bresenham 1965) Starcraft Aurora Map

1 2 3 2 4 6 8 Polyanya (ms) RAYSCAN (ms) Bresenham Oracle y = x

19 / 21

slide-65
SLIDE 65

References

Results Presented in Paper

◮ Testing against Moving AI Lab pathfinding benchmarks (Sturtevant 2012) ◮ Comparing RayScan against Polyanya ◮ Bresenham is RayScan using a Bresenham line for the ray shooting (Bresenham 1965) ◮ Oracle uses a free ray shooter Starcraft Aurora Map

1 2 3 2 4 6 8 Polyanya (ms) RAYSCAN (ms) Bresenham Oracle y = x

19 / 21

slide-66
SLIDE 66

References

Recap

◮ RayScan works directly on the environment

20 / 21

slide-67
SLIDE 67

References

Recap

◮ RayScan works directly on the environment ◮ Well suited to single instance or dynamically changing maps

20 / 21

slide-68
SLIDE 68

References

Recap

◮ RayScan works directly on the environment ◮ Well suited to single instance or dynamically changing maps ◮ Performance dependent on ray shooter (i.e. more than half runtime is shooting rays)

20 / 21

slide-69
SLIDE 69

References

References

Lozano-P´ erez, T., & Wesley, M. A. (1979). An algorithm for planning collision-free paths among polyhedral obstacles. Communications of the ACM, 22(10), 560–570. Oh, S., & Leong, H. W. (2017). Edge n-level sparse visibility graphs: Fast optimal any-angle pathfinding using hierarchical taut paths. Proceedings of the Tenth International Symposium on Combinatorial Search (SoCS 2017). Cui, M. L., Harabor, D., & Grastien, A. (2017). Compromise-free pathfinding on a navigation mesh. Proceedings of the 26th International Joint Conference on Artificial Intelligence, 496–502. Sturtevant, N. (2012). Benchmarks for grid-based pathfinding. Transactions on Computational 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. IBM Systems journal, 4(1), 25–30.

21 / 21