Course Introduction • Main Objectives Navigation Meshes and Real ‐ Time Dynamic – Overview of the classical computational Planning for Interactive Virtual Worlds geometry and AI algorithms for path planning and navigation Marcelo Kallmann University of California Merced mkallmann@ucmerced.edu – Overview of recent advances in navigation meshes and real-time dynamic planning for interactive virtual worlds Mubbasir Kapadia Disney Research Zurich mubbasir.kapadia@disneyresearch.com Course Introduction Course Topics • Topics 1) Geometric Path Planning – Shortest Paths, Visibility Graphs, Continuous 1) Geometric Path Planning (Marcelo) (20min) Dijkstra, Shortest Path Maps 2) Discrete Search (Mubbasir) (20min) 3) Navigation Meshes (Marcelo) (20min) 4) Planning in Complex Domains (Mubbasir) (20min) (Quick questions after each part, 10min at the end for questions) Examples: the shortest path tree (left) and the shortest path map (right)
Course Topics Course Topics 2) Discrete Search 3) Navigation Meshes – Extending classical A* to real-time constraints – Overview of approaches based on well and dynamic scenarios, navigation with established spatial structures constraints, using GPU to speed up computations Example: Local Clearance Triangulations Course Topics Not in this Course 4) Planning in Complex Domains • Complementary Information – Generalizing to complex navigation problems, – More information on this course and related and other problem domains, behavior planning, topics can be found from the webpages of the interactive narrative, etc. authors: http://graphics.ucmerced.edu/ http://people.inf.ethz.ch/kapadiam/ – Course webpage: http://people.inf.ethz.ch/kapadiam/2014-siggraph-course- navigation.html
Geometric Path Planning 1 2 • Euclidean Shortest Paths (ESPs) – Are collision-free shortest paths connecting two input points • They are “globally” shortest, no shorter path will exist Geometric Path Planning • Navigation Meshes – Several popular spatial structures can be used Marcelo Kallmann for fast path planning mkallmann@ucmerced.edu • However usual structures will not compute ESPs • Ex: Voronoi diagrams, medial axis, Delaunay Triangulations M. Kallmann M. Kallmann http://graphics.ucmerced.edu/ Geometric Path Planning Euclidean Shortest Paths 3 4 • Globally shortest paths are difficult to find – The problem is a global continuous problem • Cannot be efficiently reduced to graph search – Most popular method Euclidean Shortest Paths (ESPs) • Search the “Visibility Graph”, which unfortunately has O( n 2 ) size – Can be solved in O( n log n ) • Using the “continuous Dijkstra” approach • n = number of vertices in obstacle set • Optimal algorithm difficult to implement in practice • More about that later M. Kallmann M. Kallmann
Euclidean Shortest Paths Euclidean Shortest Paths 5 6 • Simplest case: in a polygon • Elastic band concept a a b b M. Kallmann M. Kallmann Euclidean Shortest Paths Euclidean Shortest Paths 7 8 • Elastic band concept • Elastic band concept a a b b M. Kallmann M. Kallmann
Euclidean Shortest Paths Euclidean Shortest Paths 9 10 • Generic case: polygonal domain • Multiple possible elastic bands exist a a b b M. Kallmann M. Kallmann Euclidean Shortest Paths Euclidean Shortest Paths 11 12 • Multiple possible elastic bands exist • Multiple possible elastic bands exist a a b b M. Kallmann M. Kallmann
Euclidean Shortest Paths Euclidean Shortest Paths 13 14 • Multiple possible elastic bands exist !!! • How many? a a b b M. Kallmann M. Kallmann Euclidean Shortest Paths 15 16 • How many? a Shortest Paths in a Simple Polygon b M. Kallmann M. Kallmann
Funnel Algorithm Funnel Algorithm 17 18 • If we know the solution is in a given polygon: – Then there is a fast algorithm for finding the shortest path • Funnel Algorithm – Runs in optimal linear time x a M. Kallmann M. Kallmann Funnel Algorithm Funnel Algorithm 19 20 M. Kallmann M. Kallmann
Funnel Algorithm Funnel Algorithm 21 22 Deque: bar r b a M. Kallmann M. Kallmann Funnel Algorithm Funnel Algorithm 23 24 Deque: cbar Deque: cbars s c c r r b b is (a,b,c) CCW? is (a,r,s) CW? a a M. Kallmann M. Kallmann
Funnel Algorithm Funnel Algorithm 25 26 Deque : dcbars Deque: dcbars e d d s s c c r r b b (a,d,e) not CCW! a a M. Kallmann M. Kallmann Funnel Algorithm Funnel Algorithm 27 28 Deque: ecbars Deque: fbars f e e d d s s c c r r b b a a M. Kallmann M. Kallmann
Funnel Algorithm Funnel Algorithm 29 30 Deque: fbars Deque: grs Path: a g f f e e d d s s c c r r b b a a M. Kallmann M. Kallmann Funnel Algorithm Funnel Algorithm 31 32 Deque: grst Deque: hst Path: a Path: ar g g f f e e h d d s s c c r r t t b b a a M. Kallmann M. Kallmann
Funnel Algorithm Funnel Algorithm 33 34 i Deque: hu Deque: ihu Path: ars Path: ars g g f f e e h h u u d d s s c c r r t t b b a a M. Kallmann M. Kallmann Funnel Algorithm Funnel Algorithm 35 36 i i Deque: ihuv Deque: juv Path: ars Path: arsh g g f f j e e h h u u d d s s c c v v r r t t b b a a M. Kallmann M. Kallmann
Funnel Algorithm Funnel Algorithm 37 38 i i Deque: jv Path: arshu Path: arshux g g f f j j e e h h u u d d s s c c v v r r t t b b x x x reached! a a M. Kallmann M. Kallmann Funnel Algorithm Euclidean Shortest Paths 39 40 • Solving the generic ESP problem is more Result: difficult – Popular algorithms in practice are based on the Visibility graph, which is O( n 2 ) structure • First build the visibility graph, then the shortest path connecting two points in the graph will be the ESP M. Kallmann M. Kallmann
Visibility Graph 41 42 • Edges connect all pairs of visible vertices Visibility Graph M. Kallmann M. Kallmann Visibility Graph Visibility Graph 43 44 • It can be preprocessed – Query points added later at run-time M. Kallmann M. Kallmann
Visibility Graph Visibility Graph 45 46 • Full visibility graph • Optimizations are possible – Optimizations are possible – Ex: discard edges connecting “concave corners” p p q q M. Kallmann M. Kallmann Visibility Graph Visibility Graph 47 48 • Final graph for path search • Shortest Path in Graph – Ready for a discrete path search algorithm – Dijkstra and A* very popular • Expansion outwards from source vertex p • Priority queue sorts nodes being expanded 2 1 1 1 2 2 4 3 2 1 2 3 5 2 7 6 3 q 3 3 8 M. Kallmann M. Kallmann
Visibility Graph Visibility Graph 49 50 Q: Q: 1 p p 2 2 1 1 1 1 2 2 4 4 3 3 2 1 2 3 5 5 2 7 7 6 6 3 3 3 8 8 q M. Kallmann M. Kallmann Visibility Graph Visibility Graph 51 52 Q: Q: s s 2 2 1 1 4 4 3 3 5 5 7 7 6 6 8 8 q M. Kallmann M. Kallmann
Visibility Graph Visibility Graph 53 54 Q: Q: 4 2 3 s s 2 2 1 1 4 4 3 3 5 5 7 7 6 6 8 8 g ( n ) is the cost-to-come h ( n , q ): cost-to-go heuristic, usually dist ( n,q ) (if zero: becomes Dijkstra algorithm) M. Kallmann M. Kallmann Visibility Graph Visibility Graph 55 56 Q: 2 3 Q: 2 3 2 2 1 1 s s 4 4 3 3 5 5 7 7 6 6 8 8 M. Kallmann M. Kallmann
Visibility Graph Visibility Graph 57 58 Q: 2 3 5 6 Q: 3 5 6 s 2 2 1 1 s 4 4 3 3 5 5 7 7 6 6 8 8 node 2 has no neighbors to process M. Kallmann M. Kallmann Visibility Graph Visibility Graph 59 60 Q: 5 6 Q: 5 6 7 2 2 1 1 4 4 s s 3 3 5 5 7 7 6 6 8 8 M. Kallmann M. Kallmann
Visibility Graph Visibility Graph 61 62 Q: 6 7 Q: 8 6 7 2 2 1 1 4 4 3 3 s 5 5 7 7 6 6 s 8 8 M. Kallmann M. Kallmann Visibility Graph Visibility Graph 63 64 Q: 6 7 Q: 6 7 2 2 1 1 4 4 3 3 5 5 7 7 6 6 s s 8 8 q When goal is reached, path is defined by tracing back parent pointers set during expansion M. Kallmann M. Kallmann
Visibility Graph Visibility Graph 65 66 • Search runs until goal node is reached • Preprocessing for a specific clearance value – In the worst case all nodes are visited – Lozano-Pérez and Wesley 1979 – Chew 1985 • First dilates the environment, then computes visibility • Shortest path in Visibility Graph graph of tangents – Is the ESP – Pre-computation: O( n 2 log n ), size: O( n 2 ), query: O( n 2 log n ) • Clearance-independent preprocessing possible – Wein, van den Berg and Halperin, “ the visibility– Voronoi complex and its applications ”, 2007 • Preprocessing: O ( n 2 log n ) • Query time: O ( n log n + m ) = O ( n 2 ) • Probably the best practical method for global optimality M. Kallmann M. Kallmann The Shortest Path Tree 67 68 • Contains shortest paths from all vertices to source point – Can be computed from the visibility graph with an exhaustive Dijkstra Expansion Shortest Path Tree M. Kallmann M. Kallmann
Recommend
More recommend