Enhancing Wind Turbines with Model Predictive Control - MATLAB & Simulink

Technical Articles

Reducing Structural Loads on Wind Turbines with Machine Learning and Model Predictive Control

By Andreas Klein, Thorben Wintermeyer-Kallen, and Maximilian Basler, Institute of Automatic Control, RWTH Aachen, and János Zierath, W2E Wind to Energy GmbH


Model-Based Design was instrumental to our development process.… This approach enabled us to test the controller’s operation on a full-scale 3 MW wind turbine.

To achieve NET Zero Emissions by 2050, wind energy production needs to maintain 17% year-on-year growth. As the total installed energy capacity of wind turbines (WT) continues to grow worldwide, the industry is intensifying its focus on optimizing long-term operational efficiency. This includes not only maximizing power output, but also minimizing manufacturing and maintenance costs—all while ensuring safety and grid compliance. Achieving all these objectives is hardly manageable using classical control strategies based on Proportional-Integral (PI) or Proportional-Integral-Derivative (PID) algorithms. As a result, research groups have been exploring the use of more advanced control strategies, including model predictive control (MPC).

MPC is well-suited to WT control applications because it can condense multiple, sometimes conflicting control objectives and constraints in an optimization problem. In fact, our former colleagues have previously demonstrated the effectiveness of MPC for wind turbine control by using a model-based controller design and rapid control prototyping.

Recently, we (a team of researchers at the Institute of Automatic Control at RWTH Aachen and engineers at W2E Wind to Energy GmbH), expanded upon this earlier work, integrating a machine learning regression model into the MPC. With this improvement, the controller proactively adjusts the blade pitch angles and generator torque to minimize load alternation on the WT, aiming to reduce long-term wear and damage risks. The algorithms we used originate from the IntelliWind research project with grant number 01IS22028A/B. Model-Based Design was instrumental to our development process: We used MATLAB® to train the machine learning model that maps the dynamic states of the MPC’s internal prediction model to the change of thrust force on the rotor, Simulink® and Model Predictive Control Toolbox™ to model and extensively simulate the controller, and Simulink Coder™ to generate code for deployment on a Bachmann industrial control system. This approach enabled us to test the controller’s operation on a full-scale 3 MW WT operated by W2E Wind to Energy (Figure 1), an important step in validating the production readiness of this novel controller design.

A wind turbine, seen from the ground, located in an open field.

Figure 1. A 3 MW wind turbine designed and built by W2E Wind to Energy GmbH in Rostock, Germany.

Training the Machine Learning Model and Incorporating It into the MPC

The performance and stability of an MPC are heavily influenced by the accuracy and fidelity of its prediction model. Given that higher fidelity models are often more computationally intensive, there is a tradeoff in MPC design. For example, incorporating a full computational fluid dynamics model for a WT into an MPC is not practical because the time needed to generate predictions from such a model would likely far exceed the sampling time of the controller.

To resolve this design tradeoff between fidelity and computational intensity, we used a machine learning model—specifically, a local linear neuro-fuzzy model (LLNFM)—to rapidly predict changes of thrust force on the turbine’s rotor. In the MPC, we combined this LLNFM with a nonlinear, reduced order model of the WT (Figure 2). Before incorporating it into our control design, however, we first needed to train the machine learning model.

A schematic of the reduced order model and a schematic of the local linear neuro-fuzzy model, along with a diagram showing where these models are incorporated in the wind turbine’s rotor.

Figure 2. Integrating the local linear neuro-fuzzy model (right) with a reduced order model (left) comprised of a mechanical submodel for WT drive train dynamics, a mechanical submodel for rotor tower and blade dynamics, and a third submodel for aerodynamics.

Training any machine learning model, including our LLNFM, requires data. We generated synthetic training data using the alaska/Wind software, in which we modeled and simulated internal loads on the rotor based on external wind forces. In particular, we ran simulations to gauge the thrust force on the rotor under a variety of wind conditions, including varying speeds, as well as extreme operation gusts. We then imported this data into MATLAB and preprocessed it. Preprocessing steps included calculating the time derivative (because we wanted to train the model on the change in thrust force over time) and applying a low-pass filter to eliminate the high-frequency shares induced by the stochastics of the wind (Figure 3).

