Navigation · Theory · M4
M4-T5 — Dubins and Reeds-Shepp Curves
For a car that cannot turn on the spot, the shortest path is made of circular arcs and straight lines, and there are only a handful of shapes to try.
The grid planners of module 3 move in eight directions and the robot is assumed to follow. A car, a tug or a forklift cannot: it has a minimum turning radius, and a path with a sharp corner is one it cannot drive. In 1957 Lester Dubins proved that the shortest forward path under such a limit is built from arcs of the tightest radius and straight lines, in a few possible orders. Reeds and Shepp extended that to a vehicle that can also reverse.
Learning objectives
After this lesson, you should be able to:
- Compute the minimum turning radius of a car-like robot from its wheelbase and maximum steering angle.
- Build a circle-line-circle (CSC) Dubins path from two turning circles and compute its length.
- List the six Dubins words and say when the CCC words matter.
- Describe what Reeds-Shepp curves add, and how a gear change appears as a cusp.
The intuition
Drive a shopping trolley with a fixed front wheel and you cannot make it spin on the spot. A car is the same: with its steering at full lock it follows a circle of radius R, and with the wheels straight it follows a line. Any path it can drive forward is made of these two kinds of motion, and an optimal one never needs anything in between. That is the whole idea.
To go from one pose to another, imagine two circles of radius R: one tangent to the start pose, on its left or right, and one tangent to the goal pose. Leave the start along its circle, step off onto a straight line that touches both circles, and roll onto the goal circle to arrive in the right direction. Choose left or right at each end and you have four paths with a line in the middle. Two more, three arcs in a row, appear when the poses are close together.
Because a car may also reverse, Reeds and Shepp allowed backward motion. The shortest path then sometimes drives forward, stops, and backs up: a gear change, or cusp.
The mathematics
The turning radius
For the bicycle model of lesson M1-T3 with wheelbase L and a maximum steering angle δmax, the rear axle follows a circle of radius
A tug with a 1.0 m wheelbase and a maximum steering angle of 40° has R = 1 / tan 40° = 1.19 m. The lab uses 1.2 m.
Dubins paths
A pose is (x, y, θ). The shortest forward path between two poses is, in the words of Dubins’s theorem, one of six, written as the sequence of motions: L (arc turning left at radius R), R (arc turning right), S (straight line):
| Word | Type | Uses |
|---|---|---|
| LSL, RSR | CSC, outer tangent | the two circles turn the same way |
| LSR, RSL | CSC, inner tangent | the circles turn opposite ways; the line crosses between them |
| RLR, LRL | CCC | three arcs; can be shortest only when the poses are close |
A path is a list of three numbers: two arc angles and a line length. Its length is R·(t₁ + t₃) + p, with t₁, t₃ ≥ 0 in radians, and the vehicle drives all of it forward.
Constructing a CSC path
- Place a circle of radius R tangent to the start pose, on its left for L or its right for R: its centre is (x − R sin θ, y + R cos θ) for L and (x + R sin θ, y − R cos θ) for R. Do the same at the goal pose with the last letter.
- Let c₁, c₂ be the centres and D = |c₂ − c₁|. For the same letters (LSL, RSR) the line has length D and heading φ = atan2(c₂ − c₁). For opposite letters it has length sqrt(D² − 4R²) and heading φ = atan2(c₂ − c₁) + asin(2R / D) for LSR and − asin(2R / D) for RSL. Opposite circles closer than 2R have no inner tangent.
- The first arc turns the heading from θstart to φ in the direction of the first letter, and the last arc turns it from φ to θgoal. Each angle is taken modulo 2π in [0, 2π): a negative angle would be an arc driven in reverse.
- Compute the length of each word and keep the shortest.
If the start and goal are more than 4R apart, one of the four CSC words is always the shortest, which is the case in lab M4-L4. Closer than that, the CCC words may win (Shkel and Lumelsky, 2001).
Reeds-Shepp
Reeds and Shepp (1990) allowed the vehicle to drive each segment forward or backward. The shortest path is then one of a family of a few dozen word types, with at most five segments and at most a few cusps, and it is never longer than the Dubins path. Two properties matter to planners:
- Asymmetry. Dubins distance is not symmetric: going from a to b can be much longer than from b to a. Reeds-Shepp distance is symmetric, because any path can be driven in reverse.
- Cusps. At a gear change the vehicle stops, which costs time and is uncomfortable on a car. Real systems add a penalty to each change of direction.
A worked example
Four words, one answer. Start at (0, 0) facing +x, goal at (8, 3) facing +y, R = 1.2 m. The straight-line distance is 8.544 m, far more than 4R = 4.8 m, so a CSC word is shortest.
| Word | Line p (m) | Arcs t₁, t₃ (rad) | Length (m) |
|---|---|---|---|
| LSL | 7.034 | 0.259, 1.312 | 8.919 |
| LSR | 9.062 | 0.452, 5.165 | 15.802 |
| RSL | 7.624 | 6.035, 1.322 | 16.453 |
| RSR | 10.113 | 5.855, 5.141 | 23.308 |
LSL wins, with a length of 1.2 × (0.259 + 1.312) + 7.034 = 8.919 m, only 0.375 m longer than the straight line. The centres are (0, 1.2) and (6.8, 3.0), so D = sqrt(6.8² + 1.8²) = 7.034 m, φ = atan2(1.8, 6.8) = 0.259 rad = 14.8°. The first arc turns the heading from 0 to 0.259 rad, the last from 0.259 to π/2 = 1.571 rad: t₃ = 1.312 rad. The right-hand words have arcs of more than 5 rad because they turn the long way round.
A negative arc is a reversal. If t₁ is taken as φ − θs without the modulo and happens to be negative, the end pose of the path is still correct: driving a negative arc is driving the same circle backwards. The vehicle reaches the goal, but not by a forward path. This is the starter bug of lab M4-L4, stage 1.
Asymmetry. The same two poses with start and goal swapped, (8, 3, π/2) to (0, 0, 0), give an LSL path of 12.689 m instead of 8.919 m: 42% longer. A planner that treats the cost of an edge as symmetric will be wrong by that much.
Backing into a bay. The charger is at the back of the bay, so the tug must end at (6, 0.8) facing +y (out of the bay) after reversing. With a lead of 1.5 m the staging pose is 1.5 m ahead of the bay along its heading: (6, 0.8 + 1.5) = (6, 2.3, π/2). Starting from (0, 8) facing −y the forward Dubins path to the staging pose is 10.512 m (word LSL) and the reverse straight line adds 1.5 m, 12.012 m in total. Driving the whole route in reverse, as a forward path from the bay to the start run backwards, is 11.820 m: slightly shorter, but the tug drives 11.8 m with no sensor looking where it goes. One cusp near the bay is usually the better trade.
Engineering implications and limitations
Radius with margin
The limit Rmin = L / tan δmax assumes full steering lock and no tyre slip. Plan with a larger radius, for example 10–20% more, so the controller has room to correct errors (module 5). A path planned at exactly Rmin leaves none.
Use them as steering and as heuristics
Dubins and Reeds-Shepp curves are the standard steering functions for RRT and RRT* with a car: the extension from a node towards a sample follows the curve, and the length of the curve serves as the distance (lesson M4-T3). Hybrid A* uses them as the final connection to the goal and as an obstacle-free heuristic (lesson M4-T6).
Curvature is discontinuous
The curvature of these paths jumps from 1/R to 0 at every junction. A real vehicle needs time to steer, so it will cut the corner. Where it matters, replace the arcs by clothoids (curvature that changes linearly) or smooth the path afterwards (module 5).
Obstacles are not included
The curves ignore obstacles. In a planner they are tested with the same collision check as any other edge (lesson M4-T2) and discarded if blocked; the shortest feasible path may be none of the six.
Cusps and safety
Reversing is slower, sensors usually look forward, and every direction change is a stop. Reeds-Shepp is the right tool for a parking manoeuvre in a bay and the wrong one for a corridor where turning around would be safer than backing out.
Common misconceptions
“The shortest path for a car is a straight line then a smooth curve.”
The shortest curves are arcs of the tightest radius and lines, with discontinuous curvature. Smooth curves are longer, and are used for comfort, not for length.
“Dubins distance is a metric like Euclidean distance.”
It is not symmetric: d(a, b) can differ a lot from d(b, a). Nearest-neighbour searches and graph costs must take the direction into account.
“If the end pose is right, the Dubins path is right.”
A path that reaches the goal by driving an arc backwards has the correct end pose but is not a forward path. Check the signs and ranges of the arcs, not only the endpoint.
“Reeds-Shepp is just a better Dubins, so always use it.”
It is shorter, but it allows reversing, which is not always allowed or safe. Use Dubins for vehicles that must not reverse and Reeds-Shepp for those that can, with a penalty for cusps.
Engineering takeaways
- A car-like robot has a minimum turning radius R = L / tan(δmax); every path it drives is arcs of radius at least R and lines.
- Dubins: the shortest forward path is one of six words, LSL, RSR, LSR, RSL, RLR, LRL.
- A CSC path is built from two tangent circles; arc angles are taken modulo 2π so every arc is driven forward.
- Dubins distance is asymmetric; Reeds-Shepp distance, which allows reversing, is symmetric and never longer.
- These curves ignore obstacles and have discontinuous curvature; planners check them and may smooth them.
References and further reading
The two original papers and a classification of the Dubins set.
- L. E. Dubins, “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), 1957.
- J. A. Reeds and L. A. Shepp, “Optimal Paths for a Car That Goes Both Forwards and Backwards”, Pacific Journal of Mathematics, 145(2), 1990.
- A. M. Shkel and V. Lumelsky, “Classification of the Dubins Set”, Robotics and Autonomous Systems, 34(4), 2001.
- S. M. LaValle, “Planning Algorithms”, Cambridge University Press, 2006, chapter 15.3.
Knowledge check
Three conceptual questions. Write an answer, then reveal the explanation. Your answers stay in your browser.
Question 1
A robot has a wheelbase of 0.5 m and a maximum steering angle of 30°. What is its minimum turning radius?
Explanation
R = 0.5 / tan 30° = 0.5 / 0.5774 = 0.866 m.
Question 2
Two LSL arcs have angles t₁ = 0.5 rad and t₃ = 1.0 rad, the line is 4 m and R = 2 m. What is the length?
Explanation
R (t₁ + t₃) + p = 2 × 1.5 + 4 = 7 m.
Question 3
Why can the shortest path from a to b differ from the shortest path from b to a for a car that cannot reverse?
Explanation
A forward path from b to a, driven backwards, would reverse. The poses have headings, and a forward path must leave and arrive along them, so the two directions need different arcs. Only if reversing is allowed (Reeds-Shepp) is the distance symmetric.
What’s next
Next: searching over poses with motion primitives so that every edge of the plan is drivable: Hybrid A* and state lattices.
Related content
Nothing below is required to finish this lesson.
- BeforeM4-T4: RRT*, Informed RRT* and BIT*
Explain rewiring and asymptotic optimality, and how informed sampling focuses the search once a path exists.
- LabM4-L4: Park the Car-Like Robot
Reverse a tug into a charging bay with a Dubins and Reeds-Shepp path.
Get notified when the next lesson and new labs are released.
One email per new lesson or lab.