online computation of euclidean shortest paths in two
play

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


  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

  2. References Euclidean Shortest Path ◮ Pathfinding on the Euclidean plane 2 / 21

  3. References Euclidean Shortest Path ◮ Pathfinding on the Euclidean plane ◮ Takes as input start s , target t and a set of polygonal obstacles P t s 2 / 21

  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 t any obstacles P s 2 / 21

  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 t any obstacles P ◮ Distance is based off the s Euclidean distance ( x 2 − x 1 ) 2 + ( y 2 − y 1 ) 2 � 2 / 21

  6. References Visibility Graph ◮ Visibility graphs can solve the Euclidean shortest path (Lozano-P´ erez et al. 1979) 3 / 21

  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 of all obstacles 3 / 21

  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 of all obstacles ◮ A full visibility graph uses V 2 edges complexity 3 / 21

  9. References Sparse Visibility Graph ◮ A variant of the visibility graph (Oh et al., SoCS 2017) 4 / 21

  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

  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 of edges 4 / 21

  12. References Navigation Mesh ◮ Inverts the search space from a set of non-traversable obstacles to traversable convex regions 5 / 21

  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

  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

  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

  16. References Introducing RayScan ◮ An online method for solving the Euclidean shortest path 6 / 21

  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

  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

  19. References RayScan Concepts Shooting Rays Direct the Search t ◮ Expand start node s s 7 / 21

  20. References RayScan Concepts Shooting Rays Direct the Search t ◮ Expand start node s ◮ Shoot a ray towards target point t s 7 / 21

  21. References RayScan Concepts Shooting Rays Direct the Search t ◮ Expand start node s ◮ Shoot a ray towards target point t ◮ If point is visible, it is a successor s 7 / 21

  22. References RayScan Concepts Shooting Rays Direct the Search t ◮ 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 7 / 21

  23. References RayScan Concepts Scanning ◮ Target t is not visible from start s t s 8 / 21

  24. References RayScan Concepts Scanning ◮ Target t is not visible from start s t ◮ First obstacle blocking target needs to be navigated around s 8 / 21

  25. References RayScan Concepts Scanning ◮ Target t is not visible from start s t ◮ First obstacle blocking target needs to be navigated around a ◮ Scanning is a core concept b to find methods of navigating around obstruction s 8 / 21

  26. References RayScan Concepts Scanning ◮ Target t is not visible from start s t ◮ First obstacle blocking target needs to be navigated around a ◮ Scanning is a core concept b to find methods of navigating around obstruction ◮ Find turning point a and b s scanning CCW/CW that we can bend around 8 / 21

  27. References RayScan Concepts Recursion ◮ Turning point a is visible t from s a b s 9 / 21

  28. References RayScan Concepts Recursion ◮ Turning point a is visible t from s ◮ Turning point b is blocked from s a b s 9 / 21

  29. References RayScan Concepts Recursion ◮ Turning point a is visible t from s ◮ Turning point b is blocked from s a ◮ The ray shot to b directs the b search to find successors that may lead to it s 9 / 21

  30. References RayScan Concepts Recursion ◮ Turning point a is visible t from s ◮ Turning point b is blocked from s a ◮ The ray shot to b directs the b search to find successors c that may lead to it d ◮ Recurse the scan CCW/CW from obstruction intersection s 9 / 21

  31. References RayScan Concepts Recursion ◮ Turning point a is visible t from s ◮ Turning point b is blocked from s a ◮ The ray shot to b directs the b search to find successors c that may lead to it d ◮ Recurse the scan CCW/CW from obstruction intersection s ◮ Successors c and d is found 9 / 21

  32. References RayScan Concepts Angled Sectors ◮ Scan is restricted to a region t called the angled sector a b c d s 10 / 21

  33. References RayScan Concepts Angled Sectors ◮ Scan is restricted to a region t called the angled sector ◮ Once the scan leaves the angled sector, it ends a b c d s 10 / 21

  34. References RayScan Concepts Angled Sectors ◮ Scan is restricted to a region t called the angled sector ◮ Once the scan leaves the angled sector, it ends a ◮ When recursing a scan CW/CCW, angled sector is b c also split d s 10 / 21

  35. References RayScan Concepts Angled Sectors ◮ Scan is restricted to a region t called the angled sector ◮ Once the scan leaves the angled sector, it ends a ◮ When recursing a scan CW/CCW, angled sector is b c also split ◮ After finding c , the angled d sector gets splits s 10 / 21

  36. References RayScan Concepts Angled Sectors ◮ Scan is restricted to a region t called the angled sector ◮ Once the scan leaves the angled sector, it ends a ◮ When recursing a scan CW/CCW, angled sector is b c also split ◮ After finding c , the angled d sector gets splits s ◮ The CCW scan uses the green split 10 / 21

  37. References RayScan Concepts Next Expansion t ◮ A* search expands the smallest f -value a a s 11 / 21

  38. References RayScan Concepts Next Expansion t ◮ A* search expands the smallest f -value a a ◮ Each expanding node has a special angled sector known as the projection field s 11 / 21

  39. References RayScan Concepts Next Expansion t ◮ A* search expands the smallest f -value a 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) s 11 / 21

  40. References RayScan Concepts End Search t ◮ Expanding a , target t is within the projection field a s 12 / 21

  41. References RayScan Concepts End Search t ◮ Expanding a , target t is within the projection field ◮ Shoot ray to t a s 12 / 21

  42. References RayScan Concepts End Search t ◮ Expanding a , target t is within the projection field ◮ Shoot ray to t a ◮ Target is visible, successor is added s 12 / 21

  43. References RayScan Concepts End Search t ◮ Expanding a , target t is within the projection field ◮ Shoot ray to t a ◮ Target is visible, successor is added ◮ Expansion of node ends since target is found s 12 / 21

  44. References RayScan Concepts End Search t ◮ 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 s value, search ends here 12 / 21

  45. References RayScan Concepts Skipped Successors t ◮ Multiple squares are not considered s 13 / 21

  46. References RayScan Concepts Skipped Successors ◮ Multiple squares are not considered ◮ Moving target t behind a t square makes it relevant s 13 / 21

Recommend


More recommend