Homepage: https://deng-haoyang.github.io/ParNMPC/
ParNMPC
is a MATLAB real-time optimization toolkit for nonlinear model predictive control (NMPC).
The purpose of ParNMPC
is to provide an easy-to-use environment for NMPC problem formulation, closed-loop simulation, and deployment.
With ParNMPC
, you can define your own NMPC problem in a very easy way and ParNMPC
will automatically generate self-contained C/C++ code for single- or multi-core CPUs.
ParNMPC
is very fast even with only one core (the computation time is usually in the range of $\mu$s), and a high speedup can be achieved when parallel computing is enabled.
ParNMPC
.Select the Microsoft Visual C++ 2017 (C) compiler:
>> mex -setup
Navigate to the Quadrotor/ folder.
>> cd Quadrotor/
Open NMPC_Problem_Formulation.m
and run.
Open Simu_Simulink_Setup.m
and run.
Open Simu_Simulink.slx
and run.
Citing the parallel algorithm:
@article{deng2019parallel,
title={A parallel Newton-type method for nonlinear model predictive control},
author={Deng, Haoyang and Ohtsuka, Toshiyuki},
journal={Automatica},
volume={109},
pages={108560},
year={2019}}
Citing the toolbox (conference version):
@inproceedings{deng2018parallel,
title={A parallel code generation toolkit for nonlinear model predictive control},
author={Deng, Haoyang and Ohtsuka, Toshiyuki},
booktitle={Proceedings of the 57th {IEEE} {C}onference on {D}ecision and {C}ontrol},
pages={4920--4926},
year={2018},
address={Miami, USA}}
ParNMPC is distributed under the BSD 2-Clause "Simplified" License.