Reeds Shepp Path Library
Overview
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.
Installation
Install from source
$ sudo python setup.py install
Demo
$ python demos/demo.py
API
- 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
TODO
- PyPI install
- cpp/python demo
References
[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. |