Litcius/Paper detail

Automatic Code Generation Tool for Nonlinear Model Predictive Control with Jupyter

Sotaro Katayama, Toshiyuki Ohtsuka

2020IFAC-PapersOnLine12 citationsDOIOpen Access PDF

Abstract

We present an automatic code generation tool, AutoGenU for Jupyter, for nonlinear model predictive control (NMPC) with a user-friendly and interactive interface utilizing JupyterLab and Jupyter Notebook. We utilize a symbolic computation package SymPy for automatic C++ code generation. We also developed numerical solvers of NMPC using the continuation/GMRES (C/GMRES) method and multiple-shooting-based C/GMRES method in C++. AutoGenU for Jupyter provides the simulation environment of NMPC with these solvers and visualization of the simulation results. We give an example of code generation and numerical simulation of a swing-up control of a cart pole using AutoGenU for Jupyter.

Topics & Concepts

Computer scienceCode generationNonlinear systemComputationCode (set theory)Generalized minimal residual methodContinuationComputational scienceAlgorithmIterative methodProgramming languagePhysicsKey (lock)Set (abstract data type)Computer securityQuantum mechanicsAdvanced Control Systems OptimizationReal-time simulation and control systemsIterative Learning Control Systems