# Performance Analysis of a Wind Turbine Pitch Neurocontroller with Unsupervised Learning

Authors: J. Enrique Sierra-García; Matilde Santos
Journal: Complexity
 (2020)

---

## Abstract

In this work, a neural controller for wind turbine pitch control is presented. The controller is based on a radial basis function (RBF) network with unsupervised learning algorithm. The RBF network uses the error between the output power and the rated power and its derivative as inputs, while the integral of the error feeds the learning algorithm. A performance analysis of this neurocontrol strategy is carried out, showing the influence of the RBF parameters, wind speed, learning parameters, and control period, on the system response. The neurocontroller has been compared with a proportional-integral-derivative (PID) regulator for the same small wind turbine, obtaining better results. Simulation results show how the learning algorithm allows the neural network to adjust the proper control law to stabilize the output power around the rated power and reduce the mean squared error (MSE) over time.


---

## Body

## 1. Introduction

Green directives in many countries promote the use of renewable energies to improve the sustainability of worldwide energy systems. Indeed, the number of terawatts produced by clean energies is growing each year [1]. Among clean energies, wind is the second most used natural resource after hydropower, due to its high efficiency. Although a mature technology, there are still many engineering challenges related to wind turbines (WTs) that must be addressed [2].Depending on the type of wind turbine, different control actions can be applied, namely: the pitch angle of the blades or rotor control, which is used as a brake to maintain the rated power of the turbine once the wind surpasses certain threshold; the yaw angle, which is used to change the attitude of the nacelle to match the wind stream direction; and finally, the generator speed control that seeks to reach the optimal rotor velocity when the wind is below the rated-output speed. The WT controller is in charge of managing all of these mechanisms to optimize the efficiency of the system while the safety must be guaranteed under all possible wind conditions. This fact may be even more critical for floating offshore wind turbines (FOWTs) as it has been proved that the control system can affect the stability of the floating device [3, 4].The pitch control of a wind turbine is a complex task itself due to the highly nonlinear behaviour of these devices, the coupling between the internal variables, and because they are subjected to uncertain and varying parameters due to external loads, mainly wind, and in the case of FOWT, waves and currents also. These reasons have led to explore intelligent control techniques to tackle these challenges [5]. Among traditional control solutions, sliding mode control has been recently applied with successful results, such as in [6], where a PI-type sliding mode control (SMC) strategy for permanent magnet synchronous generator- (PMSG-) based wind energy conversion system (WECS) uncertainties is presented. Nasiri et al. [7] proposed a supertwisting sliding mode control for a gearless wind turbine by a permanent magnet synchronous generator. A robust SMC approach is also proposed in [8], where authors use the blade pitch as control input, in order to regulate the rotor speed to a fixed rated value. In [9], an adaptive robust integral SMC pitch angle controller and a projection type adaptation law are synthesized to accurately track the desired pitch angle trajectory, while it compensates model uncertainties and disturbances.Regarding intelligent control, fuzzy logic has been widely applied to the wind turbine pitch control. For example, in [10], pitch angle fuzzy control is proposed and compared to a PI controller for real weather characteristics and load variations. Rocha et al. [11] applied a fuzzy controller to a variable speed wind turbine and compared the results with a classical proportional controller in terms of system response characteristics. Rubio et al. [12] presented a fuzzy logic-based control system for the control of a wind turbine installed on a semisubmersible platform. But application of neural networks to turbine pitch control is scarcer, maybe due to the lack of real data to train the network [13]. However, Asghar and Liu [14] designed a neurofuzzy algorithm for optimal rotor speed of a wind turbine. In [15], artificial neural network-based reinforcement learning for WT yaw control is presented. In [5], a passive reinforcement learning algorithm solved by particle swarm optimization is used to handle an adaptive neurofuzzy type-2 inference system for controlling the pitch angle of a real wind turbine. In [16], a robust H∞ observer-based fuzzy controller is designed to control the turbine using the estimated wind speed. Two artificial neural networks are used to accurately model the aerodynamic curves. From a different point of view, in [17], the authors proposed an information management system based on mixed integer linear programming (MILP) for a wind power producer having an energy storage system and participating in a day-ahead electricity market.In this work, we have focused on the pitch control of a small wind turbine. Based on the neural control strategy proposed in [18], we have extended it to deal with the dynamics of the pitch actuator. Besides, the derivative and the integration of the power error have been added as inputs to the learning algorithm. This way the error variation and the past error values are considered and used to update the weights of the neural network; this helps to accelerate the learning process. The main contribution of this paper is twofold. On the one hand, a radial basis network (RBF) wind turbine pitch controller is designed and implemented. This controller uses the output power to update the weights of the neural network in an unsupervised way. On the other hand, a detailed analysis has been carried out on how the configuration of the neural network, the learning algorithm, and the controller parameters affect the control performance and the evolution of the error. Another advantage of the approach here presented is that, in contrast to traditional controllers which have different control schemes for different wind speed regions, only one controller is used for all operational regions of the wind turbine.The rest of the paper is organized as follows.Section 2 describes the model of the small wind turbine used. Section 3 explains the neural controller architecture and the unsupervised learning strategy. The results for different neural network configuration and learning parameters are analysed and discussed in Section 4. The paper ends with the conclusions and future works.


## 2. Wind Turbine Model Description

