This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Deep Learning-Aided Model Predictive Control of Wind Farms for AGC Considering the Dynamic Wake Effect

Kaixuan Chen Jin Lin [email protected] Yiwei Qiu Feng Liu Yonghua Song State Key Laboratory of Control and Simulation of Power Systems and Generation Equipment, Department of Electrical Engineering, Tsinghua University, Beijing 100087, China Department of Electrical and Computer Engineering, University of Macau, Macau 999078, China
Abstract

To provide automatic generation control (AGC) service, wind farms (WFs) are required to control their operation dynamically to track the time-varying power reference. Wake effects impose significant aerodynamic interactions among turbines, which remarkably influence the WF dynamic power production. The nonlinear and high-dimensional nature of dynamic wake model, however, brings extremely high computation complexity and obscure the design of WF controllers. This paper overcomes the control difficulty brought by the dynamic wake model by proposing a novel control-oriented reduced order WF model and a deep-learning-aided model predictive control (MPC) method. Leveraging recent advances in computational fluid dynamics (CFD) to provide high-fidelity data that simulates WF dynamic wake flows, two novel deep neural network (DNN) architectures are specially designed to learn a dynamic WF reduced-order model (ROM) that can capture the dominant flow dynamics. Then, a novel MPC framework is constructed that explicitly incorporates the obtained WF ROM to coordinate different turbines while considering dynamic wake interactions. The proposed WF ROM and the control method are evaluated in a widely-accepted high-dimensional dynamic WF simulator whose accuracy has been validated by realistic measurement data. A 9-turbine WF case and a larger 25-turbine WF case are studied. By reducing WF model states by many orders of magnitude, the computational burden of the control method is reduced greatly. Besides, through the proposed method, the range of AGC signals that can be tracked by the WF in the dynamic operation is extended compared with the existing greedy controller.

keywords:
reduced-order model, wind farm, active power tracking, dynamic wake effect, deep learning, model predictive control.
journal: Control Engineering Practice
\UseRawInputEncoding

1 Introduction

The increasing penetration of wind energy in the power system is an irreversible trend [1]. Instead of just maximizing their production, wind farms (WFs) are required to provide many auxiliary services for the power system in high-renewable era [1]. Automatic generation control (AGC), which requires the WF power generation to track a time-varying reference given by power system operators during a time span of several minutes, is one of the main auxiliary services that has already become a requirement for WFs in some jurisdictions[1, 2].

Active power tracking at a stand-alone turbine level has been investigated thoroughly [2, 3]. However, control of dynamic power production at the farm level is much more complicated because of the aerodynamic coupling among turbines that occurs at the time scale of minutes comparable to those of the AGC signals [4]. For example, if an upstream wind turbine (WT) increases its power generation, the overall WF power production may not increase because the downstream turbines experience a reduced wind speed, which is known as the wake effect [5, 6]. More importantly, such wake effects have a minutes-level dynamic process because the reduced wind availability will travel from the upstream turbine to downstream turbines through mean flow advection. Such an aerodynamic interaction has an important effect on WF dynamic power production and has been demonstrated by high-fidelity simulation [7], wind tunnel experiments [8] and real field tests [9].

WF control considering the wake effect has attracted much attention recently. Many studies use static parametric wake models to maximize WF power production [10]. Though these studies provide the WF maximal power extraction when operating at the steady-state optimal point, they cannot optimize the dynamic control signals. Such static wake models that ignore the time-varying nature of the wake interactions are inadequate for AGC studies where a dynamic control trajectory is required to control WFs that follow the time-varying power reference and interact with flow dynamics [4, 5].

For WF power tracking, the problem lies in how to dynamically adjust the power demand distribution among different turbines [11]. Literature [12] proposes the currently widely used proportion distribution (ProD), which distributes the power command proportionally to the available power capabilities of each WT. Literature [13] and [11] uses a classical feedback control to improve the power tracking performance. However, because no optimization is performed, the range of trackable power is much lower than the available power of the WF when it operates at its global optimal point considering wake interactions [14]. To optimize the WF power tracking performance, closed loop control with a dynamical wake model is required.

The dynamical behavior of the wind flow in a WF is governed by the unsteady Navier-Stokes (NS) equations [5]. Recent advances in computational fluid dynamics (CFD) have enabled high-fidelity dynamic WF modeling based on the numerical discretization of the NS equations [15, 16, 17]. A series of optimal WF control studies that apply model predictive control (MPC) techniques directly in the CFD model have been provided by [14, 18]. In these studies, the NS-equation based dynamic WF model is numerically discretized as state-space representations, and control trajectories are optimized by adjoint-based gradient methods. The range of trackable power is improved to the maximal WF power extraction considering the wake effect[18]. However, the nonlinearity and extremely high dimensions of the dynamic WF model make it computationally prohibitive for control implementation as stated by the authors themselves [5, 14], which have 10410^{4} or more states and take up days of distributed computation.

Therefore, to consider the dynamic wind flow interactions, a computationally-acceptable optimal control method is not yet available in the current literature and needs to be addressed.

With the advances in CFD, many design and validation processes generate a high volume of CFD data, opening the possibility of using data-driven approaches to facilitate the controller design [19]. Over the past years, deep learning approaches have shown great successes in learning efficient low-order representations from high-dimensional data to reduce control complexity in some research fields such as image-based robot control [20], fluid fast simulations [21][22] and building temperature control [23]. Compared to optimal control based on physical models, the data-driven modelling is promising for reducing the model complexity and reducing the computational cost for control applications [22][24][25]. For this reason, in this paper we propose a novel, data-driven approach to solve the optimal control problem in the high-dimensional nonlinear WF system. Particularly, a control-oriented reduced-order model (ROM) is identified and a novel MPC framework is designed. Two novel deep neural network (DNN) architecture and corresponding loss functions are constructed to learn both WF reduced-order dynamics and power equations in a specially designed form. Then a novel MPC algorithm is proposed that explicitly incorporates the learned WF ROM to coordinate different turbines considering their dynamic wake interactions. The main contributions of this paper are summarized as follows.

1) A specially-designed autoencoder is constructed to learn WF reduced-order dynamics from CFD data in a globally linear form. Then, a separate fully connected DNN is designed to learn the local linearization of reduced-order power output equations. The novel control-oriented WF reduced-order model is developed in the data-driven approach, which considers both the accuracy of model reduction and the control compatibility. The number of model states is reduced by orders of magnitude. More importantly, the specially designed network allows the learned WF ROM to be readily incorporated into a MPC framework.

2) A novel control framework embedding the derived WF ROM is proposed, through which the WF dynamic power production can be optimized in a computational effective manner. As far as the authors know, this is the first optimal WF controller that optimizes the dynamic wake interactions and the computation burden is practical for control applications. The proposed method is tested in a high-dimensional WF simulator whose accuracy has been validated by realistic measurement data and multiple previous studies. By coordinating different turbines, the range of AGC signals that the WF can track in the dynamic operation is increased from the greedy power to the maximal extractable power considering wake interactions. The computational advantages of the proposed control method are analyzed theoretically and experimentally.

The remainder of this paper is organized as follows. Section 2 reviews the dynamic WF model. Section 3 constructs the DNN architecture to learn the WF ROM. Section 4 introduces the deep learning-aided MPC framework. Case studies and conclusions are presented in Section 5 and 6.

2 Dynamic Wind Farm Model

In this section, we briefly review the dynamic WF model that is commonly employed in dynamic WF simulations [15, 16]. The WF flow field is governed by the incompressible Navier-Stokes equations:

𝒗t+(𝒗)𝒗=\displaystyle\frac{\partial\bm{v}}{\partial t}+(\bm{v}\cdot\nabla)\bm{v}= 1ρp+η2𝒗+1ρ(i=1N𝒇i)\displaystyle-\frac{1}{\rho}\nabla p+\eta\nabla^{2}\bm{v}+\frac{1}{\rho}(\sum_{i=1}^{N}\bm{f}_{i}) (1)
𝒗=\displaystyle\nabla\cdot\bm{v}= 0\displaystyle\hskip 3.0pt0 (2)

