Skip to main content

Code to generate and manipulate dubins curves

Project description


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

Latest documentation Current build status license shield


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://


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)


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



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


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


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


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


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

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

dubins-1.0.1.tar.gz (46.1 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page