NREL is a national laboratory of the U.S. Department of Energy

Office of Energy Efficiency & Renewable Energy

Operated by the Alliance for Sustainable Energy, LLC

This report is available at no cost from the National Renewable Energy

Laboratory (NREL) at www.nrel.gov/publications.

Contract No. DE-AC36-08GO28308

Active Power Control for Wind 

Farms Using Distributed Model 

Predictive Control and Nearest 

Neighbor Communication

Preprint 

Christopher Bay and Timothy Taylor

Colorado School of Mines

Jennifer Annoni and Kathryn Johnson

National Renewable Energy Laboratory

Lucy Pao

University of Colorado, Boulder

Presented at the American Control Conference

Milwaukee, Wisconsin

June 27‒29, 2018

Suggested Citation

Bay, Christopher, Jennifer Annoni, Kathryn Johnson, and Lucy Pao. 2018. 

“Active Power Control for Wind Farms Using Distributed Model Predictive 

Control and Nearest Neighbor Communication: Preprint.” Golden, CO: 

National Renewable Energy Laboratory. NREL/CP-5000-70936. 

https://www.nrel.gov/docs/fy18osti/70936. 

Conference Paper

NREL/CP-5000-70936

August 2018
NOTICE

This work was authored in part by the National Renewable Energy Laboratory, operated by Alliance for Sustainable 

Energy, LLC, for the U.S. Department of Energy (DOE) under Contract No. DE-AC36-08GO28308. Funding 

provided by the U.S. Department of Energy Office of Energy Efficiency and Renewable Energy Wind Energy 

Technologies Office. The views expressed in the article do not necessarily represent the views of the DOE or the 

U.S. Government. The U.S. Government retains and the publisher, by accepting the article for publication, 

acknowledges that the U.S. Government retains a nonexclusive, paid-up, irrevocable, worldwide license to publish 

or reproduce the published form of this work, or allow others to do so, for U.S. Government purposes.

This report is available at no cost from the National Renewable 

Energy Laboratory (NREL) at www.nrel.gov/publications. 

U.S. Department of Energy (DOE) reports produced after 1991 

and a growing number of pre-1991 documents are available 

free via www.OSTI.gov. 

Cover Photos by Dennis Schroeder: (left to right) NREL 26173, NREL 18302, NREL 19758, NREL 29642, NREL 19795.

NREL prints on paper that contains recycled content. 
Active Power Control for Wind Farms Using Distributed Model

Predictive Control and Nearest Neighbor Communication

Christopher J. Bay,1,3Jennifer Annoni,2 Timothy Taylor,1 Lucy Pao,3and Kathryn Johnson1,2

Abstract— Wind plant control strategies, including axial induction and wake steering control, aim to improve the performance of wind farms, including increasing energy production

and decreasing turbine loads. This paper presents a linear

model of wake characteristics for use with a distributed model

predictive control method for the purpose of optimizing axial

induction and yaw misalignment setpoints. In particular, we

use an iterative, distributed control method with nearest neighbor communication to coordinate turbine control actions that

account for wake interactions between turbines. Simulations

of the model and controller are performed on a 2×3 array

of turbines using a modified version of the FLOw Redirection

and Induction in Steady-state (FLORIS) model to dynamically

track the relevant wake parameters. Preliminary results show

the controller’s ability to follow an arbitrary wind farm power

reference signal for the purpose of providing active power

control (APC) ancillary services for power grid stability. This

efficient distributed control strategy can enable real-time wind

farm optimization and control, even for very large scale farms.

I. INTRODUCTION

Wind energy has remained a consistent focus of renewable

energy development with installed global capacity increasing

by five-fold over the last decade [1]. As wind provides more

and more of the energy the world consumes, opportunities

remain to further decrease the levelized cost of wind energy,

increasing its competitiveness with traditional sources. This

has led to significant research into effective wind turbine

operation and control with a recent focus into control at the

wind farm level. The goals of these efforts have included

structural load reductions to increase equipment life, maximization of power production, and more robust integration

of wind into the energy grid [2], [3].

*This work has been partially supported by ARPA-E under award number

DE-AR0000667, the German Academic Exchange Service (DAAD) with

funds from the Federal Ministry of Education and Research (BMBF),

