A*-based So far, five main any-angle path planning algorithms that are based on the heuristic search algorithm
A* have been developed, all of which propagate information along grid edges: • Field D* (FD*) and 3D Field D* - Dynamic pathfinding algorithms based on D* that use interpolation during each vertex expansion and find near-optimal paths through
regular, nonuniform cost grids. Field D* therefore tries to solve the
weighted region problem and 3D Field D* the corresponding three-dimensional problem. • Multi-resolution Field D* – Extension of Field D* for multi-resolution grids. •
Theta* - Uses the same main loop as A*, but for each expansion of a vertex s, there is a line-of-sight check between parent(s) and the successor of s, s'. If there is line-of-sight, the path from parent(s) to s' is used since it will always be at least as short as the path from parent(s) to s and s to s'. This algorithm works only on uniform-cost grids. is another optimization of Theta* that uses
lazy evaluation to reduce the number of line-of-sight calculations by delaying the line-of-sight calculations for each node from when it is explored to when it is expanded. It is capable enough to run in 3D space. • Incremental Phi* is an
incremental, more efficient variant of Theta* designed for unknown 2D environments. • Strict Theta* and Recursive Strict Theta* improves Theta* by restricting the search space to Taut Paths introduced by ANYA. Like Theta*, This is an algorithm that returns near-optimal paths. • Block A* - Generates a local distance database containing all possible paths on a small section of the grid. It references this database to quickly find piece-wise any-angle paths. • ANYA - Finds optimal any-angle paths by restricting the search space to the Taut paths (a path where every heading change in the path “wraps” tightly around some obstacle); looking at an interval of points as a node rather than a single point. The fastest online optimal technique known. This algorithm is restricted to 2D grids. • CWave - Uses geometric primitives (discrete circular arcs and lines) to represent the propagating wave front on the grid. For single-source path-planning on practical maps, it is demonstrated to be faster than graph search based methods. There are optimal and integer-arithmetic implementations. There are also A*-based algorithm distinct from the above family: • The performance of a visibility graph approach can be greatly improved by a sparse approach that only considers edges able to form taut paths. A multi-level version called ENLSVG is known to be faster than ANYA, but it can only be used with pre-processing. • PolyAnya generalizes ANYA to work on non-grid maps with polygonal obstacles. It is fast, does not require preprocessing (unlike ENLSVG), and is optimal (unlike RRT). • Similar to the RRT solution discussed below, it is often necessarily to also take into account steering constraints when piloting a real vehicle. Hybrid A* is an extension of A* that considers two additional dimension representing vehicle state, so that the paths are actually possible. It was created by Stanford Racing as part of the navigation system for Junior, their entry to the
DARPA Urban Challenge. A more detailed discussion is written by Peterit, et al.
RRT-based Besides, for search in high-dimensional search spaces, such as when the
configuration space of the system involves many
degrees of freedom that need to be considered (see
Motion planning), and/or
momentum needs to be considered (which could effectively double the number of dimensions of the search space; this larger space including momentum is known as the
phase space), variants of the
rapidly-exploring random tree (RRT) have been developed that (almost surely) converge to the optimal path by increasingly finding shorter and shorter paths: • Rapidly-exploring
random graph (RRG) and RRT* • Informed RRT* improves the convergence speed of RRT* by introducing a heuristic, similar to the way in which
A* improves upon
Dijkstra's algorithm.
Other algorithms •
Probabilistic roadmap == Applications ==