2 Partial Offline Quasi-min-max Fuzzy Model-Predictive Control (FMPC)

3.2.1 Takagi-Sugeno (T-S) Fuzzy Modeling

Wind speed variations cause changing in the operating points of the wind turbine continuously during operation, which lead to change in the design model. The T-S Fuzzy modeling is used to model the nonlinearities of the system and to overcome the wind speed variations by providing an accurate model for each entry wind speed. The seven local models in Eq. (8) are discretized offline before using in fuzzy modeling to reduce the online calculation. In this control design, the pitch angle is considered the state-space model input and the only feedback output is the generator speed, which is regulated in order to capture the rated output power. Discretization of each model is made at sampling time T_s as shown below:

x_d (k+1)= ?A_d?_i x_d (k)+ ?B_d?_i u(k)

y_d (k)= ?C_d?_i x_d (k) i=1,2,…..,7 (9)

where ??A_d?_i,B_d?_i,?C_d?_i are discrete matrices. The matrices ?A_d?_i=e^(?A_c?_i T_s ),?B_d?_i=?_0^(T_s)??e^(?A_c?_(i ) T_s ) dt*B_cj ?, and ?C_d?_i=?C_c?_i

In order to deal with input and input rate constraints together in the proposed controller, we propose converting each discrete models in Eq. (9) to the following augmented models as in Eq. (10). For each local linear model in Eq. (10), assuming the new state variable vectors x(k)=??x_d (k)?^T u(k)?^T by putting input u(k) as state and the output y(k)=?y_d (k) u(k)?^T. The resultant augmented model is represented as shown below:

x(k+1)= A_i x(k)+B_i ?u(k)

y(k)= C_i x(k) i=1,2,…..,7 (10)

where A_i=?(?A_d?_i&?B_d?_i@0&I_m ), B_i=?(0@I_m ), C_i=?(?C_d?_i&0@0&I_m ), and A_i, B_i, and C_i are the state-space matrixes of the augmented models which is used in building the fuzzy modeling and I_m is identity matrix with dimension m (number of inputs).

For the fuzzy modeling, Eq. (10) can be put in rule-based form as shown in Eq. (11). The wind turbine dynamic and the control strategy are relatively dependent on wind speed. The wind speed is the key factor that characterizes the local linear models. So, the wind speed is used as a linguistic variable in the fuzzy rule-base of wind turbine modeling as shown below in Eq. (11). The fuzzy system input is the entry wind speed, ? ?(t), while the output is the value of the state space model at this entry wind speed. Each fuzzy value (wind speed ?_i) is denoted by a membership function. Also, the fuzzy system output is allocated for the membership functions and the suitable fuzzy values. The fuzzy system rule-base contains if-then rules. Each rule antecedent contains premises that allocate to each input a suitable fuzzy value and, therefore, a membership function. The membership functions of the wind turbine model is presented in Fig. 5. Among the seven membership functions is divided for the whole wind speed range of region 3:

rule i: IF ? ?(k) equal “?_i m/s”,

then x ?(t)=A_i x(k)+B_i ?u(k)

y(t)=C_i x(t) (11)

where i={1,2,….,7} the fuzzy inference rule and the number of inference rules is seven; ? ?(k) means the entry wind speed (premise variable); ?A_c?_i,?B_c?_i,?C_c?_i are the linear models’ matrices. The wind speed ?_i range is from 12m/s and 24m/s with 2m/s step up. Let ? represent the membership rule set {1,2,…,7 }. It can be concluded that at each entry wind speed for all sampling instants, only 2 fuzzy rules are fired. Using the singleton-fuzzifier, product fuzzy-inference, and center average-defuzzifier, the resultant wind turbine model is presented in Eq. (12) 33:

x(k+1)= A x(k)+ B u(k)

y(k)= C x(k) (12)