Envision Energy, and the National Science Foundation under Grant No.

NSF-CMMI-1234980. In addition, this work was supported by the U.S.

Department of Energy under Contract No. DE-AC36-08GO28308 with

the National Renewable Energy Laboratory. Funding for the work was

provided by the DOE Office of Energy Efficiency and Renewable Energy,

Wind Energy Technologies Office. The U.S. Government retains and the

publisher, by accepting the article for publication, acknowledges that the

U.S. Government retains a nonexclusive, paid-up, irrevocable, worldwide

license to publish or reproduce the published form of this work, or allow

others to do so, for U.S. Government purposes. The authors are solely

responsible for any omission or errors contained herein. Any opinions,

findings, and conclusions or recommendations expressed in this material

are those of the author(s) and do not necessarily reflect the views of the

funding agencies.

C. J. Bay is a post-doctoral researcher at the Colorado School of Mines

and University of Colorado Boulder (e-mail: christopher.j.bay@gmail.com).

1Electrical Engineering Department, Colorado School of Mines, Golden,

CO 80401 USA. 2National Renewable Energy Laboratory, Golden, CO

80401 USA. 3Electrical, Computer, & Energy Engineering, University of

Colorado, Boulder, CO, 80309.

A recent area of interest has been turbine wake control.

As wind turbines extract power, wind speeds are reduced

and turbulence is increased within the wakes. The reduced

speeds decrease the potential power that can be produced

at the downstream turbines, resulting in suboptimal power

production for the wind farm. One strategy to coordinate

the wakes has been through axial induction control [4], [5].

Upstream turbines reduce their energy capture so that greater

wind energy and less turbulence reach the downstream

systems. Another strategy includes wake steering [6], [7].

Wake steering involves misaligning the rotor of the turbine

with the incoming wind direction to deflect the wakes away

from downstream turbines.

Additionally, there has been growing interest in active

power control (APC), in which the wind farm manages

its power output in accordance with requirements from the

grid. There are many types of APC [8], but one example

is automatic generation control (AGC). In AGC, a wind

farm tracks a power reference signal typically given by

a transmission system operator (TSO). This tracking can

help balance the electrical grid or provide a power reserve

allowing for quicker responses to changes in demand beyond

traditional power generation equipment.

To accomplish these strategies, several control methods

have been proposed. One study evaluated combinations of

torque and pitch control, coupled with static optimal yaw

setpoints, to track a power reference signal across the wind

farm [9]. The authors concluded that a wake model is

needed to predict the available power in the wind more

effectively. The authors of [10] expand on the work of [9] and

propose a gain-scheduled proportional-integral controller as

a closed-loop supervisory solution to distribute the power

reference among turbines. The authors showed improved

tracking behavior for the total power output of the farm in

highly waked cases.

Gionfra, et al. [11], examined the available power gain

when using a wake model with model predictive control

(MPC) to represent the interactions between turbines. Although this work includes a wake model in the central

controller, it focuses on axial induction and ignores the

effects of wake steering. Vali et al. [12] also used MPC with

an adjoint-based approach, similar to [13], for computing

the gradient of the system, where they sought to maximize

power. Even though the authors use an efficient adjoint

method, the authors keep measurements of the entire wind

field that can become cumbersome as the size of wind farms

grow. The authors also only consider axial induction control.

Another MPC approach aims to provide secondary fre1

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
quency regulation for the grid by optimizing thrust coefficients of individual turbines [14]. To enable real-time

implementation, the method utilizes a time-varying onedimensional wake model in which rows of turbines are considered to behave similarly. This assumption greatly speeds

the computation but neglects differences in the incoming

wind profiles. This assumption also requires turbines to be

fully waked, which eliminates wake steering and is only valid

for limited wind directions.

Nearly all of the aforementioned control solutions require

a centralized controller, which can become infeasible as the

size of a wind farm grows. One potential solution is to

distribute the problem into smaller subsystems. Additionally,

this eliminates single points of failure and increases modularity as turbines are maintained or repaired. However, there

has been very little work completed in the area of distributed

wind farm controls. The work by Spudic et al. [15] proposed  ́

using two distributed optimization methods to provide power

reference tracking and structural load reduction. While the

