Modification from master: added fn to get length and rev/fwd action.
The library implements the analytic Reeds Shepp path between two SE2 configurations. Reeds Sheep path [1] is defined as the shortest traveling path of the Reeds-Shepp Car, a car that can go both forward and backward with a constrained turning radius. Reeds-Sheep path can be viewed as a generalized version of Dubins path.
The primary C++ source code comes from Open Motion Planning Library (OMPL). And the API of Python version (primarily a Cython wrapper) is similar to the Dubins library from Andrew Walker.
More descriptions can be referred to the OMPL and section 15.3.2 of the book Planning Algorithms.
Install from source
$ sudo python setup.py install
$ python demos/demo.py
- path_length( q0, q1, turning_radius)
- return total length of Reed Shepps curve from q0 to q1 with specified turning radius
- path_sample( q0, q1, turning_radius, step_size)
- return list of tuple (x,y,theta) uniformly sampled from corresponding Reed Shepps curve
- path_type( q0, q1, turning_radius)
- return the tuple of path segment type for the Reed Sheps curve from q0 to q1 with specified turning radius
- PyPI install
- cpp/python demo
[1] | Reeds, J., & Shepp, L. (1990). Optimal paths for a car that goes both forwards and backwards. Pacific journal of mathematics, 145(2), 367-393. |