where 𝒗=[vx,vy]\bm{v}=[v_{x},v_{y}] represents the velocity field at the hub height with vx,vyv_{x},v_{y} denoting the streamwise and spanwise velocity components, respectively; pp is the pressure field. The two constants η\eta and ρ\rho denote the kinematic viscosity and the air density, respectively; NN is the number of turbines in the WF. The classical actuator disk model is utilized to model the turbines in the dynamic wind flow field, which exerts a thrust force into the wind flow and extracts energy [15, 16]. 𝒇i\bm{f}_{i} represents the thrust force of turbine ii, which acts on the position where the turbine rotor disk is located:

𝒇i=12ρUi2CTi𝒆,i\displaystyle\bm{f}_{i}=-\frac{1}{2}\rho U_{i}^{2}C_{T_{i}}^{\prime}\bm{e}_{\bot,i} (3)

where CTiC_{T_{i}}^{\prime} is the disk-based thrust coefficient, which can directly be related to the blade pitch angle and rotational speed [15]; 𝒆,i\bm{e}_{\bot,i} is the rotor-perpendicular unit vector that defines the orientation of the rotor disk and can be controlled by the turbine yaw angle γi\gamma_{i}:

𝒆,i=𝒆xcos(γi)+𝒆ysin(γi).\displaystyle\bm{e}_{\bot,i}=\bm{e}_{x}\cos(\gamma_{i})+\bm{e}_{y}\sin(\gamma_{i}). (4)

where 𝒆x\bm{e}_{x} and 𝒆y\bm{e}_{y} represent the streamwise and spanwise unit vector, respectively. UiU_{i} is the rotor-perpendicular velocity averaged over the rotor disk. As commonly employed in wind farm studies, CTiC_{T_{i}}^{\prime} and γi\gamma_{i} of each turbine are considered as the control variables and are used to regulate WF operation [15, 16, 18].

The power generated by a turbine is computed as follows:

Pi=12ρAdUi3CPi\displaystyle P^{i}=\frac{1}{2}\rho A_{d}U_{i}^{3}C_{P_{i}} (5)

where PiP^{i} is the produced power of the ithith turbine. The power coefficient CPi=cpCTiC_{P_{i}}=c_{p}C_{T_{i}}^{\prime}. The constant cpc_{p} is the loss factor and set to 0.9 as discussed in [26]. AdA_{d} is the rotor area.

No analytic solution has been to be found for these partial differential equations (1)–(2). The simulation of wind flow is typically solved by CFD. Standard CFD methods such as large eddy simulation are used to discretize the partial differential equation model (1)–(2) spatially and temporally to allow for high-fidelity numerical simulation [16]. The wind farm field is spatially discretized over a grid of (Nx×Ny)(N_{x}\times N_{y}) cells with NxN_{x} points in the streamwise direction and NyN_{y} points in the spanwise direction. After spatially discretizing, each point of this grid has its own equations that describe the flow velocity and pressure at that point. Then, the discretized WF model can be represented in a high-dimensional nonlinear descriptor state-space form as follows:

xt+1=f(xt,ut)\displaystyle\textbf{x}_{t+1}=f(\textbf{x}_{t},\textbf{u}_{t}) (6)
Pt=h(xt,ut)\displaystyle\textbf{P}_{t}=h(\textbf{x}_{t},\textbf{u}_{t}) (7)

where tt denotes the time steps after temporally discretizing. The wind velocity fields vxv_{x} and vyv_{y} are discretized over the grid. Consequently, the total velocity state number for the dynamic WF after discretization is (Nx×Ny×2)(N_{x}\times N_{y}\times 2) with 2 velocity components per grid point. To save space, we use xt\textbf{x}_{t} to denote the full system states at time step tt, which is a tensor of size (Nx,Ny,2)(N_{x},N_{y},2) and describes the velocity snapshot of the whole WF grid at the time instant tt. ut=[CT1,γ1,,CTN,γN]\textbf{u}_{t}=[C_{T_{1}}^{\prime},\gamma_{1},\ldots,C_{T_{N}}^{\prime},\gamma_{N}] is the control input to the WF. u2N×1\textbf{u}\in\mathbb{R}^{2N\times 1} consist of [CT,γ][C_{T}^{\prime},\gamma] of each turbine. Pt=[Pt1,,PtN]N×1\textbf{P}_{t}=[P^{1}_{t},\ldots,P^{N}_{t}]\in\mathbb{R}^{N\times 1} is the power production of each turbine in the WF, which is considered as the output of the system. The relations ff and hh are nonlinear, whose concrete form depends on the specific discretizing method. We omit the details of the discretization procedure, which is the focus of CFD studies and outside the scope of the current paper. Readers interested in the details of CFD discretization are referred to [16, 26].

3 A Control-Oriented WF ROM Based on Deep Learning

Though the standard dynamic WF model can capture the wake dynamics, the number of states can easily reach 10410^{4} or more due to the enormous number of spatial states required for simulation, which is excessively computationally expensive for controller design and analysis [5, 14]. Ideally, a control-oriented model is desired to capture the dominant flow dynamics in a computationally efficient manner. This is the motivation for the ROM. In this section, we formulate the ROM problem. Two DNN architectures for learning the WF ROM from the high-dimensional CFD data is proposed, based on which the computationally tractable controller can be designed.

3.1 Problem Formulation

Though the dynamic WF model is extremely high dimensional in state space, it is observed that the dominant dynamics of spatial-temporal flow data always evolve in low-rank subspaces spanned by a few spatial coordinates [19, 27, 28]. Our goal is to infer a dynamic WF ROM in which optimal control can be readily performed. To this end, intrinsic coordinates z=ϕ(x)\textbf{z}=\phi(\textbf{x}) that dominate the WF flow data need to be identified so that high-dimensional x can be mapped to low-dimensional vectors znz\textbf{z}\in\mathbb{R}^{n_{z}} with nz(Nx×Ny)n_{z}\ll(N_{x}\times N_{y}). At the same time, the system dynamics with control are also required to be identified in the latent space z^t+1=fROM(zt,ut)\widehat{\textbf{z}}_{t+1}=f^{\textrm{ROM}}(\textbf{z}_{t},\textbf{u}_{t}) so that the control problem can be solved in reduced-order space z instead of the original full state space x.

To this end, the ROM has to fulfill three properties: (1) Reconstruction. The reduced-order states z=ϕ(x)\textbf{z}=\phi(\textbf{x}) must capture sufficient information about the full states xt\textbf{x}_{t} (enough to enable reconstruction). (2) Future state prediction. The dynamic ROM fROMf^{\textrm{ROM}} must allow for accurate prediction of the next few reduced-order states zt+Tp\textbf{z}_{t+T_{p}} in the whole feasible region of control (TpT_{p} is the prediction horizon in MPC). (3) Control compatibility. The formulation of the WF ROM must be readily incorporated into optimal controller design.

Given that each grid point has local states denoting the current velocity at that point, the meshed full-state snapshot xt\textbf{x}_{t} that describes the full WF flow field at time instant tt exhibits multiscale spatial physics [19]. Such data provide an opportunity for DNN to make an impact in the modeling and analysis of WF flow fields. For data that have spatial dependencies, convolutional neural networks (CNNs) have been shown to be effective in learning informative high-level features [29]. Another motivation for adopting the DNN for the WF ROM is its flexible architecture that allows for accurately fitting temporal dynamics in the desired form without resorting to hand-designed features [28]. In the following, we will introduce the proposed DNN-based WF ROM in detail.

3.2 Deep Autoencoder for Reduced-Order WF State Equation

To learn an appropriate WF ROM meeting the three requirements, in this paper, we propose a specialized DNN architecture. The proposed DNN belongs to the class of autoencoders. The CNN is utilized as the encoder and decoder layers for its power of handling spatial features to extract the intrinsic coordinates that dominate the WF flow data. A linear dynamic system in the reduced-order space is embedded into the neural network as dynamic bottleneck layers to support the optimal control implementation.

Refer to caption
Figure 1: Illustration of the proposed dynamic autoencoder.

