×

PolyMPC: an efficient and extensible tool for real-time nonlinear model predictive tracking and path following for fast mechatronic systems. (English) Zbl 1467.93094

Summary: This paper presents PolyMPC, an open-source C++ library for pseudospectral-based real-time predictive control of nonlinear systems. It provides a necessary background on the computational aspects of the pseudospectral approximation of optimal control problems and explains how various model predictive control and parameter estimation algorithms can be implemented using the software. We discuss the key algorithmic modules and architectural features of the PolyMPC library. The workflow of a path following controller design for a highly nonlinear mechatronic system is demonstrated in a tutorial example. Another example illustrates how the core functionality might be used to approximate and solve a custom optimal control problem.

MSC:

93B45 Model predictive control
93C10 Nonlinear systems in control theory
93-08 Computational methods for problems pertaining to systems and control theory
Full Text: DOI

References:

[1] BrysonAE, Ho Y‐C. Applied Optimal Control: Optimization, Estimation, and Control. New York, NY:Hemisphere Publishing Corporation; 1975.
[2] GrahamKF, RaoAV. Minimum‐time trajectory optimization of low‐thrust Earth‐Orbit transfers with eclipsing. J Spacecr Rocket. 2016;53(2):289‐303.
[3] FahrooF, DomanDB, NgoAD. Footprint generation for reusable launch vehicles using a direct pseudospectral method. Paper presented at: 2003 American Control Conference; 2003; Denver, CO.
[4] PattersonMA, RaoAV. GPOPS‐II: a MATLAB software for solving multiple‐phase optimal control problems using hp‐adaptive Gaussian quadrature collocation methods and sparse nonlinear programming. ACM Trans Math Softw. 2014;41(1):1. · Zbl 1369.65201
[5] BecerraVM. Solving complex optimal control problems at no cost with PSOPT. Paper presented at: 2010 IEEE International Symposium on Computer‐Aided Control System Design (CACSD); 2010; Yokohama, Japan.
[6] BieglerLT, ZavalaVM. Large‐scale nonlinear programming using IPOPT: an integrating framework for enterprise‐wide dynamic optimization. Comput Chem Eng. 2009;33(3):575‐582.
[7] GillPE, MurrayW, SaundersMA. SNOPT: an SQP algorithm for large‐scale constrained optimization. SIAM Rev. 2005;47(1):99‐131. · Zbl 1210.90176
[8] vonStrykO. User’s guide for DIRCOL Version 2.1. Darmstadt, Germany: Technische Universität Darmstadt; 1999.
[9] BettsJT. Sparse optimization suite, SOS, User’s guide, release 2015.11. 2016.
[10] QuirynenR, VukovM, ZanonM, DiehlM. Autogenerating microsecond solvers for nonlinear MPC: a tutorial using ACADO integrators. Optim Control Appl Meth. 2014;36(5):685‐704. · Zbl 1330.93100
[11] FahrooF, RossIM. Direct trajectory optimization by a Chebyshev pseudospectral method. J Guid Control Dyn. 2002;25(1):160‐166.
[12] TrefethenLN. Spectral Methods in MATLAB. Philadelphia, PA: SIAM; 2000. · Zbl 0953.68643
[13] CanutoCG, HussainiMY, QuarteroniA, ZangTA. Spectral Methods: Fundamentals in Single Domains. Berlin, Germany: Springer; 2010.
[14] FornbergB. A Practical Guide to Pseudospectral Methods. Cambridge, UK: Cambdridge University Press; 1998. · Zbl 0912.65091
[15] BoydJP. Chebyshev and Fourier Spectral Methods. Mineola, NY:Dover Publications; 2001. · Zbl 0994.65128
[16] ElnagarGN, KazemiMA. Pseudospectral Chebyshev optimal control of constrained nonlinear dynamical systems. Comput Optim Appl. 1998;11(2):195‐217. · Zbl 0914.93024
[17] FahrooF, RossIM. Costate estimation by a Legendre pseudospectral method. J Guid Control Dyn. 2001;24(2):270‐277.
[18] AnderssonJAE, GillisJ, HornG, JamesBR, MoritzD. CasADi – a software framework for nonlinear optimization and optimal control. Math Program Comput. 2018;11(1):1‐36. · Zbl 1411.90004
[19] GaëlG, BenoîtJ. Eigen v3. http://eigen.tuxfamily.org. Accessed 2010.
[20] FaulwasserT, FindeisenR. Nonlinear model predictive control for constrained output path following. IEEE Trans Autom Control. 2016;61(4):1026‐1039. · Zbl 1359.93193
[21] DiwaleS, AlessandrettiA, LymperopoulosI, JonesCN. A nonlinear adaptive controller for airborne wind energy systems. Paper presented at: 2016 American Control Conference (ACC); 2016; Boston, MA.
[22] QuigleyMo, ConleyK, GerkeyB, et al. ROS: an open‐source robot operating system. Paper presented at: ICRA Workshop on Open Source Software; 2009; Kobe, Japan.
[23] BradB. CppAD: a package for C++ algorithmic differentiation. http://www.coin-or.org/CppAD. Accessed 2019.
[24] FerreauHJ, KirchesC, PotschkaA, BockHG, DiehlM. qpOASES: a parametric active‐set algorithm for quadratic programming. Math Program Comput. 2014;6(4):327‐363. · Zbl 1302.90146
[25] HouskaB, FerreauHJ, MoritzD. An auto‐generated real‐time iteration algorithm for nonlinear MPC in the microsecond range. Automatica. 2011;47(10):2279‐2285. · Zbl 1227.65054
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.