Skip to main content

Optimal Parking, Part 1 - Problem Definition and the Kinematic Bicycle Model

Autonomous parking is a planning problem under tight geometric constraints. The vehicle must reach a target pose, avoid obstacles, and produce controls that a car-like system can actually execute.

This series follows the structure of the Optimal Parking project: RRT* proposes a geometric route, and trajectory optimization refines it into a smooth motion.

1. The parking objective

A parking scenario is defined by an initial pose, a goal pose, the vehicle dimensions, and a set of rectangular obstacles. A useful goal is not only a final position, but a complete terminal state:

xNxgoal.x_N \approx x_{goal}.

The planner must also keep every intermediate vehicle footprint away from obstacles. This makes parking different from interpolating between two points: the vehicle has nonzero size and cannot move sideways freely.

2. State and input

The project uses a five-state kinematic model. A state can be written as

x=[px, py, ψ, v, δ]T,x = [p_x,\ p_y,\ \psi,\ v,\ \delta]^T,

where pxp_x and pyp_y are the vehicle position, ψ\psi is heading, vv is longitudinal velocity, and δ\delta is the steering angle. The control input is

u=[a, δ˙]T,u = [a,\ \dot{\delta}]^T,

with acceleration aa and steering-rate input δ˙\dot{\delta}.

3. Kinematic bicycle dynamics

Using wheelbase LL, the continuous-time model is

p˙x=vcosψ,p˙y=vsinψ,\dot{p}_x = v\cos\psi, \qquad \dot{p}_y = v\sin\psi, ψ˙=vLtanδ,v˙=a,δ˙=uδ.\dot{\psi} = \frac{v}{L}\tan\delta, \qquad \dot{v} = a, \qquad \dot{\delta} = u_\delta.

This model captures the most important nonholonomic property of a car: its velocity is constrained by its heading. The vehicle cannot instantaneously translate in an arbitrary direction.

4. Discretization

For a sampling time TsT_s, the optimizer works with a discrete sequence

xk+1=f(xk,uk).x_{k+1} = f(x_k, u_k).

The horizon contains the states and inputs that will become the candidate parking trajectory. The choice of TsT_s and horizon length determines the compromise between planning detail and computation cost.

The next chapter explains why this nonlinear problem is first given a geometric initial guess by RRT*.