Re: Navigation using AABB -
21-06-2017
hi!
Here is what I am working on:
I separated the bot movement issue in 2:
1. planned navigation( to move from any point to any other point):
I started by adding a "nav along segment" process to the widespread
"nav towards waypoint" one to strongly tie the bot to the line joining 2 waypoints,
but I finally opted as core process for a more efficient/human like "nav around corners", where waypoints are
replaced by corners retrieved from map geometry: the bot move straight tangentially to a sequence of
circles (with a sign for the turn): the equations are very simple trigo.
2.short distance unexpected moves ( dodging bullets, a grenade, hand to hand fighting moves
, avoid friendly player/ neutral moving obstacle): I felt here that the key was to know to what extent one
could decide upon moves w/o caring about the world fixed obstacles: this is obtained by computing expansions
of each bsptree leaf to maximum size convex ( overlapping ) cells as a set of bounding planes: any straight move
is safe within such a cell.
3.Different move angles constraint often show up at the same time: I have devised a way to combine/mix them
( basically, each angle requirement is converted in a desirability index curve on a 360 degree span; mix is
performed on those curves. Heavy but works really great.)
I am using for both systems data generation the "configuration space", as it is available in the
form of clipping trees in hl bsp files; this allows to half-solve the issue of the bot bumping into the world.
I plan to use a bsptree of my own that generalizes "config space" for any hull size to expand 1. and 2.
but I am for now fighting with far too high pre-processing computation times on real maps.
hope this helps
|