Implementation of Reeds Shepp curve.
Switch branches/tags
Nothing to show
Clone or download
ghliuLAB clean up
Latest commit 69aebbb Aug 11, 2016
Failed to load latest commit information.
demos update license Aug 11, 2016
fig add Aug 11, 2016
reeds_shepp update Aug 10, 2016
.gitignore Initial commit Aug 10, 2016
.travis.yml update Aug 10, 2016
LICENSE udpate Aug 10, 2016
README.rst add Aug 11, 2016
requirements.txt add Aug 11, 2016 clean up Aug 11, 2016


Reeds Shepp Path Library

Current build status


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 install


$ python demos/

alternate text


  • 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.