We introduce a generalized Fast-Marching algorithm, able to compute paths globally minimizing a measure of length, defined with respect to a variety of metrics in dimension two to five. Our method applies in particular to arbitrary Riemannian metrics, and implements features such as second order accuracy, sensitivity analysis, and various stopping criteria. We also address the singular metrics associated with several non-holonomic control models, related with curvature penalization, such as the Reeds-Shepp's car with or without reverse gear, the Euler-Mumford elastica curves, and the Dubins car. Applications to image processing and to motion planning are demonstrated.
Source CodeThis paper is related to the HamiltonFastMarching code, designed to solve various classes of eikonal equations, and extract the related minimal paths. The software is written in C++, but comes with interfaces for the scripting languages Python, Matlab R and Mathematica R . The codes are available at the web page of the article 1 .
Supplementary MaterialA series of notebooks 2 written in the Python language, present a hands on usage of the code provided in this paper, and allow to reproduce the numerical experiments. Additional notebooks 3 by the second author are written in the Mathematica R language.