Implementation of a high performance embedded MPC on FPGA using high-level synthesis

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, o...

Descripción completa

Detalles Bibliográficos
Autor: Araujo Barrientos, Antonio
Tipo de recurso: tesis de maestría
Fecha de publicación:2017
País:Perú
Institución:Pontificia Universidad Católica del Perú
Repositorio:PUCP-Tesis
Idioma:inglés
OAI Identifier:oai:tesis.pucp.edu.pe:20.500.12404/8833
Acceso en línea:http://hdl.handle.net/20.500.12404/8833
Access Level:acceso abierto
Palabra clave:Control predictivo
Procesos de manufactura
Sistemas embebidos (Computadoras)
https://purl.org/pe-repo/ocde/ford#2.00.00
id PE_2298ffb73cd070d5d55822080fcb7bd9
oai_identifier_str oai:tesis.pucp.edu.pe:20.500.12404/8833
network_acronym_str PE
network_name_str Perú
repository_id_str
dc.title.es_ES.fl_str_mv Implementation of a high performance embedded MPC on FPGA using high-level synthesis
title Implementation of a high performance embedded MPC on FPGA using high-level synthesis
spellingShingle Implementation of a high performance embedded MPC on FPGA using high-level synthesis
Araujo Barrientos, Antonio
Control predictivo
Procesos de manufactura
Sistemas embebidos (Computadoras)
https://purl.org/pe-repo/ocde/ford#2.00.00
title_short Implementation of a high performance embedded MPC on FPGA using high-level synthesis
title_full Implementation of a high performance embedded MPC on FPGA using high-level synthesis
title_fullStr Implementation of a high performance embedded MPC on FPGA using high-level synthesis
title_full_unstemmed Implementation of a high performance embedded MPC on FPGA using high-level synthesis
title_sort Implementation of a high performance embedded MPC on FPGA using high-level synthesis
dc.creator.none.fl_str_mv Araujo Barrientos, Antonio
author Araujo Barrientos, Antonio
author_facet Araujo Barrientos, Antonio
author_role author
dc.contributor.advisor.fl_str_mv Geletu, Abebe
Villota Cerna, Elizabeth
dc.subject.es_ES.fl_str_mv Control predictivo
Procesos de manufactura
Sistemas embebidos (Computadoras)
topic Control predictivo
Procesos de manufactura
Sistemas embebidos (Computadoras)
https://purl.org/pe-repo/ocde/ford#2.00.00
dc.subject.ocde.es_ES.fl_str_mv https://purl.org/pe-repo/ocde/ford#2.00.00
description 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.
publishDate 2017
dc.date.accessioned.es_ES.fl_str_mv 2017-06-19T22:33:37Z
dc.date.available.es_ES.fl_str_mv 2017-06-19T22:33:37Z
dc.date.created.es_ES.fl_str_mv 2017
dc.date.issued.fl_str_mv 2017-06-19
dc.type.es_ES.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/20.500.12404/8833
url http://hdl.handle.net/20.500.12404/8833
dc.language.iso.es_ES.fl_str_mv eng
language eng
dc.relation.ispartof.fl_str_mv SUNEDU
dc.rights.es_ES.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/2.5/pe/
eu_rights_str_mv openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-nd/2.5/pe/
dc.publisher.es_ES.fl_str_mv Pontificia Universidad Católica del Perú
dc.publisher.country.es_ES.fl_str_mv PE
dc.source.none.fl_str_mv reponame:PUCP-Tesis
instname:Pontificia Universidad Católica del Perú
instacron:PUCP
instname_str Pontificia Universidad Católica del Perú
instacron_str PUCP
institution PUCP
reponame_str PUCP-Tesis
collection PUCP-Tesis
bitstream.url.fl_str_mv https://tesis.pucp.edu.pe/bitstreams/a21c1967-6837-40b2-adf6-cb7e12fc005f/download
https://tesis.pucp.edu.pe/bitstreams/95703624-a8d7-4817-b02b-2a1e965f820c/download
https://tesis.pucp.edu.pe/bitstreams/60227002-686c-4d38-a71d-50e2bba86ab6/download
https://tesis.pucp.edu.pe/bitstreams/3a1824ff-ad06-4937-93df-caaf6827708a/download
bitstream.checksum.fl_str_mv b654448720c2812d7c07210585066d85
78fbcb528ed107d89fa91de744ce17de
e9aaa2ab5eafe1b2d4077bfa97d92aec
f42c3207f9f1a6e7405ac1ead9f40c29
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio de Tesis PUCP
repository.mail.fl_str_mv raul.sifuentes@pucp.pe
_version_ 1863011270389661696
spelling Geletu, AbebeVillota Cerna, Elizabeth2017-06-19T22:33:37Z2017-06-19T22:33:37Z20172017-06-19http://hdl.handle.net/20.500.12404/8833Model 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.TesisengPontificia Universidad Católica del PerúPEinfo:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by-nc-nd/2.5/pe/Control predictivoProcesos de manufacturaSistemas embebidos (Computadoras)https://purl.org/pe-repo/ocde/ford#2.00.00Implementation of a high performance embedded MPC on FPGA using high-level synthesisinfo:eu-repo/semantics/masterThesisreponame:PUCP-Tesisinstname:Pontificia Universidad Católica del Perúinstacron:PUCPSUNEDUAraujo Barrientos, AntonioMaestro en Ingeniería MecatrónicaMaestríaPontificia Universidad Católica del Perú. Escuela de PosgradoIngeniería Mecatrónica10686413713167https://purl.org/pe-repo/renati/level#maestrohttps://purl.org/pe-repo/renati/type#tesisORIGINALARAUJO_ANTONIO_IMPLEMENTATION_EMBEDDED_MPC_FPGA.pdfARAUJO_ANTONIO_IMPLEMENTATION_EMBEDDED_MPC_FPGA.pdfTexto completoapplication/pdf9866353https://tesis.pucp.edu.pe/bitstreams/a21c1967-6837-40b2-adf6-cb7e12fc005f/downloadb654448720c2812d7c07210585066d85MD51trueAnonymousREADLICENSElicense.txtlicense.txttext/plain; charset=utf-81364https://tesis.pucp.edu.pe/bitstreams/95703624-a8d7-4817-b02b-2a1e965f820c/download78fbcb528ed107d89fa91de744ce17deMD52falseAnonymousREADTEXTARAUJO_ANTONIO_IMPLEMENTATION_EMBEDDED_MPC_FPGA.pdf.txtARAUJO_ANTONIO_IMPLEMENTATION_EMBEDDED_MPC_FPGA.pdf.txtExtracted texttext/plain175366https://tesis.pucp.edu.pe/bitstreams/60227002-686c-4d38-a71d-50e2bba86ab6/downloade9aaa2ab5eafe1b2d4077bfa97d92aecMD53falseAnonymousREADTHUMBNAILARAUJO_ANTONIO_IMPLEMENTATION_EMBEDDED_MPC_FPGA.pdf.jpgARAUJO_ANTONIO_IMPLEMENTATION_EMBEDDED_MPC_FPGA.pdf.jpgIM Thumbnailimage/jpeg14089https://tesis.pucp.edu.pe/bitstreams/3a1824ff-ad06-4937-93df-caaf6827708a/downloadf42c3207f9f1a6e7405ac1ead9f40c29MD54falseAnonymousREAD20.500.12404/8833oai:tesis.pucp.edu.pe:20.500.12404/88332025-07-18 13:05:36.205http://creativecommons.org/licenses/by-nc-nd/2.5/pe/info:eu-repo/semantics/openAccessopen.accesshttps://tesis.pucp.edu.peRepositorio de Tesis PUCPraul.sifuentes@pucp.peQ29uIGxhIGF1dG9yaXphY2nDs24gZGUgZGVww7NzaXRvIGRlIG1pIHRlc2lzLCBvdG9yZ28gYSBsYSBQb250aWZpY2lhIFVuaXZlcnNpZGFkIENhdMOzbGljYSBkZWwgUGVyw7ogdW5hIGxpY2VuY2lhIG5vIGV4Y2x1c2l2YSBwYXJhIHJlcHJvZHVjaXIsIGRpc3RyaWJ1aXIsIGNvbXVuaWNhciBhbCBww7pibGljbywgdHJhbnNmb3JtYXIKKMO6bmljYW1lbnRlIG1lZGlhbnRlIHN1IHRyYWR1Y2Npw7NuIGEgb3Ryb3MgaWRpb21hcykgeSBwb25lciBhIGRpc3Bvc2ljacOzbiBkZWwgcMO6YmxpY28gbWkgdGVzaXMgKGluY2x1aWRvIGVsIHJlc3VtZW4pLCBlbiBmb3JtYXRvIGbDrXNpY28gbyBkaWdpdGFsLCBlbiBjdWFscXVpZXIgbWVkaW8sIGNvbm9jaWRvIG8gcG9yIGNvbm9jZXJzZSwKYSB0cmF2w6lzIGRlIGxvcyBkaXZlcnNvcyBzZXJ2aWNpb3MgcHJvdmlzdG9zIHBvciBsYSBVbml2ZXJzaWRhZCwgY3JlYWRvcyBvIHBvciBjcmVhcnNlLCB0YWxlcyBjb21vIGVsIFJlcG9zaXRvcmlvIERpZ2l0YWwgZGUgVGVzaXMgUFVDUCwgQ29sZWNjacOzbiBkZSBUZXNpcywgZW50cmUgb3Ryb3MsIGVuIGVsIFBlcsO6IHkgZW4gZWwgZXh0cmFuamVybywKcG9yIGVsIHRpZW1wbyB5IHZlY2VzIHF1ZSBjb25zaWRlcmUgbmVjZXNhcmlhcywgeSBsaWJyZSBkZSByZW11bmVyYWNpb25lcy4KRW4gdmlydHVkIGRlIGRpY2hhIGxpY2VuY2lhLCBsYSBQb250aWZpY2lhIFVuaXZlcnNpZGFkIENhdMOzbGljYSBkZWwgUGVyw7ogcG9kcsOhIHJlcHJvZHVjaXIgbWkgdGVzaXMgZW4gY3VhbHF1aWVyIHRpcG8gZGUgc29wb3J0ZSB5IGVuIG3DoXMgZGUgdW4gZWplbXBsYXIsIHNpbiBtb2RpZmljYXIgc3UgY29udGVuaWRvLCBzb2xvIGNvbgpwcm9ww7NzaXRvcyBkZSBzZWd1cmlkYWQsIHJlc3BhbGRvIHkgcHJlc2VydmFjacOzbi4gCkRlY2xhcm8gcXVlIGxhIHRlc2lzIGVzIHVuYSBjcmVhY2nDs24gZGUgbWkgYXV0b3LDrWEgeSBleGNsdXNpdmEgdGl0dWxhcmlkYWQsIG8gY29hdXRvcsOtYSBjb24gdGl0dWxhcmlkYWQgY29tcGFydGlkYSwgeSBtZSBlbmN1ZW50cm8gZmFjdWx0YWRvIGEgY29uY2VkZXIgbGEgcHJlc2VudGUgbGljZW5jaWEgeSwgYXNpbWlzbW8sCmdhcmFudGl6byBxdWUgZGljaGEgdGVzaXMgbm8gaW5mcmluZ2UgZGVyZWNob3MgZGUgYXV0b3IgZGUgdGVyY2VyYXMgcGVyc29uYXMuCkxhIFBvbnRpZmljaWEgVW5pdmVyc2lkYWQgQ2F0w7NsaWNhIGRlbCBQZXLDuiBjb25zaWduYXLDoSBlbCBub21icmUgZGVsL2xvcyBhdXRvci9lcyBkZSBsYSB0ZXNpcywgeSBubyBsZSBoYXLDoSBuaW5ndW5hIG1vZGlmaWNhY2nDs24gbcOhcyBxdWUgbGEgcGVybWl0aWRhIGVuIGxhIHByZXNlbnRlIGxpY2VuY2lhLgo=
score 15,301603