results are promising, the solution does not use a wake model

and requires a global problem to be formulated. Also, [16]

used a linearized flow field with an H2 optimal distributed

controller; however, the method is computationally complex

and not suitable for large wind farms.

In this paper, a distributed model predictive control

(DMPC) method, known as Limited-Communication DMPC

(LC-DMPC) [17], is applied to the wind farm control problem. A linear model, including time-varying axial induction

factors, yaw misalignments, and wake characteristics, is

described and used by the LC-DMPC method to determine

optimal axial induction and yaw control actions. A key

contribution of this formulation is that it does not require a

centralized model or problem formulation, as each subsystem

solves its own local objective function. Each subsystem need

only communicate with its nearest neighbor. Preliminary

simulation results are presented showing the controller’s

ability to track an arbitrary power reference signal.

The main contributions of this paper are the development

of a novel linear wind farm model that includes wake

characteristics and the formulation of the wind farm control

problem that optimizes axial induction and yaw misalignment in a dynamic, distributed fashion.

The rest of the paper is organized as follows. Section II

presents the developed wake model for the control problem.

The control structure is detailed in Section III. Simulation

of the proposed method is performed on a 2×3 turbine

grid and is described in Section IV. Preliminary results are

presented in Section V. Lastly, conclusions and future work

are discussed in Section VI.

II. WAKE MODEL

As mentioned in Section I, turbines can have significant

impacts on each other through wake interactions. As an

upwind turbine extracts power, the wind velocity that the

downstream turbine sees is reduced and turbulent structures

are introduced into the wake. To effectively control for

these effects at the wind farm level, a suitable wake model

is needed. What follows is a derivation of a wake model

to enable the use of the LC-DMPC algorithm as well as

practical computational efficiency for implementation.

A. Wake Deflection

When a turbine is yawed away from the incoming wind

direction, the rotor causes a deflection in the turbine’s wake

away from the downstream centerline behind the turbine.

Jimenez, et al. [18] proposed an empirical correction for the

wake deflection based on the yaw error, θ, and the thrust,

CT . First, the angle of wake deflection, α, is defined as:

α =

cos2(θu) sin(θu)CT ,u

2



1 + kd



x

D

2

(1)

where kd is the wake deflection coefficient, x is the distance

downstream between the interacting turbines, and D is the

rotor diameter assumed to be constant across the wind

farm. The yaw misalignment and thrust coefficient from the

upstream turbine are represented as θu and CT ,u, where u

denotes values from the upwind turbine. From actuator disk

theory, the thrust coefficient can be defined as a quadratic

relationship dependent on axial induction factor a [19]:

CT ,u = 4au(1 − au) (2)

Using the small angle approximation, the wake deflection

can be approximated by δ = αx. Also, two approximations

are made to further linearize the system:

cos2(θu) sin(θu) ≈ 0.125θu CT ,u ≈ 3.0au (3)

where the first approximation is valid up to 15° of yaw

misalignment. Substituting (1) and (3) into δ = αx, the wake

deflection is:

δ =

0.125θu3.0au

2



1 + ke



x

D

2

x (4)

Equation (4) can be represented as:

δ = c1θuc2au (5)

where the constants c1 and c2 are defined as:

c1 = 0.0125 c2 =

3.0x

2



1 + k



x

D

2

(6)

With δ(t), θ(t), and a(t), Equation (5) can be written as:

δ(t) = c1θu(t − τ )c2au(t − τ ) (7)

where τ is the amount of time it takes for the effects

of the control actions of the upstream turbine to reach

the downstream turbine. Using Taylor’s frozen turbulence

hypothesis [20], it is assumed that τ is:

τ =

x

U∞

(8)

where U∞ is the freestream velocity and it is assumed that

the flow is advected at this speed. Lastly, after taking the

derivative, linearizing about  ̄θu = 0 and a nonzero axial

induction factor a ̄u, and discretizing, the equation for wake

deflection becomes:

δ

k+1 = δk + c1c2a ̄u



θ

k

u − θ

k−1

u



(9)

2

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
where the superscript k denotes the discrete timestep, the

size of which is equal to τ . This value of τ is chosen to to

use the least amount of states as possible for this model. In

future work, smaller timesteps will be considered.

