Implementation of a high performance embedded MPC on FPGA using high-level synthesis
Acceso a Texto completo
Abstract
Model predictive control (MPC) has been, since its introduction in the late 70’s, a
well accepted control technique, especially for industrial processes, which are typically slow and
allow for on-line calculation of the control inputs. Its greatest advantage is its ability to
consider constraints, on both inputs and states, directly and naturally. More recently, the
improvements in processor speed have allowed its use in a wider range of problems, many involving
faster dynamics. Nevertheless, implementation of MPC algorithms on embedded systems with resources,
size, power consumption and cost constraints remains a challenge.
In this thesis, High-Level Synthesis (HLS) is used to implement implicit MPC algo- rithms for
linear (LMPC) and nonlinear (NMPC) plant models, considering constraints on both control inputs and
states of the system. The algorithms are implemented in the Zynq@ -7000 All Programmable
System-on-a-Chip (AP SoC) ZC706 Evaluation Kit, targeting Xilinx’s Zynq@-7000 AP SoC which
contains a general purpose Field Programmable Gate Array (FPGA). In order to solve the optimization
problem at each sampling instant, an Interior-Point Method (IPM) is used. The main computation
cost of this method is the solution of a system of linear equations. A minimum residual (MINRES)
algorithm is used for the solution of this system of equations taking into consideration its
special structure in order to make it computationally efficient. A library was created for
the linear algebra operations required for the IPM and MINRES algorithms.
The implementation is tested on trajectory tracking case studies. Results for the linear case
show good performance and implementation metrics, as well as computation times within the
considered sampling periods. For the nonlinear case, although a high computation time was needed,
the algorithm performed well on the case study presented. Because of resources constraints,
implementation of the nonlinear algorithm on higher
order systems was precluded. Modellprädiktive Regelung (engl: Model Predictive Control (MPC) ist, seit der Einfüh- rung in den
späten 70er Jahren, eine gut angenommene Regelungstechnik, insbesondere für industrielle Prozesse,
die typischerweise langsam sind und die online Steuergröße Berechnung ermöglichen. Ihr größter
Vorteil ist die Fähigkeit, Beschränkungen bezüg- lich der Steuergrößen und der Regelgrößen zu
berücksichtigen. In letzter Zeit hat die Verbesserung der Geschwindigkeit der Prozessoren den
Einsatz in einer breitere Pro- blemreichweite mit einer schnelleren Dynamik ermöglicht. Allerdings
bleibt die MPC Algorithmus-Implementierung in eingebetteten Systeme mit beschränkte Ressourcen,
Größe, Energieverbrauch und Kosten eine Herausforderung.
In dieser Arbeit wird die High-Level Synthesis (HLS) benutzt, um implizit MPC Algorithmen für
lineare (LMPC) und nichtlineare (NMPC) Regelstrecken zu implemen- tieren, wobei Steuergröße- und
Regelgrößenbeschränkungen berücksichtigt werden. Die Algorithmen sind im Zynq@-7000 AP SoC ZC706
Auswertungskit implementiert, wobei auf der Xilinxs Zynq@-7000 AP SoC, der ein allgemeiner Zweck
FPGA enthält, abgezielt wird. Ein innere-Punkte Verfahren (engl: Interior-Point Method (IPM)) wird
für die Lösung des Optimierungsproblems in jedem Sampling benutzt. Die größte Berechnungs-
komplexität bei dem IPM ist die Lösung eines linearen Gleichungssystems. Ein minimaler
Residuum-Algorithmus (MINRES) wird für die Lösung dieses Gleichungssystem benutzt, wobei die
spezielle Struktur berücksichtigt wird, um das Verfahren recheneffizient zu machen. Es wurde eine
Bibliothek mit Funktionen für die benötigten linearen Algebra Operationen in den IPM und MINRES
Verfahren entwickelt.
Die Implementierung wird in Trajektorieverfolgung Fallstudien getestet. Die Ergeb- nisse für den
linearen Fall zeigen gute Leistungen und Metriken, sowie Rechenzeiten innerhalb des
berücksichtigten Taktzeiten. Für den nichtlinearen Fall wurde eine ho- he Rechenzeit benötigt.
Trotzdem hat der Algorithmus für die vorgestellte Fallstudie gut funktioniert. Infolge der
Ressourcenbeschränkungen war die Implementierung des
nichtlinearen Algorithmus für Systeme höherer Ordnung verhindert.