Loading

Any-angle Path Planning

Any-angle Path Planning  Any-angle path planning algorithms search for paths on a cell decomposition of a continuous configuration space (such as a two-dimensional terrain).
Consider, for example, a uniform grid with blocked and unblocked cells. Searching the corresponding visibility graph finds a shortest path from a given start vertex to a given goal vertex but is typically very slow since the number of edges can grow quadratically in the number of vertices. Searching the corresponding grid graph typically finds suboptimal paths (since, for example, the heading changes of the resulting path are constrained to multiples of 45 degrees on an eight-neighbour grid graph) but is fast since the number of edges grows no faster than linearly in the number of vertices. Optimising the path after the search typically shortens the path but does not change the topology of the path. It does not find a shortest path, for example, if the path found by the search algorithm passes a blocked cell on the left but the shortest path passes the same blocked cell on the right. Thus, there is an advantage to interleaving the search and the optimisation. Any-angle path planning algorithms propagate information along grid edges (to search fast) without constraining their paths to grid edges (to find short paths). Thus, the heading changes of their paths are not constrained to specific angles, which explain their name. So far, two main any-angle path planning algorithms have been developed, both based on the heuristic search algorithm A*. Field D* uses interpolation during each vertex expansion, and Theta* checks for shortcuts during each vertex expansion. Both of them find short paths but neither one of them is guaranteed to find shortest paths.