a navigation mesh_for_dynamic_environments
TRANSCRIPT
A Navigation Mesh for Dynamic EnvironmentsWouter G. van Toll, Atlas F. Cook IV, Roland Geraerts
Slides by: Roger Hernando
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Outline
1 Introduction
2 Explicit Corridor Map (ECM)
3 OperationsInsert obstacleDelete obstacle
4 Results
5 Conclusions
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Path planning
Global planning: find a main route.Local planning: collision avoidance.Navigation Meshes: subdivision of thespace into walkable cells.Route: sequence of cells + flexibility.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Dynamic enviroments
Path planning in virtual environments:Obstacles appear, disappear, or move.Local collision avoidance can’t alwayshandle it.The navigation mesh changes andneeds to be updated.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Dynamic ECM
Explicit Corridor Map, navigation mesh [Geraerts R, 2004].Local insertions and deletions.Based on Voronoi diagrams.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Medial axis
The set of all points with atleast two closest obstaclepoints.Pruned Voronoi diagram.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Medial axis
The set of all points with atleast two closest obstaclepoints.Pruned Voronoi diagram.Maximum clearance toobstacles.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
ECM
MA + closest obstacles atbisector vertices.O(nlogn) construction.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Operations
Local operations update the mesh only where it is necessary:Insert an obstacle.
Insert a point among points.Insert a point among polygons.Insert a polygon among polygons.
Delete an obstacle.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Insert obstacle
Insert a point among points
Incremental algorithm to build a Voronoi diagram[Green andSibson, 1978].
1 Find the cell Ci where p lies.2 Compute the bisector of p and pi .3 Find the intersections of bisector and Ci .4 Compute new neighbour + bisector.5 Iterate until the new cell is finished.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Insert obstacle
Insert a point among points
Incremental algorithm to build a Voronoi diagram[Green andSibson, 1978].
1 Find the cell Ci where p lies.2 Compute the bisector of p and pi .3 Find the intersections of bisector and Ci .4 Compute new neighbour + bisector.5 Iterate until the new cell is finished.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Insert obstacle
Insert a point among points
Incremental algorithm to build a Voronoi diagram[Green andSibson, 1978].
1 Find the cell Ci where p lies.2 Compute the bisector of p and pi .3 Find the intersections of bisector and Ci .4 Compute new neighbour + bisector.5 Iterate until the new cell is finished.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Insert obstacle
Insert a point among points
Incremental algorithm to build a Voronoi diagram[Green andSibson, 1978] O(k + log n).
1 Find the cell Ci where p lies.2 Compute the bisector of p and pi .3 Find the intersections of bisector and Ci .4 Compute new neighbour + bisector.5 Iterate until the new cell is finished.6 Remove old edges.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Insert obstacle
Insert a point among polygons
Bisector edges are chains of line/parabola segments.A bisector vertex marks a switch.A bisector vertex occurs when a edge intersects a surfacenormal.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Insert obstacle
Insert a point among polygons
At each iteration, choose the 1st of two intersections(icell orinormal ).
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Insert obstacle
Insert a Polygon among polygons
In each iteration, choose 1st of three intersections:With Voronoi cell.With neighbours normal.With P ′s normal vector.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Delete obstacle
Deleting an obstacle
Deleting a cell(Cp) of a Voronoi diagram.
1 Compute Np, set of P ′s neighbours.2 Build medial axis of Np.3 Merge the old/new medial axis.4 Delete the boundary of Cp.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Delete obstacle
Deleting an obstacle
Deleting a cell(Cp) of a Voronoi diagram.
1 Compute Np, set of P ′s neighbours.2 Build medial axis of Np.3 Merge the old/new medial axis.4 Delete the boundary of Cp.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Delete obstacle
Deleting an obstacle
Deleting a cell(Cp) of a Voronoi diagram.
1 Compute Np, set of P ′s neighbours.2 Build medial axis of Np.3 Merge the old/new medial axis.4 Delete the boundary of Cp.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Delete obstacle
Multilayered Mesh
An obstacle may exist in multiple layers, use the 2D algorithmto each layer occupied by the obstacle.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Local updates vs global reconstruction
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Inserting, deleting and moving polygons
Inserting: running times (1.3ms, 2.2ms) and (1.5ms, 2.4ms).Deleting: running times (1.2ms, 2.3ms) and (4.3ms, 5.4ms).Move: depicted as continuous re-insertions of the obstacleinto the navigation mesh, average 0.78ms and 1.09ms.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Conclusions
Algorithms for updating a navigation mesh:Based on Voronoi diagrams.Insertions of points and polygons.Deletions based on insertions.
Experiments:Real-time insertions and deletions.Movement: real-time insertions into static scene.
Future Work:A generic path planning framework.Ongoing research: character routes re-planning.
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
links
Video: youtu.be/tH9dNESH4icPaper: www.staff.science.uu.nl/∼gerae101
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments
Introduction Explicit Corridor Map (ECM) Operations Results Conclusions
Questions?
Slides by: Roger Hernando A Navigation Mesh for Dynamic Environments