B. Wake Width

As turbine wakes move downstream, the wake width

expands. This is due to a rotation induced on the wake from

the opposing force generated by the rotor blades on the air.

Bastankhah and Porte-Agel [21] define the wake width as a  ́

linear expansion based on turbulence theory:

σ = kyx + D

r

1

8

(10)

where ky is the wake expansion coefficient, defined in terms

of turbulence intensity, To, the upstream axial induction

factor, au, and the downstream distance, x, between turbines:

ky = 1.4T

0.1

o

 x

D

−0.1

au + 0.004 (11)

where 1.4, 0.1, and -0.1 are empirical constants tuned for

this model. With (11), (10) becomes:

σ(t) = c3au(t − τ ) + c4 (12)

c3 = 1.4T

0.1

o

 x

D

−0.1

x c4 = 0.004x + D

r

1

8

(13)

Taking the derivative and discretizing provides:

σ

k+1 = σk + c3



a

k−N

u − a

k−N−1

u



(14)

C. Wake Centerline Velocity

The wake centerline velocity is defined using the

Park/Jensen model [22]:

u = U∞

 

1 − 2au



D

D + 2kex

2

!

(15)

Equation 15 can be written as:

u(t) = c5 + c6au(t − τ ) (16)

c5 = U∞ c6 = −2U∞

 

D

D + 2kex

2

!

(17)

where ke is the wake expansion coefficient, different from ky.

Again, taking the derivative and discretizing gives a linear

form of the equation suitable for the LC-DMPC control

method:

u

k+1 = uk + c6



a

k−N

u − a

k−N−1

u



(18)

D. Yaw and Thrust Control Models

To simulate the dynamics of the local yaw and thrust

controllers, simple proportional controllers are used for each.

The discrete time yaw and thrust controllers are given by:

θ

k+1

S = θ

k

S + Kθ



θ

k

S − θS,r

(19)

a

k+1

S = a

k

S + Ka



a

k

S − aS,r

(20)

where θr is the reference to the yaw controllers, ar is the

reference to the thrust controllers, and S is either u or d for

upstream or downstream systems. Future work will include

more sophisticated PID controllers for these local actions.

E. Power Output

The output of the model is the power produced by each

turbine. Starting with the nonlinear computation of the effective velocity used in FLORIS [23], a simplification of the

area overlap of a wake with the rotor disk can be made to

calculate the effective velocity as:

U

k

d =



1 +

δ

k − Y

σ

k



u

k

(21)

where Y is the relative difference between the y locations of

the upstream and downstream turbines. The linearization of

(21) is valid up to 15° of yaw. With (21), a linearized power

equation can be obtained. Turbine power is defined as:

P

k =

1

2

ρACk

P,d cos2

(θ

k

d

)(U

k

d

)

3

(22)

where ρ is the air density and A is the swept rotor area.

The power coefficient can be defined as CP = 4ηa(1 − a)

2

,

where η = 0.8 is a correction term defined by Gebraad [7].

Linearizing (22) about the operating point  ̄θu,d = 0◦

would result in the  ̄θd term going to zero due to a sin(θ),

which is undesirable. As such, an approximation was made

for the linearization term associated with  ̄θd such that

cos2(

 ̄θd) ≈ (1−0.002θd). Under this assumption, the model

is only valid for yaw control over [0°,15°]. With the above

approximation, the linearization of (22) gives:

P

k =

1

2

U3

ef f +

3

2

ζ Uef f

σ ̄

(δ

k −  ̄δ)

+

3

2

ζ 

Uef f (Y −  ̄δ)

σ ̄

2



(σ

k − σ ̄)

+

3

2

ζ 1 +

 ̄δ − Y

σ ̄



(u

k − Uef f )

+

1

2

ρA cos2(

 ̄θd)U

3

ef f 

12 ̄a

2

d − 16 ̄ad + 4

(a

k

d − a ̄d)

−

1

10

ρA 4ηa ̄d(1 − a ̄d)

2



U

3

ef f (θ

k

d −  ̄θd)

(23)

where  and ζ are defined as:

 = ρA 

4ηa ̄d(1 − a ̄d)

2



cos2

(

 ̄θd) (24)

ζ =

1 +

 ̄δ − Y

