Skip to main content

Code to calculate analytic Reeds Shepp path

Project description

# Reeds Shepp Path Library

Forked from the [repository](https://github.com/ghliu/pyReedsShepp) of [Guan-Horng Liu](https://github.com/ghliu>). Modified some places:

  1. Modify the path_type function to get the length (>0 for forward, <0 for backward) and curvature (>0 for left, <0 for right) of each segment.

## 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](http://planning.cs.uiuc.edu/node821.html). The primary C++ source code comes from [Open Motion Planning Library](http://ompl.kavrakilab.org/ReedsSheppStateSpace_8cpp_source.html)(OMPL). And the API of Python version (primarily a Cython wrapper) is similar to the [Dubins library](https://github.com/AndrewWalker/pydubins) from Andrew Walker. More descriptions can be referred to the [OMPL](http://ompl.kavrakilab.org/2012/03/18/geometric-planning-for-car-like-vehicles.html) and section 15.3.2 of the book [Planning Algorithms](http://planning.cs.uiuc.edu/node822.html).

## Installation

### PyPI

`shell script $ pip install reeds-shepp `

### from source

`shell script $ sudo python setup.py install `

## Demo `shell script $ 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 and length for the Reed Sheps curve from q0 to q1 with specified turning radius

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reeds_shepp-1.0.7.tar.gz (45.8 kB view details)

Uploaded Source

File details

Details for the file reeds_shepp-1.0.7.tar.gz.

File metadata

  • Download URL: reeds_shepp-1.0.7.tar.gz
  • Upload date:
  • Size: 45.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/2.7.17

File hashes

Hashes for reeds_shepp-1.0.7.tar.gz
Algorithm Hash digest
SHA256 f40db89d51c8fecc02e7546d9aa99301c6956c1712aa36f2cbbe07d694b02ff3
MD5 eb55a4cadbdd96d85633bb8fedeed3dc
BLAKE2b-256 78349c33f99cf4bb80501ab7baf84f0e7a01904f4560198cb5357f8b481350ab

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page