Skip to content

AndrewWalker/pydubins

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dubins

Overview

This software finds the shortest paths between configurations for the Dubins' car [Dubins57], the forward only car-like vehicle with a constrained turning radius. A good description of the equations and basic strategies for doing this are described in section 15.3.1 "Dubins Curves" of the book "Planning Algorithms" [LaValle06].

The approach used to find paths is based on the algebraic solutions published in [Shkel01]. However, rather than using angular symmetries to improve performance, the simpler approach to test all possible solutions is used here.

This code is primarily a Cython wrapper of https://github.com/AndrewWalker/Dubins-Curves

Latest documentation Current build status license shield

Installing

You can install the latest stable version from PyPI

$ pip install dubins

Or, you can install the latest development version from GitHub

$ pip install git+git://github.com/AndrewWalker/pydubins.git

Example

Discrete Sampling of a Dubin's path at finite step sizes

import dubins

q0 = (x0, y0, theta0)
q1 = (x1, y1, theta1)
turning_radius = 1.0
step_size = 0.5

path = dubins.shortest_path(q0, q1, turning_radius)
configurations, _ = path.sample_many(step_size)

Acknowledgements

This work was completed as part of [Walker11].

  • Francis Valentinis
  • Royce Smart - who tested early versions of this code while completing his PhD thesis [Smart08].

References

Dubins57

Dubins, L. E. (July 1957). "On Curves of Minimal Length with a Constraint on Average Curvature, and with Prescribed Initial and Terminal Positions and Tangents". American Journal of Mathematics 79 (3): 497–516

LaValle06

LaValle, S. M. (2006). "Planning Algorithms". Cambridge University Press

Shkel01

Shkel, A. M. and Lumelsky, V. (2001). "Classification of the Dubins set". Robotics and Autonomous Systems 34 (2001) 179–202

Smart08

Royce, S. (2008). "Evolutionary Control of Autonomous Underwater Vehicles". PhD thesis, RMIT

Walker11

Walker, A. (2011). "Hard Real-Time Motion Planning for Autonomous Vehicles", PhD thesis, Swinburne University.

About

Python wrapper of the C version of the Dubins-Curves library

Resources

License

Stars

Watchers

Forks

Packages

No packages published