To identify the state equation of WF ROM, a sequence of time snapshots [x1,,xT][\textbf{x}_{1},\ldots,\textbf{x}_{T}] and corresponding control inputs [u1,,uT][\textbf{u}_{1},\ldots,\textbf{u}_{T}] are required as the training data set; TT is the size of the sequential training data set. Fig. 1 shows a sketch of the proposed dynamic autoencoder architecture. The high-dimensional wind flow states xt\textbf{x}_{t} are compressed through the encoder network ϕen(xt)\phi^{\textrm{en}}(\textbf{x}_{t}), which serves as the compression mapping and produces the low-dimensional state zt\textbf{z}_{t}. We denote the encoder as zt=ϕen(xt)\textbf{z}_{t}=\phi^{\textrm{en}}(\textbf{x}_{t}). To learn corresponding dynamic in the latent space, the latent state zt\textbf{z}_{t} is fed into the designed reduced-order state equation, z^t+1=fROM(zt,ut)\widehat{\textbf{z}}_{t+1}=f^{\textrm{ROM}}(\textbf{z}_{t},\textbf{u}_{t}). For optimal control compatibility, we enforce z^t+1=fROM(zt,ut)\widehat{\textbf{z}}_{t+1}=f^{\textrm{ROM}}(\textbf{z}_{t},\textbf{u}_{t}) as a linear dynamic form based on Koopman theory [30]:

z^t+1=Azt+But\displaystyle\widehat{\textbf{z}}_{t+1}=A\textbf{z}_{t}+B\textbf{u}_{t} (8)

where Anz×nzA\in\mathbb{R}^{n_{z}\times n_{z}} Bnz×2NB\in\mathbb{R}^{n_{z}\times 2N} are two global linearization matrices whose parameters are optimized during training along with the neural network parameters. Note that while the dynamics operate on the reduced-order space, it takes untransformed controls into account. The hat symbol \wedge of z^t+1\widehat{\textbf{z}}_{t+1} denotes the predicted latent states derived from fROMf^{\textrm{ROM}}, distinguished from zt+1\textbf{z}_{t+1} derived directly from encoder ϕen(xt+1)\phi^{\textrm{en}}(\textbf{x}_{t+1}). Reconstruction of the full state from zt\textbf{z}_{t} is performed by passing zt\textbf{z}_{t} through the decoder network φde(zt)\varphi^{\textrm{de}}(\textbf{z}_{t}).

The purpose of the dynamic autoencoder is to map the high-dimensional nonlinear system (6) to a low-dimensional linear system (8). Koopman theory proves that a nonlinear system can be mapped to an infinite-dimensional linear system through the transformation of system states [30], and that the infinite-dimensional linear system can be reduced to a finite-dimensional system if the Koopman invariant subspace is found [30]. This gives the rationality of the system mapping in this paper. Besides, previous researches have observed the fact that the dominant dynamics of spatial-temporal flow data always evolve in a low-rank subspaces spanned by a few spatial coordinates [19, 27]. So a linear low dimension system is potential to capture the dominant dynamics of the high dimensional CFD model. However, there are no analytical methods to directly derive such model reduction [19]. The challenge of identifying and representing Koopman invariant subspace provides motivation for the use of deep learning methods for the powerful learning ability. [28] and [31] have shown previous success of finding Koopman invariant subspace through deep learning. In the proposed architecture, we enforce the encoder and decoder to extract reduced-order states that evolve linearly in time constrained by (8), attempting to obtain a finite-dimensional approximation of the Koopman operator. The encoder and decoder are the approximations of observable functions that span a Koopman invariant subspace.

The complete loss functions used in training the dynamic autoencoder can be divided into three parts corresponding to the three high-level requirements for the network. The reconstruction accuracy of the autoencoder is achieved using the following loss:

recon=xtφde(ϕen(xt))F2\displaystyle\mathcal{L}_{\textrm{recon}}=\|\textbf{x}_{t}-\varphi^{\textrm{de}}(\phi^{\textrm{en}}(\textbf{x}_{t}))\|^{2}_{F} (9)

where F\|\cdot\|_{F} represents the Frobenius norm, i.e. square root of the sum of squares of all entries in a tensor, similar to the 22-norm of a vector. The main purpose of recon\mathcal{L}_{\textrm{recon}} is to extract the latent states from the high-dimensional data through the encoder and decoder architecture. Thus states at the same time step are utilized to formulate the reconstruction error.

The linear dynamics in WF ROM are constrained through the following loss functions. We enforce that z^t+m\widehat{\textbf{z}}_{t+m} predicted by the reduced-order state equation (8) to be consistent with zt+m\textbf{z}_{t+m} derived from encoding ϕen(xt+m)\phi^{\textrm{en}}(\textbf{x}_{t+m}):

lin=m=1Spz^t+mzt+m22\displaystyle\mathcal{L}_{\textrm{lin}}=\sum\nolimits_{m=1}^{S_{\mathrm{p}}}\|\widehat{\textbf{z}}_{t+m}-\textbf{z}_{t+m}\|^{2}_{2} (10)

where SpS_{\mathrm{p}} is a hyperparameter for how many steps to check in the loss function. z^t+m\widehat{\textbf{z}}_{t+m} is derived from evolving zt\textbf{z}_{t} through the dynamic equation (8) mm steps forward in time.

To enable optimal control in ROM, accurate future state prediction is necessary. To this end, the state equation must capture accurate dynamic relations between control inputs and reduced-order states. This requirement is reflected through the following loss:

pre=m=1Spxt+mφde(z^t+m)F2\displaystyle\mathcal{L}_{\textrm{pre}}=\sum\nolimits_{m=1}^{S_{\mathrm{p}}}\|\textbf{x}_{t+m}-\varphi^{\textrm{de}}(\widehat{\textbf{z}}_{t+m})\|^{2}_{F} (11)

The overall loss function to train the dynamic autoencoder is the sum of the above three parts:

=recon+βpre+αlin\displaystyle\mathcal{L}=\mathcal{L}_{\textrm{recon}}+\beta\mathcal{L}_{\textrm{pre}}+\alpha\mathcal{L}_{\textrm{lin}} (12)

We apply L2L_{2} regularization to the network parameters. The weights α\alpha and β\beta are hyperparameters to combine the three losses. The overall flowchart of the training is illustrated in Fig. 2. The encoder consists of the widely used CNN structure, ResNet convolutional layers [32], while the decoder inverts all operations performed by the encoder. The detailed network parameters are elaborated in Section 5.1.

Refer to caption
Figure 2: Data flow in the training procedure of the dynamic autoencoder. In practice, z^\widehat{\textbf{z}} is evolved through (8) repeatedly to calculate pre\mathcal{L}_{\textrm{pre}} and lin\mathcal{L}_{\textrm{lin}}.

A sketch of the data flow in the training procedure is shown in Fig. 2. In practice, zt\textbf{z}_{t} is evolved through the linear dynamic equation (8) SpS_{p} steps forward in time to calculate pre\mathcal{L}_{\textrm{pre}} and lin\mathcal{L}_{\textrm{lin}}. To learn a reduced order system for optimal control application, the three parts of the loss function are integral and necessary. Minimizing recon\mathcal{L}_{\textrm{recon}} enforces the mapping is invertible so that the dimension reduction is valid, which is the typical loss function for a standard autoencoder. Minimizing pre\mathcal{L}_{\textrm{pre}} enforces that the derived dynamic system can accurately simulate the time evolution of original CFD model. Minimizing lin\mathcal{L}_{\textrm{lin}} enforces the latent state uniqueness. Without enforcing the consistency between z^t+m\widehat{\textbf{z}}_{t+m} and zt+m\textbf{z}_{t+m}, (8) may produce a latent state from which reconstruction of x is possible but that is not a valid encoding (i.e. the corresponding latent state derived by the encoder).

In the proposed dynamic autoencoder, the parameters of the matrix A and B are trained with the encoder and decoder parameters by minimizing the loss function (12). The state reconstruction and system dynamics are simultaneously considered in the training procedure. Because the latent states for purely reconstruction can not cover important system dynamic information [19] [28], such integration is necessary for the model reduction of dynamic systems.

3.3 Reduced-Order WF Power Output Equation

