1 Introduction

Wind energy is a kind of extremely important natural energy, which is enormous, pollution free, inexhaustible renewable source[1,2]. Wind energy conversion system (WECS) is a complicated system with much interference and randomness. Therefore, many control methods based on the linear time-invariant model are used by linearizing it at a certain expected stable point[3]. But the wind speed has unstable characteristics, and the balance is changed at random, these cause modeling accuracy to decline. In order to solve this problem, gain scheduling technique has been widely applied in wind power systems[4, 5]. By gain scheduling technique, a nonlinear or time-varying model is linearized around a selected group of working points, then it is converted into a series of linear time-varying models, and a gain scheduling controller is obtained by interpolation algorithm. In early 1990s, Shamma and Athans[6] have proposed a linear parameter varying (LPV) system, in which a nonlinear system is converted into a linear system. The dynamic characteristic of this system depends on external parameter vector, and its robustness analysis and comprehensive theorem are based on Lyapunov stability theory[7]. To solve the optimal solution of the system, the Riccati equation method is used[8,9]. But some parameters need to be determined in advance during solving. On one hand, these parameters affect the results directly, on the other hand, they may affect the feasibility of the problem. There are a large number of methods in solving the Riccati matrix, but most of them are iterative methods[10,11], where the convergence cannot be guaranteed. With the development of linear matrix inequality (LMI), many control problems can be formulated as a convex optimization problem with LMI[12,13], and gets a set of controllers meeting the system requirements.

According to the LPV model of wind turbine in high and low wind speed, a new adaptive robust guaranteed cost controller is proposed in this paper. The controller is constrained by solving a set of LMIs, so that the high robustness and the characteristics of multi-target tracking can be realized well. Simulation results show that the proposed controller can make the system follow the controlled target accurately and suppress external disturbances obviously.

2 Wind energy conversion system modelling

The model of wind energy conversion system is depicted in Fig.1. The wind turbine connects to the grid by transmission systems, and it mainly adopts the way of optimal torque control at below rated wind speed[14]. When the wind speed approaches the rated point, the power rises slowly. When the wind is over the rated point, it causes a blade stall and the power to decline. For this reason, we can make output power steady by regulating wind turbine pitch angle β.

Fig.1
figure 1

Variable speed variable pitch wind energy conversion system

2.1 Wind turbine

According to the theory of Betz in aerodynamics[15], the absorption of mechanical power P m from wind per unit time is

$${P_m} = 0.5\rho \pi {R^2}{C_P}(\lambda ,\beta ){v^3}$$
((1))

where C P (λ) is the power coefficient, β is the pitch angle, R is the blade radius of the wind turbine, ρ is the air density, and v is the actual wind speed. The blade tip speed ratio λ is given by

$$\lambda = \frac{{{\omega _\gamma }R}}{v}$$
((2))

where ω γ is the wind turbine speed.

Equality (1) shows that when the wind speed is determined, the mechanical power P m is related to C P (λ,β). When the wind speed is under rated wind speed, the pitch angle remains constant, and C P (λ) varies with tip speed ratio. There is a certain optimal tip speed ratio λ opt which corresponds to the maximum power coefficient C P max. The C P−λ curve is shown in Fig.2

Fig.2
figure 2

Wind energy characteristic curve

When the wind turbine runs on the optimal leaf tip speed ratio λ opt, the wind speed v is proportional to the turbine speed ω γ, i.e.,

$$v = \frac{{{\omega _\gamma }R}}{{{\lambda _{\operatorname{opt} }}}}.$$
((3))

In this situation, the optimal power output of the wind turbine is

$${P_{m\_\operatorname{opt} }} = 0.5\rho \pi {R^2}{C_{P\;\max }}(\lambda ,\beta ){(\frac{{{\omega _\gamma }R}}{{{\lambda _{\operatorname{opt} }}}})^3} = {k_{\operatorname{opt} }}{\omega _\gamma }^3.$$
((4))

If both sides of (4) are divided by ω γ, we can get the optimal torque as

$${T_{\gamma \_\operatorname{opt} }} = \frac{{{P_{m\_\operatorname{opt} }}}}{{{\omega _\gamma }}} = {k_{\operatorname{opt} }}{\omega _\gamma }^2.$$
((5))