The model of a small 7 kW wind turbine is developed. The ratio of the gear box is set to 1, so the rotor torque is the same as the mechanical torque of the generator,Tm (Nm), given by the following equation [19]:(1)Tm=Cpλ,θρAv32w,where Cp is the power coefficient; ρ is the air density (kg/m3); A is the area swept by the turbine blades (m2); v is wind speed (m/s); and w is the angular rotor speed (rad/s). The blade swept area can be approximated by A = πR2, where R is the radius or blade length.The power coefficient is usually determined experimentally for each turbine. There are different expressions to approximateCp; in this case, it has been calculated as a function of the tip speed ratio λ and the blade pitch angle θ (rad):(2)λiλ,θ=1λ+c8−c9θ3+1,(3)Cpλi,θ=c1c2λi−c3θ−c4θc5−c6e−c7/λi,where the values of the coefficients c1 to c9 depend on the characteristics of the wind turbine. The pitch angle θ is defined as the angle between the rotation plane and the blade cross section chord, and the tip speed ratio is given by the following equation:(4)λ=w⋅Rv.From equation (3), it is possible to observe how Cp decreases with the pitch angle. Indeed, when θ = 0 (rad), the blades are pitched so the blade is all out and producing at its full potential, but with θ=π/2 (rad), the blades are out of the wind.The pitch actuator is modelled as a second-order system. This assumption is widely used to model pitch systems in wind turbines and other mechanical actuators [20]. In this case, θref is the input of the pitch actuator and θ is its output:(5)θsθrefs=KθTθs2+s+Kθ.Thus far, the model is focused on the mechanical aspects of the system. But dynamics of the generator combine the mechanical and electrical domains. The relation between the rotor angular speedw and the mechanical torque Tm in a continuous current generator is given by the following expressions [21]:(6)Jdwdt=Tm−Tem−Kfw,(7)Tem=Kg⋅Kϕ⋅Ia,where Tem is the electromagnetic torque (Nm), J is the rotational inertia (kg·m2), Kf is the friction coefficient (N·m·s/rad), Kg is a dimensionless constant of the generator, Kϕ is the magnetic flow coupling constant (V∙s/rad), and Ia is the armature current (A).The armature current of the generator is then given by the following equations:(8)LadIadt=Ea−V−RaIa,(9)Ea=Kg⋅Kϕ⋅w,where La is the armature inductance (H), Ea is the induced electromotive force (V), V is the generator output voltage (V), and Ra is the armature resistance Ω. For simplicity, it is commonly assumed that the load is purely resistive, given by Ra. Thus, V=RLIa, and the output power (W) is Pout=RLIa2.By the combination of the previous equations (1)–(9), the following expressions summarize the dynamics of the wind turbine.(10)I˙a=1LaKg⋅Kϕ⋅w−Ra+RLIa,(11)λi=1λ+c8−c9θ3+1−1,(12)Cpλi,θ=c1c2λi−c3θ−c4θc5−c6e−c7/λi,(13)w˙=12⋅J⋅wCpλi,θ⋅ρπR2⋅v3−1JKg⋅Kϕ⋅Ia+Kfw,(14)θ¨=1TθKθθref−θ−θ˙,(15)Pout=RL⋅Ia2.In this work, we have focused on controlling the output power by means of the pitch angle, so the input control variable isθref and the controlled output variable is Pout (boldfaced in equations (10)–(15). The state variables are Ia,w,θ, and θ˙.The wind turbine parameters used during the simulations are shown in Table1 [19].Table 1
Parameters of the wind turbine model.
ParameterDescriptionValue (units)LaInductance of the armature13.5 mHKgConstant of the generator23.31KϕMagnetic flow coupling constant0.264 V/rad/sRaResistance of the armature0.275 ΩRLResistance of the load8 ΩJInertia6.53 Kg·m2RRadio of the blade3.2 mρDensity of the air1.223 Kg/m3KfFriction coefficient0.025 N·m/rad/sc1,c2,c3Cp constants0.73,151,0.58c4,c5,c6Cp constants0.002,2.14,13.2,18.4c7,c8,c9Cp constants18.4,−0.02,−0.003Kθ,TθPitch actuator constants0.15,2


## 3. Neural Pitch Control Strategy

### 3.1. Neural Controller Architecture

The architecture of the proposed wind turbine neural controller is shown in Figure1. The error Perr is the difference between the power reference signal Pref (rated power) and the power output. The nominal power of this wind turbine is 7 kW. Power error, Perr, and its derivative, P˙err, are saturated to maintain their values within a suitable range; the saturated signals are PerrS and P˙errS, respectively. They are the inputs of the radial basis neural network that is used to implement the controller. The output of the neural network RBFo is biased for π/4 and goes through a saturation block to adapt it to the range 0,π/2 (rad). The result of this process is the signal θref that will be used as pitch reference of the wind turbine control.Figure 1
Architecture of the neural controller.The neural network must learn the control lawfc:ℝ2⟶ℝ, which will be able to stabilize the wind turbine output power around its nominal value. This function is not known beforehand. In other control schemes, the weights of the RBF network are updated using supervised learning. That requires a known input/output dataset to train the neural network. This way it generates the expected output when it receives a similar input to the ones used for the training. However, in our case, there are no labelled output data to train the network.If we knew the correct pitch control signal for eachPerr and P˙err, we would know the appropriate control law, and we would not need a neural network to learn it. For this reason, it is not possible to use supervised learning. That is why in this approach the learning algorithm receives the error signal Perr, its derivative, and its integral and combines them to generate the new weights of the neural network.The equations of this neurocontrol strategy are the following:(16)Perrti=Prefti−1−Poutti−1,(17)P˙errti=1TcPerrti−Perrti−Tc,(18)PerrSti=MINPerrMAX,MAXPerrMIN,Perrti,(19)P˙errSti=MINP˙errMAX,MAXP˙errMIN,P˙errti,(20)RBFoti=fRBFPerrSti,P˙errSti,W¯ti−1,(21)W¯ti=flearnPerrSti,P˙errSti,W¯ti−1,(22)θrefti=MINπ2,MAX0,π4−RBFoti,where Tc is the control period (s); the maximum and minimum values of the variables, PerrMIN,PerrMAX,P˙errMIN,P˙errMAX∈ℛ4, are the constants that will allow to adjust the range of the controller, with the constraints PerrMIN<PerrMAX and P˙errMIN<P˙errMAX; fRBF is the RBF function; and flearn denotes the function of the learning algorithm.The MIN and MAX operators in equations (18), (19), and (22) are applied to maintain the signal value within boundary conditions. The expression MINv1,MAXv2,v3 sets v1 as the upper boundary; v2 as the lower limit; and v3 as the signal to be saturated. The MAX operator holds v3 beyond the lower bound. The output of the MAX operator is kept below the upper limit by the MIN operator.All the variables in equations (16)–(22) are updated each Tc second; otherwise, their values remain constant.


### 3.2. Setting Up RBF

The aim of the RBF is to compute the bidimensional functionfcPerr,P˙err⟶RBFo which implements the control law that it is able to stabilize Pout around Pref. As it is well known, any derivable continuous function can be approximated by the sum of exponential functions. In this work, we take advantage of this property to approximate the control law by the RBF neural network. In order to map the input space to the output space, we discretize the bidimensional input space of the neural network Perr,P˙err applying a gridding. Figure 2 shows the ΔX × ΔY grid. The centres of the neurons are initialized to the intersection points of the grid lines. This will set the precision of the error.Figure 2
Gridding of the input space of the RBF.The number of rows and columns, the horizontal and vertical length of the cells,ΔX and ΔY, respectively, and the number of neurons M are related by the following expressions:(23)Nx=1ΔXPerrMAX−PerrMIN+1,Ny=1ΔYP˙errMAX−P˙errMIN+1,M=Nx⋅Ny.where the number of horizontal lines is Nx, i.e., Nx−1 rows, and the number of vertical lines is Ny. In order to ensure that a horizontal line and a vertical line intersects the point (0, 0), Nx and Ny must be odd and bigger than 1.OnceΔX and ΔY are determined, the centre of the neurons is obtained by the following equation:(24)ci1=iDIVNy⋅ΔX+PerrMIN∀i∈N∪0i<M,ci2=iMODNy⋅ΔY+P˙errMIN∀i∈N∪0i<M,where ci1,ci2 is the centre of the i neuron.The output of the RBF neural network (20) is then given by the following expressions (where the variable ti has been omitted for sake of clarity):(25)fRBFPerrS,P˙errS,W¯=∑i=1MWi⋅e−distPerrS,P˙errS,ci1,ci2/σi,(26)distPerrS,P˙errS,ci1,ci2=ci1−PerrS2PerrMAX2+ci2−P˙errS2P˙errMAX2,where dist is a normalized distance measure, M is number of neurons in the hidden layer, Wi is the weight of the i-neuron, and σi is the width of the i-neuron activation function, which is normally the same for all neurons. The width of the neuron is also related to the error accuracy. The normalized distance (29) is calculated by the 2-D Euclidean distance once each 1-D distance has been normalized to the range 0,1. The range of ci1−PerrS is −PerrMAX,PerrMAX, so division by PerrMAX normalizes it to −1,1, whereas the range of ci2−P˙errS is −P˙errMAX,P˙errMAX, and thus division by P˙errMAX normalizes it to −1,1. This way the output range of (29) is 0,2.


### 3.3. Unsupervised Learning Algorithm

The parameters to be updated by a learning algorithm in an RBF neural network are the centres of the RBF neurons, theσi parameters, and the output weights. As explained before, the centres of the neurons are equally distributed in all the input space. In addition, in this work, as is common, it is assumed that the entire input space is equally important when obtaining the output of the network; therefore, the σi parameters are set in advance to the same value for all the neurons. Thus, the learning algorithm only has to update the weights.As said before, many control schemes with RBF neural networks use supervised learning to update the weights but this is not the case. There are no labelled output data to train the network, so the neural network must learn a control law previously unknown in an unsupervised way. This learning procedure is as follows.The input space has been pseudodiscretized, placing the RBF neurons at the centres of the grid. Given a network input pairPerr,P˙err, the neuron closest to this pair will have the biggest contribution to the output value of the mapping. Although it will not be the only neuron that influences the output, the contribution decreases with the distance and increases with the width of the activation function.If the centres of the neurons are separated enough and the width of the activation function is correctly selected, the contribution of the surrounding neurons may be neglected and all points in the input space are discretized to the centre of its closest neuron. Therefore, by updating the weightWi of the i-neuron, it is possible to adjust the output value of the input pair ci1,ci2, due to the fact that in these points the value of the exponential function is 1. Thus, the closer the input pair is to the centre of some neuron, the better is the approximation of the RBF function fc. The learning algorithm will be in charge of updating the weights of the network based on the output power errors, adjusting the mapping of the fc function. In the output layer of the neural network, all the partial contributions of the neurons are linearly combined to obtain the output value (28).In order to illustrate this unsupervised learning procedure, Figure3(a) shows an example of the initial surface of the weights of the neural network with all set to 1. Figure 3(b) shows the corresponding pitch control law at the output of the π/4−bias before learning, and Figure 4(a) presents the control surface after applying the learning strategy, with the final values of the weights. The pitch control law, before and after the learning, is shown in Figures 3 and 4(b), respectively. It is possible to see, as expected, that positive errors increase the weights, bending upwards the surface and thus incrementing the output value of the neural network. This means reducing the pitch angle reference, θref, and enlarging the output power.Figure 3
Weight surface (a) and pitch control law (b) before learning.
(a)(b)Figure 4
Weight surface (a) and pitch control law (b) after learning.
(a)(b)In this work, we take as starting point the typical supervised learning strategy of an RBF to reduce the error at each iteration, given by equation (27), where T is the expected output value and RBFo is the current output value.(27)Wjti=Wjti−1+μ⋅T−RBFo⋅e−distin,cj/σj∀j∈N∪0j<M.AsT is not available, in order to make the power error zero, the term T−RBFo is replaced by PerrS. Equation (28) details how the function flearn of equation (21) is then calculated, that is, how the weights of the RBF neural network are modified.(28)Wjti=Wjti−1+μ⋅KpL⋅PerrSti+KdL⋅P˙errSti+KiL⋅∫Perrti⋅e−distPerrSti,P˙errSti,cj1,cj2/σj∀j∈N∪0j<M,where μ is the learning rate and KpL,KdL,KiL are positive constants. As it may be observed, the exponential term is the same as in equations (25) and (26).The following pseudocode details the unsupervised algorithm which updates the weights of the RBF network (Algorithm1):Algorithm 1: Proposed learning algorithm.
% InitializationXmin ⟵ PerrMinXmax ⟵ PerrMaxYmin ⟵ dotPerrMinYmax ⟵ dotPerrMaxIncX ⟵ (Xmax − Xmin)/(Nx − 1)IncY ⟵ (Ymax − Ymin)/(Ny − 1)M ⟵ Nx ∗ Nyfori = 0 toM − 1cNetX ⟵ (i DIV Ny) ∗ IncX + XMincNetY ⟵ (i MOD Ny) ∗ IncY + YMincNet (i) ⟵ (cNetX, cNetY)W (i) ⟵ 1Fold (i) ⟵ 0end forF ⟵ FoldtconOld ⟵ 0pitchCon ⟵ 0% Execute algorithm(errPow, derrPow, errPowSum) ⟵ MODEL (0)fort = 0 totEndift ≥ tconOld + Tc thenerrPowSat ⟵ MIN (Xmax, MAX (Xmin, errPow))derrPowSat = MIN (Ymax, MAX (Ymin, derrPow))[RBFout,F] = RBF(cNet, W, errPowSat, derrPowSat)Fold ⟵ FpitchCon ⟵ (pi/4) − RBFoutif ABS (errPowSat) < minErr thenWinc ⟵ 0elseerrM ⟵ errPowSat ∗ KP + derrPowSat ∗ KD + errPowSum ∗ KIWinc ⟵ Fold∗ errM ∗ muend ifW ⟵ W + WinctconOld ⟵tend if(errPow, derrPow, errPowSum) ⟵ MODEL (pitchCon)end forHere,M is the number of neurons, W is an array with the weights, Nx is the number of neurons in the x-axis of the grid input space, and Ny is the number of neurons in the y-axis of the grid input space. A learning threshold, minErr, is defined so errors below that value are discarded. The centres of the neurons are represented in the array cNet. The tuning parameters of the learning rate are mu, KP, KD, and KI; the control sampling time is Tc, F is an array with the output of each exponential function of the RBF before the addition of all the neurons (28), and Fold is an array that saves the previous value of F.The model of the WT, MODEL(), receives as input the pitch control reference. The function RBF() calculates (28), where DIV() is the integer division, MOD() is the module operator, ABS() is the absolute value operator, and MIN() and MAX() are the minimum and maximum functions. Therefore, the external parameters of the algorithm are PerrMin, PerrMax, dotPerrMin, dotPerrMax, Nx, Ny, mu, KP, KD, KI, and minErr.At the beginning of the procedure, all variables are initialized, and the centres of the RBF are calculated. Then, the simulation is run each Ts second. The controller is updated each Tc second; therefore, Tc must be larger than Ts. Each control sample time, Tc, the output of the RBF, RBFout, and the WT pith reference, pitchCon, are obtained. If the error is above the threshold, a combination of the error, its derivative, and its integration is calculated (variable errM). Then, the array with the increments of the weights, Winc, is obtained from the previous F array, Fold, and the current error measurement, errM.


## 3.1. Neural Controller Architecture

The architecture of the proposed wind turbine neural controller is shown in Figure1. The error Perr is the difference between the power reference signal Pref (rated power) and the power output. The nominal power of this wind turbine is 7 kW. Power error, Perr, and its derivative, P˙err, are saturated to maintain their values within a suitable range; the saturated signals are PerrS and P˙errS, respectively. They are the inputs of the radial basis neural network that is used to implement the controller. The output of the neural network RBFo is biased for π/4 and goes through a saturation block to adapt it to the range 0,π/2 (rad). The result of this process is the signal θref that will be used as pitch reference of the wind turbine control.Figure 1
Architecture of the neural controller.The neural network must learn the control lawfc:ℝ2⟶ℝ, which will be able to stabilize the wind turbine output power around its nominal value. This function is not known beforehand. In other control schemes, the weights of the RBF network are updated using supervised learning. That requires a known input/output dataset to train the neural network. This way it generates the expected output when it receives a similar input to the ones used for the training. However, in our case, there are no labelled output data to train the network.If we knew the correct pitch control signal for eachPerr and P˙err, we would know the appropriate control law, and we would not need a neural network to learn it. For this reason, it is not possible to use supervised learning. That is why in this approach the learning algorithm receives the error signal Perr, its derivative, and its integral and combines them to generate the new weights of the neural network.The equations of this neurocontrol strategy are the following:(16)Perrti=Prefti−1−Poutti−1,(17)P˙errti=1TcPerrti−Perrti−Tc,(18)PerrSti=MINPerrMAX,MAXPerrMIN,Perrti,(19)P˙errSti=MINP˙errMAX,MAXP˙errMIN,P˙errti,(20)RBFoti=fRBFPerrSti,P˙errSti,W¯ti−1,(21)W¯ti=flearnPerrSti,P˙errSti,W¯ti−1,(22)θrefti=MINπ2,MAX0,π4−RBFoti,where Tc is the control period (s); the maximum and minimum values of the variables, PerrMIN,PerrMAX,P˙errMIN,P˙errMAX∈ℛ4, are the constants that will allow to adjust the range of the controller, with the constraints PerrMIN<PerrMAX and P˙errMIN<P˙errMAX; fRBF is the RBF function; and flearn denotes the function of the learning algorithm.The MIN and MAX operators in equations (18), (19), and (22) are applied to maintain the signal value within boundary conditions. The expression MINv1,MAXv2,v3 sets v1 as the upper boundary; v2 as the lower limit; and v3 as the signal to be saturated. The MAX operator holds v3 beyond the lower bound. The output of the MAX operator is kept below the upper limit by the MIN operator.All the variables in equations (16)–(22) are updated each Tc second; otherwise, their values remain constant.


## 3.2. Setting Up RBF

The aim of the RBF is to compute the bidimensional functionfcPerr,P˙err⟶RBFo which implements the control law that it is able to stabilize Pout around Pref. As it is well known, any derivable continuous function can be approximated by the sum of exponential functions. In this work, we take advantage of this property to approximate the control law by the RBF neural network. In order to map the input space to the output space, we discretize the bidimensional input space of the neural network Perr,P˙err applying a gridding. Figure 2 shows the ΔX × ΔY grid. The centres of the neurons are initialized to the intersection points of the grid lines. This will set the precision of the error.Figure 2
Gridding of the input space of the RBF.The number of rows and columns, the horizontal and vertical length of the cells,ΔX and ΔY, respectively, and the number of neurons M are related by the following expressions:(23)Nx=1ΔXPerrMAX−PerrMIN+1,Ny=1ΔYP˙errMAX−P˙errMIN+1,M=Nx⋅Ny.where the number of horizontal lines is Nx, i.e., Nx−1 rows, and the number of vertical lines is Ny. In order to ensure that a horizontal line and a vertical line intersects the point (0, 0), Nx and Ny must be odd and bigger than 1.OnceΔX and ΔY are determined, the centre of the neurons is obtained by the following equation:(24)ci1=iDIVNy⋅ΔX+PerrMIN∀i∈N∪0i<M,ci2=iMODNy⋅ΔY+P˙errMIN∀i∈N∪0i<M,where ci1,ci2 is the centre of the i neuron.The output of the RBF neural network (20) is then given by the following expressions (where the variable ti has been omitted for sake of clarity):(25)fRBFPerrS,P˙errS,W¯=∑i=1MWi⋅e−distPerrS,P˙errS,ci1,ci2/σi,(26)distPerrS,P˙errS,ci1,ci2=ci1−PerrS2PerrMAX2+ci2−P˙errS2P˙errMAX2,where dist is a normalized distance measure, M is number of neurons in the hidden layer, Wi is the weight of the i-neuron, and σi is the width of the i-neuron activation function, which is normally the same for all neurons. The width of the neuron is also related to the error accuracy. The normalized distance (29) is calculated by the 2-D Euclidean distance once each 1-D distance has been normalized to the range 0,1. The range of ci1−PerrS is −PerrMAX,PerrMAX, so division by PerrMAX normalizes it to −1,1, whereas the range of ci2−P˙errS is −P˙errMAX,P˙errMAX, and thus division by P˙errMAX normalizes it to −1,1. This way the output range of (29) is 0,2.


## 3.3. Unsupervised Learning Algorithm

The parameters to be updated by a learning algorithm in an RBF neural network are the centres of the RBF neurons, theσi parameters, and the output weights. As explained before, the centres of the neurons are equally distributed in all the input space. In addition, in this work, as is common, it is assumed that the entire input space is equally important when obtaining the output of the network; therefore, the σi parameters are set in advance to the same value for all the neurons. Thus, the learning algorithm only has to update the weights.As said before, many control schemes with RBF neural networks use supervised learning to update the weights but this is not the case. There are no labelled output data to train the network, so the neural network must learn a control law previously unknown in an unsupervised way. This learning procedure is as follows.The input space has been pseudodiscretized, placing the RBF neurons at the centres of the grid. Given a network input pairPerr,P˙err, the neuron closest to this pair will have the biggest contribution to the output value of the mapping. Although it will not be the only neuron that influences the output, the contribution decreases with the distance and increases with the width of the activation function.If the centres of the neurons are separated enough and the width of the activation function is correctly selected, the contribution of the surrounding neurons may be neglected and all points in the input space are discretized to the centre of its closest neuron. Therefore, by updating the weightWi of the i-neuron, it is possible to adjust the output value of the input pair ci1,ci2, due to the fact that in these points the value of the exponential function is 1. Thus, the closer the input pair is to the centre of some neuron, the better is the approximation of the RBF function fc. The learning algorithm will be in charge of updating the weights of the network based on the output power errors, adjusting the mapping of the fc function. In the output layer of the neural network, all the partial contributions of the neurons are linearly combined to obtain the output value (28).In order to illustrate this unsupervised learning procedure, Figure3(a) shows an example of the initial surface of the weights of the neural network with all set to 1. Figure 3(b) shows the corresponding pitch control law at the output of the π/4−bias before learning, and Figure 4(a) presents the control surface after applying the learning strategy, with the final values of the weights. The pitch control law, before and after the learning, is shown in Figures 3 and 4(b), respectively. It is possible to see, as expected, that positive errors increase the weights, bending upwards the surface and thus incrementing the output value of the neural network. This means reducing the pitch angle reference, θref, and enlarging the output power.Figure 3
Weight surface (a) and pitch control law (b) before learning.
(a)(b)Figure 4
Weight surface (a) and pitch control law (b) after learning.
(a)(b)In this work, we take as starting point the typical supervised learning strategy of an RBF to reduce the error at each iteration, given by equation (27), where T is the expected output value and RBFo is the current output value.(27)Wjti=Wjti−1+μ⋅T−RBFo⋅e−distin,cj/σj∀j∈N∪0j<M.AsT is not available, in order to make the power error zero, the term T−RBFo is replaced by PerrS. Equation (28) details how the function flearn of equation (21) is then calculated, that is, how the weights of the RBF neural network are modified.(28)Wjti=Wjti−1+μ⋅KpL⋅PerrSti+KdL⋅P˙errSti+KiL⋅∫Perrti⋅e−distPerrSti,P˙errSti,cj1,cj2/σj∀j∈N∪0j<M,where μ is the learning rate and KpL,KdL,KiL are positive constants. As it may be observed, the exponential term is the same as in equations (25) and (26).The following pseudocode details the unsupervised algorithm which updates the weights of the RBF network (Algorithm1):Algorithm 1: Proposed learning algorithm.
% InitializationXmin ⟵ PerrMinXmax ⟵ PerrMaxYmin ⟵ dotPerrMinYmax ⟵ dotPerrMaxIncX ⟵ (Xmax − Xmin)/(Nx − 1)IncY ⟵ (Ymax − Ymin)/(Ny − 1)M ⟵ Nx ∗ Nyfori = 0 toM − 1cNetX ⟵ (i DIV Ny) ∗ IncX + XMincNetY ⟵ (i MOD Ny) ∗ IncY + YMincNet (i) ⟵ (cNetX, cNetY)W (i) ⟵ 1Fold (i) ⟵ 0end forF ⟵ FoldtconOld ⟵ 0pitchCon ⟵ 0% Execute algorithm(errPow, derrPow, errPowSum) ⟵ MODEL (0)fort = 0 totEndift ≥ tconOld + Tc thenerrPowSat ⟵ MIN (Xmax, MAX (Xmin, errPow))derrPowSat = MIN (Ymax, MAX (Ymin, derrPow))[RBFout,F] = RBF(cNet, W, errPowSat, derrPowSat)Fold ⟵ FpitchCon ⟵ (pi/4) − RBFoutif ABS (errPowSat) < minErr thenWinc ⟵ 0elseerrM ⟵ errPowSat ∗ KP + derrPowSat ∗ KD + errPowSum ∗ KIWinc ⟵ Fold∗ errM ∗ muend ifW ⟵ W + WinctconOld ⟵tend if(errPow, derrPow, errPowSum) ⟵ MODEL (pitchCon)end forHere,M is the number of neurons, W is an array with the weights, Nx is the number of neurons in the x-axis of the grid input space, and Ny is the number of neurons in the y-axis of the grid input space. A learning threshold, minErr, is defined so errors below that value are discarded. The centres of the neurons are represented in the array cNet. The tuning parameters of the learning rate are mu, KP, KD, and KI; the control sampling time is Tc, F is an array with the output of each exponential function of the RBF before the addition of all the neurons (28), and Fold is an array that saves the previous value of F.The model of the WT, MODEL(), receives as input the pitch control reference. The function RBF() calculates (28), where DIV() is the integer division, MOD() is the module operator, ABS() is the absolute value operator, and MIN() and MAX() are the minimum and maximum functions. Therefore, the external parameters of the algorithm are PerrMin, PerrMax, dotPerrMin, dotPerrMax, Nx, Ny, mu, KP, KD, KI, and minErr.At the beginning of the procedure, all variables are initialized, and the centres of the RBF are calculated. Then, the simulation is run each Ts second. The controller is updated each Tc second; therefore, Tc must be larger than Ts. Each control sample time, Tc, the output of the RBF, RBFout, and the WT pith reference, pitchCon, are obtained. If the error is above the threshold, a combination of the error, its derivative, and its integration is calculated (variable errM). Then, the array with the increments of the weights, Winc, is obtained from the previous F array, Fold, and the current error measurement, errM.


## 4. Performance Analysis of the Neurocontrol Strategy

A performance analysis of this unsupervised neurocontrol strategy has been carried out under different network configurations and varying some parameters of the learning algorithm and of the pitch control law. The software Matlab/Simulink has been used. The duration of each simulation is 100 s. In order to reduce the discretization error, a variable step size has been used for the simulation experiments, with maximum step size set to 10 ms. The control sample timeTc has been fixed to 100 ms.The neurocontroller performance is compared with a PID regulator. In order to make a fair comparison, the PID output has been scaled to adjust its range to0,π/2 and it has been also biased by π/4. The equation of the biased PID controller is expressed as follows:(29)θ=π4−π4PerrMAXKP⋅Perr+KD⋅ddtPerr+KI⋅∫Perrdt.The wind turbine nominal power is 7 kW, and thus the referencePref = 7000 W. The tuning parameters KP,KD,KI have been determined by trial and error, and their values are [1, 0.2, 0.9], respectively. The parameter minErr of the learning algorithm is set to 15.The performance of the controllers has been evaluated with the MSE, the mean value, and the variance, calculated as(30)MSE=1Tsim∑iPouti−Pref2Tsi,Mean=1Tsim∑iPouti⋅Tsi,Var=1Tsim∑iPouti−Mean2Tsi,where Tsim is the simulation time and Tsi is the sampling time i that is necessary due to the variable step size that has been used.Figure5(a) shows the output power when different strategies are applied. The blue line represents the output when the pitch is permanently set to zero, the red one represents the output when pitch angle is set to feather position (90°), the yellow line is the response with the PID, the purple one is the response with the neural controller, and finally the green line represents the rated power. Figure 5(b) shows a zoom of the previous figure to see better the variations of the signals. In this experiment, the wind is randomly generated with a speed between 11.5 and 14 m/s, the RBF has 25 neurons in the hidden layer, σ is set to 0.1, the maximum and minimum values of the parameters PerrMIN,PerrMAX,P˙errMIN,P˙errMAX are set to [−1000, 1000, −400, 400], and learning rate μ is 0.0001∗1.5.Figure 5
Output power with different strategies (a) and output power zoom (b).
(a)(b)As shown in Figure5, when the pitch is set to zero, the output power is always bigger than the rated power because the blades harness the maximum power of the wind. As expected, when the pitch is fixed to feather, the opposite happens, as the surface which faces the wind is minimum. Another interesting outcome is that the proposed neurocontroller is not only able to stabilize the output power around the nominal value, but its performance is better than the PID, particularly up to 50 s, and it is less oscillatory.As the output power depends on the wind, different simulations were carried out varying the wind speed. The configuration of the neural network and the learning algorithm is the same as in the previous experiment. Figure6 shows the influence of the wind speed regarding the mean square power error (MSE). The red bar is the MSE with the neural controller, and the blue one is the MSE with the PID. As expected, the higher the wind, the larger the error. For all the ranges of wind speed, the neurocontrol strategy has been proved to be better than the PID.Figure 6
Evolution of MSE with wind speed.Table2 summarizes the detailed results of the simulation experiments with different wind speeds between 12.2 and 12.8 m/s. At a wind speed below 12.2 m/s, the stabilized output power is always lower than 7 kW, even with pitch angle set to 0. With a wind speed over 12.8 m/s, the steady output power is always higher than 7 kW even when the pitch is set to 90°. In all the cases, the error is smaller with the neural controller than with the PID but for 12.5, 12.7, and 12.8 m/s, the mean obtained with the PID is slightly smaller.Table 2
MSE, output power mean, and variance for different wind speeds.
Wind speed (m/s)RBFPIDMSEMeanVarianceMSEMeanVariance12.2213.877.07e + 31.03e + 5266.837.20e + 31.24e + 512.3220.517.13e + 31.14e + 5299.867.21e + 31.51e + 512.4233.367.20e + 31.19e + 5328.407.22e + 031.80e + 512.5256.857.24e + 31.36e + 5352.477.22e + 032.07e + 512.6281.727.24e + 31.47e + 5371.847.24e + 032.35e + 512.7306.967.27e + 31.69e + 5386.397.26e + 32.62e + 512.8331.857.32e + 31.89e + 5399.767.28e + 32.92e + 5A sinusoidal wind signal has been also tested. The average wind speed is 12.5 m/s with an amplitude of 0.6 m/s and a period of 50 s. The result of the experiment is shown in Figure7. The output power is represented with the same colour code as Figure 5. To show how the RBF learns, Figure 7(a) shows the response for iterations from 1 to 175. In Figure 7(b), the output power for different control strategies described before when the system has already learned is represented.Figure 7
Output power for learning iterations from 1 to 175 with sinusoidal wind speed (a). Output power for different control strategies when the neural controller has learned (b).
(a)(b)The learning capability of the neurocontroller is shown in Figure8. The MSE quickly converges in a few iterations. It is also possible to observe an inflection point around iteration 30. From this point on, the learning speed decreases. Indeed, from them, the MSE hardly varies.Figure 8
MSE evolution of the neurocontroller with a sinusoidal wind speed.The frequency of the sinusoidal wind speed signal also influences the results. Figure9 shows the results for different periods (blue, PID; red, neurocontrol). The minimum MSE is reached for the minimum period; from this value, the MSE grows. At a period of 20 s, a local maximum for the neural controller appears, and the same happens at 35 s for the PID. From then on, the error decreases for both controllers. In all the cases, the error is much smaller with the neurocontroller than with the PID.Figure 9
Evolution of error for different periods of the sinusoidal wind speed.Table3 summarizes the results obtained with this experiment. In all cases, the MSE is much smaller with the neural controller. Moreover, it is possible to observe how the response with the neural controller slightly improves when the period is larger than 20 s: the MSE and the variance decrease, and the mean value remains almost unchanged. Meanwhile, for the PID, there are several local minimums and maximums in the MSE and the variance. These upward and downward trends also appear in the MSE and the variance evolution. Nevertheless, the influence of the wind period is not so relevant.Table 3
MSE, output power mean, and variance for different periods of sinusoidal wind speed.
Wind speed periodRBFPIDMSEMeanVarianceMSEMeanVariance1393.897.43e + 31.58e + 5413.337.29e + 33.22e + 511402.227.40e + 31.97e + 5440.877.28e + 33.56e + 521411.057.39e + 32.29e + 5470.157.29e + 33.94e + 531406.357.40e + 32.31e + 5485.307.29e + 34.00e + 541403.147.40e + 32.25e + 5475.567.31e + 33.85e + 551402.167.40e + 32.25e + 5473.757.30e + 33.90e + 561401.057.41e + 32.25e + 5485.647.33e + 34.04e + 571401.217.42e + 32.20e + 5480.167.32e + 33.83e + 581401.047.41e + 32.14e + 5478.867.32e + 33.82e + 591398.407.41e + 32.09e + 5477.567.31e + 33.85e + 5


### 4.1. Influence of the RBF

The influence of the configuration of the RBF neural network in the performance of the controller has also been evaluated. Different number of neurons, values of theσ parameter, and several limits have been tested. The wind turbine is subjected to a random wind with mean speed between 11.5 and 14 m/s; lambda is 0.0001 ∗ 1.5, σ is set to 0.1 in this experiment, the lower and upper limits PerrMIN,PerrMAX,P˙errMIN,P˙errMAX are set to [−1000, 1000, −400, 400], and the number of neurons varies.Figure10 shows the influence of the number of neurons, M, in the evolution of the MSE. The colour is associated to the number of neurons (see the legends). All the curves of this figure have a similar shape, and the main difference is the slope before the inflection point. It is possible to see that the more the neurons, the higher the slopes. In general, the error decreases with the number of neurons until the number is so large that the network does not learn. For example, the MSE with 441 neurons is bigger than that with 121.Figure 10
Evolution of the MSE with different number of neurons.To evaluate the influence of the widthσ of the activation function, the configuration of the RBF network is set to the previous values, with the number of neurons M = 9, 25, and 121 (Figure 11, from left to right). The σ parameter varies from 0.05 to 0.75. In all the cases, the MSE tends to decrease as σ increases. There is a sharp drop in MSE during the first iterations for values of σ greater than 0.25. The descent rate also grows with the number of neurons.Figure 11
Evolution of the MSE for different values ofσ and number of neurons M. (a) Influence of σ in MSE evolution, M = 9. (b) Influence of σ in MSE evolution, M = 25. (c) Influence of σ in MSE evolution, M = 121.
(a)(b)(c)Figure12 shows another perspective of the influence of σ in the error. It represents the MSE at iteration 200 for different σ values and different number of neurons. In this figure, it is also possible to see how the MSE decreases with σ until this parameter is around 0.25, where it starts to grow. This inflexion point does not depend on the number of neurons but the fall before that minimum does depend on the number of neurons (the bigger the number of neurons, the larger the descent rate).Figure 12
Influence ofσ in the MSE for different number of neurons.The performance of the neurocontroller can be also adjusted by the modification of the saturation limits of the input space. Different sets of values ofPerrMIN,PerrMAX,P˙errMIN,P˙errMAX have been tested, one varying PerrMAX and another changing P˙errMAX. In both experiments, the number of neurons M is set to 121, σ is 0.25, and 5 iterations are run. When PerrMAX. is changed, the value of P˙errMAX is kept constant to 400, and when P˙errMAX varies, the limit PerrMAX is fixed to 1000. The corresponding negative boundaries have the same absolute value.Table4 shows the variation of MSE, the output power mean, and its variance when PerrMAX is modified from 100 to 1500. The MSE and the mean value decrease with PerrMAX; however, the variance grows. This may be due to the fact that bigger values of PerrMAX mean bigger variations in the output power and thus larger variance. The influence in the MSE is explained since wider boundaries produce less saturated values and more available information for the learning process. But if the saturation is not reached, too high value of PerrMAX may be counterproductive because the spatial distribution of the neurons makes more neurons to be useless.Table 4
Variation of MSE, output power mean, and variance withPerrMAX.
PerrMAXRBFMSEMeanVariance100312.027.28e + 31.60e + 5300298.227.24e + 31.67e + 5500293.767.23e + 31.71e + 5700291.907.21e + 31.74e + 5900291.917.21e + 31.76e + 51100292.717.20e + 31.78e + 51300293.187.19e + 31.83e + 51500293.217.19e + 31.82e + 5PID397.957.25e + 32.78e + 5Table5 summarizes the variation of the MSE, the output power mean, and its variance when P˙errMAX changes from 50 to 7050. Similar to Table 4, the MSE and the mean value are reduced when P˙errMAX increases until a local minimum is reached. It may be also explained for the reduction of the saturated values. However, in this case, the variance also decreases with P˙errMAX.Table 5
Variation of MSE, output power mean, and variance withP˙errMAX.
P˙errMAXRBFMSEMeanVariance50301.347.23e + 31.76e + 5150299.827.22e + 31.79e + 5250297.117.21e + 31.79e + 5350293.567.21e + 31.78e + 5450293.237.21e + 31.78e + 5550290.347.21e + 31.78e + 51050285.167.20e + 31.71e + 53050280.557.20e + 31.66e + 55050278.967.20e + 31.64e + 57050279.117.20e + 31.65e + 5PID397.957.25e + 32.78e + 5


### 4.2. Influence of the Learning Parameters

Several experiments have been carried out to show the influence of the learning parametersμ, KpL,KdL, and KiL. The configuration of the RBF network is M = 121, σ = 0.1, and PerrMIN,PerrMAX,P˙errMIN,P˙errMAX=−1000,1000,−400,400. In the first experiment, 200 iterations have been simulated and the tuple KpL,KdL,KiL is set to 1,0.1,0. Figure 13 shows the results for different learning rate μ. Again, the MSE decreases at each iteration. As expected, the descent rate grows with the learning rate. These results may also be seen in Table 6 (at iteration 5). The output power mean value also decreases with the learning rate. However, the variance grows, and larger values of μ produce bigger increments in the weights of the neural network (28) and thus bigger variations in the pitch reference and also greater changes in the output power.Figure 13
Evolution of MSE for different learning parametersμ.Table 6
Variation of MSE, output power mean, and variance with the learning rateμ.
Learning rateμRBFMSEMeanVariance0.0001379.457.40e + 31.260.001324.607.28e + 31.760.01290.377.22e + 31.720.1289.277.23e + 31.681290.417.23e + 31.68In the next experiment,KdL and KiL are set to 0 and KpL is varied. The effect of varying KpL is the same than modifying μ due to the fact that both are constants that multiply PerrS (although the results are different because KdL = 0.1 in the previous experiment). The results are shown in Table 7. The MSE and the output power mean value decrease with KpL and the variance grows.Table 7
Variation of MSE output power mean and variance withKpL.
KpLRBFMSEMeanVariance0.1386.547.41e + 31.23e + 50.2384.437.41e + 31.23e + 50.5380.967.41e + 31.25e + 51374.787.40e + 31.30e + 52361.467.37e + 31.40e + 55331.127.33e + 31.69e + 510314.507.25e + 31.80e + 520302.657.24e + 31.75e + 550292.637.23e + 31.70e + 5100290.347.22e + 31.69e + 5200289.347.23e + 31.69e + 5500290.327.23e + 31.70e + 5PID397.957.25e + 32.78e + 5Now,KpL and KiL are set to 0 and KdL is varied. The results are shown in Table 8. Initially, the MSE and the output power mean decrease but from KdL=5, these values grow continuously. An increment of KdL makes the system learn faster. Also, it reacts faster to changes so that MSE can be reduced. However, a very high value amplifies the first ramp that moves the pitch reference to 0. After this point, the system takes a long time to learn as it would need a big downward ramp to recover the initial weight values of the neural network. This also explains why the variance decreases with KdL. After an initial ramp, the values are almost stable producing only small variations in the weights and thus a small variance.Table 8
Variation of MSE, output power mean, and variance withKdL.
KdLRBFMSEMeanVariance0.1389.377.42e + 31.21e + 50.2386.277.41e + 31.23e + 50.5386.877.41e + 31.21e + 51389.157.42e + 31.19e + 52385.347.41e + 31.20e + 55384.667.41e + 31.14e + 510386.097.41e + 31.09e + 520393.097.43e + 31.05e + 550431.417.47e + 30.93e + 5100511.327.56e + 30.60e + 5200550.497.60e + 30.54e + 5500547.877.60e + 30.56e + 5PID397.957.25e + 32.78e + 5Finally,KpL and KdL are set to 0 and KiL is varied to test its influence. The results are shown in Table 9. Initially, the MSE and the output power mean decrease with KiL until KiLis equal to 0.1; from this value on, they grow continuously. KiL helps the controller to learn how to reduce the steady-state error, so the MSE decreases when KiL increases. However, if this parameter is too high, the controller becomes sluggish and the MSE grows. The variance also increases with KiL since it makes the controller slower, so higher output values are reached. Keeping these high outputs longer generates a greater variance.Table 9
Variation of MSE, output power mean, and variance withKiL.
KiLRBFMSEMeanVariance0.001387.917.42e + 31.22e + 50.002388.707.42e + 31.21e + 50.005386.957.41e + 31.23e + 50.01381.037.40e + 31.23e + 50.02373.857.39e + 31.36e + 50.05357.377.32e + 31.80e + 50.1356.627.25e + 32.17e + 50.2368.967.23e + 32.41e + 50.5388.237.20e + 32.73e + 51408.567.19e + 32.99e + 52435.427.18e + 33.30e + 55462.727.17e + 33.61e + 5PID397.957.25e + 32.78e + 5


### 4.3. Influence of the Control Period

Once the influence of the neural network configuration and the learning algorithm parameters has been analysed, the last experiment evaluates how the control period affects the performance of the neurocontroller. The number of neurons is set to 11,σ = 0.1, PerrMIN,PerrMAX,P˙errMIN,P˙errMAX=−1000,1000,−1000,1000, and KpL,KdL,KiL=1,0.1,0. Table 10 shows the results at iteration 5 when the control period varies from 10 to 100 ms. If the control sample time is too small, the neural controller reacts to the noisy component of the wind, and this increases the MSE and the variance. On other hand, a very big control period makes the system too slow and also increases the MSE. Therefore, an intermediate value would be the best option. In any case, the performance of the neural controller is much better than the PID response for all the control periods tested.Table 10
Variation of MSE, output power mean, and variance with the control period.
Control period (ms)RBFPIDMSEMeanVarianceMSEMeanVariance10292.867.20e + 31.82e + 5401.247.26e + 32.82e + 520288.397.20e + 31.76e + 5401.217.26e + 32.79e + 530285.667.20e + 31.72e + 5401.407.26e + 32.81e + 540284.637.20e + 31.71e + 5398.587.26e + 32.79e + 550284.287.20e + 31.70e + 5402.387.26e + 32.80e + 560282.297.20e + 31.69e + 5402.127.26e + 32.80e + 570285.127.19e + 31.72e + 5400.917.26e + 32.80e + 580284.777.20e + 31.71e + 5399.217.26e + 32.80e + 590285.707.20e + 31.72e + 5399.327.26e + 32.79e + 5100285.857.20e + 31.72e + 5397.957.26e + 32.78e + 5


## 4.1. Influence of the RBF

The influence of the configuration of the RBF neural network in the performance of the controller has also been evaluated. Different number of neurons, values of theσ parameter, and several limits have been tested. The wind turbine is subjected to a random wind with mean speed between 11.5 and 14 m/s; lambda is 0.0001 ∗ 1.5, σ is set to 0.1 in this experiment, the lower and upper limits PerrMIN,PerrMAX,P˙errMIN,P˙errMAX are set to [−1000, 1000, −400, 400], and the number of neurons varies.Figure10 shows the influence of the number of neurons, M, in the evolution of the MSE. The colour is associated to the number of neurons (see the legends). All the curves of this figure have a similar shape, and the main difference is the slope before the inflection point. It is possible to see that the more the neurons, the higher the slopes. In general, the error decreases with the number of neurons until the number is so large that the network does not learn. For example, the MSE with 441 neurons is bigger than that with 121.Figure 10
Evolution of the MSE with different number of neurons.To evaluate the influence of the widthσ of the activation function, the configuration of the RBF network is set to the previous values, with the number of neurons M = 9, 25, and 121 (Figure 11, from left to right). The σ parameter varies from 0.05 to 0.75. In all the cases, the MSE tends to decrease as σ increases. There is a sharp drop in MSE during the first iterations for values of σ greater than 0.25. The descent rate also grows with the number of neurons.Figure 11
Evolution of the MSE for different values ofσ and number of neurons M. (a) Influence of σ in MSE evolution, M = 9. (b) Influence of σ in MSE evolution, M = 25. (c) Influence of σ in MSE evolution, M = 121.
(a)(b)(c)Figure12 shows another perspective of the influence of σ in the error. It represents the MSE at iteration 200 for different σ values and different number of neurons. In this figure, it is also possible to see how the MSE decreases with σ until this parameter is around 0.25, where it starts to grow. This inflexion point does not depend on the number of neurons but the fall before that minimum does depend on the number of neurons (the bigger the number of neurons, the larger the descent rate).Figure 12
Influence ofσ in the MSE for different number of neurons.The performance of the neurocontroller can be also adjusted by the modification of the saturation limits of the input space. Different sets of values ofPerrMIN,PerrMAX,P˙errMIN,P˙errMAX have been tested, one varying PerrMAX and another changing P˙errMAX. In both experiments, the number of neurons M is set to 121, σ is 0.25, and 5 iterations are run. When PerrMAX. is changed, the value of P˙errMAX is kept constant to 400, and when P˙errMAX varies, the limit PerrMAX is fixed to 1000. The corresponding negative boundaries have the same absolute value.Table4 shows the variation of MSE, the output power mean, and its variance when PerrMAX is modified from 100 to 1500. The MSE and the mean value decrease with PerrMAX; however, the variance grows. This may be due to the fact that bigger values of PerrMAX mean bigger variations in the output power and thus larger variance. The influence in the MSE is explained since wider boundaries produce less saturated values and more available information for the learning process. But if the saturation is not reached, too high value of PerrMAX may be counterproductive because the spatial distribution of the neurons makes more neurons to be useless.Table 4
Variation of MSE, output power mean, and variance withPerrMAX.
PerrMAXRBFMSEMeanVariance100312.027.28e + 31.60e + 5300298.227.24e + 31.67e + 5500293.767.23e + 31.71e + 5700291.907.21e + 31.74e + 5900291.917.21e + 31.76e + 51100292.717.20e + 31.78e + 51300293.187.19e + 31.83e + 51500293.217.19e + 31.82e + 5PID397.957.25e + 32.78e + 5Table5 summarizes the variation of the MSE, the output power mean, and its variance when P˙errMAX changes from 50 to 7050. Similar to Table 4, the MSE and the mean value are reduced when P˙errMAX increases until a local minimum is reached. It may be also explained for the reduction of the saturated values. However, in this case, the variance also decreases with P˙errMAX.Table 5
Variation of MSE, output power mean, and variance withP˙errMAX.
P˙errMAXRBFMSEMeanVariance50301.347.23e + 31.76e + 5150299.827.22e + 31.79e + 5250297.117.21e + 31.79e + 5350293.567.21e + 31.78e + 5450293.237.21e + 31.78e + 5550290.347.21e + 31.78e + 51050285.167.20e + 31.71e + 53050280.557.20e + 31.66e + 55050278.967.20e + 31.64e + 57050279.117.20e + 31.65e + 5PID397.957.25e + 32.78e + 5


## 4.2. Influence of the Learning Parameters

Several experiments have been carried out to show the influence of the learning parametersμ, KpL,KdL, and KiL. The configuration of the RBF network is M = 121, σ = 0.1, and PerrMIN,PerrMAX,P˙errMIN,P˙errMAX=−1000,1000,−400,400. In the first experiment, 200 iterations have been simulated and the tuple KpL,KdL,KiL is set to 1,0.1,0. Figure 13 shows the results for different learning rate μ. Again, the MSE decreases at each iteration. As expected, the descent rate grows with the learning rate. These results may also be seen in Table 6 (at iteration 5). The output power mean value also decreases with the learning rate. However, the variance grows, and larger values of μ produce bigger increments in the weights of the neural network (28) and thus bigger variations in the pitch reference and also greater changes in the output power.Figure 13
Evolution of MSE for different learning parametersμ.Table 6
Variation of MSE, output power mean, and variance with the learning rateμ.
Learning rateμRBFMSEMeanVariance0.0001379.457.40e + 31.260.001324.607.28e + 31.760.01290.377.22e + 31.720.1289.277.23e + 31.681290.417.23e + 31.68In the next experiment,KdL and KiL are set to 0 and KpL is varied. The effect of varying KpL is the same than modifying μ due to the fact that both are constants that multiply PerrS (although the results are different because KdL = 0.1 in the previous experiment). The results are shown in Table 7. The MSE and the output power mean value decrease with KpL and the variance grows.Table 7
Variation of MSE output power mean and variance withKpL.
KpLRBFMSEMeanVariance0.1386.547.41e + 31.23e + 50.2384.437.41e + 31.23e + 50.5380.967.41e + 31.25e + 51374.787.40e + 31.30e + 52361.467.37e + 31.40e + 55331.127.33e + 31.69e + 510314.507.25e + 31.80e + 520302.657.24e + 31.75e + 550292.637.23e + 31.70e + 5100290.347.22e + 31.69e + 5200289.347.23e + 31.69e + 5500290.327.23e + 31.70e + 5PID397.957.25e + 32.78e + 5Now,KpL and KiL are set to 0 and KdL is varied. The results are shown in Table 8. Initially, the MSE and the output power mean decrease but from KdL=5, these values grow continuously. An increment of KdL makes the system learn faster. Also, it reacts faster to changes so that MSE can be reduced. However, a very high value amplifies the first ramp that moves the pitch reference to 0. After this point, the system takes a long time to learn as it would need a big downward ramp to recover the initial weight values of the neural network. This also explains why the variance decreases with KdL. After an initial ramp, the values are almost stable producing only small variations in the weights and thus a small variance.Table 8
Variation of MSE, output power mean, and variance withKdL.
KdLRBFMSEMeanVariance0.1389.377.42e + 31.21e + 50.2386.277.41e + 31.23e + 50.5386.877.41e + 31.21e + 51389.157.42e + 31.19e + 52385.347.41e + 31.20e + 55384.667.41e + 31.14e + 510386.097.41e + 31.09e + 520393.097.43e + 31.05e + 550431.417.47e + 30.93e + 5100511.327.56e + 30.60e + 5200550.497.60e + 30.54e + 5500547.877.60e + 30.56e + 5PID397.957.25e + 32.78e + 5Finally,KpL and KdL are set to 0 and KiL is varied to test its influence. The results are shown in Table 9. Initially, the MSE and the output power mean decrease with KiL until KiLis equal to 0.1; from this value on, they grow continuously. KiL helps the controller to learn how to reduce the steady-state error, so the MSE decreases when KiL increases. However, if this parameter is too high, the controller becomes sluggish and the MSE grows. The variance also increases with KiL since it makes the controller slower, so higher output values are reached. Keeping these high outputs longer generates a greater variance.Table 9
Variation of MSE, output power mean, and variance withKiL.
KiLRBFMSEMeanVariance0.001387.917.42e + 31.22e + 50.002388.707.42e + 31.21e + 50.005386.957.41e + 31.23e + 50.01381.037.40e + 31.23e + 50.02373.857.39e + 31.36e + 50.05357.377.32e + 31.80e + 50.1356.627.25e + 32.17e + 50.2368.967.23e + 32.41e + 50.5388.237.20e + 32.73e + 51408.567.19e + 32.99e + 52435.427.18e + 33.30e + 55462.727.17e + 33.61e + 5PID397.957.25e + 32.78e + 5


## 4.3. Influence of the Control Period

Once the influence of the neural network configuration and the learning algorithm parameters has been analysed, the last experiment evaluates how the control period affects the performance of the neurocontroller. The number of neurons is set to 11,σ = 0.1, PerrMIN,PerrMAX,P˙errMIN,P˙errMAX=−1000,1000,−1000,1000, and KpL,KdL,KiL=1,0.1,0. Table 10 shows the results at iteration 5 when the control period varies from 10 to 100 ms. If the control sample time is too small, the neural controller reacts to the noisy component of the wind, and this increases the MSE and the variance. On other hand, a very big control period makes the system too slow and also increases the MSE. Therefore, an intermediate value would be the best option. In any case, the performance of the neural controller is much better than the PID response for all the control periods tested.Table 10
Variation of MSE, output power mean, and variance with the control period.
Control period (ms)RBFPIDMSEMeanVarianceMSEMeanVariance10292.867.20e + 31.82e + 5401.247.26e + 32.82e + 520288.397.20e + 31.76e + 5401.217.26e + 32.79e + 530285.667.20e + 31.72e + 5401.407.26e + 32.81e + 540284.637.20e + 31.71e + 5398.587.26e + 32.79e + 550284.287.20e + 31.70e + 5402.387.26e + 32.80e + 560282.297.20e + 31.69e + 5402.127.26e + 32.80e + 570285.127.19e + 31.72e + 5400.917.26e + 32.80e + 580284.777.20e + 31.71e + 5399.217.26e + 32.80e + 590285.707.20e + 31.72e + 5399.327.26e + 32.79e + 5100285.857.20e + 31.72e + 5397.957.26e + 32.78e + 5


## 5. Conclusions and Future Works

In this work, an intelligent wind turbine pitch control strategy is presented, and the influence of the parameters of the neurocontrol systems is analysed. The pitch controller is based on an RBF neural network that learns in an unsupervised way. The control goal is to maintain the output power around its rated value, obtaining the appropriate pitch angle reference. The output power errors are introduced both in the neurocontroller and in the learning algorithm.Extensive simulation tests have been carried out on a 7 kW wind turbine, varying different network configuration parameters as well as the wind speed. The performance of the neurocontroller is compared with a tuned PID obtaining better results in all the cases.These experiments have led to draw some interesting conclusions. Among them, we can highlight the small influence of the wind frequency. However, the learning rate grows significantly with the number of neurons. There exists an optimum sigma value different for each number of neurons, between 0.2 and 0.4. Another interesting result is how the gainsKpL and KdL as well as KiL accelerate the learning, and, in general, low values of these tuning parameters improve the stability. The control sample time has a clear effect on the system response, making it slower or faster.In future, it would be desirable to test the proposal on a real prototype of a wind turbine. In addition, it would be interesting to apply this control strategy to a bigger turbine and to see if this control action affects the stability of a floating offshore wind turbine.



---

*Source: 4681767-2020-09-15.xml*