To control the WF dynamic power production based on WF ROM, the power output equation in the reduced-order space, Pt=fpow(zt,ut)\textbf{P}_{t}=f^{\textrm{pow}}(\textbf{z}_{t},\textbf{u}_{t}), is required to be identified in the form that can be incorporated into optimal control. The reduced-order states [z1,,zT][\textbf{z}_{1},\ldots,\textbf{z}_{T}] derived from the trained encoder, control inputs [u1,,uT][\textbf{u}_{1},\ldots,\textbf{u}_{T}] and corresponding wind farm power productions [P1,,PT][\textbf{P}_{1},\ldots,\textbf{P}_{T}] are used as the training data set.

Note that although this output relation is straightforward because no dynamics exist, it needs to fulfill the control compatibility requirement. Directly applying the nonlinear output equation in control implementation will cause great difficulty for optimization [20]. We circumvent this problem by imposing a locally linear form on this output equation in the training process:

Pt=Ctzt+Dtut+ot\displaystyle\textbf{P}_{t}=C_{t}\textbf{z}_{t}+D_{t}\textbf{u}_{t}+o_{t} (13)

where CtN×nzC_{t}\in\mathbb{R}^{N\times n_{z}}, DtN×2ND_{t}\in\mathbb{R}^{N\times 2N} are local Jacobians, and otNo_{t}\in\mathbb{R}^{N} is the offset. These matrices Ct,DtC_{t},D_{t} and oto_{t} formulate the local linearization of the nonlinear output equation and are determined at each time step as functions of the current reduced-order states and control inputs.

Therefore, instead of directly learning the output equation, a separate neural network is designed to learn the linearization matrices, as shown in Fig. 3. This neural network is a fully-connected one and maps from the current reduced-order states and control inputs (z¯t,u¯t)(\overline{\textbf{z}}_{t},\overline{\textbf{u}}_{t}) to the corresponding local linearization matrices. We denote this neural network as [Ct,Dt,ot]=Ψ(z¯t,u¯t)[C_{t},D_{t},o_{t}]=\Psi(\overline{\textbf{z}}_{t},\overline{\textbf{u}}_{t}). To ensure the accuracy of the local linearization, in the training process, both (z¯t,u¯t)(\overline{\textbf{z}}_{t},\overline{\textbf{u}}_{t}) and its neighborhood point (zt,ut)(\textbf{z}_{t},\textbf{u}_{t}) are required. To this end, we adds a random noise of small amplitude to the original (zt,ut)(\textbf{z}_{t},\textbf{u}_{t}) in the training data set to generate (z¯t,u¯t)(\overline{\textbf{z}}_{t},\overline{\textbf{u}}_{t}). (z¯t,u¯t)=(zt,ut)+𝒩(0,ϵ)(\overline{\textbf{z}}_{t},\overline{\textbf{u}}_{t})=(\textbf{z}_{t},\textbf{u}_{t})+\mathcal{N}(0,\epsilon). Then, the loss function for training Ψ\Psi is as follows:

pow=PtC(z¯t,u¯t)zt+D(z¯t,u¯t)ut+o(z¯t,u¯t)22\displaystyle\mathcal{L}_{\mathrm{pow}}=\|\textbf{P}_{t}-C(\overline{\textbf{z}}_{t},\overline{\textbf{u}}_{t})\textbf{z}_{t}+D(\overline{\textbf{z}}_{t},\overline{\textbf{u}}_{t})\textbf{u}_{t}+o(\overline{\textbf{z}}_{t},\overline{\textbf{u}}_{t})\|^{2}_{2} (14)

After training, the local linearization matrices can be directly derived through Ψ\Psi. In this way, in the optimal control algorithm, the locally linear form (13) can be readily formulated based on the derived linearization matrices.

Refer to caption
Figure 3: Schematic of Ψ()\Psi(\cdot) to train the local linearization matrices.

Through training the proposed two networks, the reduced-order state equation, Eq. (8), and the power output equation, Eq. (13), can be finally derived and compose the WF ROM.

4 The Control Framework Formulation

When the training is done, the obtained WF ROM can be used for online control applications. In this section, a novel control algorithm is introduced so that the WF can optimally control its dynamic power production to track the power reference given by the power system. The control framework explicitly incorporates the WF ROM to solve the optimal control problem efficiently.

Refer to caption
Figure 4: Overall scheme of the proposed deep learning-aided WF MPC.

The overall WF control framework is shown in Fig. 4. At each control period, the current full-state WF snapshot xt\textbf{x}_{t} can be observed from CFD simulators or the wind farm field radar observer [33, 34]. Then, the current reduced-order state zt\textbf{z}_{t} is derived by passing xt\textbf{x}_{t} through the trained encoder ϕen(xt)\phi^{\textrm{en}}(\textbf{x}_{t}). The reduced-order dynamic equation (8) is globally linear. The power equation is nonlinear, but its locally linear formulation has been learned by (13). Based on the current state zt\textbf{z}_{t}, the optimal control problem on the learned WF ROM gives us a locally linear quadratic formulation. After the optimal control trajectory is found, the first TaT_{a} control steps are applied to the WF to follow the power reference. When new system states are observed after TaT_{a} time, a new control sequence can be found by repeating this procedure using the last derived control trajectory as initialization.

After the completion of training in Section 3, the optimal control is conducted with the derived WF ROM independently from CFD simulation. The optimization is performed entirely in the reduced-order space. Thus, the control complexity and the computational burden is greatly reduced compared to directly controlling the full-order system. The detailed control algorithm is elaborated in Algorithm 1.

At each iteration jj in Algorithm 1, the quadratic optimization problem 𝒫tj\mathcal{P}_{t}^{j} is formulated as follows:

min𝒰t:t+Tpjk=tt+Tp[(PkrefPkWF)TQ(PkrefPkWF)+(ukjuk1j)TR(ukjuk1j)],\displaystyle\min\limits_{{\mathcal{U}}_{t:t+T_{\mathrm{p}}}^{j}}\sum_{k=t}^{t+T_{\mathrm{p}}}[(P^{\mathrm{ref}}_{k}-P^{\textrm{WF}}_{k})^{\textrm{T}}Q(P^{\mathrm{ref}}_{k}-P^{\textrm{WF}}_{k})+(\textbf{u}_{k}^{j}-\textbf{u}_{k-1}^{j})^{\textrm{T}}R(\textbf{u}_{k}^{j}-\textbf{u}_{k-1}^{j})], (15)
s.t.:zk+1=Azk+Bukj,k=t,,t+Tp,\displaystyle\text{s.t.:}\hskip 15.0pt\textbf{z}_{k+1}=A\textbf{z}_{k}+B\textbf{u}_{k}^{j},\hskip 30.0ptk=t,\ldots,t+T_{\mathrm{p}},\hskip 50.0pt (16)
Pk=C(zkj1,ukj1)zk+D(zkj1,ukj1)ukj+o(zkj1,ukj1),k=t,,t+Tp,\displaystyle\textbf{P}_{k}=C(\textbf{z}_{k}^{j-1},\textbf{u}_{k}^{j-1})\textbf{z}_{k}+D(\textbf{z}_{k}^{j-1},\textbf{u}_{k}^{j-1})\textbf{u}_{k}^{j}+o(\textbf{z}_{k}^{j-1},\textbf{u}_{k}^{j-1}),\hskip 10.0ptk=t,\ldots,t+T_{\mathrm{p}}, (17)
uminukjumax,k=t,,t+Tp,\displaystyle\textbf{u}^{\textrm{min}}\leq\textbf{u}_{k}^{j}\leq\textbf{u}^{\textrm{max}},\hskip 30.0ptk=t,\ldots,t+T_{\mathrm{p}},\hskip 50.0pt (18)
umaxukjuk1jumax,k=t,,t+Tp,\displaystyle-\triangle\textbf{u}^{\textrm{max}}\leq\textbf{u}_{k}^{j}-\textbf{u}_{k-1}^{j}\leq\triangle\textbf{u}^{\textrm{max}},\hskip 15.0ptk=t,\ldots,t+T_{\mathrm{p}},\hskip 35.0pt (19)
ukj1εukjukj1+ε,k=t,,t+Tp,\displaystyle\textbf{u}_{k}^{j-1}-\varepsilon\leq\textbf{u}_{k}^{j}\leq\textbf{u}_{k}^{j-1}+\varepsilon,\hskip 15.0ptk=t,\ldots,t+T_{\mathrm{p}},\hskip 45.0pt (20)

