Skip to content

Research to develop a real-time MPC using nonlineal optimisers

Notifications You must be signed in to change notification settings

TureganoJose/RealtimeMPC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Initial research on MPC and non lineal optimisation for real-time application.

This is a personal sandbox. Looking for computational speed, just comparing a few solvers:

  1. CVX from Stanford
  2. QuadProg from Matlab
  3. HPIPM
  4. Pending qpOASES

Obviously the first two lack speed compared to HPIPM, they are dense solvers. I love C. They all have matlab interfaces tho.

MPC simulation

Used this library for splines, I had to create a wrapper around the functions. SISL

I was lazy calculating Jacobians and Hessians, I let Matlab do all the heavy lifting when I should have used AD or something more sofisticated.

Added calculation of Jacobian using casADi.

Research

Basic material and books

This book contains everything
Main reference
Good material from italian professor

Optimisation:

General overview of optimal control problems
A few solvers evaluated. Some simplifications in calculation of theta
Adaptative RTI-SQP
From lineal to nonlinear MPC
General overview of MPC, indirect/direct methods for transcription
Good explaining the QP. Comparing the QP to Newton-Raphson method
Solver: OpEn. Based on Rust

From Stanford, they tend to focus more on vehicle dynamics rather than optimisation:

Vehicle formulation with trajectory error
Safe trajectories
Good second derivatives of e and d_phi. Decent stability analysis

Vehicle dynamics:

Basic vehicle dynamics

A bit more detail on the models:

Model Predictive Stabilization Control of High-Speed Autonomous Ground Vehicles Considering the Effect of Road Topography
Vehicle Path Tracking LTV-MPC Controller Parameter Selection Considering CPU Computational Load
Actual weight values are given here
Model fidelity in MPCs
14 DOF vehicle
Comprehensive Phd thesis with 14-dof vehicle model. Some interesting thoughts about MPC in AV
Roborace

Stability:

Mayne seems to be the reference
More from Mayne
Good definition of Lyapunov stability
Good explanation of terminal cost and constraints to ensure stability/feasibility (sadly it only works with continious systems rather than discrete ones)
More stabililty analysis from a vehicle dynamics point of view

Different approaches to MPC:

Two proposal: 1) Non-linear MPC (solving non-linear optimization problem at each time step rather than horizon) and 2) LTV MPC
Explicit MPC
Switching error estimation
Interesting but probably not within the scope of this research, decentralised systems

About

Research to develop a real-time MPC using nonlineal optimisers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published