Skip to content

Model Predictive Contouring Controller (MPCC) for Autonomous Racing

License

Notifications You must be signed in to change notification settings

Bauman-Racing-Team/MPCC

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MPCC

Model Predictive Contouring Controller (MPCC) for Autonomous Racing

Here is a fork of original MPCC from Alex Liniger.

In this fork MPCC has Matlab and C++ implementations. Matlab implementation is developed for creating one of the control approaches for the Formula Student Driverless car of Bauman Racing Team.

In the current Matlab version new cost function, constraints functions were suggested. Moreover Matlab version does not use hpipm solver anymore, acados and ipopt solvers with CasADi interface for automatic equations differentiation are used instead.

Now a primary version uses acados, because it has lots of benefits for solving OCPs in a real time applications. ipopt version is used as a reference and on the current version have some problems, which will be solved soon.

racing lap on the FSG track racing lap on the FSI track racing lap on the thin track

Installation

Clone this rep in your folder:

git clone https://github.com/Bauman-Racing-Team/MPCC.git

Requirements to run Matlab version of MPCC

  1. Ubuntu (Tested on Ubuntu 22.04);
  2. Matlab (Tested on Matlab R2022a);
  3. CasADi for automatic differentiation and ipopt solver, which comes with CasADi;
  4. acados for solving OCP in a real time.

Requirements to run C++ version of MPCC

  1. Ubuntu (Tested on Ubuntu 22.04);
  2. HPIPM for solving OCP QP and BLASFEO (HPIPM dependency);
  3. Other dependencies from <C++/README.md>.

Requirements installation with a script, which will install all requirenments for both versions Matlab and C++

  1. Open the terminal and navigate inside this rep:
cd MPCC
  1. run install.sh script to install acados and CasADi with ipopt for the Matlab version and HPIPM and BLASFEO for the C++ version:
./install.sh

Running (Tested on Ubuntu 22.04 only!)

All necessary instrictions for running C++ and Matlab versions could be found in their respective directories.

About

Model Predictive Contouring Controller (MPCC) for Autonomous Racing

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • C++ 52.1%
  • MATLAB 45.4%
  • Shell 1.7%
  • Other 0.8%