σ ̄



Uef f 2

(25)

and Uef f is the effective rotor speed as calculated by

FLORIS. In the next section, (9), (14), (18), (19), (20), and

(23) will be composed into a linear state-space model.

III. DISTRIBUTED CONTROL STRUCTURE

As mentioned in Section I, a distributed model predictive

controller is used to optimize the wind farm performance.

The specific algorithm used is Limited-Communication

DMPC (LC-DMPC), presented in [17]) is an iterative, cooperative algorithm for linear discrete time systems. Where

it stands out is that for it to converge, only directly coupled

subsystems need to share local information and adjust their

3

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
Fig. 1. Hierarchy for LC-DMPC algorithm [17].

actions accordingly without a solution of a centralized problem. A brief explanation of the algorithm will be included

here and the reader is referred to [17] for more details.

Fig. 1 shows an overview of the LC-DMPC structure.

The overall system is organized into subsystems that consist

of plants, which in the case of wind farms are individual

turbines and their local controllers. During an iteration, the

local subsystem, i, shares its predicted effects, zi, with its

downstream neighbors and receives its upstream neighbors’

effects as a disturbance vector, vi. These effects are used

to calculate sensitivities, γi+1, of the downstream system to

the upstream system’s actions, and these sensitivities are then

passed to the upstream systems, as ψi, on the next iteration.

The subsystem then solves the updated local optimization

using the sensitivities and communicates its new effects to

the downstream systems for the next iteration.

A. Linear State-Space Model

For the LC-DMPC algorithm, the system equations must

be in a linear state-space representation of the form:

x

k+1

i = Aix

k

i + Bu,iu

k

i + Bv,iv

k

i

y

k

i = Cy,ix

k

i

z

k

i = Cz,ix

k

i + Dz,iu

k

i

(26)

where x

k

i

are the states, u

k

i

are the control inputs, and v

k

i

is the disturbance vector from upstream systems. The state

equation is defined in (27). The output of the local plant

y

k

i

is power, given by (28). The vector containing disturbing

effects for downstream systems is z

k

i

given in (29).

Equations (9), (14), (19), and (20) were used to generate

the state matrices Ai, Bu,i, and Bv,i as shown in Equation

(27), where Kθ and Ka are the proportional gains for the yaw

and axial induction controllers, respectively. The constants

c1,i, c2,i, c3,i, and c6,i are derived from the linearized,

discrete equations and are defined in (6), (13), and (17).





















δ

k+1

i

σ

k+1

i

u

k+1

i

θ

k+1

i

θ

k

i

a

k+1

i

a

k

i





















| {z }

x

k+1

i

=





















1 0 0 0 0 0 0

0 1 0 0 0 0 0

0 0 1 0 0 0 0

0 0 0 1 + Kθ 0 0 0

0 0 0 1 0 0 0

0 0 0 0 0 1 + Ka 0

0 0 0 0 0 1 0





















| {z }

Ai





















δ

k

i

σ

k

i

u

k

i

θ

k

i

θ

k−1

i

a

k

i

a

k−1

i





















| {z }

x

k

i

+













03x2

−Kθ 0

0 0

0 −Ka

0 0













| {z }

Bu,i



θ

k

i,r

a

k

i,r

| {z }

u

k

i

+









c1,ic2,ia ̄u,i −c1,ic2,ia ̄u,i 0 0

0 0 c3,i −c3,i

0 0 c6,i −c6,i

04x4









| {z }

Bv,i











θ

k−N

i,u

θ

k−N−1

i,u

a

k−N

i,u

a

k−N−1

i,u











| {z }

v

k

i

(27)

The downstream effect equation z

k

i

from (26) and its

matrices Cz,i and Dz,i are defined as:



θ

k

i

θ

k−1

i

a

k

i a

k−1

i

T

| {z }

z

k

i

=



04x3 I4x4



| {z }

Cz,i

x

k

i + 04x2

|{z}

Dz,i

u

k

i

(29)

During the optimization, the predicted values of yi, zi,

and vi will be generated along the prediction horizon of

length Np. These predictions can be stacked to provide

the vectors Yi, Zi, and Vi. Stacking the Vi and Zi vectors

across all the subsystems and constructing an interconnection

