View Single Post
Re: Navigation using AABB
Old
  (#43)
SamPlay
Member
 
Status: Offline
Posts: 46
Join Date: Jan 2006
Default Re: Navigation using AABB - 01-07-2017

hi again,
some answers...
1. "nav along segment": Associated with a velocity controller and a state of the art waypoint nav controller, you can get extremely tight trajectory control w/o jitter ( like almost instantaneous 90 deg turn).

2. "nav around points/corners": this one I invented; my code does not cover all cases yet, but it already works in my simple maps.
2. Data generation: fully automatic, that is the whole point for me;
2.1. I use "configuration space(s)": I coded tools to build/expand them from half-life1 bspfile or my own simple test-map format.
2.2. Corner-Points: for each edge shared by a walkable face and a non-walkable one: rotate around a fixed vertex from one face to
the next sharing an edge until 360 degrees or another such edge is met; a corner point exists if the covered angle is more than 180 degrees
( steps and the like actually make it fairly more complicated).
If you use world data, the corner-point lies on a world edge and the turn radius should at least be the bot hull circumcirle radius;
If you use configuration space, the c-point is already away from obstacles and the radius is just a 'safety/comfort' margin.
2.3. Connections: c-points should be connected for nav...
- if one can reach the other by a 'constant-yaw' move ( in configuration space),
- if they are reciprocally 'silhouetting' ( else the segment cannot be part of a shortest path).
In my own simple-3d worlds where 2d projection does not loose info, I project on 2d and use a 2d bsptree based method, adding checks for 'silhouetting'.
This was good enough to get data to run and check my nav control laws.
In the general case, my preferred solution - still in the works - = is for now :split the 3d world into piece-wise '2d-projectable' sub worlds, use the 2d approach and recombine.

3. video: I do not have any; what ( free!) software should be used?
  
Reply With Quote