where the subscript kk represents the time step, and tt represents the current time step. jj is the iteration number in Algorithm 1. TpT_{p} denotes the prediction horizon. The decision variable 𝒰t:t+Tpj\mathcal{U}_{t:t+T_{p}}^{j} is an aggregated vector of the time series of control inputs over the prediction horizon:

𝒰t:t+Tpj=def[utj,ut+1j,,ut+Tpj]\displaystyle\mathcal{U}_{t:t+T_{p}}^{j}\overset{\textrm{def}}{=}[\textbf{u}_{t}^{j},\hskip 5.0pt\textbf{u}_{t+1}^{j},\hskip 5.0pt\ldots,\hskip 5.0pt\textbf{u}_{t+T_{p}}^{j}] (21)

The objective function (15) tries to find a distribution of control signals among the turbines such that the tracking error and dynamical input variation are minimized. The first part minimizes the deviation between the power reference PrefP^{\textrm{ref}} and the WF power production PWFP^{\textrm{WF}} to enable the WF to provide AGC service. PkWF=i=1NPkiP^{\textrm{WF}}_{k}=\sum_{i=1}^{N}P^{i}_{k}. The second part penalizes control actuator costs to prevent oscillations in the input commands. QQ and RR are corresponding weighting matrices.

The constraints (16) and (17) derived from Section 3 describe the WF ROM. The dynamic equation (16) is linear. The power equation (17) is also linear at each time step once [Ck,Dk,ok][C_{k},D_{k},o_{k}] are determined. Even though varying over the prediction horizon, they are essentially constant matrices unrelated to the decision variable. These local linearization matrices are determined by the last state and control trajectory of (zkj1,ukj1)(\textbf{z}_{k}^{j-1},\textbf{u}_{k}^{j-1}) through the second trained DNN Ψ()\Psi(\cdot) in Fig. 3. The last state and control trajectory are derived by evolving the initial latent state zt\textbf{z}_{t} through the learned dynamic equation (8) based on the last optimization control trajectory 𝒰t:t+Tj1\mathcal{U}_{t:t+T}^{j-1} calculated by solving 𝒫tj1\mathcal{P}_{t}^{j-1} at last iteration.

The constraints (18) and (19) ensure a feasible region of a practical WF control signal, including the upper and lower bounds, and the ramping restrictions. The constraint (20) enforces that the decision control trajectory [utjut+Tpj][\textbf{u}_{t}^{j}\ldots\textbf{u}_{t+T_{p}}^{j}] is close to the last optimization results [utj1ut+Tpj1][\textbf{u}_{t}^{j-1}\ldots\textbf{u}_{t+T_{p}}^{j-1}] to ensure the accuracy of the locally linear power equation (17). ε\varepsilon is a small number. Without this constraint, the calculated control trajectory may be far from the one used to determine the local linearization matrices in (17), and its accuracy may be affected. The increased error of constraint (17) deteriorates the convergence of Algorithm 1.

A computational complexity analysis of the optimization is also provided. The main computation effort is to solve the optimization problem. If directly controlling the CFD model based on adjoint method, in each iteration, the time complexity for evaluating the derivatives of the objective function to control variables is O(nx3)O(n_{x}^{3}) by CFD simulation [14, 18], where nxn_{x} is the number of CFD model states. For the proposed method, in each iteration of Algorithm 1, the complexity for evaluating the derivatives is approximately O(nz2+nznu)O(n_{z}^{2}+n_{z}n_{u}), where nun_{u} is the number of control inputs and nzn_{z} is the number of ROM states. Because the linear system and the local linearization matrixes in (16) and (17) are already obtained from the trained networks, no matrix inverse is required to evaluate the derivatives and the corresponding complexity is thus square. Because nz,nunxn_{z},n_{u}\ll n_{x}, the complexity is reduced by the formulation of WF ROM.

Algorithm 1 Deep Learning-Aided MPC for WF control

Input: Current full-order WF state xt\textbf{x}_{t}. Last optimal control trajectory 𝒰(t1):(t1)+Tp\mathcal{U}_{(t-1):(t-1)+T_{\mathrm{p}}}^{\ast}. Error tolerance ζ\zeta
Output: The optimal control trajectory 𝒰t:t+Tp\mathcal{U}_{t:t+T_{\mathrm{p}}}^{\ast}

1:Initialization: Pass xt\textbf{x}_{t} through the encoder ϕen\phi^{\textrm{en}} to obtain zt\textbf{z}_{t}. Initialize the control trajectory 𝒰t:t+Tp0=𝒰(t1):(t1)+Tp\mathcal{U}_{t:t+T_{\mathrm{p}}}^{0}=\mathcal{U}_{(t-1):(t-1)+T_{\mathrm{p}}}^{\ast}. Initialize j=0j=0.
2:repeat
3:     jj+1j\leftarrow j+1
4:     for k=tk=t to t+Tpt+T_{p} do
5:         Obtain the coefficient matrices Ck,Dk,okC_{k},D_{k},o_{k} from the trained network Ψ\Psi with zk\textbf{z}_{k} and ukj1\textbf{u}_{k}^{j-1}.
6:         Evolving zk\textbf{z}_{k} forward in time through the reduced-order dynamic equation (9) with ukj1\textbf{u}_{k}^{j-1}.      
7:     end for
8:     Solve the quadratic programming problem 𝒫tj\mathcal{P}_{t}^{j} (15)-(20), obtain optimized control trajectory 𝒰t:t+Tj\mathcal{U}_{t:t+T}^{j}
9:until (𝒰t:t+Tpj𝒰t:t+Tpj1<ζ\|\mathcal{U}_{t:t+T_{\mathrm{p}}}^{j}-\mathcal{U}_{t:t+T_{\mathrm{p}}}^{j-1}\|<\zeta)
10:return the optimal control trajectory 𝒰t:t+Tp\mathcal{U}_{t:t+T_{\mathrm{p}}}^{\ast}
11:Apply the first TaT_{a} control actions 𝒰t:t+Ta\mathcal{U}_{t:t+T_{\mathrm{a}}}^{\ast} to the real WF

5 Case Study

In this section, we verify the performance of the proposed deep learning-aided MPC. The WF simulation is based on the NS equation-based open-source simulator WFSim developed by the Delft University of Technology [16]. WFSim has been widely employed in WF studies [5, 35, 36]. Its accuracy have been validated by previous studies [16] [18]. For simulator validation, readers are referred to previous studies [16] and [18] which have demonstrated that WFSim is able to capture the dominant dynamics of the WF wakes. We also further validate its accuracy based on realistic measurement data of Garrad Hassan, which can be found online111The data and validation description has been uploaded to https://github.com/kkxchen/WF-deep-learning-aided-MPC-supplementary-material for easy access. The DNN is constructed in the Python environment utilizing the TensorFlow framework.

5.1 Case Settings

A layout of a 3×33\times 3 WF is considered and simulated with WFSim. The typical NREL 5 MW Type III WT is assumed to be installed.

The rotor diameter D =126=126 m [37]. WTs have 5D spacing in the streamwise direction and 3D in the spanwise direction. The simulation parameters are set as follows [16, 14]. The air density ρ=1.2kg/m3\rho=1.2\textrm{kg}/\textrm{m}^{3}. The upper and lower bound of the thrust coefficient are set as 0.1CT20.1\leq C_{T}^{\prime}\leq 2. The value for CTmax=2C_{T}^{\prime\textrm{max}}=2 corresponds to the Betz-optimal value. CTmin=0.1C_{T}^{\prime\textrm{min}}=0.1 indicating that we do not allow turbines to shut down completely. The turbine electrical dynamics whose time scale is in millisecond are not considered in this study, which is common practice in WF level researches [5]. The ramping limit CTmax\triangle C_{T}^{\prime\textrm{max}} is 0.2/s0.2/\textrm{s} such that turbines can not de- and uprate instantaneously. The control limits for yaw angles are as follows. 25oγ25o-25^{\textrm{o}}\leq\gamma\leq 25^{\textrm{o}}. γmax=0.3o/s\triangle\gamma^{\textrm{max}}=0.3^{\textrm{o}}/\textrm{s}. In the simulation, the simulated wind field is 2520×1560m22520\times 1560\textrm{m}^{2}, with a grid of 100×55100\times 55 cells (Nx×NyN_{x}\times N_{y}). The corresponding cell size of the discretization is 25.2m×28m25.2m\times 28m. The sample period is 1 s. The incoming wind speed in the experiment is 10m/s10\textrm{m}/\textrm{s}. The wake-loss-heavy situation is studied when the wind direction aligns with the row of turbines.

