Nomenclature

 

\(\rho \) :

Air density

V :

Wind speed

R :

Rotor radius

\(C_p\) :

Power coefficient

\(C_q(\lambda ,\beta )\) :

Torque coefficient

\(\beta \) :

Pitch angle

\(\lambda \) :

Tip-speed ratio

\(P_r\) :

Rotor power

\(T_a\) :

Aerodynamic torque

\(J_r, J_g\) :

Rotor and generator inertias

\(K_r, K_g \) :

Rotor and generator external damping

\(T_{hs}, T_{ls}\) :

High-speed and low-speed torque

\(T_{em}\) :

Electromagnetic torque

\(n_{ra}\) :

Gearbox ratio

\(\varOmega _r\) :

Rotor speed

\(\varPhi _{d,qs}\) :

Stator flux

\(\varPhi _{d,qr}\) :

Rotor flux

\(U_{d,qs}\) :

Stator winding voltage

\(U_{d,qr}\) :

Rotor winding voltage

\(I_{d,qs},I_{d,rq}\) :

Stator and rotor winding currents

\(L_s, L_r\) :

Self-inductance of the stator and rotor

\(L_m\) :

Mutual inductance between windings

\(R_s, R_r\) :

Resistance of the stator and rotor

\(\varOmega _s\) :

Frequency of the grid

p :

Number of pole pairs

\(V_{\textit{cut-in}}\) :

Cut-in wind speed

\(V_{\textit{cut-off}}\) :

Cut-off wind speed

\(V_{rated}\) :

Rated wind speed

 

1 Introduction

In recent years, the wind energy conversion systems have received more and more attentions from both academic and industrial communities due to the depletion of tradition energy source and increasing environment pollution [1, 2]. Because of this, the WECS has experienced the fastest growth and this tendency is expected to endure for a long time [3, 4]. However, it is still provide a very small share in the global energy market due to its high costs, and developing advanced control algorithms is considered to be a promising way to reduce its costs.

Linear control methods have been commonly used for control of wind energy conversion systems [5, 6]. The linear methods only deliver satisfactory performance when the plant works around the corresponding operation point, whereas the operation point of WECS changes frequently because of the random wind. Therefore, the system performance will be impaired if the linear method is enforced.

In order to avoid the drawbacks of linear methods, many nonlinear control methods have been studied [7, 8]. However, in previous studies, only steady state performance of the control system has been taken into account, while the more essential transient performance has been rarely considered.

Therefore, in this chapter, an adaptive guaranteed performance control is proposed for WECS equipped with DFIG. The proposed controller includes two loops [9, 10], i.e., the outer loop control and inner loop control. The outer loop control concerns the aeroturbine mechanical subsystem while the inner loop control concerns the electrical subsystem. Compared with most existing studies, performance indexes including steady-state error, convergence rate and overshoot are guaranteed.

Fig. 1
figure 1

Wind energy conversion system

2 Wind Energy Conversion System

The wind energy conversion system includes the mechanical subsystem and electrical subsystem as depicted in Fig. 1. For the mechanical subsystem, the rotor power extracted from wind can be formulated as [11]

$$\begin{aligned} P_r=\frac{1}{2} \rho \pi R^2 C_p(\lambda ,\beta )V^3 \end{aligned}$$
(1)

The tip-speed ratio \(\lambda \) is defined by

$$\begin{aligned} \lambda =\frac{R \varOmega _r}{V} \end{aligned}$$
(2)

The rotor power \(P_r\) can also be formulated as

$$\begin{aligned} P_r=\varOmega _r T_a. \end{aligned}$$
(3)

with

$$\begin{aligned} C_q(\lambda )=\frac{C_p(\lambda )}{\lambda } \end{aligned}$$
(4)

Invoking (3), (4) and (1), we have

$$\begin{aligned} T_a=\frac{1}{2} \rho \pi R^3 C_q(\lambda )V^2 \end{aligned}$$
(5)

The rotor dynamics together with the generator dynamics can be written as

$$\begin{aligned} J_r \dot{\varOmega }_r&= T_a-K_r\varOmega _r-T_{ls} \end{aligned}$$
(6)
$$\begin{aligned} J_g \dot{\varOmega }_g&= T_{hs}-K_g\varOmega _g-T_{em} \end{aligned}$$
(7)

The gearbox ratio \(n_{ra}\) is defined as

$$\begin{aligned} n_{ra}=\frac{\varOmega _g}{\varOmega _r}=\frac{T_{ls}}{T_{hs}} \end{aligned}$$
(8)

Substituting (8) into the generator dynamic (7), we have

$$\begin{aligned} n_{ra}^2 J_g \dot{\varOmega }_r=T_{ls}- \left( n_{ra}^2K_g\right) \varOmega _r-n_gT_{em} \end{aligned}$$
(9)

Thereafter, a simple model of the mechanic subsystem can be obtained as

$$\begin{aligned} J_o \dot{\varOmega }_r=T_a-K_o \varOmega _r-T_g \end{aligned}$$
(10)

where