where A=?_(i=1)^7?h_i (? ?(k)) A_i; B=?_(i=1)^7?h_i (? ?(k)) B_i; C=?_(i=1)^7?h_i (? ?(k)) C_i;h_i (? ?(k))=(?_i (? ?(k)))/(?_(i=1)^7??_i (? ?(k)) ); ?_i (? ?(k))=?_i; such that ?_(i=1)^7?h_i (? ?(k))=1; h_i (v ?(k))?0; h_i (? ?(k)) represents the normalized membership functions. The fuzzy modeling test is made by comparing the generator speed based on the fuzzy modeling and the measured generator speed from the benchmark simulator model. This test is represented in the simulation results and discussion (Section 4) and it can be shown in Fig. 5.

Fig. 5. Membership functions of the wind turbine model

3.2.2 Quasi-min-max Fuzzy Model-Predictive Control (FMPC)

Model-Predictive Control (MPC) is widely used in renewable energy control. In our application, a new control strategy is used to combine T-S fuzzy modeling, the quasi-min-max MPC, the partial offline design, and the pitch angle constraints and convert them into convex optimization problem in the form of LMI constraints. This approach also proposes a way to handle the input and input rate constraints by converting the input and input rate constraints to output and input constraints. The quasi-min-max FMPC is based on infinite-horizon model-predictive control (IH-MPC) as it has proved to guarantee stability 25. In this study, the infinite-horizon quadratic objective function is used, which include both the system states and input penalty parts as represented in Eq. (13):

J_0^? (k)=?_(i=0)^????x(k+i?k)?_Q^2+??u(k+i?k)?_R^2 ? (13)

where ?*?_R^2=(*)^T R(*); R and Q are positive-definite matrices. Since online minimizing of J_0^? (k) is commonly impractical for the infinite-horizon problem, it is required to be transferred to a quasi-min-max problem 27. Define the following fuzzy Lyapunov function as in Eq. (14):

V(x(k+i?k))=x^T (k+i?k)P(?(k+i?k))x(k+i?k) (14)

where P(?(k+i?k))=?_(i=1)^7??h(?(k+i?k))? P_i; P_i is a positive definite matrix. In Eq. (17), V should fulfill the next inequality in Eq. (16) for all next time instants:

V(x(k+i+1?k))-V(x(k+i?k))??-?x(k+i?k)??_Q^2-??u(k+i?k)?_R^2 (16)

The wind turbine control system design uses the important dominant dynamics are considered in Eq. (13). The fuzzy modeling will the same as in Appendix B. Since the wind speed change in the wind turbine model as in Eq. (13) can be considered as a disturbance to the plant, the control objective is to eliminate the effect of wind speed variations on the wind turbine by regulating the pitch angle input. In this paper, a terminal constraint-set is computed to guarantee the trajectories wind turbine system states remaining in the set through the optimization of LMI problem. The control law in the PDC (parallel distributed compensation) form is selected as:

?u(k)=?_(l=1)^7??h_l (? ?(k)) K_l (k)x(k)? (17)

where l ? ?; K_l is the feedback gain used to calculate the resultant control law ?u(k).

It is convenient to get an upper bound ? on the performance objective in Eq. (14) as shown below in Eq. (18):

J_0^? (k)=?x(k?k)?_Q^2+??u(k?k)?_R^2+J_1^? (k)

??x(k?k)?_Q^2+??u(k?k)?_R^2+V(x(k+1?k))?? (18)

Then for the wind turbine quasi-min-max FMPC, at each instant k, the next non-convex optimization problem is minimized as presented in Eq. (18):

min?(?u(k?k),F(K),P(K))?max?(l??)?? (19)

Subject to (13), (16), (18) and the following constraint in Eq. (20):

?u(k+i?k)?_2?u_max,i?0

??u(k+i?k)?_2???u?_max,i?0

?y_d (k+i?k)?_2??y_d?_max,i?0

(20)

where? u?_max ; ??u?_max refers to the maximum pitch angle and its maximum rate of change; y_max is the maximum output. The augmented model in Eq. (12) is proposed to deal with input and input rate constraints together using LMI constraints by converting the input and input rate constraints in Eq. (20) to output and input constraints as shown below in Eq. (21) and (22):

??u(k+i?k)?_2???u?_max,i?0

