Back to articles

Automated Parking: Why Path Planning Is the Easy Part

Modern car cockpit in dim garage

The trajectory math was solved decades ago. Here's where the actual engineering effort goes instead.


If you ask an engineer new to automated parking what the hardest part of the problem is, the answer is almost always some version of "the path planning — figuring out the trajectory to actually get the car into the space." It's a reasonable first guess, and it's largely wrong, in a way that's worth correcting explicitly before it shapes how a team allocates its engineering effort.

Let's Give Path Planning Its Due, Then Move Past It

To be fair to the intuition: parallel and perpendicular parking trajectory generation is a geometrically constrained problem — plan a feasible path from the vehicle's current pose to a target pose inside a bounded space, respecting the vehicle's non-holonomic turning constraints (a car can't move sideways; it has a minimum turning radius) and avoiding known static obstacles along the way. This is a real, nontrivial motion planning problem, and it's also, genuinely, a largely solved one at this point.

Hybrid A* — a search algorithm that discretizes the space while still respecting continuous vehicle kinematics — reliably finds feasible parking trajectories around known obstacles, including multi-point maneuvers when a single smooth curve won't fit the geometry. Reeds-Shepp curves (and the simpler Dubins curves for forward-only motion) provide closed-form, provably shortest-path solutions for a vehicle that can move both forward and backward between two poses, which is exactly the maneuver structure most parking scenarios require. These aren't research-frontier algorithms — they're decades-old, well-understood, and available in mature open-source and commercial implementations that most automated parking teams can integrate rather than invent from scratch.

None of this is to say path planning integration requires zero engineering effort — tuning search parameters, handling degenerate geometric cases, and integrating smoothly with the vehicle's actual control system all take real work. But relative to the other three problems below, it is, honestly, the well-trodden part of this system — the part where you're implementing known solutions to a well-posed problem, rather than the part where the actual hard, unsolved-feeling engineering happens.

The Actual Hard Problem #1: Knowing the Space Is Actually Empty

Close-up of metallic car bumper

Before any trajectory can be planned, the system needs to establish, with real confidence, that a specific physical space is genuinely empty and genuinely large enough — and this perception problem is dramatically harder in practice than it sounds on a spec sheet. Ultrasonic sensors, camera-based free-space detection, and increasingly short-range radar all need to agree, across a huge range of real-world conditions, that a space bounded by two parked cars (or a car and a curb, or a car and a wall) is actually clear.

The variability here is the entire difficulty: a parking space bounded by two large SUVs with high, flat sides gives clean, reliable sensor returns. The same space bounded by a low sports car on one side and a wall on the other, in low evening light, with wet pavement creating reflections, is a genuinely harder detection problem — not because the sensors are inadequate in some general sense, but because the specific combination of low target height, adverse lighting, and reflective surface conditions degrades detection confidence in ways that don't show up in a clean daytime demo. Getting free-space detection reliable across the realistic range of parking environments — different vehicle heights and shapes bounding the space, different lighting from bright midday to near-dark, different pavement and wall surface types — consumes a genuinely large share of an automated parking program's total validation effort, far more than trajectory planning ever does, precisely because "is this space actually empty" needs to be right across an enormous variety of real-world visual and acoustic conditions before any trajectory planning even becomes relevant.

The Actual Hard Problem #2: The World Doesn't Hold Still

Automated parking in action

A path plan computed against a static snapshot of the environment is only valid until something in that environment moves — and during an automated parking maneuver, which can take a genuinely uncomfortable number of seconds to complete, something moving through or near the intended path is not a rare edge case. A pedestrian walking through the space behind the vehicle mid-maneuver. Another vehicle beginning to back out of an adjacent space. A shopping cart rolling across the path. None of these are exotic scenarios in a real parking lot — they are, statistically, things that happen regularly enough that a production system needs robust, continuously-running handling for them, not an occasional edge-case patch.

This turns automated parking from a single static planning problem into a continuous, real-time re-evaluation problem: the system needs to keep monitoring the environment throughout the entire maneuver, detect a dynamic intrusion into or near the planned path promptly, decide correctly whether to pause, replan, or abort entirely, and do all of this with enough margin that a pedestrian who steps behind the vehicle mid-maneuver is never at meaningful risk regardless of how far into the maneuver the system currently is. Building and validating this continuous monitoring-and-reaction loop, across the realistic variety of ways a dynamic obstacle can appear mid-maneuver, is a substantially larger and more safety-critical engineering effort than computing the original static trajectory ever was.

The Actual Hard Problem #3: Centimeters Matter, and Sensors Aren't That Precise

Working on car safety validation test

Automated parking operates at genuinely small physical margins — a vehicle maneuvering into a tight space might have only a few centimeters of clearance from an adjacent car's mirror, a wall, or a curb at the closest point of the maneuver. At these distances, sensor measurement uncertainty that would be entirely negligible at highway speeds and highway-scale distances becomes directly, physically consequential. A few centimeters of range measurement error from an ultrasonic sensor — well within that sensor's normal, specified accuracy tolerance — can be the entire difference between a clean maneuver and a light contact with an adjacent vehicle.

This means the safety validation burden for automated parking isn't primarily about "does the planned path avoid the obstacles we detected" — it's about rigorously characterizing exactly how much you can trust each sensor's measurement at these specific close ranges, under the realistic range of conditions (temperature, surface type, angle) that affect measurement accuracy, and building in safety margins that are wide enough to absorb genuine sensor uncertainty without being so conservative that the system refuses to attempt maneuvers a human driver would consider routine. This validation work — characterizing real sensor accuracy at close range across realistic conditions, and setting margins accordingly — is unglamorous, doesn't produce an interesting-looking demo, and consumes a large fraction of total program effort specifically because getting it wrong has consequences measured in actual vehicle damage, not just an aborted maneuver.

Where the Effort Actually Goes

If you tallied engineering hours across a real automated parking program — not idealized estimates, actual time logged — perception robustness (accurately identifying genuinely free space across realistic environmental variety), dynamic obstacle handling (safely managing the world refusing to hold still mid-maneuver), and close-range sensor validation (rigorously bounding what a few centimeters of uncertainty actually means for safety margin) would dominate the total effort by a wide margin over path planning integration and tuning. Path planning is a real, respectable piece of engineering — it's just not the piece that determines whether the system is actually ready to ship, because the geometry problem was mostly solved before this specific program started, and the perception and safety-validation problems very much were not.

If you're prioritizing where to put your team's hardest engineering effort on a new automated parking program, the honest answer, backed by where the effort actually goes on every program that's shipped one of these features, is: spend less time worrying about which path planning algorithm to pick, and considerably more time on how confidently your system can say "this space is empty" across every lighting and obstacle condition your customers will actually encounter — because that's the problem that will determine whether the feature works in the real world, not the one that looks hardest on a whiteboard.

avatar-trong-nguyen
Mr. Trong Nguyen
ADAS Verification Engineer