Analogous to frequency sweeps in system identification [31], we excite the system with sinusoidal control inputs with random frequencies during simulation to generate data. Every 500 s of simulation, the control input frequencies of all turbines are altered and randomly selected. Time snapshots of the current xt\textbf{x}_{t}, ut\textbf{u}_{t} and Pt\textbf{P}_{t} are stored every one second of simulation. In total, the training set contains 10510^{5} sequential snapshots of the dynamic WF simulations. To test the generalization ability of the trained models, the validation data set contains 5000 samples generated in the same way.

Table 1: Network Structure of the Encoder
Block name Output size Layer parameters
Res Block.1 50×2850\times 28 [1×1,643×3,641×1,256]×3\left[\begin{smallmatrix}1\times 1,64\\ 3\times 3,64\\ 1\times 1,256\end{smallmatrix}\right]\times 3
Res Block.2 25×1425\times 14 [1×1,1283×3,1281×1,512]×3\left[\begin{smallmatrix}1\times 1,128\\ 3\times 3,128\\ 1\times 1,512\end{smallmatrix}\right]\times 3
Res Block.3 13×713\times 7 [1×1,2563×3,2561×1,1024]×3\left[\begin{smallmatrix}1\times 1,256\\ 3\times 3,256\\ 1\times 1,1024\end{smallmatrix}\right]\times 3
Dense nz=20n_{z}=20 3fully connectedlayers2000,1200,500\begin{smallmatrix}3\hskip 2.0pt\textrm{fully}\hskip 2.0pt\textrm{ connected}\hskip 2.0pt\textrm{layers}\\ 2000,1200,500\end{smallmatrix}

For the dynamic autoencoder, the WF full-state dimension is 100×55×2100\times 55\times 2, i.e. 11000. The reduced-order space dimension nzn_{z} is set to 20. The architecture of the encoder is shown in Table 1. The widely used CNN structure, residual convolutional blocks [32], with ReLU activations construct the encoder. The decoder inverts all operations performed by the encoder. For the loss function, Sp=50S_{p}=50. α=300\alpha=300 and β=1/Sp\beta=1/S_{p} are set to balance the three losses so that they are at about the same order of magnitude.

5.2 Test of the Accuracy of the Learned WF ROM

We compare the prediction accuracy of the proposed DNN method with the mainstream classic model reduction method, dynamic mode decomposition with control (DMDc) method. The DMDc method has been recently used to construct the WF ROM by [27, 38]. DMDc tries to devise a low-rank linear system that best approximates the system dynamics. DMD is based on singular value decomposition (SVD) to derive the interpretable modes that characterize spatiotemporal flow data. The dimension reduction is done by a linear projection to the modes provided by SVD. To test the prediction accuracy, WF ROMs derived from the DMDc and DNN approaches are used to predict the future state and power production trajectories. Then, the predicted trajectories are tested against the WFSim simulation results.

Refer to caption

(a) relative error in the training set

Refer to caption

(b) relative error in the test set

Figure 5: Relative power prediction error. Solid lines represent the mean prediction error across 300 tests, while the shaded regions correspond to one standard deviation about the mean.

300 tests are conducted for each method with a power prediction of 400 time steps forward in each test. Fig. 5 shows the relative error against the full-order WFSim simulation both in the training data set and testing data set. Solid lines represent the mean prediction error across 300 tests, while the shaded regions correspond to one standard deviation about the mean. Both DMDc and the proposed DNN obtain a good accuracy for reconstructing the already observed time evolution in the training data set. However, the DMDc performance degrades considerably in predicting the test data. This occurs because the linear nature of DMDc limits its generalization ability. Besides, SVD encounters difficulty in handling multiscale spatial features [19]. In fact, DMDc can be viewed as a simplified autoencoder with a single unactivated fully connected layer as the encoder. In contrast, the proposed DNN is able to generate stable predictions even in the test data. Its relative error of power prediction remains less than 0.10.1. The CNN inherently handles spatial features and the deep autoencoder provides nonlinear coordinations.

The field visualization of streamwise velocity at a snapshot is shown in Fig. 6. The top figure is simulated by the NS-based WFSim. The middle one is predicted and reconstructed by the trained dynamic autoencoder. The bottom is the difference between the two images. In the entire training data set, the mean absolute reconstruction error of the whole 100×55100\times 55 wind velocity field is 0.3m/s0.3\textrm{m}/\textrm{s} with the average relative error of 3.26%3.26\% and maximal relative error of 9.02%9.02\%. In the test data set, the mean reconstruction error is 0.69m/s0.69\textrm{m}/\textrm{s} with the average relative error of 6.41%6.41\%. The results show the errors are much less than the simulated ground truth.

Refer to caption
Figure 6: Comparison of wind velocity field snapshots by WFSim simulation and dynamic autoencoder prediction.

5.3 Deep Learning-Aided MPC Performance

The widely used proportional distribution (ProD) in current studies is illustrated as the benchmark [12, 13]. At each control step, each turbine estimates its available power capabilities based on the measured wind velocity and sends it to the WF controller. Then, the total power demand is distributed proportionally to the available power capabilities of each turbine [12]. No wake interaction is considered. The greedy power PgreedyP_{\textrm{greedy}} is defined as the time-averaged WF power production with local greedy settings, where CT=2C_{T}^{\prime}=2 and γ=0o\gamma=0^{\textrm{o}} for all turbines in the WF [39]. PgreedyP_{\textrm{greedy}} is considered as the maximal trackable power by previous WF control schemes that do not consider the wake effect, such as ProD [12, 13].

The commonly used power reference signal for standard AGC qualification, the RegD signal coming from the Pennsylvania, New Jersey, Maryland (PJM) electric market [40], is applied to test the control performance, as shown in Fig. 7. Two different scenarios are evaluated. For the top figure case, the time-varying power reference is set to Ptref=Pgreedy(0.7+0.3ntAGC)P^{\textrm{ref}}_{t}=P_{\textrm{greedy}}(0.7+0.3*n_{t}^{\textrm{AGC}}). ntAGCn_{t}^{\textrm{AGC}} is the RegD test signal that is normalized to ±1\pm 1. Therefore, this power reference will never exceed PgreedyP_{\textrm{greedy}}. For the bottom figure case, the power reference is Ptref=Pgreedy(0.9+0.6ntAGC)P^{\textrm{ref}}_{t}=P_{\textrm{greedy}}(0.9+0.6*n_{t}^{\textrm{AGC}}). For a period, more power is demanded than PgreedyP_{\textrm{greedy}}.

As shown in Fig. 7, if the power reference is lower than PgreedyP_{\textrm{greedy}}, ProD can provide great tracking performance without considering the wake interaction. However, ProD fails when the power reference is higher. Interestingly, as shown in Fig. 7 (b), from t=320t=320 s to t=370t=370 s, the WF power produces more than PgreedyP_{\textrm{greedy}} with ProD control, which occurs because wakes of upstream turbines are not yet fully developed. When the wake arrives at downstream turbines, the available wind power decreases and the power production converges to PgreedyP_{\textrm{greedy}} from t=370t=370 s to t=600t=600 s.

Refer to caption
Figure 7: WF power tracking performance.

In contrast, power tracking can be ensured in both cases by the proposed deep learning-aided MPC. The power regulation capacity is increased compared to ProD. This occurs because the proposed MPC can take into consideration the dynamic wake interactions among WTs in a time horizon TpT_{p}. If TpT_{p} is long enough to cover the wake propagation time within the given WF, MPC can coordinate each turbine operation dynamically to increase the power production capacity while maintaining the power tracking performance. For this case, the prediction horizon Tp=250T_{p}=250s, the receding horizon Ta=30T_{a}=30s. ε=0.02\varepsilon=0.02.

