• Stars
    star
    103
  • Rank 333,046 (Top 7 %)
  • Language
    C++
  • License
    BSD 3-Clause "New...
  • Created over 8 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Implementation of Reeds Shepp curve.

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.