Skip to content
/ nmpc_CarSim Public template

NMPC is implemented using Casadi in Matlab to control the steering, throttle, and braking of a vehicle in CarSim

Notifications You must be signed in to change notification settings

Murad275/nmpc_CarSim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 

Repository files navigation

NMPC-CarSim


This project uses Casadi in Matlab to implement a NMPC controller for a vehicle in CarSim.

https://youtu.be/6wHSdGmxydk

https://ieeexplore.ieee.org/document/9047783

If you use this project, give us the credit by citing this work:

@inproceedings{dawood2020nonlinear,
  title={A nonlinear model predictive controller for autonomous driving},
  author={Dawood, Murad and Abdelaziz, Mohamed and Ghoneima, M and Hammad, S},
  booktitle={2020 International Conference on Innovative Trends in Communication and Computer Engineering (ITCE)},
  pages={151--157},
  year={2020},
  organization={IEEE}
}

Steps to run model:

  1. Go to CarSim2017.1_Data\Extensions\Simulink and place the file "murad_nmpc.slx"(matlab 2019a).
  2. Go to CarSim2017.1_Data\ and place the file "casadi_block_presented.m".
  3. In CarSim go to File -> import parsfile and select the file "murad_nmpc.par".
  4. Install casadi from https://web.casadi.org/get/
  5. Edit the path to casadi folder in the "casadi_block_presented.m" in the "setupImpl" function.
  6. In CarSim select send to simulink (CarSim will load a Matlab instance)
  7. Once the Simulink model is loaded, click run to start the simulation.

About

NMPC is implemented using Casadi in Matlab to control the steering, throttle, and braking of a vehicle in CarSim

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages