Nonlinear Predictive Control on a Heterogeneous Computing Platform

Abstract Nonlinear Model Predictive Control (NMPC) is an advanced control technique that often relies on computationally demanding optimization and integration algorithms. This paper proposes and investigates a heterogeneous hardware implementation of an NMPC controller based on an interior point algorithm. The proposed implementation provides flexibility of splitting the workload between a general-purpose CPU with a fixed architecture and a field-programmable gate array (FPGA) to trade off contradicting design objectives, namely performance and computational resource usage. A new way of exploiting the structure of the Karush-Kuhn-Tucker (KKT) matrix yields significant memory savings, which is crucial for reconfigurable hardware. For the considered case study, a 10x memory savings compared to existing approaches and a 10x speedup over a software implementation are reported. The proposed implementation can be tested from Matlab using a new release of the Protoip software tool, which is another contribution of the paper. Protoip abstracts many low-level details of heterogeneous hardware programming and allows quick prototyping and processor-in-the-loop verification of heterogeneous hardware implementations.

[1]  Eric C. Kerrigan,et al.  Software and hardware code generation for predictive control using splitting methods , 2017 .

[2]  Stephen J. Wright,et al.  Applying new optimization algorithms to more predictive control , 1996 .

[3]  Brett Ninness,et al.  ASIC and FPGA implementation strategies for Model Predictive Control , 2009, 2009 European Control Conference (ECC).

[4]  Xun Gong,et al.  Fast Nonlinear Model Predictive Control on FPGA Using Particle Swarm Optimization , 2016, IEEE Transactions on Industrial Electronics.

[5]  Eric C. Kerrigan,et al.  Multi-objective Co-design for model predictive control with an FPGA , 2016, 2016 European Control Conference (ECC).

[6]  Jan Swevers,et al.  Experimental validation of nonlinear MPC on an overhead crane using automatic code generation , 2012, 2012 American Control Conference (ACC).

[7]  Joel Andersson,et al.  A General-Purpose Software Framework for Dynamic Optimization (Een algemene softwareomgeving voor dynamische optimalisatie) , 2013 .

[8]  Qurat-ul Ain,et al.  Design of FPGA based DAQ card using PCI express protocol , 2011, 2011 IEEE 14th International Multitopic Conference.

[9]  Y. Saad,et al.  GMRES: a generalized minimal residual algorithm for solving nonsymmetric linear systems , 1986 .

[10]  J. Nocedal,et al.  Adaptive Barrier Strategies for Nonlinear Interior Methods , 2022 .

[11]  Jan Swevers,et al.  Experimental Validation of Combined Nonlinear Optimal Control and Estimation of an Overhead Crane , 2014 .

[12]  Eric C. Kerrigan,et al.  A Stable and Efficient Method for Solving a Convex Quadratic Program with Application to Optimal Control , 2012, SIAM J. Optim..

[13]  K.V. Ling,et al.  A FPGA implementation of model predictive control , 2006, 2006 American Control Conference.

[14]  Moritz Diehl,et al.  An auto-generated real-time iteration algorithm for nonlinear MPC in the microsecond range , 2011, Autom..

[15]  Eric C. Kerrigan,et al.  Nonlinear predictive control on a heterogeneous computing platform , 2017 .

[16]  Anne Greenbaum,et al.  Iterative methods for solving linear systems , 1997, Frontiers in applied mathematics.

[17]  Helfried Peyrl,et al.  A Hybrid Hardware Implementation for Nonlinear Model Predictive Control , 2015 .

[18]  Eric C. Kerrigan,et al.  Predictive Control Using an FPGA With Application to Aircraft Control , 2014, IEEE Transactions on Control Systems Technology.

[19]  Eric C. Kerrigan,et al.  A Low Complexity Scaling Method for the Lanczos Kernel in Fixed-Point Arithmetic , 2015, IEEE Transactions on Computers.

[20]  Florent de Dinechin,et al.  Floating-Point Trigonometric Functions for FPGAs , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[21]  Johan Efberg,et al.  YALMIP : A toolbox for modeling and optimization in MATLAB , 2004 .

[22]  Christian Kirches,et al.  An SR1/BFGS SQP algorithm for nonconvex nonlinear programs with block-diagonal Hessian matrix , 2016, Math. Program. Comput..

[23]  Knut Graichen,et al.  PLC Implementation of a Nonlinear Model Predictive Controller , 2014 .

[24]  Florent de Dinechin,et al.  Multiplicative Square Root Algorithms for FPGAs , 2010, 2010 International Conference on Field Programmable Logic and Applications.

[25]  M. Saunders,et al.  Solution of Sparse Indefinite Systems of Linear Equations , 1975 .

[26]  Eric C. Kerrigan,et al.  Model predictive control for deeply pipelined field-programmable gate array implementation: algorithms and circuitry , 2012 .

[27]  Carlos H. Llanos,et al.  Nonlinear model predictive control hardware implementation with custom-precision floating point operations , 2016, 2016 24th Mediterranean Conference on Control and Automation (MED).

[28]  George A. Constantinides,et al.  An FPGA-based implementation of the MINRES algorithm , 2008, 2008 International Conference on Field Programmable Logic and Applications.

[29]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[30]  MORITZ DIEHL,et al.  A Real-Time Iteration Scheme for Nonlinear Optimization in Optimal Feedback Control , 2005, SIAM J. Control. Optim..

[31]  Marc-Alexandre Boechat,et al.  Parallel implementations of the fast gradient method for high-speed MPC , 2014 .

[32]  William C. Davidon,et al.  Variable Metric Method for Minimization , 1959, SIAM J. Optim..

[33]  M. Fliess,et al.  A simplified approach of crane control via a generalized state-space model , 1991, [1991] Proceedings of the 30th IEEE Conference on Decision and Control.

[34]  George A. Constantinides,et al.  Optimizing memory bandwidth use and performance for matrix-vector multiplication in iterative methods , 2011, TRETS.

[35]  Lorenz T. Biegler,et al.  On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming , 2006, Math. Program..

[36]  Manfred Morari,et al.  Embedded Online Optimization for Model Predictive Control at Megahertz Rates , 2013, IEEE Transactions on Automatic Control.

[37]  Leonidas G. Bleris,et al.  A System-on-a-Chip Implementation for Embedded Real-Time Model Predictive Control , 2009, IEEE Transactions on Control Systems Technology.

[38]  Anil V. Rao,et al.  Practical Methods for Optimal Control Using Nonlinear Programming , 1987 .

[39]  Carol S. Woodward,et al.  Enabling New Flexibility in the SUNDIALS Suite of Nonlinear and Differential/Algebraic Equation Solvers , 2020, ACM Trans. Math. Softw..