For a different wind speed, the relation curve[16] of the wind turbine torque and speed which is optimal torque curve is depicted in Fig.3. The system achieves a balance at A, B, C, and D. These points are the intersection points in the torque property curve of the wind turbine and the mechanical property curve of the generator.

Fig.3
figure 3

Wind turbine torque-speed curve

Optimal torque control is adopted to capture the maximum wind energy in this paper, i.e., when the wind speed changes, the relationship between the absorption of mechanical torque from shaft and the generator speed runs along the optimal torque curve by controlling the mechanical torque, then the maximum torque under this wind speed can be obtained. Thus, the direct measurement of wind is avoided and the operation performance is improved.

2.2 LPV model of wind energy conversion system (WECS)

The mathematical model of the transmission system[17] is

$$\left( {\begin{array}{*{20}{c}} {{{\dot \theta }_s}} \\ {{{\dot \omega }_\gamma }} \\ {{{\dot \omega }_g}} \end{array}} \right) = \left( {\begin{array}{*{20}{c}} 0&1&{ - 1} \\ { - \frac{{{K_s}}}{{{J_\gamma }}}}&{ - \frac{{{B_s}}}{{{J_\gamma }}}}&{\frac{{{B_s}}}{{{J_\gamma }}}} \\ {\frac{{{K_s}}}{{{J_g}}}}&{\frac{{{B_s}}}{{{J_g}}}}&{ - \frac{{{B_s}}}{{{J_g}}}} \end{array}} \right)\left( {\begin{array}{*{20}{c}} {{\theta _s}} \\ {{\omega _\gamma }} \\ {{\omega _g}} \end{array}} \right) + \left( {\begin{array}{*{20}{c}} 0&0 \\ {\frac{{{T_\gamma }}}{{{J_\gamma }}}}&0 \\ 0&{ - \frac{{{T_g}}}{{{J_g}}}} \end{array}} \right)$$
((6))

where θ s is torsion angle, ω g is the generator speed, K s is the stiffness of the transmission, B s is the damping of the transmission, J γ and J g are the inertia of the wind turbine and generator respectively, T γ and T g are the torque of the wind turbine and the generator respectively. Suppose that the generator works with a constant magnetic flux, and the torque is just under \({T_{{g_{\max }}}}\), nonlinear motor torque can be approximately linearized into

$${T_g} = {B_g}({\omega _g} - {\omega _z})$$
((7))

where B g is the generator damping, and ω z is the zero-torque speed.

The variation of the pitch angle in the linear region can be expressed as

$$\dot \beta = - \frac{1}{\tau } + \frac{1}{\tau }{\beta _d}$$
((8))

where τ is the time constant, and β d is the pitch angle determined by the controller.

The aerodynamic torque of wind turbine is a nonlinear function of wind speed v, wind turbine speed ω γ, and pitch angle β. At the stable point, it can be approximately linearized into

$${T_\gamma } = - {B_\gamma }({\bar \omega _\gamma },\bar \beta ,\bar v){\omega _\gamma } + {k_{\gamma ,v}}({\bar \omega _\gamma },\bar \beta ,\bar v)v + {k_{\gamma ,\beta }}({\bar \omega _\gamma },\bar \beta ,\bar v)\beta $$
((9))

where