A simulated model of the wind turbine and a chart plotting the raw data collected, two charts showing the raw data being filtered for time and frequency, and a chart showing the results of model training.

Figure 3. An overview of the workflow: capturing simulation data, preprocessing that data, and then using it to train a local linear neuro-fuzzy model.

We built and trained the LLNFM using the LOLIMOT (LOcal LInear MOdel Tree) algorithm, provided by the LMN-Tool, a MATLAB toolbox from the University of Siegen. We use the LLNFM, as it represents nonlinear relationships but offers manageable complexity compared to other machine learning techniques. This leads to greater interpretability, which is an advantage in real-world control applications wherein minimizing the risk of any potential damage to the plant is a key concern.

Once we had trained and validated the LLNFM, we used the symbolic framework CasADi to create a symbolic expression based on the model and compute the model’s Jacobian with respect to the system states. We created an S-function based on this symbolic expression of the model and its Jacobian. In Simulink, this S-Function is called to obtain a linearized state-space model in the controller’s extended Kalman filter (EKF) and invoked by the Adaptive MPC Controller block to estimate prediction model states as operating conditions change (Figure 3).

Simulating and Tuning the Controller

With the machine learning model integrated into the MPC, our next step was to run simulations to tune the controller and assess its performance. The controller is designed to maximize power output while minimizing the structural load.

We ran numerous simulations at a variety of wind speeds ranging from cut-in wind speed to cut-out wind speed. We then analyzed the results in MATLAB and compared the performance of the new machine learning–enhanced MPC against the existing MPC and a baseline classical control system. While the machine learning–enhanced MPC had only a minor influence on the dynamics of the thrust in partial-load regime (lower wind speeds), in full-load regime (higher wind speeds) it reduced the dynamics of the thrust in the frequency range around the dominant first tower eigenmode (Figure 4). Simulation results showed the machine learning–enhanced MPC to produce power similar to the existing MPC (Figure 5).

Two graphs that plot thrust force under full- and partial-load conditions, each showing results for the baseline, MPC without machine learning, and MPC with machine learning controllers.

Figure 4. Plots of the power spectral density of the thrust force under partial-load conditions (left) and full-load conditions (right) for three types of controllers: baseline (black), MPC without machine learning (blue), and MPC with machine learning (red).

A graph showing simulated power outputs for various wind speeds for the machine learning–enhanced MPC, the MPC without machine learning, and baseline control alternatives.

Figure 5. Plots of simulated power output for various wind speeds, showing similar output for the machine learning–enhanced MPC (red), the MPC without machine learning (blue), and baseline control (black) alternatives.

Deployment and Testing on a Real Wind Turbine

While the simulations gave us confidence in our control design, seeing how it would perform on the real WT and assessing its robustness under real-world operating conditions was also vital to our research project. To achieve this goal, we used Simulink Coder with M-Target for Simulink to generate code from our controller for the MH230 PLC from Bachmann Electronic GmbH, which is installed in the W2E Wind to Energy WT. The field tests went well, confirming the stable operation on the full-scale WT in partial-load and full-load regime (Figure 6).

A series of graphs showing results for the new machine learning–enhanced MPC as it controls the 3 MW turbine in Rostock. The graphs plot variables for wind speed, generator speed, power, pitch angle, and generator torque over time.

Figure 6. Experimental field test results of the new machine learning–enhanced MPC, controlling the 3 MW wind turbine in Rostock.

Thus, in this first proof of concept, we demonstrated the general possibility of using a machine learning extension in advanced MPC algorithms on full-scale WTs. This will allow us to test more complex machine learning algorithms in experiments in the future and further improve the operation of wind turbines.

In the near term, we are looking forward to more extensive field tests on the WT and the opportunities that will afford us to further optimize and tune the controller. We are also exploring several other potential enhancements, including using lidar sensors to provide the controller with more accurate wind propagation estimates and the use of individual blade pitch control—instead of collective blade pitch control—to further increase control precision and performance.

Acknowledgments

Figure 2 and Figure 3 are adapted from the paper, Control-Oriented Wind Turbine Load Estimation Based on Local Linear Neuro-Fuzzy Models (2024), published in the Journal of Physics: Conference Series, under the Creative Commons Attribution 4.0 License. The figures have been modified from their original versions.

Published 2024

View Articles for Related Capabilities

View Articles for Related Industries