$$\begin{aligned} \left\{ \begin{array}{ll} J_o =&{}J_r+n_{ra}^2J_g \\ K_o =&{}K_r+n_{ra}^2K_g \\ T_g=&{}n_{ra} T_{em} \end{array} \right. \end{aligned}$$
(11)

The generator power can be formulated as

$$\begin{aligned} P_g=T_g \varOmega _r \end{aligned}$$
(12)

For the electrical subsystem, we consider the doubly-fed induction generator which connects directly to the grid through the stator, while the rotor winding is interfaced through a bidirectional power electronic converter. In this kind of wound-rotor machine, the power system electrical frequency and the rotor mechanical frequency can be decoupled, which makes a variable speed operation of the wind turbine possible. One of the main advantages is that it can generate and deliver electrical power at the frequency and voltage demanded by the grid. Inspired by [12], the model of DFIG in the Park \(d-q\) frame is given by

$$\begin{aligned} \left\{ \begin{array}{ll} \dot{\varPhi }_{d,s} =&{}U_{d,s}-R_s I_{d,s} +\varOmega _s \varPhi _{q,s} \\ \dot{\varPhi }_{q,s} =&{}U_{q,s}-R_s I_{q,s} - \varOmega _s \varPhi _{d,s} \\ \dot{\varPhi }_{d,r} =&{}U_{d,r}-R_r I_{d,r} +\left( \varOmega _s-p \varOmega _g \right) \varPhi _{q,r} \\ \dot{\varPhi }_{q,r} =&{}U_{q,r}-R_r I_{q,r} -\left( \varOmega _s-p \varOmega _g \right) \varPhi _{d,r} \\ \end{array} \right. \end{aligned}$$
(13)

with

$$\begin{aligned} \varPhi _{d,s}= & {} L_s I_{d,s}+L_m I_{d,r} \nonumber \\ \varPhi _{q,s}= & {} L_s I_{q,s}+L_m I_{q,r} \nonumber \\ \varPhi _{d,r}= & {} L_r I_{d,r}+L_m I_{d,s} \nonumber \\ \varPhi _{q,r}= & {} L_r I_{q,r}+L_m I_{q,s} \end{aligned}$$
(14)

Inspired by [12], a simplified generator model can be given by

$$\begin{aligned} {\dot{I}_{d,r}}= & {} \left( {{\varOmega _s} - p{\varOmega _{g}}} \right) {I_{q,r}}- \frac{{{L_s}{R_r}}}{{{L_e}}}{I_{d,r}}+\frac{{{L_s}}}{{{L_e}}}{U_{d,r}} +\varpi _{d}(t) \end{aligned}$$
(15)
$$\begin{aligned} {\dot{I}_{q,r}}= & {} - \frac{{{L_s}{R_r}}}{{{L_e}}}{I_{q,r}}- \left( {{\varOmega _s}- p{\varOmega _{g}}} \right) \left( {{I_{d,r}} + \frac{{{L_m}{V_s}}}{{{L_e}{\varOmega _s}}}} \right) +\frac{{{L_s}}}{{{L_e}}}{U_{q,r}} + \varpi _{q}(t) \end{aligned}$$
(16)

where \(V_s\) is the grid voltage and \(L_e=L_s L_r-L_m^2\). The terms \(\varpi _{d}(t),\varpi _{q}(t)\) are added to represent bounded disturbances [13]. Thereafter, the currents of stator can be algebraically calculated as

$$\begin{aligned} I_{d,s}= & {} \frac{V_s}{\varOmega _s L_s}-\frac{L_m}{L_s} I_{d,r}\nonumber \\ { I_{q,s}}= & {} -\frac{L_m}{L_s} I_{q,r} \end{aligned}$$
(17)

The electromagnetic torque along with reactive power is given by

$$\begin{aligned} T_{em}= & {} - \frac{3}{2}p \frac{V_s L_m}{\varOmega _s L_s} {I_{q,r}} \end{aligned}$$
(18)
$$\begin{aligned} Q= & {} \frac{{3 V_s^2}}{{2{\varOmega _s}{L_s}}} - \frac{{3{V_s}{L_m}{I_{d,r}}}}{{2{L_s}}} \end{aligned}$$
(19)

3 Problem Formulation

There are two operation regions for the wind turbine, namely, below the low-speed region and high-speed region as given in Fig. 2 [14, 15].

  • Low-speed region: where \(V_{\textit{cut-in}} \le V < V_{rated}\) and \(P_g< P_{rated}\).

  • High speed region: where \(V_{rated} \le V \le V_{\textit{cut-off}}\) and \(P_g = P_{rated}\).

In low-speed region, the desired power is given by

$$\begin{aligned} P_{g}^*=n_p P_{r}^{\max } \end{aligned}$$
(20)

with

$$\begin{aligned} P_{r}^{\max }=\frac{1}{2} \rho \pi R^2 C_{p}^{\max }V^3 \end{aligned}$$
(21)
Fig. 2
figure 2

Generator desired power curve

Notice that the response of the WT electrical subsystem is much faster than that of the mechanical part of the WT. Hence, the controller design for the electrical subsystem and mechanical subsystem is usually decoupled and a cascaded control structure containing two control loops is usually adopted as shown below

  • The outer control loop concerns the aeroturbine mechanical subsystem.

  • The inner control loop concerns the electrical subsystem.

Because the aeroturbine runs much slower than electrical subsystem, the state of the outer loop can be seen as a slow changing disturbance while calculating the control signal for the inner loop. In the meantime, the outer loop controller is usually designed based on the assumption that the inner electrical control loop is able to track the reference \(T^*\) timely. It implies that the stability analysis in the outer control loop and inner control loop can be addressed separately in literature [16].

In this chapter, we consider the low-speed operation region. For the outer control loop, our main goal is to design appropriate generator torque \(T_g\) such that \(P_g\) can track \( P_{g}^*\). For the inner control loop, the control objective is to design input voltages \(U_{d,r},U_{q,r}\) such that: (1) the electromagnetic torque \(T_{em}\) tracks its reference \(T^{*}\), and (2) the reactive power Q follows its desired value \(Q^*\).

For analysis convenience, we define the following tracking errors

$$\begin{aligned} \ell _o= & {} P_g^*-P_g \end{aligned}$$
(22)
$$\begin{aligned} \ell _{i, \scriptscriptstyle T}= & {} T_{em}-T^{*} \end{aligned}$$
(23)
$$\begin{aligned} \ell _{i,\scriptscriptstyle Q}= & {} Q-Q^{*} \end{aligned}$$
(24)

4 Outer Loop Control

In the outer control loop, both the transient and steady state performance will be considered. Specifically, the imposed performance requirements on \(\ell _o(t)\) are

P1:

  • The steady tracking error \(\ell _o(\infty )\) is required to be within \(-\eta _o \hbar _o{(\infty )} \le \ell _o(\infty ) \le \hbar _o{(\infty )} \).

  • It converges faster than the signal \(\hbar _o(t)\).

  • The maximum overshoot is required to be smaller than \(\eta _o \hbar _o(0)\).

For evaluating the prescribed performance, the following performance function is firstly introduced.

Definition 1

([17]) A performance function is a smooth function \(\hbar _o(t):\mathfrak {R}^+ +\{0\} \rightarrow \mathfrak {R}^+\) that satisfies \(|\ell _o(0)|<\hbar _o(0)\) and \(\lim _{t \rightarrow \infty }\hbar _o(t)=\hbar _o{(\infty )}>0\).

Assume \(0 \le \ell _o(0) < \hbar _o(0)\), if the tracking error satisfies

$$\begin{aligned} -\eta _o \hbar _o(t)<\ell _o(t)<\hbar _o(t) \end{aligned}$$
(25)

with \(0 \le \eta _o \le 1 \) being a design parameter, the prescribed performance P1 can be attained.

To proceed the prescribed performance design, an error transformation in [17], which can convert the original error with imposed performance requirements into a new error without imposed performance requirements, will be introduced. Specifically,

$$\begin{aligned} \ell _o(t)=\hbar _o(t) M_o(\gamma _o) \end{aligned}$$
(26)

or

$$\begin{aligned} \gamma _o(t)={M_o}^{-1}\left( \frac{\ell _o(t)}{\hbar _o(t)}\right) \end{aligned}$$
(27)

with \(\gamma _o\) being the new error, and \({M_o}(\cdot )\) is a function that is smooth and strictly increasing. The function \({M_o}(\cdot )\) is required to satisfy

$$\begin{aligned} \left\{ \begin{array}{l} \lim _{\gamma _o \rightarrow - \infty }{M_o}(\gamma _o)=-\eta _o \\ \lim _{\gamma _o \rightarrow \infty }{M_o}(\gamma _o)=1 \end{array} \right. \end{aligned}$$
(28)

where \({M_o}^{-1}(\cdot )\) is the inverse function of \({M_o}(\cdot )\). There exist many choices for the function \({M_o}(\gamma _o)\), and a typical choice can be given as

$$\begin{aligned} {M_o}(\gamma _o)=\frac{d_o^{\gamma _o}-\eta _o {d_o}^{-{\gamma _o}}}{{d_o}^{\gamma _o}+{d_o}^{-{\gamma _o}}} \end{aligned}$$
(29)

with \({d_o}>1\). The function \({M_o}({\gamma _o})\) is demonstrated in Fig. 3.

Fig. 3
figure 3

Graphical illustration of the \({M_o}({\gamma _o})\) function

The following fact holds as long as \({\gamma _o}(t)\) exists

$$\begin{aligned} -\eta _o< {M_o}({\gamma _o}) < 1 \end{aligned}$$
(30)

The above fact implies (25). It means that the imposed performance requirements in P1 are achieved. Thence, the control task becomes finding a control law to ensure the boundedness of \({\gamma _o}\). For this, by recalling (12), the time derivative of \(\ell _o\) is

$$\begin{aligned} \dot{\ell }_o=\dot{P}_{g}^*-\dot{P}_g=\dot{P}_{g}^*-T_g \dot{\varOmega }_r-\dot{T}_g \varOmega _r \end{aligned}$$
(31)

Thereafter, by differentiating (27) with respect to time, we have

$$\begin{aligned} \dot{\gamma _o}&=\frac{\partial {M_o}^{-1}}{\partial \left( \frac{\ell _o(t)}{\hbar _o(t)}\right) }\frac{1}{\hbar _o(t)}\left( \dot{\ell _o}(t)- \frac{\ell _o(t) \dot{\hbar _o}(t)}{\hbar _o(t)} \right) \nonumber \\&={\alpha _o} \left( \dot{P}_g^*-T_g \dot{\varOmega }_r -\dot{T}_g \varOmega _r - {\beta _o}\right) \nonumber \\&={\alpha _o}\dot{P}_{g}^* -{\alpha _o}\dot{T}_g \varOmega _r - {\alpha _o}\frac{T_g}{J_o} \left( T_a- K_o \varOmega _r -T_g \right) -{\alpha _o}{\beta _o} \nonumber \\&={\alpha _o} \left[ \dot{P}_g^*-\frac{1}{J_o} \left( T_g T_a-T_g^2\right) +\frac{K_o}{J_o}T_g \varOmega _r-\dot{T}_g \varOmega _r - {\beta _o}\right] \end{aligned}$$
(32)

where \({\alpha _o}=\frac{\partial {M_o}^{-1}}{\partial \left( \frac{\ell _o(t)}{\hbar _o(t)}\right) } \frac{1}{\hbar _o(t)}\) and \({\beta _o}=\frac{\ell _o(t) \dot{\hbar _o}(t)}{\hbar _o(t)}\). Both \({\alpha _o}\) and \({\beta _o}\) are known signals since \(\ell _o(t)\), \({M_o}^{-1}(\cdot ),\hbar _o(t)\) and \(\dot{\hbar }_o(t)\) are all available. An ideal desired control law is firstly presented to assist the controller design. With the known knowledge of the system dynamics, consider the following ideal controller

$$\begin{aligned} \dot{T}_g = \frac{1}{\varOmega _r}\left[ \frac{k_o {\gamma _o}}{{\alpha _o}}+\frac{K_o}{J_o}T_g \varOmega _r +\dot{P}_g^* -\frac{1}{J_o} \left( T_g T_a-T_g^2\right) -{\beta _o} \right] \end{aligned}$$
(33)

where \({k_o}>0\) is a positive constant. Then, we can easily obtain that

$$\begin{aligned} \dot{\gamma _o}=-{k_o} {\gamma _o} \end{aligned}$$
(34)

It means that the ideal controller (33) can ensure the exponential convergence of the transformed tracking error \({\gamma _o}\) to zero. Notice that the expression of \(\dot{P}_d\) is \(\dot{P}_d=\frac{1}{2} n_p \rho \pi R^2 C_{p}^{\max }3 V^2 \dot{V}\) based on (21) and (20). In order to avoid the knowledge of \(\dot{V}\), we use a robust term \({{\,\mathrm{sgn}\,}}({\alpha _o} {\gamma _o}) B\) to replace \(\dot{P}_d\) in (33), and obtain the following desired controller

$$\begin{aligned} \dot{T}_g = \frac{1}{\varOmega _r} \left( \frac{{k_o} {\gamma _o}}{{\alpha _o}}-{\beta _o} + {\tau _o} ^T \xi _o \right) \end{aligned}$$
(35)

where \({\tau _o} = \left[ -{1}/{J_o}, {K_o}/{J_o},B\right] ^T\), \({\xi _o} = [T_g T_a-T_g^2, T_g \varOmega _r, \) \({{\,\mathrm{sgn}\,}}({\alpha _o} {\gamma _o}) ]^T\), and we have used the upper bound of \(\dot{P}_d\). The main results of this ideal controller are summarized in the following lemma.

Lemma 1

For the transformed error dynamics (32), the transformed tracking error \({\gamma _o}\) will converge to zero asymptotically if a desired controller is taken as (35).

Proof

A Lyapunov function candidate is built as

$$\begin{aligned} V_{{\gamma _o}}=\frac{1}{2} {\gamma _o}^2 \end{aligned}$$
(36)

By recalling (32) and (54), its time derivative can be given

$$\begin{aligned} \dot{V}_{{\gamma _o}}&\le {\gamma _o} {\alpha _o} \left[ -\dot{T}_g \varOmega _r - \frac{T_g}{J_o} \left( T_a- K_o \varOmega _r -T_g \right) -{\beta _o} \right] +\left| {\gamma _o} {\alpha _o} \right| {B_o} \nonumber \\&= {\gamma _o} {\alpha _o} \left[ -\dot{T}_g \varOmega _r + {\tau _o} ^T {\xi _o} -{\beta _o} \right] \nonumber \\&\le -{k_o} {\gamma _o}^2 \end{aligned}$$
(37)

which implies that \({\gamma _o}\) converges to zero asymptotically [18].

However, the desired controller has two main defects which should be avoided in practice

  • The chattering phenomena may appear because the \({{\,\mathrm{sgn}\,}}(\cdot )\) function is discontinuous. In WECS, the chattering phenomena is undesirable because it will reduce the lifetime of wind turbines.

  • A priori knowledge of \({\tau _o}\) is needed, which may increase the operation costs.

Aimed at mitigating the chattering phenomena, we use the continuous hyperbolic tangent function \(\tanh ({\alpha _o} {\gamma _o} / \varepsilon _1 )\) to replace the discontinuous \({{\,\mathrm{sgn}\,}}({\alpha _o} {\gamma _o})\). Notice that the following inequality holds [19]

$$\begin{aligned} 0 \le \left| {\alpha _o} {\gamma _o} \right| - {\alpha _o} {\gamma _o} \tanh \left( \frac{{\alpha _o} {\gamma _o}}{\varepsilon _o}\right) \le \kappa \varepsilon _o \quad \text {for} \quad {\alpha _o} {\gamma _o}\in \mathfrak {R}\end{aligned}$$
(38)

where \(\kappa =0.2758\). Furthermore, since \({\tau _o}\) is unknown, let its estimate be \(\hat{\tau }_o\), and the following implementable controller is proposed as

$$\begin{aligned} \dot{T}_g = \frac{1}{\varOmega _r} \left( \frac{{k_o} {\gamma _o}}{{\alpha _o}}-{\beta _o} + \hat{\tau }_o ^T {\delta _o} \right) \end{aligned}$$
(39)

where \({\delta _o} = \left[ T_g T_a+T_g^2,T_g \varOmega _r,\tanh (\frac{{\alpha _o} {\gamma _o}}{\varepsilon _o})\right] ^T\). The adaptive law for \(\hat{\tau }_o\) is given by

$$\begin{aligned} \dot{\hat{\tau }}_o={\varLambda _o} \left( {\gamma _o} {\alpha _o} {\delta _o}-{\sigma _o} \hat{\tau }_o\right) \end{aligned}$$
(40)

where \({\varLambda _o} \in \mathfrak {R}^{3 \times 3},{\sigma _o}>0 \).

Fig. 4
figure 4

Controller scheme of the outer loop controller

Figure 4 depicts the control structure of the outer loop controller.

Theorem 1

For the mechanical subsystem (10) and (12), if we design the outer controller as (39) while the parameter is updated as (40), the imposed performance given in P1 can be achieved.

Proof

Consider the following Lyapunov function candidate

$$\begin{aligned} V_o=\frac{1}{2}{\gamma _o}^2+ \frac{1}{2} \tilde{\tau }_o^T {\varLambda _o}^{-1} \tilde{\tau }_o \end{aligned}$$
(41)

where \(\tilde{{\tau _o}}= \hat{{\tau _o}}-{\tau _o}\). By recalling (10), (32) and inequality (38), one has

$$\begin{aligned} \dot{V}_o= & {} {\gamma _o} {\alpha _o} \left( \dot{P}_{g}^*-T_g \dot{\varOmega }_r-\dot{T}_g \varOmega _r-{\beta _o} \right) + \tilde{\tau }_o^T {\varLambda _o}^{-1} \dot{\hat{\tau }}_o \nonumber \\\le & {} {\gamma _o} {\alpha _o} \left[ -\dot{T}_g \varOmega _r - \frac{T_g}{J_o} \left( T_a- K_o \varOmega _r -T_g \right) -{\beta _o} \right] +\left| {\gamma _o} {\alpha _o} \right| {B_o} +\tilde{\tau }_o^T {\varLambda _o}^{-1} \dot{\hat{\tau }}_o \nonumber \\\le & {} {\gamma _o} {\alpha _o} \left[ -\dot{T}_g \varOmega _r + {\tau _o} ^T {\delta _o} -{\beta _o} \right] +\kappa \varepsilon _o {B_o} + \tilde{\tau }_o^T {\varLambda _o}^{-1} \dot{\hat{\tau }}_o \end{aligned}$$
(42)

Substituting the outer loop controller (39) and adaptive law (40) into above equation yields

$$\begin{aligned} \dot{V}_o\le & {} -{k_o}{\gamma _o}^2+({\tau _o}^T-\hat{\tau }_o^T){\gamma _o} {\alpha _o} {\delta _o}+\tilde{\tau }_o^T {\gamma _o} {\alpha _o} {\delta _o}+ \kappa \varepsilon _o {B_o}- {\sigma _o} \tilde{\tau }_o^T \hat{\tau }_o \nonumber \\= & {} -{k_o}{\gamma _o}^2+ \kappa \varepsilon _o {B_o}- {\sigma _o} \tilde{\tau }_o^T \hat{\tau }_o \end{aligned}$$
(43)

Moreover, by completion of squares, one has

$$\begin{aligned} \dot{V}_o \le -{k_o} {\gamma _o}^2-\frac{{\sigma _o} \Vert \tilde{\tau }_o \Vert ^2}{2} + \varDelta _o \end{aligned}$$
(44)

where \(\varDelta _o = {{\sigma _o} \Vert {\tau _o} \Vert ^2}/{2}+\kappa \varepsilon _o {B_o}\). Hence, \(\dot{V}_o <0\) when \(\left| {\gamma _o}\right| > \sqrt{\frac{\varDelta _o}{{k_o}}}\) or \(\left\| \tilde{\tau }_o\right\| >\sqrt{\frac{2 \varDelta _o}{{\sigma _o}}}\) Therefore, based on the standard Lyapunov extension theorem [20, 21], it can be concluded that \({\gamma _o}\) and \(\tilde{\tau }_o\) are uniformly ultimately bounded (UUB).

Furthermore, since \({\gamma _o}\) is bounded, \({\alpha _o},{\beta _o}\) are also bounded. \(\hat{\tau }_o\) is bounded because of \(\hat{\tau }_o=\tilde{\tau }_o+{\tau _o}\) and the boundedness of \({\tau _o}\). Hence, from (39), we have that the control input \(T_g\) is also bounded. Finally, the boundedness of \({\gamma _o}\) implies that the imposed performance requirements as given in P1 are achieved.

5 Inner Loop Control

In the inner loop control, the prescribed transient and steady-state performance are also considered. Specifically, the tracking errors are required to satisfy user-defined conditions as

$$\begin{aligned} \underline{\ell }_{i,\scriptscriptstyle T}(t)<\ell _{i, \scriptscriptstyle T}<\bar{\ell }_{ i,\scriptscriptstyle T}(t) \end{aligned}$$
(45)
$$\begin{aligned} \underline{\ell }_{i,\scriptscriptstyle Q}(t)<\ell _{i, \scriptscriptstyle Q}<\bar{\ell }_{i,\scriptscriptstyle Q}(t) \end{aligned}$$
(46)

where \(\bar{\ell }_{ i,\scriptscriptstyle T}(t), \underline{\ell }_{i,\scriptscriptstyle T}(t)\) are lower and upper bounds of the tracking error \(\ell _{i, \scriptscriptstyle T}\) with \(\underline{\ell }_{i,\scriptscriptstyle T}(t)<0<\bar{\ell }_{i,\scriptscriptstyle T}(t)\), and \(\bar{\ell }_{i,\scriptscriptstyle Q}(t), \underline{\ell }_{i,\scriptscriptstyle Q}(t)\) are lower and upper bounds of the tracking error \(\ell _{i, \scriptscriptstyle Q}\) with \(\underline{\ell }_{i,\scriptscriptstyle Q}(t)<0<\bar{\ell }_{i,\scriptscriptstyle Q}(t)\).

Aimed at achieving the goal of guaranteed transient performance, we introduce an improved error transformation technique inspired by [22] that can transform the original constrained errors into new unconstrained errors. Specifically, we define

$$\begin{aligned} \ell _i=\frac{\bar{\ell }_i(t)-\underline{\ell }_i(t)}{\pi }\arctan (\gamma _i)+\frac{\bar{\ell }_i(t)+\underline{\ell }_i(t)}{2} \end{aligned}$$
(47)

or

$$\begin{aligned} \gamma _i(t)=\tan \left( \frac{\pi }{2} \times \frac{2 \ell _i -\bar{\ell }_i(t) -\underline{\ell }_i(t)}{\bar{\ell }_i(t) -\underline{\ell }_i(t)}\right) , \end{aligned}$$
(48)

where \(\tan (\cdot ),\arctan (\cdot )\) are the tangent function and inverse tangent function, respectively, \(\gamma _i(t)\) is the transformed error. It can be easily verified that the original tracking error \(\ell _i\) strictly increases with respect to the transformed error \(\gamma _i\), and thus we have \(\frac{\partial \ell _i}{\partial \gamma _i}>0\). Furthermore, from (47), we have

$$\begin{aligned} \left\{ \begin{array}{l} \mathop {\lim }\limits _{\gamma _i \rightarrow -\infty } \ell _i=\underline{\ell }_i(t) \\ \mathop {\lim }\limits _{\gamma _i \rightarrow \infty }\ell _i=\bar{\ell }_i(t) \end{array} \right. \end{aligned}$$
(49)

From (49), it can be concluded that if \(\gamma _i\) exists, the following fact holds

$$\begin{aligned} \underline{\ell }_i(t)< \ell _i < \bar{\ell }_i(t) \end{aligned}$$
(50)

which further implies that the guaranteed transient performance in terms of tracking errors is achieved. Therefore, the control objective is converted to finding an inner loop controller that can ensure the boundedness of the transformed error \(\gamma _i\). The nonlinear mapping between \(\ell _i\) and \(\gamma _i\) is shown in Fig. 5.

Fig. 5
figure 5

Graphical illustration of the map from \(\ell _i\) to \(\gamma _i\)

Aimed at extracting power from wind as much as possible, the electromagnetic torque should be designed to follow its desired value \(T^{*}\). The corresponding transformed error of \(\ell _{i, \scriptscriptstyle T}\) is denoted as \(\gamma _{i,\scriptscriptstyle T}\). Differentiating \(\gamma _{i,\scriptscriptstyle T}\) with respect to time and recalling (18), (22) generate

$$\begin{aligned} \dot{\gamma }_{i,\scriptscriptstyle T}= & {} \frac{\partial \gamma _{i,\scriptscriptstyle T}}{\partial \ell _{i, \scriptscriptstyle T}} \left( - \frac{3}{2}p \frac{U_s L_m}{\varOmega _s L_s} \dot{I}_{q,r}-\dot{T}^{*}\right) + \frac{\partial \gamma _{i,\scriptscriptstyle T}}{\partial \bar{\ell }_{i,\scriptscriptstyle T} (t)} \dot{\bar{\ell }}_{i,\scriptscriptstyle T}(t) +\frac{\partial \gamma _{i,\scriptscriptstyle T}}{\partial \underline{\ell }_{i,\scriptscriptstyle T} (t)} \dot{\underline{\ell }}_{i,\scriptscriptstyle T}(t) \nonumber \\= & {} \alpha _{i,\scriptscriptstyle T} \left( -\frac{3}{2}p \frac{U_s L_m}{\varOmega _s L_s} \dot{I}_{q,r}-\dot{T}^{*}\right) +\beta _{i,\scriptscriptstyle T} \end{aligned}$$
(51)

where \(\alpha _{i,\scriptscriptstyle T}=\frac{\partial \gamma _{i,\scriptscriptstyle T}}{\partial \ell _{i, \scriptscriptstyle T}}\) and \(\beta _{i,\scriptscriptstyle T}=\frac{\partial \gamma _{i,\scriptscriptstyle T}}{\partial \bar{\ell }_{i,\scriptscriptstyle T} (t)} \dot{\bar{\ell }}_{i,\scriptscriptstyle T}(t)+\frac{\partial \gamma _{i,\scriptscriptstyle T}}{\partial \underline{\ell }_{i,\scriptscriptstyle T} (t)} \dot{\underline{\ell }}_{i,\scriptscriptstyle T}(t)\). Because signals \(\gamma _{i,\scriptscriptstyle T}, \ell _{i, \scriptscriptstyle T},\) \( \bar{\ell }_{i,\scriptscriptstyle T} (t),\dot{\bar{\ell }}_{i,\scriptscriptstyle T}(t),\underline{\ell }_{i,\scriptscriptstyle T} (t),\dot{\underline{\ell }}_{i,\scriptscriptstyle T}(t)\) are known, we can easily compute the values of \(\alpha _{i,\scriptscriptstyle T}\) and \(\beta _{i,\scriptscriptstyle T}\).

Substituting the dynamics of \(I_{q,r}\) given by (16) into (51) and taking the modeling error into account, one has

$$\begin{aligned} \dot{\gamma }_{i,\scriptscriptstyle T}= & {} \alpha _{i,\scriptscriptstyle T} \left( f_{i,\scriptscriptstyle T}(Z_{i,T})+g_{i,\scriptscriptstyle T} U_{q,r}+d_{i,\scriptscriptstyle T}(t)\right) \end{aligned}$$
(52)

with

$$\begin{aligned} f_{i,\scriptscriptstyle T}(Z_{i,T})= & {} \frac{3}{2}p{L_m}\frac{{{U_s}{R_r}}}{{{\varOmega _s}{L_e}}}{I_{q,r}}-\dot{T}^{*}+\frac{\beta _{i,\scriptscriptstyle T}}{\alpha _{i,\scriptscriptstyle T}} \nonumber \\&+\frac{3}{2}p{L_m}\frac{{{U_s}}}{{{\varOmega _s}{L_s}}}\left( {{\varOmega _s} - p{\varOmega _{g}}} \right) \left( {{I_{d,r}} + \frac{{{L_m}{U_s}}}{{{L_e}{\varOmega _s}}}} \right) \nonumber \\ Z_{i,T}= & {} [I_{q,r},I_{d,r},\varOmega _g,\dot{T}^{*},\gamma _{i,\scriptscriptstyle T},\alpha _{i,\scriptscriptstyle T}]^T \nonumber \\ g_{i,\scriptscriptstyle T}= & {} - \frac{3}{2}p{L_m}\frac{{{U_s}}}{{{\varOmega _s}{L_e}}} \end{aligned}$$
(53)

with \(d_{i,\scriptscriptstyle T}(t)=-\frac{3}{2}p \frac{U_s L_m}{\varOmega _s L_s} \varpi _{q}(t)\) being the system unknown disturbances. Similar to most studies [13], we assume the disturbance term \(d_{i,\scriptscriptstyle T}\) is bounded.

If the system parameter is available and \(d_{i,T}(t)=0\), a desired control input voltage \(U_{q,r}^*\) can be given as

$$\begin{aligned} U_{q,r}^*= k_{i,\scriptscriptstyle T} \frac{\gamma _{i,\scriptscriptstyle T}}{\alpha _{i,\scriptscriptstyle T}} + {\tau _{i,\scriptscriptstyle T}}^T \xi _{i,\scriptscriptstyle T} \end{aligned}$$
(54)

where \(\tau _{i,\scriptscriptstyle T}=-\left[ \frac{1.5 p L_m U_s R_r}{\varOmega _s L_e},\frac{1.5p L_m U_s}{L_s},\frac{1.5 p L_m^2 U_s^2}{\varOmega _s L_e L_s}, -\frac{1.5 p^2 L_m U_s}{\varOmega _s L_s}, \frac{-1.5 U_s^2 L_m^2 p^2}{\varOmega _s^2 L_s L_e},-1,1\right] ^T/g_{i,\scriptscriptstyle T}\), and \(\xi _{i,\scriptscriptstyle T}=[I_{q,r},I_{d,r},1,\varOmega _g I_{d,r},\varOmega _g,\dot{T}^{*}\), \(\gamma _{i,\scriptscriptstyle T}/\alpha _{i,\scriptscriptstyle T}]^T\), \({k}_{i,\scriptscriptstyle T}\) is a positive constant. Thereafter, following lemma shows the system stability with the desired control input \(U_{q,r}^*\).

Lemma 2

Consider the dynamics of \(\gamma _{i,\scriptscriptstyle T}\) in (52) with \(d_{i,\scriptscriptstyle T}(t)=0\). The transformed tracking error \(\gamma _{i,\scriptscriptstyle T}\) will converge asymptotically to zero if the desired control input \(U_{q,r}^*\) is chosen as (54).

Proof

Consider the following Lyapunov candidate

$$\begin{aligned} V^*_{i,T}=-\frac{1}{2} \frac{\gamma _{i,\scriptscriptstyle T}^2}{g_{i,\scriptscriptstyle T}} \end{aligned}$$
(55)

Taking its time derivative and recalling (52) with \(d_{i,\scriptscriptstyle T}=0\), we have

$$\begin{aligned} \dot{V}^*_{i,T}= & {} -\gamma _{i,\scriptscriptstyle T} \alpha _{i,\scriptscriptstyle T} \left( \frac{f_{i,\scriptscriptstyle T}(Z_{i,T})}{g_{i,\scriptscriptstyle T}}+ U_{q,r} \right) = \gamma _{i,\scriptscriptstyle T} \alpha _{i,\scriptscriptstyle T} \left( {\tau _{i,\scriptscriptstyle T}}^T \xi _{i,\scriptscriptstyle T}- U_{q,r} \right) \end{aligned}$$
(56)

Substituting the desired controller (54) into the above equation, we have

$$\begin{aligned} \dot{V}^*_{i,T}=-k_{i,\scriptscriptstyle T} \gamma _{i,\scriptscriptstyle T}^2 \end{aligned}$$
(57)

which implies that \(\gamma _{i,\scriptscriptstyle T}\) converges to zero asymptotically.

The value of \({\tau _{i,\scriptscriptstyle T}}\) is always distinct for different wind turbine systems, and obtaining its value usually needs substantial human and technological efforts. Because of this, it is not economical to extend the proposed controller to various wind turbines. In order to circumvent such issues, the actual value of \({\tau _{i,\scriptscriptstyle T}}\) is supposed to be unknown in the following adaptive controller design. Further, the bounded disturbance term \(d_{i,\scriptscriptstyle T}\) is assumed to satisfy

$$\begin{aligned} \left| \frac{d_{i,\scriptscriptstyle T}(t)}{g_{i,\scriptscriptstyle T}} \right| \le B_{i,\scriptscriptstyle T} \end{aligned}$$
(58)

with \(B_{i,\scriptscriptstyle T}\) being a positive unknown constant and \(|\cdot |\) being the absolute value operator. Since both \({\tau _{i,\scriptscriptstyle T}}\) and \(B_{i,\scriptscriptstyle T}\) are unknown, let their estimates to be \(\hat{\tau }_{i,\scriptscriptstyle T}\) and \( \hat{B}_{i,\scriptscriptstyle T}\), and we are ready to present the following adaptive control law

$$\begin{aligned} U_{q,r}= {k}_{i,\scriptscriptstyle T} \frac{\gamma _{i,\scriptscriptstyle T}}{\alpha _{i,\scriptscriptstyle T}} + \hat{\tau }_{i,\scriptscriptstyle T}^T \xi _{i,\scriptscriptstyle T} +\tanh \left( \frac{\alpha _{i,\scriptscriptstyle T}\gamma _{i,\scriptscriptstyle T}}{\varepsilon _{i,\scriptscriptstyle T}}\right) \hat{B}_{i,\scriptscriptstyle T} \end{aligned}$$
(59)

with \(\tanh (\cdot )\) being the hyperbolic tangent function. The adaptive law for \(\hat{\tau }_{i,\scriptscriptstyle T}\) is chosen as

$$\begin{aligned} \dot{\hat{\tau }}_{i,\scriptscriptstyle T}=\varLambda _{i,\scriptscriptstyle T} \left( \gamma _{i,\scriptscriptstyle T} \alpha _{i,\scriptscriptstyle T} \xi _{i,\scriptscriptstyle T} -\sigma _{i,\scriptscriptstyle {T}1} \hat{\tau }_{i,\scriptscriptstyle T} \right) \end{aligned}$$
(60)

where the learning rate \(\varLambda _{i,\scriptscriptstyle T} \in \mathfrak {R}^{7 \times 7}\) is a positive definite matrix, and \(\sigma _{i,\scriptscriptstyle {T}11}\) is a positive constant. Further, the adaptive law for \(\hat{B}_{i,\scriptscriptstyle T}\) is chosen as

$$\begin{aligned} \dot{\hat{B}}_{i,\scriptscriptstyle T}=l_{i,\scriptscriptstyle T} \left( \gamma _{i,\scriptscriptstyle T} \alpha _{i,\scriptscriptstyle T} \tanh \left( \frac{\alpha _{i,\scriptscriptstyle T}\gamma _{i,\scriptscriptstyle T}}{\varepsilon _{i,\scriptscriptstyle T}}\right) -\sigma _{i,\scriptscriptstyle {T}2} \hat{B}_{i,\scriptscriptstyle T} \right) \end{aligned}$$
(61)

where \(l_{i,\scriptscriptstyle T},\sigma _{i,\scriptscriptstyle {T}2}>0\).

Theorem 2

Consider the inner loop dynamics characterized by (13) and (14). If the control input voltage \(U_{q,r}\) is selected as (59) with adaptive laws (60) and (61), the electromagnetic torque \(T_{em}\) can track its desired value \(T^{*}\) with guaranteed performance in terms of tracking error \(e_{i,\scriptscriptstyle T}\) satisfying (45).

Proof

Consider the following Lyapunov function candidate

$$\begin{aligned} V^*_{i,T}=-\frac{1}{2} \frac{\gamma _{i,\scriptscriptstyle T}^2}{g_{i,\scriptscriptstyle T}}+ \frac{1}{2} \tilde{\tau }_{i,\scriptscriptstyle T}^T \varLambda _{i,\scriptscriptstyle T}^{-1} \tilde{\tau }_{i,\scriptscriptstyle T}+\frac{1}{2 l_{i,\scriptscriptstyle T}} {\tilde{B}}_{i,\scriptscriptstyle T}^2 \end{aligned}$$
(62)

with \(\tilde{\tau }_{i,\scriptscriptstyle T}=\hat{\tau }_{i,\scriptscriptstyle T}-{\tau _{i,\scriptscriptstyle T}}\), and \(\tilde{B}_{i,\scriptscriptstyle T}=\hat{B}_{i,\scriptscriptstyle T}-B_{i,\scriptscriptstyle T}\). Taking the time derivative of \(V^*_{i,T}\) generates

$$\begin{aligned} \dot{V}^*_{i,T}= & {} \gamma _{i,\scriptscriptstyle T} \alpha _{i,\scriptscriptstyle T} \left( -\frac{f_{i,\scriptscriptstyle T}(Z_{i,T})}{g_{i,\scriptscriptstyle T}}- U_{q,r} -\frac{d_{i,\scriptscriptstyle T}(t)}{g_{i,T}}\right) + \tilde{\tau }_{i,\scriptscriptstyle T}^T \varLambda _{i,\scriptscriptstyle T}^{-1} \dot{\hat{\tau }}_{i,\scriptscriptstyle T} +\frac{1}{ l_{i,\scriptscriptstyle T}} {\tilde{B}}_{i,\scriptscriptstyle T} \dot{\hat{B}}_{i,\scriptscriptstyle T} \nonumber \\ \end{aligned}$$
(63)

Using the inequality (38), we have

$$\begin{aligned} -\gamma _{i,\scriptscriptstyle T} \alpha _{i,\scriptscriptstyle T} \frac{d_{i,\scriptscriptstyle T}(t)}{g_{i,\scriptscriptstyle T}} \le |\gamma _{i,\scriptscriptstyle T} \alpha _{i,\scriptscriptstyle T}| B_{i,\scriptscriptstyle T} \le \gamma _{i,\scriptscriptstyle T} \alpha _{i,\scriptscriptstyle T} \tanh \left( \frac{\gamma _{i,\scriptscriptstyle T} \alpha _{i,\scriptscriptstyle T}}{\varepsilon _{i,\scriptscriptstyle T}}\right) B_{i,\scriptscriptstyle T} +\kappa \varepsilon _{i,\scriptscriptstyle T} B_{i,\scriptscriptstyle T} \end{aligned}$$
(64)

Substituting (64) and (59) into (63) yields

$$\begin{aligned} \dot{V}^*_{i,T}\le & {} \gamma _{i,\scriptscriptstyle T} \alpha _{i,\scriptscriptstyle T} \left( {\tau _{i,\scriptscriptstyle T}}^T \xi _{i,\scriptscriptstyle T}- U_{q,r} +\tanh \left( \frac{\gamma _{i,\scriptscriptstyle T} \alpha _{i,\scriptscriptstyle T}}{\varepsilon _{i,\scriptscriptstyle T}}\right) B_{i,\scriptscriptstyle T} \right) \nonumber \\&+\, \tilde{\tau }_{i,\scriptscriptstyle T}^T \varLambda _{i,\scriptscriptstyle T}^{-1} \dot{\hat{\tau }}_{i,\scriptscriptstyle T} +\frac{1}{ l_{i,\scriptscriptstyle T}} {\tilde{B}}_{i,\scriptscriptstyle T} \dot{\hat{B}}_{i,\scriptscriptstyle T}+\kappa \varepsilon _{i,\scriptscriptstyle T} B_{i,\scriptscriptstyle T} \nonumber \\\le & {} -{k}_{i,\scriptscriptstyle T}\gamma _{i,\scriptscriptstyle T}^2+ \tilde{\tau }_{i,\scriptscriptstyle T}^T\left( \varLambda _{i,\scriptscriptstyle T}^{-1} \dot{\hat{\tau }}_{i,\scriptscriptstyle T}-\gamma _{i,\scriptscriptstyle T} \alpha _{i,\scriptscriptstyle T} \xi _{i,\scriptscriptstyle T} \right) +\kappa \varepsilon _{i,\scriptscriptstyle T} B_{i,\scriptscriptstyle T} \nonumber \\&+\, {\tilde{B}}_{i,\scriptscriptstyle T} \left( \frac{1}{ l_{i,\scriptscriptstyle T}} \dot{\hat{B}}_{i,\scriptscriptstyle T} -\gamma _{i,\scriptscriptstyle T} \alpha _{i,\scriptscriptstyle T} \tanh \left( \frac{\gamma _{i,\scriptscriptstyle T} \alpha _{i,\scriptscriptstyle T}}{\varepsilon _{i,\scriptscriptstyle T}}\right) \right) \end{aligned}$$
(65)

Substituting the adaptive laws (60), (61) and by completion of squares, we have

$$\begin{aligned} \dot{V}^*_{i,T}\le & {} -{k}_{i,\scriptscriptstyle T}\gamma _{i,\scriptscriptstyle T}^2-\sigma _{i,\scriptscriptstyle {T}1}\tilde{\tau }_{i,\scriptscriptstyle T}^T \hat{\tau }_{i,\scriptscriptstyle T}-\sigma _{i,\scriptscriptstyle {T}2} {\tilde{B}}_{i,\scriptscriptstyle T} {\hat{B}}_{i,\scriptscriptstyle T}+\kappa \varepsilon _{i,\scriptscriptstyle T} B_{i,\scriptscriptstyle T} \nonumber \\\le & {} -k_{i,\scriptscriptstyle T} \gamma _{i,\scriptscriptstyle T}^2-\frac{\sigma _{i,\scriptscriptstyle {T}1} \Vert \tilde{\tau }_{i,\scriptscriptstyle T}\Vert ^2}{2} -\frac{\sigma _{i,\scriptscriptstyle {T}2} \tilde{B}^2_{i,\scriptscriptstyle T}}{2}+\varDelta _{i,T} \end{aligned}$$
(66)

with \(\varDelta _{i,T}=\kappa \varepsilon _{i,\scriptscriptstyle T} B_{i,\scriptscriptstyle T}+{\sigma _{i,\scriptscriptstyle {T}1} \Vert {\tau _{i,\scriptscriptstyle T}}\Vert ^2}/{2}+{\sigma _{i,\scriptscriptstyle {T}2} B_{i,\scriptscriptstyle T}^2}/{2}\). Hence, the \(\dot{V}^*_{i,T}\) will become negative as long as

(67)

or

$$\begin{aligned} \left\| \tilde{\tau }_{i,\scriptscriptstyle T}\right\| > \sqrt{\frac{2 \varDelta _{i,T}}{\sigma _{i,\scriptscriptstyle {T}1}}} \end{aligned}$$
(68)

or

$$\begin{aligned} \left| \tilde{B}_{i,\scriptscriptstyle T}\right| > \sqrt{\frac{2 \varDelta _{i,T}}{\sigma _{i,\scriptscriptstyle {T}2}}} \end{aligned}$$
(69)

Based on the standard Lyapunov theorem extension [23], \(\gamma _{i,\scriptscriptstyle T},\tilde{\tau }_{i,\scriptscriptstyle T}\) and \(\tilde{B}_{i,\scriptscriptstyle T}\) are bounded.

According to the properties of error transformation, the boundedness of \(\gamma _{i,\scriptscriptstyle T}\) concludes that the guaranteed performance described by (45) is achieved, and thus \(e_{i,\scriptscriptstyle T}\) is bounded. The reference \(T^{*}\) generated by the MPPT algorithm is bounded. It thus follows that \(T_{em}\) is bounded. Since \(\hat{\tau }_{i,\scriptscriptstyle T}=\tilde{\tau }_{i,\scriptscriptstyle T}+{\tau _{i,\scriptscriptstyle T}}\), and \({\tau _{i,\scriptscriptstyle T}}\) is bounded from definition, we have that \(\hat{\tau }_{i,\scriptscriptstyle T}\) is bounded as well. Since \(\hat{B}_{i,\scriptscriptstyle T}=\tilde{B}_{i,\scriptscriptstyle T}+B_{i,\scriptscriptstyle T}\), and \(B_{i,\scriptscriptstyle T}\) is bounded from definition, we have that \(\hat{B}_{i,\scriptscriptstyle T}\) is also bounded.

The value of desired reactive power \(Q^{*}\) is determined by grid needs, e.g., a specified amount of reactive power compensated in grid can improve the role of the grid power factor, lower power transformer and transmission line losses. In this chapter, for analysis convenience, the desired reactive power \(Q^{*}\) is assumed to be a known signal, and the control objective is to track a desired \(Q^{*}\) with guaranteed performance, i.e., to obtain the tracking error \(e_{i,\scriptscriptstyle Q}\) satisfying (46). By recalling (19), the time derivative of \(\gamma _{i,\scriptscriptstyle Q}\) can be obtained as

$$\begin{aligned} \dot{\gamma }_{i,\scriptscriptstyle Q}= & {} \frac{\partial \gamma _{i,\scriptscriptstyle Q}}{\partial \ell _{i,\scriptscriptstyle Q}} \left( - \frac{3 U_s L_m }{2 L_s} \dot{I}_{d,r}-\dot{Q}^{*}\right) + \frac{\partial \gamma _{i,\scriptscriptstyle Q}}{\partial \bar{\ell }_{i,\scriptscriptstyle Q} (t)} \dot{\bar{\ell }}_{i,\scriptscriptstyle Q}(t) +\frac{\partial \gamma _{i,\scriptscriptstyle Q}}{\partial \underline{\ell }_{i,\scriptscriptstyle Q} (t)} \dot{\underline{\ell }}_{i,\scriptscriptstyle Q}(t) \nonumber \\= & {} \alpha _{i,\scriptscriptstyle Q} \left( - \frac{3 U_s L_m }{2 L_s} \dot{I}_{d,r}-\dot{Q}^{*}\right) +\beta _{i,\scriptscriptstyle Q} \end{aligned}$$
(70)

where \(\alpha _{i,\scriptscriptstyle Q}=\frac{\partial \gamma _{i,\scriptscriptstyle Q}}{\partial \ell _{i,\scriptscriptstyle Q}}\) and \(\beta _{i,\scriptscriptstyle Q}=\frac{\partial \gamma _{i,\scriptscriptstyle Q}}{\partial \bar{\ell }_{i,\scriptscriptstyle Q} (t)} \dot{\bar{\ell }}_{i,\scriptscriptstyle Q}(t)+\frac{\partial \gamma _{i,\scriptscriptstyle Q}}{\partial \underline{\ell }_{i,\scriptscriptstyle Q} (t)} \dot{\underline{\ell }}_{i,\scriptscriptstyle Q}(t)\), which are available as feedback signals.

By recalling (15), (70) and considering the modeling error, we have

$$\begin{aligned} \dot{\gamma }_{i,\scriptscriptstyle Q}= & {} \alpha _{i,\scriptscriptstyle Q} \left( f_{i,\scriptscriptstyle Q}({Z_{i,Q}})+g_{i,\scriptscriptstyle Q} U_{d,r}+d_{i,\scriptscriptstyle Q}(t)\right) \end{aligned}$$
(71)

with

$$\begin{aligned} f_{i,\scriptscriptstyle Q}(Z_{i,Q})= & {} \frac{{3{U_s}{L_m}{R_r}}}{{2{L_e}}}{I_{d,r}} - \frac{{3{U_s}{L_m}}}{{2{L_s}}}\left( {{\varOmega _s} - p{\varOmega _{g}}} \right) {I_{q,r}} -\dot{Q}^{*}+\frac{\gamma _{i,\scriptscriptstyle Q}}{\alpha _{i,\scriptscriptstyle Q}} \nonumber \\ {Z_{i,Q}}= & {} [I_{q,r},I_{d,r},\varOmega _g,\dot{Q}^{*},\gamma _{i,\scriptscriptstyle Q},\alpha _{i,\scriptscriptstyle Q}]^T \nonumber \\ g_{i,\scriptscriptstyle Q}= & {} - \frac{3 U_s L_m}{2 L_e} \end{aligned}$$
(72)

with \(d_{i,\scriptscriptstyle Q}(t)= -\frac{3 U_s L_m \varpi _{d}(t)}{2 L_s} \) being the bounded disturbance term embodying modeling errors in the dynamics of \(\ell _{i,\scriptscriptstyle Q}\). To facilitate the reactive power control design, it can be observed that

$$\begin{aligned} -\frac{f_{i,\scriptscriptstyle Q}(Z_{i,Q})}{g_{i,\scriptscriptstyle Q}} = {\tau _{i,\scriptscriptstyle Q}}^T \xi _{i,\scriptscriptstyle Q} \end{aligned}$$
(73)

where \({\tau _{i,\scriptscriptstyle Q}}=-[1.5U_s L_m R_r/L_e, -1.5 U_s L_m \varOmega _s/L_s,1.5 U_s L_m \) \(p/L_s,-1,1]^T /g_{i,\scriptscriptstyle Q}\), and \(\xi _{i,\scriptscriptstyle Q}=[I_{d,r},I_{q,r},\varOmega _g I_{q,r},\dot{Q}^{*}, \gamma _{i,\scriptscriptstyle Q}/\alpha _{i,\scriptscriptstyle Q}]^T\). Moreover, assume that the disturbance term \(d_{i,\scriptscriptstyle Q}(t)\) is bounded such that

$$\begin{aligned} \left| \frac{d_{i,\scriptscriptstyle Q}(t)}{g_{i,\scriptscriptstyle Q}} \right| \le B_{i,\scriptscriptstyle Q} \end{aligned}$$
(74)

Since both \(\tau _{i,\scriptscriptstyle Q}\) and \(B_{i,\scriptscriptstyle Q}\) are unknown, let their estimates to be \(\hat{\tau }_{i,\scriptscriptstyle Q}\) and \( \hat{B}_{i,\scriptscriptstyle Q}\), we propose the following input \(U_{d,r}\)

$$\begin{aligned} U_{d,r}= k_{i,\scriptscriptstyle Q} \frac{\gamma _{i,\scriptscriptstyle Q}}{\alpha _{i,\scriptscriptstyle Q}} + \hat{\tau }_{i,\scriptscriptstyle Q}^T \xi _{i,\scriptscriptstyle Q} +\tanh \left( \frac{\alpha _{i,\scriptscriptstyle Q}\gamma _{i,\scriptscriptstyle Q}}{\varepsilon _{i,\scriptscriptstyle Q}}\right) \hat{B}_{i,\scriptscriptstyle Q} \end{aligned}$$
(75)

with \(k_{i,\scriptscriptstyle Q}\) being a user-defined positive constant. The adaptive laws for \(\hat{\tau }_{i,\scriptscriptstyle Q}\) and \(\hat{B}_{i,\scriptscriptstyle Q}\) are given by

$$\begin{aligned} \dot{\hat{\tau }}_{i,\scriptscriptstyle Q}= & {} \varLambda _{i,\scriptscriptstyle Q} \left( \gamma _{i,\scriptscriptstyle Q} \alpha _{i,\scriptscriptstyle Q} \xi _{i,\scriptscriptstyle Q} -\sigma _{i, \scriptscriptstyle {Q}1} \hat{{\alpha _o}} \right) \nonumber \\ \dot{\hat{B}}_{i,\scriptscriptstyle Q}= & {} l_{i,\scriptscriptstyle Q} \left( \gamma _{i,\scriptscriptstyle Q} \alpha _{i,\scriptscriptstyle Q} \tanh \left( \frac{\alpha _{i,\scriptscriptstyle Q}\gamma _{i,\scriptscriptstyle Q}}{\varepsilon _{i,\scriptscriptstyle Q}}\right) -\sigma _{i, \scriptscriptstyle {Q}2} \hat{B}_{i,\scriptscriptstyle Q} \right) \end{aligned}$$
(76)

where the learning rate \(\varLambda _{i,\scriptscriptstyle Q} \in \mathfrak {R}^{5 \times 5}\) is a positive definite matrix, and \(l_{i,\scriptscriptstyle Q}\) is a positive constant.

The stability and control performance of the reactive power closed-loop system is given in the following theorem.

Theorem 3

Consider the inner loop control characterized by (13) and (14). If the control voltage \(U_{d,r}\) is designed by (75) with adaptive laws (76), the reactive power Q can track its desired value \(Q^{*}\) with guaranteed performance in terms of tracking error \(\ell _{i,\scriptscriptstyle Q}\) satisfying (46).

Proof

The proof is similar to Theorem 2 and thus omitted here.

6 Validation Results

To validate the proposed inner loop control and outer loop control, we have conducted numerical analysis using NREL FAST code [24] on the NREL WP \(1.5 \, \mathrm {MW}\) wind turbine, which has three blades on a horizontal axis [25, 26]. The parameters of the wind turbine are given in Table 1.

Table 1 Parameters of wind turbine

We use the FAST module in the Simulink environment as shown in Fig. 6. We choose the following system parameters in our validation: air density \(\rho =1.225 \, \mathrm{kg/m^3}\), ratio \(n_p=0.9\), maximum power ratio \(C_{p}^{\max }=0.412\). The controller parameters are listed as follows: \(k_o=5, {\varLambda _{o}}=\mathrm {diag}(10^{-25}, 10^{-15},10^{-3})\), \({\sigma _o}=10\), \(\varepsilon _o=10\).

Fig. 6
figure 6

FAST simulator block

Fig. 7
figure 7

Wind profile for outer loop control

Fig. 8
figure 8

Tracking error \(\ell _o\)

Fig. 9
figure 9

Generator output power

Fig. 10
figure 10

Generator torque

The wind speed used in this test is given in Fig. 7. It is generated by the TurbSim [27] with the mean wind speed as \(9.5\,\mathrm{m/s}\) and turbulence intensity as \(15\%\).

The tracking error performance is depicted in Fig. 8, which can be observed that our proposed outer loop controller can ensure the imposed performance requirements. Figure 9 shows the output power trajectory of the generator. It can be observed that the power output can follow the maximum available power from wind. Finally, Fig. 10 depicts the generator torque input.

For the inner loop control, in order to consider the external noises, two Gaussian distribution noises with standard deviations 0.1 and 0.5 are added in the dynamics of \(I_{d,r}\) and \(I_{q,r}\). In this case study, the generated wind speed is shown in Fig. 11, which is also created using the Kaimal turbulence model with a mean value of \(6\,\mathrm {m/s}\) and turbulence intensity of \(10\%\). To be more realistic, the temporal evolution of the electrical parameters (resistances, inductances), varying from their nominal values is considered as shown in Fig. 12.

Fig. 11
figure 11

Wind speed profile

Fig. 12
figure 12

Temporal evolution of the electromagnetic parameters

One of the control goal is to drive electromagnetic torque \(T_{em}\) to track \(T^{*}\) by setting \(k_{opt}=0.2357\), with tracking error \(\ell _{i,\scriptscriptstyle T}\) satisfying predefined constraints. The corresponding upper bound \(\bar{\ell }_{ \scriptscriptstyle T}(t)\) is determined as \(9 \times \exp (-2t)+1\) along with the lower bound as \(-149 \times \exp (-3t)-1\). Moreover, control parameters in control of electromagnetic torque are listed as follows: \(k_{i,\scriptscriptstyle T}=3 \times 10^{-4}\), \(\varLambda _{i,\scriptscriptstyle T}=\mathrm {diag}\{10^{-6}, 2 \times 10^{-6},1,2 \times 10^{-10},10^{-5},3 \times 10^{-7},3 \times 10^{-7}\}\), \(\sigma _{i,\scriptscriptstyle {T}11}=2 \times 10^{-5}\), \(l_{i,\scriptscriptstyle T}=0.01\), \(\sigma _{i,\scriptscriptstyle {T}2}=3\), \(\varepsilon _{i,\scriptscriptstyle T}=2\).

Fig. 13
figure 13

Electromagnetic torque and its reference

Fig. 14
figure 14

Tracking error \(\ell _{i,\scriptscriptstyle T}\) along with its bounds

Fig. 15
figure 15

Reactive power and its reference

Figure 13 depicts the electromagnetic torque and its desired value \(T^{*}\), which shows good tracking performance. The tracking error \(\ell _{i,\scriptscriptstyle T}\) with its performance bounds is given in Fig. 14. It can be observed that the prescribed performance is achieved.

Fig. 16
figure 16

Tracking error \(\ell _{i,\scriptscriptstyle Q}\) along with its bounds

The desired reactive power is given by \(Q^{*}=1000+30\sin (0.1t)\). One of the control goals is to drive the the reactive power to follow this desired power with tracking error \(\ell _{i,\scriptscriptstyle Q}\) satisfying predefined constraints. The corresponding upper bound \(\bar{\ell }_{ \scriptscriptstyle Q}(t)\) is determined as \(3.5 \times \exp (-2t)+1\) along with the lower bound as \(-118.5 \times \exp (-5t)-1\). Moreover, control parameters in control of reactive power are listed as follows: \(k_{i,\scriptscriptstyle Q}=4 \times 10^{-7}\), \(\varLambda _{i,\scriptscriptstyle Q}=\mathrm {diag}\{10^{-7}, 9 \times 10^{-8},4 \times 10^{-12},0.001,10^{-5}\}\), \(\sigma _{\scriptscriptstyle {Q}1}=2\), \(l_{i,\scriptscriptstyle Q}=5 \times 10^{-7}\), \(\sigma _{\scriptscriptstyle {Q}2}=1\), \(\varepsilon _{\scriptscriptstyle {Q}}=5\).

Figure 15 shows the reactive power and its desired value \(Q^{*}\), and the corresponding tracking error \(\ell _{i,\scriptscriptstyle Q}\) along with its performance bounds is plotted in Fig. 16. It can be observed that the corresponding prescribed performance can also be ensured.

7 Conclusion

We have proposed an adaptive guaranteed performance controller for WECS equipped with DFIG. The WECS comprises the outer loop control concerning the aeroturbine mechanical subsystem, and the inner loop control concerning the electrical subsystem. Because the aeroturbine runs much slower than electrical subsystem, the stability analysis in the outer control loop and inner control loop is addressed separately. With the help of error transformation, our proposed method is capable of quantifying and further guaranteeing the system performance on both transient and steady state stages.