Field D* path-finding on weighted triangulated and tetrahedral meshes
Classic shortest path algorithms operate on graphs, which are suitable for problems that can be represented by weighted nodes or edges. Finding a shortest path through a set of weighted regions is more difficult and only approximate solutions tend to scale well. The Field D* algorithm efficiently calculates an approximate, interpolated shortest path through a set of weighted regions and was designed for navigating robots through terrains with varying characteristics. Field D* operates on unit grid or quad-tree data structures, which require high resolutions to accurately model the boundaries of irregular world structures. In this paper, we extend the Field D* cost functions to 2D triangulations and 3D tetrahedral meshes: structures which model polygonal world structures more accurately. Since robots typically have limited resources available for computation and storage, we pay particular attention to computation and storage overheads when detailing our extensions. We begin by providing analytic solutions to the minimum of each cost function for 2D triangles and 3D tetrahedra. Our triangle implementation provides a 50 % improvement in performance over an existing triangle implementation. While our 3D extension to tetrahedra is the first full analytic extension of Field D* to 3D, previous work only provided an approximate minimization for a single cost function on a 3D cube with unit lengths. Each cost function is expressed in terms of a general function whose characteristics can be exploited to reduce the calculations required to find a minimum. These characteristics can also be exploited to cache the majority of cost functions, producing a speedup of up to 28 % in the 3D tetrahedral case. We demonstrate that, in environments composed of non-grid aligned data, Multi-resolution quad-tree Field D* requires an order of magnitude more faces and between 15 and 20 times more node expansions, to produce a path of similar cost to one produced by a triangle implementation of Field D* on a lower resolution triangulation. We provide examples of 3D pathing through models of complex topology, including pathing through anatomical structures extracted from a medical data set. To summarise, this paper details a robust and efficient extension of Field D* pathing to data sets represented by weighted triangles and tetrahedra, and also provides empirical data which demonstrates the reduction in storage and computation costs that accrue when one chooses such a representation over the more commonly used quad-tree and grid-based alternatives.