skip to navigation
skip to content

dubins 0.9.2

Code to generate and manipulate dubins curves

Latest Version: 1.0.1


This software finds the shortest paths between configurations for the Dubins’ car [Dubins51], 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


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


Sampling of a Dubin’s path at finite size sizes

import dubins

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

qs, _ = dubins.path_sample(q0, q1, turning_radius, step_size)


This work was completed as part of [Walker11].

  • Francis Valentinis
  • Royce Smart - who tested early versions of this code while writing up [Smart08].


[Dubins51]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
[Walker11]Walker, A. (2011). “Hard Real-Time Motion Planning for Autonomous Vehicles”, PhD thesis, Swinburne University.
[Smart08]Royce, S. (2008). “Evolutionary Control of Autonomous Underwater Vehicles”. PhD thesis, RMIT
File Type Py Version Uploaded on Size
dubins-0.9.2.tar.gz (md5) Source 2014-03-23 33KB