Skip to content

F3de22/Steering_MPC

Repository files navigation

Linear MPC for Steering Control

UNIFI Bachelor's degree Thesis Work: MPC for Formula Student Autonomous System

Introduction

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.

Formulation

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:
{FC57B790-AE6C-419E-93FD-FF908BCBAC55}
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:
{473A1425-9143-4F33-ABE1-4BE50D7982B1}


The cost function, to formulate the linear optimization problem, is as follow:
{185A0332-64B5-4987-911D-9C9ADD9F09C6}
Where are applied some constraint on δ(steering angle), position X and Y.

Dependencies

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)

Example on how it works

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

About

MPC for Formula Student Autonomous System

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors