Lably
Skip to content

Any-angle path planning

Algorithm to find Euclidean shortest paths

  • 5 min read
  • 3 chapters

Related on Lably

Through A* search algorithm, Big O notation and Momentum

Background

Real-world and many game maps have open areas that are most efficiently traversed in a direct way. Traditional algorithms are ill-equipped to solve these problems:

  • A* with an 8-connected discrete grid graph (2D; 26 for the 3D triple cubic graph) is very fast, but only looks at paths in 45-degree increments. This behavior gives on average 8% extra path length in 2D and 13% in 3D. A quick post-smoothing step can be used to straighten (thus shorten) the jagged output, but the result is not guaranteed to be optimal as it does not look at all the possible paths. (More specifically, they cannot change what side of a blocked cell is traversed.) The advantage is that all optimizations of grid A* like jump point search will apply.
  • A visibility graph with all the grid points can be searched with A* for the optimal solution in 2D space. However, the performance is problematic since the number of edges in a graph with V vertices is O(V2). Such a graph does not always provide an optimal solution in 3D space.

An any-angle path planning algorithm aims to produce optimal or near-optimal solutions while taking less time than the basic visibility graph approach. Fast any-angle algorithms take roughly the same time as a grid-based solution to compute.

Definitions

Taut path
A path where every heading change in the path “wraps” tightly around some obstacle. For a uniform grid, only taut paths can be optimal.
Single-source
A path-finding problem that seeks to find the shortest path to all parts from the graph, starting from one vertex.

Sign in to keep reading

2 more chapters are free with a Lably account.

More in Robotics