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
- This repository uses the ACADO library for MPC solver
- cmake >= 3.5
- All OSes: click here for installation instructions
- make >= 4.1(mac, linux), 3.81(Windows)
- Linux: make is installed by default on most Linux distros
- Mac: install Xcode command line tools to get make
- Windows: Click here for installation instructions
- gcc/g++ >= 5.4
- Linux: gcc / g++ is installed by default on most Linux distros
- Mac: same deal as make - [install Xcode command line tools]((https://developer.apple.com/xcode/features/)
- Windows: recommend using MinGW
- git-lfs
- uWebSockets
- Run either
install-mac.sh
orinstall-ubuntu.sh
.
- Run either
- 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
# 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