Model Based Automatic Code Generation for Nonlinear Model Predictive Control

  • Behzad SamadiEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10152)


This paper demonstrates a symbolic tool that generates C code for nonlinear model predictive controllers. The optimality conditions are derived in a quick tutorial on optimal control. A model based workflow using MapleSim for modeling and simulation, and Maple for analysis and code generation is then explained. In this paper, we assume to have a control model of a nonlinear plant in MapleSim. The first step of the workflow is to get the equations of the control model from MapleSim. These equations are usually in the form of differential algebraic equations. After converting the equations to ordinary differential equations, the C code for the model predictive controller is generated using a tool created in Maple. The resulting C code can be used to simulate the control algorithm and program the hardware controller. The proposed tool for automatic code generation for model predictive controllers is open and can be employed by users to create their own customized code generation tool.


Model predictive control Code generation Model based 


  1. 1.
    Maplesoft, a division of Waterloo Maple Inc.: MapleSim (2016)Google Scholar
  2. 2.
    Maplesoft, a division of Waterloo Maple Inc.: Maple (2016)Google Scholar
  3. 3.
    Qin, S.J., Badgwell, T.A.: A survey of industrial model predictive control technology. Control Eng. Pract. 11, 733–764 (2003)CrossRefGoogle Scholar
  4. 4.
    Qin S.J., Badgwell T.A.: An overview of nonlinear model predictive control applications. In: Allgöwer F., Zheng A. (eds.) Nonlinear Model Predictive Control. Progress in Systems and Control Theory. Springer, Switzerland (2000)Google Scholar
  5. 5.
    Boyd, S., Vandenberghe, L.: Convex Optimization. Cambridge University Press, Cambridge (2004)CrossRefzbMATHGoogle Scholar
  6. 6.
    Diehl, M., Ferreau, H.J., Haverbeke, N.: Efficient numerical methods for nonlinear MPC and moving horizon estimation. In: Magni, L., et al. (eds.) Nonlinear Model Predictive Control. LNCIS, vol. 384, pp. 391–417. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  7. 7.
    Ohtsuka, T.: A continuation/GMRES method for fast computation of nonlinear receding horizon control. Automatica 40, 563–574 (2004)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.MaplesoftWaterlooCanada

Personalised recommendations