matrix, Γ, that correctly captures the coupling between

systems, upstream and downstream vectors can be related

as V = ΓZ. For the wind farm layout simulated in this

paper, and assuming no change in the wind direction, the

interconnections are:

















V1

V2

V3

V4

V5

V6

















=

















0 0 0 0 0 0

I 0 0 0 0 0

0 I 0 0 0 0

0 0 0 0 0 0

0 0 0 I 0 0

0 0 0 0 I 0

































Z1

Z2

Z3

Z4

Z5

Z6

















(30)

where 0 and I are block matrices of appropriate dimension.

B. Subsystem Models with Prediction Horizon

As the subsystems described in (26) are used along the

prediction horizon, the predicted output values of Yi and Zi

Cy,i =

h

3

2

iζi

Ueff

σ ̄i

3

2

iζi

(Yi−δ ̄i)Ueff

σ ̄

2

i

−

3

2

iζi

h

1 +

δ ̄i−Yi

σ ̄i

i

−

2

5

ρAηa ̄d(1 − a ̄d)

2U3

eff 0

1

2

ρA cos2( ̄θd)



12a ̄

2

i − 16a ̄i + 4

U

3

ef f 0

i

(28)

4

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
can be represented as:

Yi = Fy,ix

k

i + My,iUi + Ny,iVi (31)

Zi = Fz,ix

k

i + Mz,iUi + Nz,iVi (32)

where the system matrices F, M, and N are defined in [17].

C. Cost Function and Optimization

The cost function for the LC-DMPC algorithm has the

standard quadratic error and control terms, but to facilitate

the cooperation between the subsystems and the convergence

to the centralized solution, an additional term, ψ

T

i Zi

, is

added. This term scales with the sensitivities, ψ, that correlate with the interactions between the subsystems. The

distributed optimization can be stated as:

min

Ui

Ji = e

T

i Qiei + U

T

i SiUi + ψ

T

i Zi

s.t. (39), (40), & Ui,min ≤ Ui ≤ Ui,max

(33)

where eiis the error from the power tracking signal, Qi

is the weight penalizing the error term, Ui are the control

actions, Siis the weight penalizing the control term, ψiis

the penalty passed from the downstream system, and Ziis

the vector of disturbing inputs to the downstream system.

Quadratic programming can be used to solve the optimization after reformulating the problem to:

min

Ui

Ji = U

T

i HiUi + 2U

T

i Fi + V

T

i EiVi + 2V

T

i Ti

Ai,limUi ≤ Bi,lim

(34)

where

Hi = MT

y,iQiMy,i + Si

, Ei = N

T

y,iQiNy,i

Fi = MT

y,i 

Fy,ix

k

i + Ny,iVi + r

k

i



+ 0.5MT

z,iψi

Ti = N

T

y,iQi



Fy,ix

k

i − r

k

i



+ 0.5N

T

z,iψi

Ai,lim =



INp, −INp

T

, Bi,lim =



U

T

i,minU

T

i,maxT

The term ψiin the optimization comes from the sensitivity

of the downstream system to the upstream system’s decisions. For example, if the current subsystem i is downstream

of the subsystem i−1, the sensitivity, γi, is computed as the

sensitivity of the downstream system’s cost function to the

upstream disturbance vector.

γi =

∂Ji

∂Vi

= 2 Ei−1Vi + Ti + N

T

y,iQiMy,iUi



(35)

Stacking these vectors of γi, the communication of the

sensitivities to the upstream systems as inputs ψi can be

described with the interconnection matrix as ψ = Γγ.

In order to ensure convergence of the communication

dynamics, a convex combination of the control action is used,

given by:

u

k+1 = wuk + (1 − w)uk

QP (36)

where uQP is the optimal control action determined by the

quadratic program and w ∈ [0, 1) is a tuning parameter. For

more information and a proof of stability, see [17].

Fig. 2. Simulation of the wakes with FLORIS, showing the layout of the

turbines given in [12].

IV. SIMULATION

Simulations of the control method were performed using

the same wind farm layout shown in Fig. 2 from [12],

as it provides for varying wake conditions in contrast to

a regular grid. The simulation environment is a nonlinear

dynamic model using a modified FLORIS model [23]. In

