Vehicle Dynamics¶
The package uses a kinematic single-track (bicycle) model expressed in pixel coordinates. Mapping real-world wheelbase \(L\) in metres to pixels requires the occupancy grid resolution \(r\) (metres per pixel), yielding \(L_{px} = L / r\).
Continuous-Time Model¶
With state \(x = [x, y, \psi, v]^T\) and inputs \(u = [a, \delta]^T\), the continuous dynamics are:
The model assumes small slip angles (front-wheel steering only) and is suitable for medium-speed manoeuvres typical of path tracking on occupancy grids.
Discretisation¶
Forward Euler discretisation with time step \(\Delta t\) leads to the discrete model implemented in vehicle_model.f_discrete:
Linearisation¶
To support MPC, Jacobians of the discretised model are required. Around an operating point \((\bar{x}, \bar{u})\) the linearisation yields
The affine term is computed as
ensuring exact matching at the linearisation point. These matrices feed directly into the MPC QP formulation.