?y(k+i?k)?_2?y_max,i?0

y_max=?(?y_d?_max;0@0;u_max ), y(k+i?k)=?(y_d (k+i?k)@u(k+i?k) ) (21)

(22)

The resultant control sequence is represented by? U?_0^?=?(u(k);U_1^? ), where U_1^? is the future control moves, which commonly has the following state-feedback form U_1^?={?u(k+i?k)=K(k+i?k)x(k+i?k),i?1}. In (24), it is observed that the cost function ?x?_Q^2+??u?_R^2+?x(k+1)?_(P(?(k+i?k)))^2 is not minimized directly, as P(?(k+i?k)) uses the normalized membership functions h_l (?(k+1?k)), l?? which in turn uses the desired variable ?u(k). The explicit term of the above function is a non-convex one 29. In this way, depending on the fuzzy modeling, the minimization of ?max?_(l??) ? is incorporated to facilitate its online application.

With the four conditions in (16), (18), (21), and (22); it implies that the wind turbine state x(k+i?k); i?1 to remain in the terminal constraint-set ?(k), which given by the below expression as given in Eq. (23):

?(k)?{x?x(k)P(?)x(k)??} (23)

?(k) is an invariant-set for the predicted states x(k+i?k) corresponding to the control law (17). By the invariant-set, the pitch angle input constraint and its rate of change constraints can be handled in the form of LMI constraints 29.

The inequalities in Equations (16), (18), (21), and (22) can be formed into the following LMI constraints, respectively:

?(?-G?_j-G_j^T+X_i;?(A_i G_j+B_i F_j)?^T;?(G_j^T Q;? F?_j^T R)@*;?-X?_l;?(0; 0)@?(*@*);?(*@*);?(?(-?Q@*) ;?(0@-?R)))0; G_j is a non-singular matrix.

Then for the wind turbine quasi-min-max FMPC, at each instant k, the next convex optimization problem is minimized as presented in Eq. (25):

min?(u(k?k),F_J,P_J )?max?(l??)?? (25)

Subject to Equations (24a-24d) and (21).

The non-convex optimization problem in Eq. (19) can be modified to the convex-optimization problem (25) in the form of LMI constraints, which is embedded with the fuzzy modeling. The convex-optimization problem (25) is solved online at each time instant k depending on the new measurements from the wind turbine system. Since the wind turbine fuzzy model contains seven local models, the optimization problem (25) requests to solve a big series of LMIs at each sample time. The resultant large computational burden can make the controller difficult to be realized for real-time wind turbine pitch angle control. It is necessary to establish low online MPC with the less computational burden and high performance using the partial offline method (offline design and online composition). In designing the partial offline for the quasi-min-max FMPC, the online computation is reduced while still keeping the optimality and stability.

3.2.3 Partial offline Quasi-min-max FMPC

For offline computation, take a sequence of wind speed changes in region 3 ??_h, h=1,….,n with initial states? x?_h=?B_??_d*??_h. Based on the? x?_h, a bank of invariant-sets is considered as shown below in Eq. (26):

?_h?{x??_(i=1)^7??m_i x^T P_(i,h) x???_h } (26)

At time-instant k; a bisection search is accomplished to get the index h, such that x(k)??_h. Then a simplified optimization problem based on the offline parameters corresponding to the set ?_h is solved online. This “partial off-line” control scheme is illustrated in Fig.6.

Fig. 6. Partial offline control approach, circle: ? ??_h (k), ?: x(k-1), ×: x(k); ?_i: the discrete wind speed for the fuzzy modeling in Fig. 5.

Consider the wind turbine model in Eq. (13), subject to the pitch actuator constraint in Eq. (21). With a simple matrix subscript modification corresponding to the h, the offline invariant-sets? ??_h can be gotten by solving the next optimization problem in Eq. (30):

min?(X_(i,h),G_(i,h),F_(i,h) )???_h ? (27)

subject to (23-25) and an additional constraint to guarantee x_h??_h as shown below in Eq. (31):

