Background

Note

A deep understanding of the mathematics of Dubins’ curves isn’t necessary for making use of this module, but it may help if any changes are required to the module.

The motion of the Dubins’ car can be described in terms of the differential equations.

\[\begin{split}\dot{x} &=& v \cos( \theta ) \\ \dot{y} &=& v \sin( \theta ) \\ \dot{\theta} &=& \omega\end{split}\]

Where \(x\) and \(y\) are the position of the vehicle, \(\theta\) is the angular heading of the vehicle, \(v\) is a velocity command input, and \(\omega\) is the rotational rate input.

Another way of saying this is that the Dubins’ car can be described by a configuration \(q = [x, y, \theta]^T\).

The forward only constraint on the vehicle is imposed by requiring \(0 < v \le v_{max}\) and the limited turning rate constraint by limiting \(|\omega| < \omega_{max}\).

A Dubins’ path describes the optimal (shortest path) that satisfies the constraints. These optimal paths can be shown to require \(v = v_{max}\) for the whole path and \(\omega\) is equal to \(\pm \omega_{max}\) or 0. Often, the constraints are rewritten (as the equivalent) \(v_{max} = 1\) and \(\frac{\omega_{max}}{v_{max}}\)