gdc2006 miles david pathplanning

Upload: carycherng

Post on 03-Jun-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    1/51

    Crowds In A Polygon Soup

    Next-Gen Path Planning

    David Miles

    3/23/2006

    Copyright 2006 BabelFlux LLC

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    2/51

    Large-Scale Fluid AI Navigation in

    Complex, Changing Worlds

    1. Build a usable free space nav graph

    2. Update graph for dynamic obstacles

    3. Use graph for fluid navigation

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    3/51

    1. Building the Nav-Graph

    Automated Build Process

    1.Large, Complex Worlds2.Polygon Soup Mesh

    3.Multiple Unit Sizes

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    4/51

    2. Dynamic Obstacle Updates

    1.Obstacles reconfigure the world

    2.Dynamic areas replace static areas

    3.Underlying algorithms work exactly as before

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    5/51

    1. Fast ray casts

    2. Edge detection

    3. Potential Fields4. Path Following

    3. Fluid AI Navigation

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    6/51

    Automated Build Process

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    7/51

    1. Voxelize Polygon Soup

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    8/51

    2. Extract Edge

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    9/51

    3. Simplify Polygon

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    10/51

    4. Partition Into Convex Areas

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    11/51

    Convex Partitioning

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    12/51

    Recursively Partition

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    13/51

    Convex Area Graph Complete

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    14/51

    Pathfinding

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    15/51

    Holes in the Free-Space

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    16/51

    Splice Location

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    17/51

    Add Splice Segments

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    18/51

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    19/51

    Convex Area Graph Complete

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    20/51

    Overhead Obstacles

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    21/51

    Walkable Surface Removal

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    22/51

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    23/51

    3d Partitioning

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    24/51

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    25/51

    Different Creature Shapes

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    26/51

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    27/51

    Non-Uniform Voxelization

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    28/51

    Part2: Dynamic Obstacles

    Dynamic obstacles reconfigure world

    Underlying algorithms unchanged

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    29/51

    Boolean Subtract

    -

    =

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    30/51

    Partition Non-Convex Areas

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    31/51

    Multiple Obstacles

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    32/51

    Memory Layout

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    33/51

    Part3: Fluid AI Navigation

    What can I do with my convex area graph?

    Very fast navigational ray-casts

    Distance to edge queries Repulsion fields on edges

    Smart path following

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    34/51

    Ray Casts

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    35/51

    Smart Path Following

    Desired flocking behavior

    Common approach attracts

    each flock member to the

    minimum distance path. Does

    not adapt to available

    freespace.

    Repulsion from edges can

    easily trap individuals in local

    minima.

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    36/51

    For The Pathing

    Connoisseur

    Unneeded return to

    the original path

    annoys the pathingconnoisseur

    Ahhh, much better

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    37/51

    Next Corner

    Each member of the flock steers left

    or right to head towards the next corner.

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    38/51

    Finding the Next Corner

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    39/51

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    40/51

    Initializing the Loop

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    41/51

    First Iteration, Left Side

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    42/51

    First Iteration, Right Side

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    43/51

    First Iteration Complete

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    44/51

    Second Iteration, Left Side

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    45/51

    Second Iteration, Right Side

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    46/51

    Second Iteration Complete

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    47/51

    Third Iteration, Left Side

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    48/51

    Final Output

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    49/51

    Next Corner Summary

    Easy to compute from convex graph

    < 2 cross-products per iteration

    Can limit iterations Never explicitly create min-dist path

    Fluid path following even with large

    disturbances

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    50/51

    Conclusions

    Automated build of convex area graph efficiently represents the usable free space

    operates on polygon soup mesh

    settable enemy size and shape Dynamic obstacles update graph

    no speed overhead once updated

    Fluid AI navigation using the graph Many useful queries performed rapidly

  • 8/12/2019 Gdc2006 Miles David Pathplanning

    51/51

    Special Thanks

    Meilin Wong

    Hong Park and David Modiano

    Crystal Dynamics

    [email protected]

    www.navpower.com

    mailto:[email protected]:[email protected]