Refer to caption
Figure 8: Instantaneous streamwise flow velocity snapshot at t=600st=600s.
Refer to caption
Figure 9: Wind speed profile at t=600st=600s for the line of y=400my=400m.
Refer to caption
Figure 10: Turbine power production controlled by MPC and ProD.

Fig. 8 and 10 further depict the coordinated operation of different turbines for the Fig. 7 (b) case. The yaw angles from upstream to downstream turbines gradually swing to 25o25^{\textrm{o}}, 16.3o16.3^{\textrm{o}} and 0o0^{\textrm{o}} by the proposed MPC. As shown in Fig. 8, the upstream turbines purposely yaw to deflect the wake so that it will not at all or partially overlap the downwind turbines and more power can be harvested. The detailed wind speed profile is shown in Fig. 9. The instantaneous wind speed at t=600st=600s on the dashed line of y=400my=400\textrm{m} in Fig. 8 is plotted. By coordinating WF operation, the wind speed faced by downstream turbines in the MPC case is higher compared to the ProD case. Fig. 10 additionally depicts the individual turbine power. The power production of individual WTs is adjusted dynamically by the WF controller to track the power reference. In both cases, the upstream turbine produces the most power since the wind speed in front of these turbines is the highest. Furthermore, it is proven that more power can be harvested by the downstream WTs in the MPC case.

Through the proposed WF ROM and MPC framework, the trackable power signal range increases to the maximal power extraction of the WF when it operates at its global optimal point considering wake interactions. For the considered 9-turbine WF, the range of trackable AGC signals is improved by 50%50\% compared with traditional ProD control.

With the reduction of system state dimensions, the WF ROM is computational efficient for control applications. On a 3.0 GHz Intel Core with i9 processor, for the 9-turbine WF case, the averaged computation time per simulation time step of WFSim is 167 ms. On the other hand, for the WF ROM with 20 states, the computation time for one time step is only 0.452 ms, which is around 0.3%0.3\% of the time taken by WFSim. For optimally controlling the WF ROM with the prediction horizon Tp=250sT_{p}=250s, each optimization iteration in Algorithm 1 takes approximately 0.48 s with the CVXOPT toolbox in Python. This speed is orders of magnitude faster than optimal control directly applied to the full-order system, witch takes approximately 133 s per iteration [18].

5.4 25-turbine WF Example

A larger WF is further studied with 25 turbines that have 6D spacing in the streamwise direction and 4D in the spanwise direction, as shown in Fig. 11. To our best knowledge, this is the largest WF case in WF control studies considering the dynamic wake effects. For even larger wind farms, wind farm partitioning methods can be exploited to split the wind farm into smaller parts [41], and the proposed methods can be applied on individual ones. Furthermore, the performance of the deep learning-aided MPC is evaluated with a varying incoming wind speed. The incoming wind speed is shown in Fig. 12, which is a period of realistic measurement data in Denmark and is applied to the west boundary of x=0mx=0\textrm{m} as inflow boundary condition. The file of case settings and the wind speed measurement data are also provided online222The data has been uploaded to https://github.com/kkxchen/WF-deep-learning-aided-MPC-supplementary-material for easy access .

Refer to caption
Figure 11: Instantaneous streamwise velocity at t=600st=600s for 25-turbine WF

In this simulation, the simulated wind field is 3500×2416m23500\times 2416\textrm{m}^{2}, with a grid of 100×82100\times 82 cells (Nx×NyN_{x}\times N_{y}). The corresponding cell size of the discretization is 35m×30m35m\times 30m. The position of first turbine at the left bottom is (250m,200m). A flow field is first generated with the uniform wind speeds of 10 m/s in the longitudinal direction. Then, for the considered topology, the flow is propagated 400 seconds in advance with the greedy control of all turbines so that the wakes are fully developed. The flow field obtained after the initialization is utilized as the initial flow field for the simulation results presented in this work. In this experiment, the network architecture of the encoder is shown in Table 2.

Table 2: Network Structure of the Encoder in the 25-WT Case
Block name Output size Layer parameters
Res Block.1 50×4150\times 41 [1×1,643×3,641×1,256]×3\left[\begin{smallmatrix}1\times 1,64\\ 3\times 3,64\\ 1\times 1,256\end{smallmatrix}\right]\times 3
Res Block.2 25×2125\times 21 [1×1,1283×3,1281×1,512]×3\left[\begin{smallmatrix}1\times 1,128\\ 3\times 3,128\\ 1\times 1,512\end{smallmatrix}\right]\times 3
Res Block.3 13×1113\times 11 [1×1,2563×3,2561×1,1024]×3\left[\begin{smallmatrix}1\times 1,256\\ 3\times 3,256\\ 1\times 1,1024\end{smallmatrix}\right]\times 3
Dense nz=50n_{z}=50 4fully connectedlayers4000,2000,1200,500\begin{smallmatrix}4\hskip 2.0pt\textrm{fully}\hskip 2.0pt\textrm{ connected}\hskip 2.0pt\textrm{layers}\\ 4000,2000,1200,500\end{smallmatrix}
Refer to caption
Figure 12: Varying inflow wind speed.

The control performance of the proposed method under the varying inflow case is shown in Fig. 13. Through the proposed framework, the complex flow dynamics can be considered in the optimal control efficiently. Compared to the greedy operation, the trackable power signal range is improved by 68%68\% in this case. Besides, the feedback mechanism of MPC makes the proposed control method robust to the incoming wind variation. At every TaT_{a} time, the current wind field full states are observed and fed back to the controller. The ROM prediction error for the wind field introduced by incoming speed turbulence is thus corrected.

For the 25-turbine WF case, the averaged computation time per simulation time step of WFSim is 210 ms. For the derived WF ROM with 50 states, the computation time per time step is only 1.21 ms. To optimally control the WF ROM with the proposed deep learning-aided MPC, the averaged computational cost is only 1.3 s per iteration in Algorithm 1.

Refer to caption
Figure 13: WF power tracking performance for the 25-turbine WF.

6 Conclusion

In this paper, a novel control-oriented WF reduced-order dynamic model is constructed by two specially designed DNN architectures. The original input-output relation is well preserved with good approximation accuracy in the whole control feasible region, while the number of system states is reduced by many orders of magnitude. Besides, a novel deep learning-aided MPC algorithm is proposed to optimally control the learned WF ROM, whose computational advantages are analyzed both theoretically and experimentally. The range of trackable dynamic power production increases to the WF maximal power extraction considering wake interactions. Under the wake-loss-heavy situation, the possible power range that can be tracked in the dynamic operation is improved by 50%50\% in a 9-turbine WF compared with traditional ProD control, agreeing well with the studies in the literature [5, 14]. A larger WF with 25 turbines is also studied, showing that the proposed method can obtain similar improvements even in the condition when the incoming wind speed is disturbed.

Future work may include applying this novel method in more complex control objectives like reducing wind turbine loads. Another direction is to incorporate the three-dimensional wake dynamics in the proposed models and control algorithm.

References