particular, FLORIS was modified to include the dynamics

of the aerodynamic interactions by including a time delay

between turbines. The wake of the turbines is assumed to

propagate with τ = 52 s, as shown in (8), which is based on

Taylor’s frozen turbulence hypothesis [20]. The free stream

velocity was set to be 12.0 m/s. The linearization points were

set around an axial induction factor of 0.15, a yaw misalignment of 0°, a wake deflection of 0 m, a wake half-width of

79.2 m, and wind velocities as determined by FLORIS at

each turbine. The axial induction had to be reduced so that

there is room for the wind farm power to fluctuate up and

down with the AGC signal. The specific AGC signal used

in the simulations is the RegD signal defined by the PJM

Interconnection [24], a regional transmission organization

located in the eastern United States. The RegD signal is a

quickly changing signal used by PJM for APC qualification.

The signal is 40 minutes long and was up-sampled to the

simulation’s timestep τ .

Fig. 3. Results of individual turbines tracking their power reference signals.

5

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
Fig. 4. The wind farm power tracking error.

V. RESULTS

Preliminary results from the simulations verifying AGC

tracking capability of the LC-DMPC approach are shown

in Fig. 3. Each of the turbines attempts to track its power

reference signal, with two turbines shown due to space constraints. The predicted output from the LC-DMPC follows

the reference very well while the power output from the

FLORIS model shows some discrepancies, though for a

linear model it shows good promise and tracking at the

farm level. The discrepancies are most likely due to the

assumptions that were made in the linear model development

as this is a highly nonlinear problem.

The overall tracking error is shown in Fig. 4. For this

simulation, the maximum tracking error was 2.72%. The

authors consider this performance proof of the LC-DMPC

approach’s potential for APC of wind farms and will pursue

advancements through future work as described below.

VI. CONCLUSIONS & FUTURE WORK

This paper presented a linear wake model and distributed

control method for the purpose of optimal wind farm control.

The model predicts the effects turbines have on one another

through wake interactions. The distributed control algorithm

solves a local optimization objective at each turbine, greatly

reducing the computational burden compared to a centralized

optimization on large-scale wind farms. This is a key challenge of implementing real-time control on wind farms and

may help take the optimization from infeasible to practical.

Preliminary results show the controller’s ability to track an

arbitrary power reference for the purpose of providing grid

services.

In the future, the authors plan to expand the model to

include tilt of the turbine rotor to allow for vertical wake

steering in addition to horizontal wake steering. Also, the

inclusion of uncertainty in the wind is an important subject

to offset some of the simplifications due to the linearizations.

The authors would also like to implement an estimator to

help address some of the model error seen in the results.

ACKNOWLEDGMENT

The authors would like to thank Vlaho Petrovic, Rawand  ́

Jalal, and Bryan Rasmussen for valuable discussions about

the wind farm control problem and the LC-DMPC approach.

REFERENCES

[1] Global Wind Energy Council, “Global Wind Report - Annual Market

Update,” Tech. Rep., 2017.

[2] E. A. Bossanyi, “Wind Turbine Control for Load Reduction,” Wind

Energy, vol. 6, no. 3, pp. 229–244, July 2003.

[3] S. Boersma, B. M. Doekemeijer, P. M. O. Gebraad, P. A. Fleming,

J. Annoni, A. K. Scholbrock, J. A. Frederik, and J. W. v. Wingerden,

“A tutorial on control-oriented modeling and control of wind farms,”

in 2017 American Control Conference (ACC), May 2017, pp. 1–18.

[4] K. E. Johnson and N. Thomas, “Wind farm control: Addressing the

aerodynamic interaction among wind turbines,” in American Control

Conference, June 2009, pp. 2104–2109.

[5] C. Santoni, U. Ciri, M. Rotea, and S. Leonardi, “Development of a

high fidelity CFD code for wind farm control,” in American Control

Conference, July 2015, pp. 1715–1720.

[6] P. Fleming, P. M. Gebraad, S. Lee, J.-W. van Wingerden, K. Johnson,

M. Churchfield, J. Michalakes, P. Spalart, and P. Moriarty, “Simulation

comparison of wake mitigation control strategies for a two-turbine

case,” Wind Energy, vol. 18, no. 12, pp. 2135–2143, Dec. 2015.

