a navigation mesh_for_dynamic_environments

25
A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts Slides by: Roger Hernando

Upload: roger-hernando-buch

Post on 22-Jan-2018

102 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: A navigation mesh_for_dynamic_environments

A Navigation Mesh for Dynamic EnvironmentsWouter G. van Toll, Atlas F. Cook IV, Roland Geraerts

Slides by: Roger Hernando

Page 2: A navigation mesh_for_dynamic_environments

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

Page 3: 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

Page 4: 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

Page 5: 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

Page 6: 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

Page 7: 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

Page 8: 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

Page 9: 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

Page 10: 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

Page 11: 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

Page 12: 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

Page 13: 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

Page 14: 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

Page 15: 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

Page 16: 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

Page 17: 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

Page 18: 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

Page 19: 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

Page 20: 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

Page 21: 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

Page 22: 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

Page 23: 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

Page 24: 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

Page 25: 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