References

  • [1] P. Veers, K. Dykes, E. Lantz, S. Barth, C. L. Bottasso, O. Carlson, A. Clifton, J. Green, P. Green, H. Holttinen, et al., Grand challenges in the science of wind energy, Science 366 (6464) (2019) eaau2027.
  • [2] J. Aho, P. Fleming, L. Y. Pao, Active power control of wind turbines for ancillary services: A comparison of pitch and torque control methodologies, in: 2016 American Control Conf. (ACC), IEEE, 2016, pp. 1407–1412.
  • [3] M. Kheshti, L. Ding, W. Bao, M. Yin, V. Terzija, Toward intelligent inertial frequency participation of wind farms for the grid frequency control, IEEE Transactions on Industrial Informatics 16 (2020) 6772–6787.
  • [4] C. R. Shapiro, P. Bauweraerts, J. Meyers, C. Meneveau, D. F. Gayme, Model-based receding horizon control of wind farms for secondary frequency regulation, Wind Energy 20 (7) (2017) 1261–1275.
  • [5] S. Boersma, B. Doekemeijer, P. M. Gebraad, P. A. Fleming, J. Annoni, A. K. Scholbrock, J. Frederik, J.-W. van Wingerden, A tutorial on control-oriented modeling and control of wind farms, in: 2017 American Control Conf. (ACC), IEEE, 2017, pp. 1–18.
  • [6] Z. Yang, Y. Li, J. E. Seem, Multi-model predictive control for wind turbine operation under meandering wake of upstream turbines, Control Engineering Practice 45 (2015) 37–45.
  • [7] P. Fleming, J. Aho, P. Gebraad, L. Pao, Y. Zhang, Computational fluid dynamics simulation study of active power control in wind plants, in: 2016 American Control Conference (ACC), IEEE, 2016, pp. 1413–1420.
  • [8] F. Campagnolo, V. Petrović, C. L. Bottasso, A. Croce, Wind tunnel testing of wake control strategies, in: 2016 American Control Conf. (ACC), IEEE, 2016, pp. 513–518.
  • [9] P. Fleming, J. Annoni, J. J. Shah, L. Wang, S. Ananthan, Z. Zhang, K. Hutchings, P. Wang, W. Chen, L. Chen, Field test of wake steering at an offshore wind farm, Wind Energy Science Discussions 2 (NREL/JA-5000-67623).
  • [10] H. Zhao, J. Zhao, J. Qiu, G. Liang, Z. Dong, Cooperative wind farm control with deep reinforcement learning and knowledge assisted learning, IEEE Transactions on Industrial Informatics 16 (2020) 6912 – 6921.
  • [11] M. Vali, V. Petrović, G. Steinfeld, L. Y Pao, M. Kühn, An active power control approach for wake-induced load alleviation in a fully developed wind farm boundary layer, Wind Energy Science 4 (1) (2019) 139–161.
  • [12] P. Sørensen, A. D. Hansen, F. Iov, F. Blaabjerg, M. H. Donovan, Wind farm models and control strategies, Risø National Laboratory, DK-4000 Roskilde, Denmark, Risø.
  • [13] J.-W. van Wingerden, L. Pao, J. Aho, P. Fleming, Active power control of waked wind farms, IFAC-PapersOnLine 50 (1) (2017) 4484–4491.
  • [14] W. Munters, J. Meyers, Dynamic strategies for yaw and induction control of wind farms based on large-eddy simulation and optimization, Energies 11 (1) (2018) 177.
  • [15] J. Meyers, C. Meneveau, Large eddy simulations of large wind-turbine arrays in the atmospheric boundary layer, in: 48th AIAA Aerospace Sciences Meeting Including the New Horizons Forum and Aerospace Exposition, 2010, p. 827.
  • [16] S. Boersma, B. Doekemeijer, M. Vali, J. Meyers, J.-W. van Wingerden, A control-oriented dynamic wind farm model: WFSim, Wind Energy Science 3 (1) (2018) 75–95.
  • [17] G. Deskos, M. A. Abolghasemi, M. D. Piggott, Wake predictions from two turbine parametrisation models using mesh-optimisation techniques, in: Proc. 12th Eur. Wave Tidal Energy Conf, pp. 1–10.
  • [18] M. Vali, V. Petrović, S. Boersma, J.-W. van Wingerden, L. Y. Pao, M. Kühn, Adjoint-based model predictive control for optimal energy extraction in waked wind farms, Control Engineering Practice 84 (2019) 48–62.
  • [19] J. N. Kutz, Deep learning in fluid dynamics, Journal of Fluid Mechanics 814 (2017) 1–4.
  • [20] M. Watter, J. Springenberg, J. Boedecker, M. Riedmiller, Embed to control: A locally linear latent dynamics model for control from raw images, in: Advances in Neural Information Processing Syst., 2015, pp. 2746–2754.
  • [21] O. Hennigh, Lat-net: compressing lattice boltzmann flow simulations using deep neural networks, arXiv preprint arXiv:1705.09036.
  • [22] J. Zhang, X. Zhao, A novel dynamic wind farm wake model based on deep learning, Applied Energy 277 (2020) 115552.
  • [23] E. Terzi, T. Bonetti, D. Saccani, M. Farina, L. Fagiano, R. Scattolini, Learning-based predictive control of the cooling system of a large business centre, Control Engineering Practice 97 (2020) 104348.
  • [24] G. Guo, Y. Wang, An integrated mpc and deep reinforcement learning approach to trams-priority active signal control, Control Engineering Practice 110 (2021) 104758.
  • [25] R. Hedinger, N. Zsiga, M. Salazar, C. Onder, Model-based iterative learning control strategies for precise trajectory tracking in gasoline engines, Control Engineering Practice 87 (2019) 17–25.
  • [26] W. Munters, J. Meyers, An optimal control framework for dynamic induction control of wind farms and their interaction with the atmospheric boundary layer, Philosophical Trans. Royal Society A: Mathematical, Physical and Engineering Sciences 375 (2091) (2017) 20160100.
  • [27] J. Annoni, P. Seiler, A method to construct reduced-order parameter-varying models, Int. J. Robust and Nonlinear Control 27 (4) (2017) 582–597.
  • [28] B. Lusch, J. N. Kutz, S. L. Brunton, Deep learning for universal linear embeddings of nonlinear dynamics, Nature Communications 9 (1) (2018) 1–10.
  • [29] S. Gupta, R. Girshick, P. Arbeláez, J. Malik, Learning rich features from rgb-d images for object detection and segmentation, in: European Conf. Computer Vision, Springer, 2014, pp. 345–360.
  • [30] B. O. Koopman, Hamiltonian systems and transformation in Hilbert space, Proceedings of the National Academy of Sciences of the United States of America 17 (5) (1931) 315.
  • [31] J. Morton, A. Jameson, M. J. Kochenderfer, F. Witherden, Deep dynamical modeling and control of unsteady fluid flows, in: Advances in Neural Information Processing Systems, 2018, pp. 9258–9268.
  • [32] K. He, X. Zhang, S. Ren, J. Sun, Deep residual learning for image recognition, in: Proc. IEEE Conf. Computer Vision and Pattern Recognition, 2016, pp. 770–778.
  • [33] B. Doekemeijer, J.-W. van Wingerden, S. Boersma, L. Pao, Enhanced kalman filtering for a 2D CFD NS wind farm flow model, in: J. Physics: Conf. Series, Vol. 753, IOP Publishing, 2016, p. 052015.
  • [34] B. Doekemeijer, S. Boersma, L. Y. Pao, J.-W. van Wingerden, Ensemble kalman filtering for wind field estimation in wind farms, in: 2017 American Control Conf. (ACC), IEEE, 2017, pp. 19–24.
  • [35] M. Vali, V. Petrović, S. Boersma, J.-W. van Wingerden, L. Y. Pao, M. Kühn, Model predictive active power control of waked wind farms, in: 2018 Annual American Control Conference (ACC), IEEE, 2018, pp. 707–714.
  • [36] H. Zhao, J. Zhao, J. Qiu, G. Liang, Z. Y. Dong, Cooperative wind farm control with deep reinforcement learning and knowledge assisted learning, IEEE Transactions on Industrial Informatics.
  • [37] J. Jonkman, S. Butterfield, W. Musial, G. Scott, Definition of a 5-mw reference wind turbine for offshore system development, National Renewable Energy Laboratory, Golden, CO, Technical Report No. NREL/TP-500-38060.
  • [38] J. Annoni, P. Gebraad, P. Seiler, Wind farm flow modeling using an input-output reduced-order model, in: 2016 American Control Conf. (ACC), IEEE, 2016, pp. 506–512.
  • [39] S. Boersma, B. Doekemeijer, S. Siniscalchi-Minna, J. van Wingerden, A constrained wind farm controller providing secondary frequency regulation: An LES study, Renewable Energy 134 (2019) 639–652.
  • [40] C. Pilong, P. Manual, PJM Manual 12: Balancing Operations (2017).
  • [41] S. Siniscalchi-Minna, F. D. Bianchi, C. Ocampo-Martinez, J. L. Dom nguez-Garc a, B. D. Schutter], A non-centralized predictive control strategy for wind farm active power control: A wake-based partitioning approach, Renewable Energy 150 (2020) 656 – 669.