[7] P. M. O. Gebraad, “Data-driven wind plant control,” Ph.D. dissertation,

Delft University of Technology, Delft, The Netherlands, Dec. 2014.

[8] J. Aho, A. Buckspan, L. Pao, and P. Fleming, “Active power control

system for wind turbines capable of primary and secondary frequency

control for supporting grid reliability,” in Proceedings of 51st AIAA

Aerospace Sciences Meeting, New York, NY, Jan. 2013.

[9] P. Fleming, J. Aho, P. Gebraad, L. Pao, and Y. Zhang, “Computational

fluid dynamics simulation study of active power control in wind

plants,” in American Control Conference, July 2016, pp. 1413–1420.

[10] J.-W. van Wingerden, L. Pao, J. Aho, and P. Fleming, “Active

power control of waked wind farms,” Preprints of the International

Federation of Automatic Control World Congress, July 2017.

[11] N. Gionfra, H. Siguerdidjane, G. Sandou, and D. Faille, “Hierarchical

control of a wind farm for wake interaction minimization,” IFACPapersOnLine, vol. 49, no. 27, pp. 330–335, Jan. 2016.

[12] M. Vali, V. Petrovic, S. Boersma, J.-W. v. Wingerden, and M. Kuhn,

“Adjoint-based model predictive control of wind farms: Beyond the

quasi steady-state power maximization,” Preprints of the International

Federation of Automatic Control World Congress, July 2017.

[13] J. P. Goit and J. Meyers, “Optimal control of energy extraction in

wind-farm boundary layers,” Journal of Fluid Mechanics, vol. 768,

pp. 5–50, Apr. 2015.

[14] C. R. Shapiro, J. Meyers, C. Meneveau, and D. F. Gayme, “Wind farms

providing secondary frequency regulation: Evaluating the performance

of model-based receding horizon control,” Journal of Physics: Conference Series, vol. 753, no. 5, p. 052012, 2016.

[15] V. Spudic, C. Conte, M. Baoti  ́ c, and M. Morari, “Cooperative dis-  ́

tributed model predictive control for wind farms,” Optimal Control

Applications and Methods, vol. 36, no. 3, pp. 333–352, May 2015.

[16] M. Soleimanzadeh, R. Wisniewski, and K. Johnson, “A distributed

optimization framework for wind farms,” Journal of Wind Engineering

and Industrial Aerodynamics, vol. 123, pp. 88–98, Dec. 2013.

[17] R. E. Jalal and B. P. Rasmussen, “Limited-communication distributed

model predictive control for coupled and constrained subsystems,”

IEEE Transactions on Control Systems Technology, vol. 25, no. 5,

pp. 1807–1815, Sept. 2017.

[18] A. Jimenez, A. Crespo, and E. Migoya, “Application of a LES  ́

technique to characterize the wake deflection of a wind turbine in

yaw,” Wind Energy, vol. 13, no. 6, pp. 559–572, Sept. 2010.

[19] T. Burton, D. Sharpe, N. Jenkins, and E. Bossanyi, Wind Energy

Handbook. John Wiley & Sons, Dec. 2001.

[20] G. I. Taylor, “The spectrum of turbulence,” Proceedings of the Royal

Society of London A: Mathematical, Physical and Engineering Sciences, vol. 164, no. 919, pp. 476–490, Feb. 1938.

[21] M. Bastankhah and F. Porte-Agel, “Experimental and theoretical  ́

study of wind turbine wakes in yawed conditions,” Journal of Fluid

Mechanics, vol. 806, pp. 506–541, Nov. 2016.

[22] N. Jensen, “A note on wind generator interaction,” Risø National

Laboratory, Report 87-550-0971-9, 1983.

[23] P. M. O. Gebraad, F. W. Teeuwisse, J. W. van Wingerden, P. A.

Fleming, S. D. Ruben, J. R. Marden, and L. Y. Pao, “Wind plant

power optimization through yaw control using a parametric model for

wake effects - a CFD simulation study,” Wind Energy, vol. 19, no. 1,

pp. 95–114, Jan. 2016.

[24] PJM, “Ancillary Services.” [Online]. Available: http://www.pjm.com/

6

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.