Model predictive control for the autonomous vehicle based on the ACADO library

Model predictive control project for longitudinal and lateral control of the autonomous vehicles. It uses ACADO library. The simulator is from the udacity, self driving car engineer course

Result

Features

  • This repository uses the ACADO library for MPC solver

Dependencies

Installation

  • uWebSockets
    • Run either install-mac.sh or install-ubuntu.sh.
  • Eigen. This is already part of the repo so you shouldn't have to worry about it.
  • Simulator. You can download these from the releases tab.
  • Not a dependency but read the DATA.md for a description of the data sent back from the simulator
  • ACADO environment set-up
    • Install ACADO tool-kit follow this link
    • Please follow this link in order to build ACADO based executables outside ACADO source tree

Compiling and Running

# 1. Code generation 
cd acado_code_generator
mkdir build && cd build
cmake ..
make
./mpc

# 2. Build ACADO static library
mv simple_mpc_export/* ../../acado_mpc_export/
cd ../../acado_mpc_export
make

# 3. Build project
cd ../
mkdir build && cd build
cmake ..
make

# 4. Run
./mpc

# 5. Open the simulator
Open new terminal
cd term2_sim_linux
./term2_sim.x86_64
click the project 5: MPC Controller