Introduction

Introduction#

This manual describes the model predictive control tool GRAMPC (gradient-based MPC - [græmp’si:]) for nonlinear continuous-time systems subject to (possibly nonlinear) state and control constraints. The optimization algorithm underlying GRAMPC consists of an augmented Lagrangian scheme in connection with a tailored gradient method. GRAMPC is implemented as C code with an additional user interface to C++, Matlab/Simulink, and dSpace. GRAMPC allows one to cope with (embedded) MPC problems of nonlinear and highly dynamical systems with sampling times in the (sub)millisecond range.

The presented framework is a fundamental revision of version 1.0 of the MPC toolbox GRAMPC [1] that was originally presented for nonlinear systems with pure input constraints. Beside “classical” nonlinear MPC, GRAMPC can be used for MPC on shrinking horizon, general optimal control problems, moving horizon estimation, and parameter optimization problems.

The documentation is outlined as follows. Installation and structure of GRAMPC describes the installation of GRAMPC for use in C and Matlab and gives a brief overview on the software structure. The formulation of the optimization problem is shown in Problem formulation and implementation. Furthermore, the chapter describes the available parameters and the implementation of the problem as C functions. Optimization algorithm and options summarizes the optimization algorithm and provides a detailed description of the available options. The usage of GRAMPC in C and Matlab is explained in Usage of GRAMPC, which includes initialization, setting of parameters and options, compiling and running as well as the interfaces to Matlab and Simulink. Tutorials describes several example problems illustrating the application of GRAMPC to model predictive control, optimal control and moving horizon estimation. Valuable hints for tuning the software to a specific optimization problem are given at multiple places in the documentation, see especially the description of the options in Optimization algorithm and options, the provided plot functions in Plot functions and the tutorials in the last chapter.

Note that the PDF version of this documentation provides many hyperlinks to quickly jump to the definition of parameters, options and functions. In addition, the descriptions of parameters and options are repeated in the Appendix.