MATMPC: a MATLAB based toolbox for real-time nonlinear model predictive control

Yutao Chen, Mattia Bruschetta, Enrico Picotti, Alessandro Beghi

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

1 Citation (Scopus)

Abstract

In this paper we introduce MATMPC, an open source software built in MATLAB for nonlinear model predictive control (NMPC). It is designed to facilitate modelling, controller design and simulation for a wide class of NMPC applications. MATMPC has a number of algorithmic modules, including automatic differentiation, direct multiple shooting, condensing, linear quadratic program (QP) solver and globalization. It also supports a unique Curvature-like Measure of Nonlinearity (CMoN) MPC algorithm. MATMPC has been designed to provide state-of-the-art performance while making the prototyping easy, also with limited programming knowledge. This is achieved by writing each module directly in MATLAB API for C. As a result, MATMPC modules can be compiled into MEX functions with performance comparable to plain C/C++ solvers. MATMPC has been successfully used in operating systems including WINDOWS, LINUX AND OS X. Selected examples are shown to highlight the effectiveness of MATMPC.

LanguageEnglish
Title of host publication2019 18th European Control Conference, ECC 2019
Place of PublicationPiscataway
PublisherInstitute of Electrical and Electronics Engineers
Pages3365-3370
Number of pages6
ISBN (Electronic)9783907144008
DOIs
StatePublished - 1 Jun 2019
Event18th European Control Conference, ECC 2019 - Naples, Italy
Duration: 25 Jun 201928 Jun 2019

Conference

Conference18th European Control Conference, ECC 2019
CountryItaly
CityNaples
Period25/06/1928/06/19

Fingerprint

Nonlinear Model Predictive Control
Model predictive control
MATLAB
modules
Real-time
Module
Application programming interfaces (API)
Multiple Shooting
application programming interface
Automatic Differentiation
Quadratic Program
Globalization
condensing
Open Source Software
Prototyping
programming
C++
plains
Linear Program
Operating Systems

Cite this

Chen, Y., Bruschetta, M., Picotti, E., & Beghi, A. (2019). MATMPC: a MATLAB based toolbox for real-time nonlinear model predictive control. In 2019 18th European Control Conference, ECC 2019 (pp. 3365-3370). [8795788] Piscataway: Institute of Electrical and Electronics Engineers. DOI: 10.23919/ECC.2019.8795788
Chen, Yutao ; Bruschetta, Mattia ; Picotti, Enrico ; Beghi, Alessandro. / MATMPC : a MATLAB based toolbox for real-time nonlinear model predictive control. 2019 18th European Control Conference, ECC 2019. Piscataway : Institute of Electrical and Electronics Engineers, 2019. pp. 3365-3370
@inproceedings{f08f916bb8c24a1189c32b78eced7e5e,
title = "MATMPC: a MATLAB based toolbox for real-time nonlinear model predictive control",
abstract = "In this paper we introduce MATMPC, an open source software built in MATLAB for nonlinear model predictive control (NMPC). It is designed to facilitate modelling, controller design and simulation for a wide class of NMPC applications. MATMPC has a number of algorithmic modules, including automatic differentiation, direct multiple shooting, condensing, linear quadratic program (QP) solver and globalization. It also supports a unique Curvature-like Measure of Nonlinearity (CMoN) MPC algorithm. MATMPC has been designed to provide state-of-the-art performance while making the prototyping easy, also with limited programming knowledge. This is achieved by writing each module directly in MATLAB API for C. As a result, MATMPC modules can be compiled into MEX functions with performance comparable to plain C/C++ solvers. MATMPC has been successfully used in operating systems including WINDOWS, LINUX AND OS X. Selected examples are shown to highlight the effectiveness of MATMPC.",
author = "Yutao Chen and Mattia Bruschetta and Enrico Picotti and Alessandro Beghi",
year = "2019",
month = "6",
day = "1",
doi = "10.23919/ECC.2019.8795788",
language = "English",
pages = "3365--3370",
booktitle = "2019 18th European Control Conference, ECC 2019",
publisher = "Institute of Electrical and Electronics Engineers",
address = "United States",

}

Chen, Y, Bruschetta, M, Picotti, E & Beghi, A 2019, MATMPC: a MATLAB based toolbox for real-time nonlinear model predictive control. in 2019 18th European Control Conference, ECC 2019., 8795788, Institute of Electrical and Electronics Engineers, Piscataway, pp. 3365-3370, 18th European Control Conference, ECC 2019, Naples, Italy, 25/06/19. DOI: 10.23919/ECC.2019.8795788

MATMPC : a MATLAB based toolbox for real-time nonlinear model predictive control. / Chen, Yutao; Bruschetta, Mattia; Picotti, Enrico; Beghi, Alessandro.

2019 18th European Control Conference, ECC 2019. Piscataway : Institute of Electrical and Electronics Engineers, 2019. p. 3365-3370 8795788.

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

TY - GEN

T1 - MATMPC

T2 - a MATLAB based toolbox for real-time nonlinear model predictive control

AU - Chen,Yutao

AU - Bruschetta,Mattia

AU - Picotti,Enrico

AU - Beghi,Alessandro

PY - 2019/6/1

Y1 - 2019/6/1

N2 - In this paper we introduce MATMPC, an open source software built in MATLAB for nonlinear model predictive control (NMPC). It is designed to facilitate modelling, controller design and simulation for a wide class of NMPC applications. MATMPC has a number of algorithmic modules, including automatic differentiation, direct multiple shooting, condensing, linear quadratic program (QP) solver and globalization. It also supports a unique Curvature-like Measure of Nonlinearity (CMoN) MPC algorithm. MATMPC has been designed to provide state-of-the-art performance while making the prototyping easy, also with limited programming knowledge. This is achieved by writing each module directly in MATLAB API for C. As a result, MATMPC modules can be compiled into MEX functions with performance comparable to plain C/C++ solvers. MATMPC has been successfully used in operating systems including WINDOWS, LINUX AND OS X. Selected examples are shown to highlight the effectiveness of MATMPC.

AB - In this paper we introduce MATMPC, an open source software built in MATLAB for nonlinear model predictive control (NMPC). It is designed to facilitate modelling, controller design and simulation for a wide class of NMPC applications. MATMPC has a number of algorithmic modules, including automatic differentiation, direct multiple shooting, condensing, linear quadratic program (QP) solver and globalization. It also supports a unique Curvature-like Measure of Nonlinearity (CMoN) MPC algorithm. MATMPC has been designed to provide state-of-the-art performance while making the prototyping easy, also with limited programming knowledge. This is achieved by writing each module directly in MATLAB API for C. As a result, MATMPC modules can be compiled into MEX functions with performance comparable to plain C/C++ solvers. MATMPC has been successfully used in operating systems including WINDOWS, LINUX AND OS X. Selected examples are shown to highlight the effectiveness of MATMPC.

UR - http://www.scopus.com/inward/record.url?scp=85071527344&partnerID=8YFLogxK

U2 - 10.23919/ECC.2019.8795788

DO - 10.23919/ECC.2019.8795788

M3 - Conference contribution

SP - 3365

EP - 3370

BT - 2019 18th European Control Conference, ECC 2019

PB - Institute of Electrical and Electronics Engineers

CY - Piscataway

ER -

Chen Y, Bruschetta M, Picotti E, Beghi A. MATMPC: a MATLAB based toolbox for real-time nonlinear model predictive control. In 2019 18th European Control Conference, ECC 2019. Piscataway: Institute of Electrical and Electronics Engineers. 2019. p. 3365-3370. 8795788. Available from, DOI: 10.23919/ECC.2019.8795788