$$\begin{array}{*{20}{l}} {{B_\gamma }({{\bar \omega }_\gamma },\bar \beta ,\bar v) = - {{\left. {\frac{{\partial {T_\gamma }}}{{\partial {\omega _\gamma }}}} \right|}_{({{\bar \omega }_\gamma },\bar \beta ,\bar v)}} = } \\ {\quad \quad \quad \quad \quad \;\;\; - \frac{{{T_\gamma }({{\bar \omega }_\gamma },\bar \beta ,\bar v)}}{{{{\bar \omega }_\gamma }}} \times {{\left. {\frac{{\tfrac{{\partial {C_Q}}}{{\partial \lambda }}}}{{\tfrac{{{C_Q}}}{\lambda }}}} \right|}_{({{\bar \omega }_\gamma },\bar v,\bar \beta )}}} \\ {{k_{\gamma ,v}}({{\bar \omega }_\gamma },\bar \beta ,\bar v) = {{\left. {\frac{{\partial {T_\gamma }}}{{\partial v}}} \right|}_{({{\bar \omega }_\gamma },\bar \beta ,\bar v)}} = } \\ {\quad \quad \quad \quad \quad \;\;\;\frac{{{T_\gamma }({{\bar \omega }_\gamma },\bar \beta ,\bar v)}}{{\bar v}} \times \left( {{{\left. {2 - \frac{{\tfrac{{\partial {C_Q}}}{{\partial \lambda }}}}{{\tfrac{{{C_Q}}}{\lambda }}}} \right|}_{({{\bar \omega }_\gamma },\bar v,\bar \beta )}}} \right)} \\ {{k_{\gamma ,\beta }}({{\bar \omega }_\gamma },\bar \beta ,\bar v) = - {{\left. {\frac{{\partial {T_\gamma }}}{{\partial \beta }}} \right|}_{({{\bar \omega }_\gamma },\bar \beta ,\bar v)}} = } \\ {\quad \quad \quad \quad \quad \;\;\; - \frac{{{T_\gamma }({{\bar \omega }_\gamma },\bar \beta ,\bar v)}}{{\bar \beta }} \times {{\left. {\frac{{\tfrac{{\partial {C_Q}}}{{\partial \beta }}}}{{\tfrac{{{C_Q}}}{\beta }}}} \right|}_{({{\bar \omega }_\gamma },\bar v,\bar \beta )}}.} \end{array}$$

Then, by incorporating (7)-(9) into (6), the dynamic system can be described by

