Politecnico di Torino (logo)

Online Optimization for a Model Predictive Control strategy: the use case of a Fuel Cell Hybrid Electric Vehicle

Carlo Karam

Online Optimization for a Model Predictive Control strategy: the use case of a Fuel Cell Hybrid Electric Vehicle.

Rel. Alessandro Rizzo. Politecnico di Torino, Corso di laurea magistrale in Mechatronic Engineering (Ingegneria Meccatronica), 2022


This thesis addresses the development of a Power Supervisory Control algorithm for a Fuel Cell Hybrid Electric Vehicle (FCHEV). Our main goal is to satisfy the driver's engine power requests while also reducing fuel consumption and emissions via a suitable Energy Management Strategy (EMS). We opt for an online approach via Model Predictive Control (MPC), which aims at achieving an optimal power distribution between the various electrical components of the vehicle, with a focus on minimizing hydrogen consumption and extending said components' lifetime. We derive and linearize the required analytical model and then incorporate them into the control problem setup along with data either provided by component manufacturers or obtained via simulations. The MPC algorithm, implemented in Python, analyzes the resulting optimization problem and translates it to a Quadratic Program which it then solves by means of an adequate numerical solver. We test the algorithm via simulations depicting three predefined driving cycles (mathematically represented as a sequence of varying model parameters), and evaluate different MPC formulations on the basis of their performance with respect to our defined goals, and their computational efficiency. The chosen formulation is a so-called adaptive one, and consists of updating the model parameters at each sampling time while considering them constant along the prediction horizon, as it provides the best performance to computational cost trade-off. In order to further optimize the controller performance, we adopt a Particle Swarm Optimization (PSO) method to tune our controller weights - figuring in the definition of the objective function to minimize - according to certain criteria incorporated in a single performance metric. This approach is both more user-friendly and more computationally efficient than manual tuning via trial and error, while providing more optimal results vis-a-vis the minimization of the performance index. The computation of these ideal weights constitutes the final step of our initial MPC design process. An improvement on the existing control architecture design would require the estimation of a closed-loop model of the MPC algorithm. Furthermore, due to the elevated computational cost of the required online optimization relative to an engine control unit's hardware capabilities, the current implementation risks violating the desired real-time properties of the system. As such, we develop an Artificial Neural Network intended to mimic the behaviour of the tuned controller. The model is trained on randomly generated data which cover the different control scenarios, and is then tested and validated on the aforementioned driving cycles as part of the existing simulation. The resulting control sequence and plant behaviour are quite similar to those obtained with the MPC controller in-the-loop, albeit with a significantly reduced computational time. And while this initial implementation is too rudimentary and immutable to definitively replace the existing controller in the final product, it remains satisfactory to employ in the foreseen architecture design improvements, and leaves room for further development and refinement.

Relators: Alessandro Rizzo
Academic year: 2022/23
Publication type: Electronic
Number of Pages: 68
Additional Information: Tesi secretata. Fulltext non presente
Corso di laurea: Corso di laurea magistrale in Mechatronic Engineering (Ingegneria Meccatronica)
Classe di laurea: New organization > Master science > LM-25 - AUTOMATION ENGINEERING
Aziende collaboratrici: PUNCH Torino S.p.A.
URI: http://webthesis.biblio.polito.it/id/eprint/24487
Modify record (reserved for operators) Modify record (reserved for operators)