Thesis: Diseño e implementación de algoritmos de control predictivo por modelo en FPGA utilizando representación de punto fijo
Date
Journal Title
Journal ISSN
Volume Title
Degree
Departament
Campus
Publisher
Abstract
La implementación de Control Predictivo por Modelo (Model Predictive Control, MPC) en Field-Programmable Gate Arrays (FPGAs) permite aprovechar arquitecturas especializadas para reducir el tiempo de cálculo requerido por la resolución en línea del problema de optimización. El uso de herramientas de Síntesis de Alto Nivel (High Level Synthesis, HLS) facilita el desarrollo de estas arquitecturas a partir de descripciones algorítmicas en C/C++, mientras que la aritmética de punto fijo permite adaptar la representación numérica a los requerimientos de la aplicación y reducir el costo de implementación. Sin embargo, seleccionar una representación en punto fijo adecuada y trasladarla entre entornos de diseño no es un proceso directo. No existe un estándar ampliamente adoptado que unifique el comportamiento entre herramientas, por lo que un mismo formato numérico puede producir resultados diferentes si no se consideran las configuraciones asociadas a las operaciones. Este trabajo presenta un flujo para el diseño e implementación en FPGA de controladores MPC lineales con formulación implícita utilizando representaciones de punto fijo. El flujo parte de un modelo funcional previamente validado en punto flotante y permite explorar representaciones numéricas en MATLAB antes de avanzar hacia su implementación en C/C++ y Vitis HLS. A lo largo del desarrollo se comparan las distintas implementaciones para mantener trazabilidad sobre las diferencias numéricas introducidas y evaluar si la representación seleccionada satisface los criterios definidos para la aplicación. El flujo se estudia inicialmente mediante una operación de producto punto y posteriormente se aplica a dos casos de control cuyos problemas de optimización se resuelven mediante ADMM: un motor de corriente continua y un sistema de recursos energéticos distribuidos (DER). Los resultados muestran que (...).
The implementation of Model Predictive Control (MPC) on Field-Programmable Gate Arrays (FPGAs) enables the use of specialized architectures to reduce the computation time required to solve the optimization problem online. High-Level Synthesis (HLS) tools facilitate the development of these architectures from algorithmic descriptions in C/C++, while fixed-point arithmetic allows the numerical representation to be tailored to the requirements of the application and can reduce implementation cost. However, selecting an appropriate fixed-point representation and transferring it between design environments is not straightforward. No widely adopted standard defines consistent fixed-point behavior across tools, and therefore the same numerical format may produce different results if the arithmetic configuration of the operations is not taken into account. This thesis presents a design and implementation flow for linear MPC controllers with an implicit formulation using fixed-point arithmetic. The flow starts from a functional model previously validated in floating-point and allows different numerical representations to be explored in MATLAB before being transferred to C/C++ and Vitis HLS. The implementations are compared throughout the development process to track the numerical differences introduced at each stage and to determine whether the selected representation satisfies the criteria defined for the application. The flow is first evaluated using a dot-product operation and is then applied to two control case studies whose optimization problems are solved using ADMM: a direct current (DC) motor and a distributed energy resources (DER) system. The results show that (...).