$$\left\{ {\begin{array}{*{20}{l}} {\dot x = A(\xi )x + Bu + {B_v}(\xi )v} \\ {y = Cx + Du} \end{array}} \right.$$
((10))

where the state vector, input vector, output vector and parameters vector are x = [θ s ωγ ω g β]T, u = [ω z β d ]T, y = T g , and ξ = [ξ 1 ξ 2 ξ 3]T = [\(\bar v\;{\bar \omega _\gamma }\;\bar \beta \)]T, respectively.

There are three inputs which are the zero-torque speed ω z , the pitch angle determined by the controller β z , and the wind speed v. The output is the generator speed T g .

The matrix form of the model is

$$\begin{array}{*{20}c} {\begin{array}{*{20}c} {A(\xi ) = \left[ {\begin{array}{*{20}c} 0 & 1 & { - 1} & 0 \\ { - \frac{{K_s }} {{J_\gamma }}} & { - \frac{{B_\gamma (\xi )}} {{J_\gamma }}} & {\frac{{B_s }} {{J_\gamma }}} & {\frac{{k_{\gamma ,\beta } (\xi )}} {{J_\gamma }}} \\ { - \frac{{K_s }} {{J_g }}} & {\frac{{B_s }} {{J_g }}} & { - \frac{{B_s + B_g }} {{J_g }}} & 0 \\ 0 & 0 & 0 & { - \frac{1} {\tau }} \\ \end{array} } \right]} \\ {B = \left[ {\begin{array}{*{20}c} 0 & 0 \\ 0 & 0 \\ \end{array} \begin{array}{*{20}c} {\frac{{B_g }} {{J_g }}} & 0 \\ 0 & {\frac{1} {\tau }} \\ \end{array} } \right]^T } \\ \end{array} } \\ {B_\omega = \left[ {\begin{array}{*{20}c} 0 & {\frac{{k_{\gamma ,v} (\xi )}} {{J_\gamma }}} & 0 & 0 \\ \end{array} } \right]^T } \\ {B = \left[ {\begin{array}{*{20}c} 0 & 0 & {B_g } & 0 \\ \end{array} } \right]} \\ {D = \left[ {\begin{array}{*{20}c} { - B_g } & 0 \\ \end{array} } \right].} \\ \end{array} $$

The coefficient matrices can be expressed as

$$\begin{array}{*{20}{l}} {A(\xi ) = {A_0} + \sum\limits_{i = 1}^3 {{\xi _i}{A_i}} } \\ {{B_v}(\xi ) = {B_{v0}} + \sum\limits_{i = 1}^3 {{\xi _i}{B_{vi}}} } \end{array}$$

where A i, \({B_{{v_i}}}\), (i = 1, 2, 3) and are known constant matrices.

Suppose that the upper and lower bounds of the uncertain parameters are known, namely ξ i ∈ [\({\underline \xi _i},{\bar \xi _i}\) ] (i = 1, 2, 3). A new adaptive guaranteed cost controller (AGCC) design for linear time-varying uncertain systems is proposed in the following section.

3 Adaptive robust guaranteed cost controller design

When the wind is changed, the wind turbine speed ω γ can be measured, and the optimal torque T γ_opt of the wind turbine can be obtained according to the optimal torque curve, further the reference torque can be obtained by the transformation ratio n of the gearbox. Suppose the reference torque is \(T_g^*\), and e = \(T_g^* - {T_g}\).

It is well known that the integration method can effectively reduce the error[18]. We introduce the augmented state space system for reducing the steady-state tracking error as

$$\dot {\bar x} = \bar A(\xi )\bar x + \bar Bu + {\bar B_v}(\xi ){v_d}$$
((11))

where

$$\begin{array}{*{20}c} {\begin{array}{*{20}c} {\bar A = \left[ {\begin{array}{*{20}c} 0 & { - C} \\ 0 & {A(\xi )} \\ \end{array} } \right]} \\ {B = \left[ {\begin{array}{*{20}c} { - D} \\ B \\ \end{array} } \right]} \\ \end{array} } \\ {B_v (\xi ) = \left[ {\begin{array}{*{20}c} 1 & 0 \\ 0 & {B_v (\xi )} \\ \end{array} } \right]} \\ {\bar x = \left[ {\begin{array}{*{20}c} {\int_0^t {ed\tau } } & {x^T } \\ \end{array} } \right]^T } \\ {v_d = \left[ {\begin{array}{*{20}c} {T_g^* } & v \\ \end{array} } \right]^T .} \\ \end{array}$$

Next, we select the performance index as

$$J = \int_0^t {[\bar x^T Q\bar x + u^T Hu]dt \leqslant J^* } $$
((12))

where Q = diag{Q 1,Q 2}, Q 1 R l×l, Q 2 R n×n is a symmetric positive semi-definite matrix, and H ∈ R m×m is a symmetric positive matrix.

The adaptive robust guaranteed cost controller can be derived from

$$u = K(\hat \xi )\bar x = (K_0 + K'(\hat \xi ))\bar x$$
((13))

where K 0 is the fixed gain part, \(K'(\hat \xi ) = \sum {_{i = 1}^3} {\hat \xi _i}{K_i}\) is the variable gain part which is based on the parameter estimation, \( {\hat \xi _i}\) is the estimation of the uncertain parameter ξ i, and it can be regulated online by the following adaptive law.

$$\begin{gathered} \dot {\hat \xi} = \Pr oj\{ M_i \} = \hfill \\ \left\{ \begin{gathered} 0,\hat \xi _i = \xi _i andM_i \leqslant 0or \hfill \\ \hat \xi _i = \xi _i andM_i \geqslant 0 \hfill \\ M_i ,otherwise \hfill \\ \end{gathered} \right. \hfill \\ \end{gathered} $$
((14))

where \(M_i = - m_i \bar x^T P\bar BK_i \bar x,m_i \geqslant 0,i = 1,2,3,\operatorname{P} roj\{ \cdot \} \), is the projection operator, which projects the estimation \({\hat \xi _i}\) to the closed interval [\({\underline \xi _i},{\bar \xi _i}\)].

In the following, a sufficient condition of the adaptive robust guaranteed cost controller is presented.

Theorem 1. Assume the augmented closed-loop system (11) is steady and the performance index (12) is satisfied. For any given positive constant γ, the symmetric matrices X, Y i (i = 0,1,2,3), ξ ∈ Ω1, \(\hat \xi \) ∈ Ω2 exist if the following inequality holds:

$$\left( \begin{gathered} W + W^T \bar B_v (\xi )Y^T H^{\tfrac{1} {2}} XQ^{\tfrac{1} {2}} \hfill \\ * - \gamma ^2 I00 \hfill \\ ** - I0 \hfill \\ *** - I \hfill \\ \end{gathered} \right) < 0 $$
((15))
$$X > 0$$
((16))

where \(*\) is the corresponding symmetrical part of the symmetric matrix, Y(ξ) = Y 0 + \(\sum {_{i = 1}^3} \) Y iξi, Y i = K i X (i = 0,1,2,3), W = Ā(ξ)X + \(\bar B({Y_0} + \sum {_{i = 1}^3} {Y_i}{\xi _i})\), and Q = diag{Q1,Q 2}.

The state feedback controller is

$$u = (Y_0 X^{ - 1} + \sum\limits_{i = 1}^3 {\hat \xi _i Y_i X^{ - 1} } )\bar x$$
((17))

It makes the augmented closed-loop system (11) stable. And the upper bound of the performance index is satisfied by the following inequality:

$$J \leqslant \bar x^T (0)P\bar x(0) + \gamma ^2 \int_0^t {v_d^T v_d dt} $$
((18))

Proof. The Schur complement properties show that (15) and (16) are equivalent to

$$W + W^T + \frac{1} {{\gamma ^2 }}\bar B_v (\xi )\bar B_v^T (\xi ) + XQX + Y^T (\xi )HY(\xi ) < 0 $$
((19))

Both the left and the right sides of (19) are multiplied by P = X −1, we can get

$$W_1 + W_1^T + \frac{1} {{\gamma ^2 }}P\bar B_v (\xi )\bar B_v^T (\xi )P + Q + K^T (\hat \xi )HK(\hat \xi ) < 0 $$
((20))

where

$$\begin{gathered} W_1 = PWP = \hfill \\ P\bar A(\xi ) + P\bar B(Y_0 + \sum\limits_{i = 1}^3 {\xi _1 Y_1 } )X^{ - 1} = \hfill \\ P\bar A(\xi ) + P\bar B(K_0 + \sum\limits_{i = 1}^3 {\xi _1 K_1 } ). \hfill \\ \end{gathered} $$

Because of γ 2 > 0, Q ⩾ 0, Q = Q T, H > 0, H = H T, we can get

$$W_1 + W_1^T < 0$$
((21))

We choose the following Lyapunov function

$$V = \bar x^T P\bar x + \sum\limits_{i = 1}^3 {\frac{{\tilde \xi _i^2 }} {{m_i }}} $$
((22))

where \({\tilde \xi _i} = {\hat \xi _i} - {\xi _1}.\).

Calculating the derivative of V(t) along the closed-loop system (11), we can get

$$\dot V = \bar x^T (W_1 + W_1^T )\bar x + 2\bar x^T P\bar B_v (\xi )v_d + 2\bar x^T P\bar B\sum\limits_{i = 1}^3 {K_i \tilde \xi _i \bar x} + 2\sum\limits_{i = 1}^3 {\frac{{\tilde \xi _i {\dot {\tilde \xi}} _i }} {{m_i }}} .$$

If we choose the adaptive law (14), then

$$2\bar x^T P\bar B\sum\limits_{i = 1}^3 {K_i \tilde \xi _i \bar x + 2} \sum\limits_{i = 1}^3 {\frac{{\tilde \xi _i {\dot {\tilde \xi}} _i }} {{m_i }}} = 0 $$

Thus,

$$\dot V = \bar x^T (W_1 + W_1^T )\bar x + 2\bar x^T P\bar B_v (\xi )v_d $$
((23))

Equality (11) depends affine on ξ and \(\hat \xi \) According to the theory of LMI, if (15) and (16) hold for any ξ∈Ω 1,\(\hat \xi \)∈ Ω2, then (15) and (16) hold for any ξ, \(\hat \xi \) ∈ [\({\underline \xi _i},{\bar \xi _i}\)]. According to Lyapunov stability theory, if we only consider the stability of system (11), assume that v d = 0 and \(\dot V\) 0, then the controller u(t) = \(\left( {\hat \xi } \right)\bar x\) enables the augmented system (11) steady.

Further, with (12), (13), (20) and (23), we can get

$$\begin{gathered} J = \int_0^t {\bar x^T [Q + K^T (\hat \xi )HK(\hat \xi )]\bar xdt} < \hfill \\ - \int_0^t {\bar x^T [W_1 + W_1^T + \frac{1} {{\gamma ^2 }}P\bar B_v (\xi )\bar B_v^T (\xi )P]\bar xdt} \leqslant \hfill \\ - \int_0^t {dV} - \int_0^t {( - \gamma v_d^T + \frac{1} {\gamma }\bar x^T P\bar B_v^T (\xi ))} \times \hfill \\ ( - \gamma v_d + \frac{1} {\gamma }\bar B_v^T (\xi )P\bar x)dt + \gamma ^2 \int_0^t {v_d^T v_d dt} \leqslant \hfill \\ \bar x^T (0)P\bar x(0) + \sum\limits_{i = 1}^3 {\frac{{\bar \xi _i^2 (0)}} {{m_i }} + \gamma ^2 } \int_0^t {v_d^T v_d dt} \hfill \\ \end{gathered} $$

By making m i large enough, \(\sum {_{i = 1}^3\frac{{\tilde \xi _i^2(0)}}{{{m_i}}}} \) will be small enough, so \(J \leqslant \bar x^T (0)P\bar x(0) + \gamma ^2 \int_0^t {v_d^T v_d dt} \).

The whole structure of the adaptive robust guaranteed cost controller is shown in Fig.4.

Fig.4
figure 4

Structure of the adaptive robust guaranteed cost controller

4 Simulink research

4.1 WECS model parameters

Parameters corresponding to the variable speed variable pitch wind power generator are B g = 15.933N-m/(rad•s−1), B s = 3029.5N•m/(rad•s−1), J g = 59kg•m2, J γ = 8.3 × 105kg•m2, R = 30.5m, τ = 50¼s, K s = 1.566 × 106N/m, ρ = 1.225kg/m3, and v e = 12m/s.

4.2 Simulink model analysis in low and high wind speed areas

The control object lies in maximum wind energy capture in low wind speed areas which can be realized by controlling the zero-torque speed ω z of the generator and the pitch angle maintained at the optimal value, so we consider that β d = 0, the scheduling parameters are ξ = [ξ 1 ξ 2]T = [\({\xi _1}\;\;{\xi _2}\)]T , the state variables are \(\bar x = \left[ {\int_0^t {e(\tau )d\tau \theta _s \omega _\gamma \omega _g } } \right]^T \), and the control input is u = ω z .

The augmented LPV model is

$$\begin{array}{*{20}c} {\bar A(\xi ) = \left[ {\begin{array}{*{20}c} 0 & 0 & 0 & { - B_g } \\ 0 & 0 & 1 & { - 1} \\ 0 & { - \frac{{K_s }} {{J_\gamma }}} & { - \frac{{B_\gamma (\xi )}} {{J_\gamma }}} & {\frac{{B_s }} {{J_\gamma }}} \\ 0 & {\frac{{K_s }} {{J_g }}} & {\frac{{B_s }} {{J_g }}} & { - \frac{{B_s + B_g }} {{J_g }}} \\ \end{array} } \right]} \\ {B = \left[ {\begin{array}{*{20}c} {B_g } & 0 & 0 & {\frac{{B_g }} {{J_g }}} \\ \end{array} } \right]^T } \\ {\bar B_v (\xi ) = \left[ {\begin{array}{*{20}c} 1 & 0 \\ 0 & 0 \\ \end{array} \begin{array}{*{20}c} 0 & 0 \\ {\frac{{k_{\gamma ,v} (\xi )}} {{J_\gamma }}} & 0 \\ \end{array} } \right]^T .} \\ \end{array}$$

Wind turbine speed would remain unchanged when it achieves the rated value under the conditions of high wind speed. At this time, we consider the variation of the wind turbine \(\hat \omega _\gamma = 0\), the scheduling parameters are ξ = [ξ 1 ξ 2 ]T = [\(\bar v\;\bar \beta \)]T, the state variables are \(\bar x = \left[ {\int_0^t {e(\tau )d\tau \theta _s \omega _\gamma \omega _g \beta } } \right]^T \), and the control inputs are u =[ω z β d ]

The augmented LPV model is

$$ \begin{gathered} \bar A(\xi ) = \left[ \begin{gathered} 000 - B_g 0 \hfill \\ 001 - 10 \hfill \\ 0 - \frac{{K_s }} {{J_\gamma }} - \frac{{B_\gamma (\xi )}} {{J_\gamma }}\frac{{B_s }} {{J_\gamma }}\frac{{k_{\gamma ,\beta } (\xi )}} {{J_\gamma }} \hfill \\ 0\frac{{K_s }} {{J_g }}\frac{{B_s }} {{J_g }} - \frac{{B_s + B_g }} {{J_g }}0 \hfill \\ 0000 - \frac{1} {\tau } \hfill \\ \end{gathered} \right] \hfill \\ \bar B = \left[ \begin{gathered} B_g 00\frac{{B_g }} {{J_g }}0 \hfill \\ 0000\frac{1} {\tau } \hfill \\ \end{gathered} \right]^T \hfill \\ \bar B_v (\xi ) = \left[ \begin{gathered} 10000 \hfill \\ 00\frac{{k_{\gamma ,v} (\xi )}} {{J_\gamma }}00 \hfill \\ \end{gathered} \right]^T \hfill \\ \end{gathered} $$

4.3 The analysis of simulink results

The condition set in the simulink model are: Initially, the wind speed is 6m/s; when t = 1s, the wind speed jumps from 6m/s to 10m/s; when t = 3 s, the wind speed jumps from 10m/s to 14m/s, as shown in Fig.5.

Fig.5
figure 5

Wind speed input

The controller gain can be calculated by LMI toolbox of Matlab in low wind speed as

$$\begin{gathered} K_0 = [ - 0.3570 0.2928 0.4734 0.0018] \hfill \\ K_1 = [ - 0.1215 1.8307 - 0.1860 - 0.0008] \hfill \\ K_2 = [ - 0.4588 - 9.2600 0.7342 0.0022] \hfill \\ \end{gathered} $$

The controller gain can be calculated by LMI toolbox of Matlab in high wind speed as

$$\begin{gathered} K_0 = \hfill \\ \left[ \begin{gathered} - 1.9615 - 1.4113 0.4799 0.0049 0.0010 \hfill \\ - 28.7144 51.7605 - 74.7007 - 36.0211 - 15.5154 \hfill \\ \end{gathered} \right] \hfill \\ K_1 = \hfill \\ \left[ \begin{gathered} - 2.6629 - 1.0371 6.6784 0.0424 0.0139 \hfill \\ - 31.9003 17.5544 87.1344 - 19.2764 18.5799 \hfill \\ \end{gathered} \right] \hfill \\ K_2 = \hfill \\ \left[ \begin{gathered} 4.3886 2.6120 - 1.0685 - 0.0772 - 0.0250 \hfill \\ 54.2853 - 32.3936 - 15.1579 38.3045 - 31.8992 \hfill \\ \end{gathered} \right] \hfill \\ \end{gathered} $$

The outputs of the system are shown in Figs. 6-8 by the designed controller in this paper.

Fig.6
figure 6

The variation curve of generator speed

Fig.7
figure 7

The variation curve of pitch angle

Fig.8
figure 8

The reference and actual torque output curves

As can be seen from these figures, when the wind speed is 6 m/s, the generator runs around the desired speed 104 rad/s which corresponds to the optimal torque curve. And when the wind speed jumps to 10m/s, the generator is adjusted to around the described speed 188 rad/s which corresponds to the optimal torque curve automatically adjusted by the controller with no action on the pitch angle, at this time, the maximum wind energy capture is realized. When the wind speed jumps to 14m/s, which exceeds the rated wind speed (v e = 12m/s), the generator speed is adjusted to the described speed 208rad/s by adjusting the pitch angle β. The torque changes to rated torque and the constant power output is realized. Simulink results show that the designed controller can achieve the goal of maximum wind energy capture in low wind and constant power output in high wind. The system has excellent dynamic characteristics and interference elimination ability.

5 Conclusions

By establishing the LPV model of WECS and combining the gain scheduling technology with the guaranteed cost control theory in this paper, a new adaptive robust guaranteed cost controller design method is put forward. It converts the controller design problem into a linear matrix inequality (LMI) problem that can be solved very efficiently by using convex optimization techniques. Simulations illustrate that the generator speed tracks the wind speed variation very well in low wind speed by the optimal torque control, and it can capture the maximum wind energy with perfect tracking performance and strong robustness. Correspondingly, the generator speed is stabilized in rated value in high wind speed by variable pitch control, which realizes constant power control and makes the system to have better dynamics and interference elimination ability.