UNIFI Bachelor's degree Thesis Work: MPC for Formula Student Autonomous System
This project implements a Model Predictive Control (MPC) algorithm for the steering control of an autonomous Formula Student Driverless vehicle. It uses a linearized bicycle model (LTV) and solves a quadratic programming (QP) problem at each time step to track a reference trajectory while respecting physical constraints.
This MPC try to follow a predefined reference path using a bycicle linear time-varying model, with linear Pacejka Magic Formula, with the following state equations:
in which, at every time step, the values of Vlon, θ and Ki(cornering stiffness) are updated. The values of Vlon and θ are respectively read from wheels sensors, and SLAM algorithm, instead the Ki values are read from a lookup table hat correlates vertical load on the wheel to cornering stiffness.
The state of the problem are given as follows:
The cost function, to formulate the linear optimization problem, is as follow:
Where are applied some constraint on δ(steering angle), position X and Y.
This MPC works with the following libraries:
- OSQP (linear optimization problem solver)
- Eigen (for linear algebra data stuctures)
- Eigen-osqp (wrapper for eigen and osqp functions)
You can find how it works on Formula Student Driverless Simulator ("https://fs-driverless.github.io/Formula-Student-Driverless-Simulator/v2.2.0") at the followinf link:
https://drive.google.com/file/d/1tgMXG8vKku1ddpA6ZOAc_11E_MhwHgCW/view?usp=drive_link