?(1;x_h^T@*;X_(l,h) )?0 (28)

The solution of the offline optimization problem (27) is used to calculate ? P?_(l,h) and K_(l,h) as following:? P?_(l,h)=?_h X_(l,h)^(-1), K_(l,h)=?_(l=1)^m?m_l F_(l,h) G_(l,h)^(-1).

For online computation, select a sequence of wind speed changes in region 3 ??_h to get the bank of invariant-sets {?_h }. Suppose the initial wind turbine state x(k) are inside the set ?_h, then Eq. (18) can be reformulated as shown below in Eq. (29):

?x(k)?_Q^2+??u(k)?_R^2+?x(k+1?k)?_(P(?))^2?? (29)

Eq. (29) can be expressed stated as the following LMI constraint as in Eq. (30):

?(1;?x(k+1)?^T;?(?x(k)?^T Q;??u(k)?^T R)@*;?P_(l,h)^(-1);?(0; 0)@?(*@*);?(*@*);?(?(?Q@*) ;?(0@?R)))?0 (30)

Then the partial offline FMPC can be outlined as the below convex-optimization problem:

min?(?u(k?k),?)??

(31)

subject to (21) and (30).

The partial offline and online optimization problems (27) ; (31) are solved using Mosek version 8.1 34 and YALMIP Toolbox 35.

3.2.4 The control algorithm

The control algorithm of partial offline FMPC contains offline and online parts as below:

Offline part:

Step 1. Obtain the continuous time state-space models from the mathematical model {??A_c?_i,B_c?_i,?C_c?_i } at different speed from 12 to 24m/s by step 2m/s for Equations (9-10).

Step 2. For Eq. (11), obtain the discrete time state-space models {??A_d?_i,B_d?_i,?C_d?_i }.

Step 3. Build the augmented state state-space models {?A_i,B?_i,C_i } as in Eq. (12).

Step 4. Calculate Kalman filter gains for each selected local linear model in the fuzzy rules (more details can be found in 36).

Step 5. Choose different ??_h, 1?h?n.

Step 6. Solve the optimization problem (27) to get the terminal constraint-set {?_h } and the corresponding parameters {X_(l,h),G_(l,h),F_(l,h),?_h } and then from last parameters get {P_(l,h),K_(l,h) }.

Online part:

Step 1. At each sample instant k, use the fuzzy Kalman filter to get the corresponding the estimated system x(k) and the corresponding the state-space matrixes {A,B,C} at the entry wind speed. Then go to step-2.

Step 2. If x(k)??_1, calculate ?u(k)=K_(?,1) x(k) and feed the wind turbine model by u(k)=?u(k)+u(k-1) and then go to Step-4; else go to step-3.

Step 3. Find the index h such that x(k)??_h/?_(h-1). Solve the convex optimization problem (30). Obtain the optimal ?u(k) and feed the wind turbine model by u(k)=?u(k)+u(k-1) and then go to step-4.

Step 4. Move to time instant from k to k+1, and go to step-1.

3.3 Gain Scheduled-PI Controller

Gain scheduled-PI controller is used to compare its performance with the proposed controller. It is designed based on an analysis of the frequency response in two steps as described in 37, 38. First, a PI controller needs to be designed using the linearized model at 18m/sec 7, 8, to achieve phase margin ?60?^0 and to work close to the optimum crossover frequency. As a different wind-speed leads to change of the nominal model: hence, using the same PI controller gains for all wind-speed range is not valid (leading to change of cross-over frequency). Second, is to modify the basic PI parameters according to a gain-scheduled to compensate for the changes of the wind-speed. Based on the pitch effectiveness with the wind-speed 7, the controller parameters are improved as 8:

k_p=k_p0/((1+u/0.1099965)), k_i=k_i0/((1+u/0.1099965)) (32)

where k_p0 is the proportional gain of the model at 18m/s; k_i0 is an integral gain of the linearized model at 12 m/s; u is the pitch control action. The gain scheduled-PI is considered CPC and its purpose are to adjust the generator speed which leads to capture the rated generator power.