Designing LQR Controller-NREL 5MW wind turbine

Dear All,
Can anyone help me please with the following things.

When i was working with the linear model of the the wind turbine, I got stuck by the following options.

Firstly, my objective was to design a LQR controller for the pitch control of the wind turbine. For it, I required the state matrices and the disturbance matrices. These matrices can be formed with the linearization of the wind turbine. Now, the problem associated with it is, I do not know which DOFs do i have to disable to get the correct LQR model. I have doubts regarding operating points and equilibrium points too. For ex, linearization is dependent upon linearized point or equilibrium point, i.e., the linearization point obtained after simulation? or do we have to define the linearization point using initial condition for our study? Moreover, which should we prefer for deisgn of LQR controller for region 3.

I hope that any one can shed some light into this matter.

Moreover, after obtaining the linerization file, and doing mbc transform, I got the avg state and disturbance matrices, but how do I implement these in the simulink model.?

Do I just specify the gain found by LQR toolbox in the simulink model or do we add something else?
additionally, for implementing LQR we require state feedback measurements. So, do we get these measurements by the corresponding force associated with the respective DOFs or by some other method? Please Elaborate more on this.

P.S : For offshore floating structure, platform DOF’s have to be enabled. How should i utilized this DOF in deriving collective blade pitch controller, Kindly tell me , what is the use of this…

Please find typical linearization attachment file(lin file )
This linearized model file was generated by FAST (v7.02.00d-bjj, 20-Feb-2013) on 26-Nov-2015 at 18:11:47.
The aerodynamic calculations were made by AeroDyn (v13.00.02a-bjj, 20-Feb-2013).

NREL 5.0 MW Baseline Wind Turbine for Use in Offshore Analysis.

Some Useful Information:

Type of steady state solution found Trimmed collective blade pitch (TrimCase = 3)
Azimuth-average rotor speed, RotSpeed (rad/s) 1.26711E+00
Period of steady state solution (sec) 4.95868E+00
Iterations needed to find steady state solution 295
Displacement 2-norm of steady state solution (rad) 7.73484E-04
Velocity 2-norm of steady state solution (rad/s) 8.22548E-05
Number of equally-speced azimuth steps, NAzimStep 24
Order of linearized model, MdlOrder 1
Number of active (enabled) DOFs 2 ( 4 states)
Number of control inputs, NInputs 2
Number of input wind disturbances, NDisturbs 1
Number of output measurements 2

Order of States in Linearized State Matrices:

Row/column 1 = Platform pitch tilt rotation DOF (internal DOF index = DOF_P)
Row/column 2 = Variable speed generator DOF (internal DOF index = DOF_GeAz)
Row/column 3 to 4 = First derivatives of row/column 1 to 2.

Order of Control Inputs in Linearized State Matrices:

Column 1 = electrical generator torque (N·m) 4.30404E+04 op
Column 2 = rotor collective blade pitch (rad) 1.83874E-01 op

Order of Input Wind Disturbances in Linearized State Matrices:

Column 1 = horizontal hub-height wind speed (m/s) : See selected wind file for op

Order of Output Measurements in Linearized State Matrices:

Row 1 = GenSpeed (rpm)
Row 2 = PtfmPitch (deg)

Linearized State Matrices:

--------- Azimuth = 0.00 deg (with respect to AzimB1Up = 0.00 deg) ---------
op State | op | A - State | B - Input | Bd - Dstrb
Derivativs | States | Matrix | Matrix | Matrix
6.427E-06 | 2.489E-02 | 0.000E+00 0.000E+00 1.000E+00 0.000E+00 | 0.000E+00 0.000E+00 | 0.000E+00
1.267E+00 | 4.712E+00 | 0.000E+00 0.000E+00 0.000E+00 1.000E+00 | 0.000E+00 0.000E+00 | 0.000E+00
-7.709E-06 | 6.427E-06 | -1.401E-02 -2.685E-08 -4.008E-02 -2.220E-04 | 5.897E-15 -3.184E-03 | 6.603E-05
1.353E-05 | 1.267E+00 | -9.254E-03 -7.443E-06 -1.959E+00 -5.529E-01 | -2.215E-06 -8.352E-01 | 2.433E-02

op Output | This colmn | C - Output | D - Trnsmt | Dd - DTsmt
Measurmnts | is blank | Matrix | Matrix | Matrix
1.174E+03 | | 0.000E+00 0.000E+00 0.000E+00 9.263E+02 | 0.000E+00 0.000E+00 | 0.000E+00
1.426E+00 | | 5.730E+01 0.000E+00 0.000E+00 0.000E+00 | 0.000E+00 0.000E+00 | 0.000E+00

Dear Jonkman,
I want to build an LQR controller in your article State-Space Control of Tower Motion for Deepwater Floating Offshore Wind Turbines. First, I linearized ITIBarge with only PtfmPDOF and GenDOF on and used MBC to generate MBC.AvgA and etc.
and my results is in Fig1 and Fig2.

Through the state space equation xdot=Ax+Bu and your results in Page9 of your paper. I get my MBC.AvgA is [0 0 1 0;0 0 0 1;-0.2961 0.0023 -0.126 -0.0087;-0.0393 0.0828 -2.4327 -0.2335], and MBC.AvgB is [0;0;-0.0212;-0.3854]. And it is close to your results, so I used results in paper for my simulink model.

My question is :
1)I cannot figure out the input vector, maybe it is the BldPitch, because I find the MBC.AvgB corresponds to the BldPitch. So what is the input?
2)What is the output? In simulink model, I think it is BldPitch. But I check the MBC.AvgC and what is correspond to BldPitch nearly 0

My MBC.AvgC is:

My one LinFile is:
LinFile.rar (160 KB)
Because I linearized 3600 times, I only upload a part, it is too big.

And my simulink model is

Could you please give me some advice?


Dear Dezheng.Zhu,

The list of states, state derivatives, inputs, and outputs–including their descriptions and operating point values–are listed at the top of each *.lin file. For example, the 9th column of the B matrix is the collective blade-pitch command in rad.

Best regards,

Dear Jonkman,
Sorry, I cannot express my meaning correctly.
My question is:
I want to know what the input and output are in your LOR Controller in this picture.

In my model, it will run the collapse. So I think I am wrong in input and output.

I don’t know very clear about state space. But I think if I know the input and output, then I can delete irrelevant columns or rows to get MBC.AvgB and MBC.AvgC. Then I can use y=Cx+Du to get output and it will be the input of module FAST Nonlinear Wind Turbine. Is it correct?

Best regards!

Dear Dezheng.Zhu,

I’m not the lead author of the paper you are referring to; that was Hazim Namik of the The University of Auckland. And I don’t have access to the files used to produce the results presented in this paper to confirm. But from the image, it looks like output of the LQR block is the pitch angles in degrees (collective or independent blade pitch) and the paper refers to full state feedback, which implies that the input is the full set of turbine states (x).

Best regards,

Dear Jonkman,
Thanks a lot! I seemingly understand some.

Best regards!