A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts CASA 2012.

Slides:



Advertisements
Similar presentations
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Advertisements

Brute-Force Triangulation
Sampling Techniques for Probabilistic Roadmap Planners
By Lydia E. Kavraki, Petr Svestka, Jean-Claude Latombe, Mark H. Overmars Emre Dirican
1 Voronoi Diagrams. 2 Voronoi Diagram Input: A set of points locations (sites) in the plane.Input: A set of points locations (sites) in the plane. Output:
The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.
Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically.
Roland Geraerts and Mark Overmars ICRA 2007 The Corridor Map Method: Real-Time High-Quality Path Planning.
Way to go: A framework for multi-level planning in games Norman Jaklin Wouter van Toll Roland Geraerts Department of Information and Computing Sciences.
Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull 
The Voronoi diagram of convex objects in the plane Menelaos Karavelas & Mariette Yvinec Dagsthul Workshop, march 2003.
Creating High-quality Roadmaps for Motion Planning in Virtual Environments Roland Geraerts and Mark Overmars IROS 2006.
Week 14 - Monday.  What did we talk about last time?  Bounding volume/bounding volume intersections.
Fractional Cascading CSE What is Fractional Cascading anyway? An efficient strategy for dealing with iterative searches that achieves optimal.
Visibility Computations: Finding the Shortest Route for Motion Planning COMP Presentation Eric D. Baker Tuesday 1 December 1998.
Robert Pless, CS 546: Computational Geometry Lecture #3 Last Time: Convex Hulls Today: Plane Sweep Algorithms, Segment Intersection, + (Element Uniqueness,
Computational Geometry -- Voronoi Diagram
17. Computational Geometry Chapter 7 Voronoi Diagrams.
Computational Geometry and Spatial Data Mining
Haptic Rendering using Simplification Comp259 Sung-Eui Yoon.
2-dimensional indexing structure
Delaunay Triangulation on the GPU Dan Maljovec. CPU Delaunay Triangulation Randomized Incremental Algorithm 1.Construct Bounding triangle 2.Choose point.
Randomized Planning for Short Inspection Paths Tim Danner Lydia E. Kavraki Department of Computer Science Rice University.
Polygonal Meshes 3D Object Representation -Tyler Abrams.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
Chapter 5: Path Planning Hadi Moradi. Motivation Need to choose a path for the end effector that avoids collisions and singularities Collisions are easy.
R-Trees 2-dimensional indexing structure. R-trees 2-dimensional version of the B-tree: B-tree of maximum degree 8; degree between 3 and 8 Internal nodes.
Navigation Meshes for Realistic Multi-Layered Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts Utrecht University, The Netherlands.
Geometric Probing with Light Beacons on Multiple Mobile Robots Sarah Bergbreiter CS287 Project Presentation May 1, 2002.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces Lydia E. Kavraki Petr Švetka Jean-Claude Latombe Mark H. Overmars Presented.
Delaunay Triangulations Presented by Glenn Eguchi Computational Geometry October 11, 2001.
Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.
Ioannis Karamouzas, Roland Geraerts, Mark Overmars Indicative Routes for Path Planning and Crowd Simulation.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
Introduction Tracking the corners Camera model and collision detection Keyframes Path Correction Controlling the entire path of a virtual camera In computer.
ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm.
UNC Chapel Hill M. C. Lin Point Location Reading: Chapter 6 of the Textbook Driving Applications –Knowing Where You Are in GIS Related Applications –Triangulation.
© Manfred Huber Autonomous Robots Robot Path Planning.
Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically.
Planning Near-Optimal Corridors amidst Obstacles Ron Wein Jur P. van den Berg (U. Utrecht) Dan Halperin Athens May 2006.
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
Using the Corridor Map Method for Path Planning for a Large Number of Characters Roland Geraerts, Arno Kamphuis, Ioannis Karamouzas, Mark Overmars MIG’08.
UNC Chapel Hill M. C. Lin Line Segment Intersection Chapter 2 of the Textbook Driving Applications –Map overlap problems –3D Polyhedral Morphing.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars.
Roland Geraerts Seminar Crowd Simulation 2011
Motion Planning in Games Mark Overmars Utrecht University.
Haptic Rendering Part 2 4/CY/B3 Part 1. Collision detection and response Nic Melder Part 2. Manipulation and polygon transitions Nic Melder.
From Path Planning to Crowd Simulation
Voronoi Diagram (Supplemental)
Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically.
Wouter G. van Toll Atlas F. Cook IV Roland Geraerts Realistic Crowd Simulation with Density-Based Path Planning ICT.OPEN / ASCI October 22nd, 2012.
Delaunay Triangulation on the GPU
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
Roland Geraerts and Erik Schager CASA 2010 Stealth-Based Path Planning using Corridor Maps.
February 17, 2005Lecture 6: Point Location Point Location (most slides by Sergi Elizalde and David Pritchard)
Computer Graphics Lecture 08 Taqdees A. Siddiqi Computer Graphics Filled Area Primitives I Lecture 08 Taqdees A. Siddiqi
Polygon Triangulation
Indicative Routes for Path Planning and Crowd Simulation
A Comparative Study of Navigation Meshes . Motion in Games 2016
A Comparative Study of Navigation Meshes . Motion in Games 2016
A Comparative Study of Navigation Meshes
Roland Geraerts and Mark Overmars CASA’08
Craig Schroeder October 26, 2004
Crowd Simulation (INFOMCRWS) - UU Crowd Simulation Software
Workshop II UU Crowd Simulation Framework
Computational Geometry
Graphs.
The Visibility– Voronoi Complex and Its Applications
Presentation transcript:

A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts CASA 2012

Problem solved? 2 / 16

3 / 16 Path planning in games and simulations Send virtual characters from start to goal Increasing desire for efficiency and realism – Characters: smooth movement, collision avoidance, … – Environments: complex (2.5D), dynamic, … Foundation: a navigation mesh – Subdivision of the walkable space into 2D polygons – Allows smooth, flexible movement Our framework: corridors – Based on the 2D medial axis  Contribution: dynamic updates Motivation

4 / 16 Preliminaries: 2D medial axis Medial axis: Pruned version of the Voronoi diagram Subdivision into cells with 1 closest obstacle A useful roadmap Maximum clearance to obstacles Preserves connectivity The set of all points with at least two closest obstacle points

5 / 16 Preliminaries: Explicit Corridor Map ECM: Annotated medial axis (Geraerts, 2010) Bisector vertices store a closest obstacle point on both sides Exact subdivision of the walkable space An efficient nav. mesh O(n) storage O(n log n) build time

6 / 16 Preliminaries: Explicit Corridor Map Some features of the ECM Clearance information – Supports all character sizes Global planning on the MA – Result: path + corridor Following indicative routes Short paths with clearance Local forces can be added – Collision avoidance – Group coherence Multi-layered environments Dynamic updates

7 / 16 Contribution: Local updates Dynamic environments can change locally E.g. collapsing bridges, newly built roads, … Complete navmesh reconstruction is expensive! Local operations: adding/removing obstacles Update the mesh only where it is necessary Recall: The ECM is an annotated medial axis  We use Voronoi algorithms; skip the annotations today 1. Inserting a point among points 2. Inserting a point among polygons 3. Inserting a polygon among polygons 4. Deleting an obstacle

8 / Inserting a point among points Insertion = 1 step of incremental construction – Let C j be the Voronoi cell of point p j – Let p be the point to add Algorithm (Green and Sibson, 1978) – Find the cell C i in which p lies – Compute the bisector of p and p i – Find the intersections of bisector and C i – Compute new neighbor + bisector – Iterate until the new cell is finished – Remove the old edges Complexity: O(log n + k) – n = number of points – k = complexity of the new cell

9 / Inserting a point among polygons What if the other obstacles are polygons? Bisector edges are chains of line/parabola segments A bisector vertex (BV) marks a switch BV occurs when the edge intersects a surface normal Adapted insertion algorithm In each iteration, choose the 1st of 2 intersections

10 / Inserting polygon among polygons What if the inserted obstacle P is a line or polygon? P can also induce bisector vertices Adapted insertion algorithm In each iteration, choose the 1st of 3 intersections – With the Voronoi cell – With the neighbour’s normal vector – With P’s normal vector

11 / Deleting an obstacle Deleting P: the cell C P needs to be removed Its interior must be filled in with new edges These can only come from P’s neighbors! Deletion algorithm – Compute N P, set of P’s neighbors – Build the medial axis for N P – Connect the old/new medial axes – Delete the boundary of C P Complexity: O(m log m) – m = number of neighbors for P

12 / 16 Experimental results 1. Inserting random points into an empty scene Incremental insertion Local updates vs. global reconstruction – Local: Always fast (< 1 ms) – Global: Slower, depends on #points so far

13 / 16 Experimental results (2) 2. Inserting polygons into various scenes Running times: 1.3ms to 2.5ms Efficiency depends on the new cell’s complexity  In practice, most updates will be very local  Fast enough for real-time updates!

14 / 16 Experimental results (3) 3. Deleting polygons from various scenes Same polygons/scenes as before Running times: 1.2ms to 5.4ms Efficiency depends on the old cell’s complexity 4. Moving a polygon through various scenes Re-insert the polygon into a static version Running times below 1.5ms  We can handle multiple moving obstacles in real-time

15 / 16 Conclusions Algorithms for updating a navigation mesh Based on Voronoi diagram techniques Insertions of points and polygons Deletions based on insertions Implementation and experiments Insertions: real-time performance Deletions: slower, but still applicable Movement: real-time insertions into a static scene Applications in 2D and 2.5D demo 1demo 2

16 / 16 Future work Goal: a generic path planning framework for games and simulations

Thank you Contact Roland Geraerts 17 / 16