Implementation of Reeds Shepp curve.
Switch branches/tags
Nothing to show
Clone or download
ghliuLAB
ghliuLAB clean up
Latest commit 69aebbb Aug 11, 2016
Permalink
Failed to load latest commit information.
demos update license Aug 11, 2016
fig add demo.py 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 demo.py Aug 11, 2016
requirements.txt add demo.py Aug 11, 2016
setup.py clean up Aug 11, 2016

README.rst

Reeds Shepp Path Library

Current build status

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

alternate text

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.