Adding a reverse gear seems like it should blow up the search space — now every segment can be driven two ways, forward or backward, on top of turning left, right, or going straight. It does grow the list of candidates, but not without limit.
- Same building blocks, signed. Every path is still a sequence of at most five pieces, each a circular arc of the minimum turning radius r (Left or Right) or a straight Segment, exactly like Dubins. The only change is that each piece now carries a direction: + for forward, − for reverse.
- 48 words, not infinitely many. Reeds and Shepp showed the optimal path is always one of 48 specific patterns (grouped into families such as CSC, CCC, CCCC and CCSC), each with its own closed-form formula for segment lengths given the start and goal poses.
- Still solvable in constant time. Evaluating all 48 candidate formulas and keeping the shortest one is O(1) arithmetic — no search tree, no iteration. Later, Sussmann and Tang (1991) simplified the case analysis, and modern motion-planning libraries reduce the practical set to around a dozen formulas that cover every case after applying symmetries (reflection, time-reversal).
- A genuinely different optimum. Unlike Dubins, the Reeds-Shepp optimum can involve a cusp — a point where the car stops and switches from forward to reverse (or back). The number of cusps in an optimal path is always small (at most two for most cases), but a single well-placed cusp can shorten the route enormously compared to any forward-only alternative.
So the reversing version of the problem is exactly as tractable as the forward-only one — the geometry is just richer, expressed with
L±,R±,S±
segments instead of the three unsigned primitives Dubins needed. It remains a fully solved problem: no NP-hardness, no heuristics required, just a bigger — but still finite and enumerable — table of formulas. Compare this with routing problems like the traveling salesman problem, where adding a small amount of extra structure to the movement rules does not save you from combinatorial explosion.
Comments
Loading comments...