questions about reference control input

This forum if for discussing controls. Questions about how to implement controls in FAST are more appropriate to the CAE Tools forum.

Moderator: Bonnie.Jonkman

Cheng.Zhang
Posts: 57
Joined: Tue Nov 14, 2017 6:50 am
Organization: ECN
Location: france

questions about reference control input

Postby Cheng.Zhang » Sun Jan 21, 2018 2:27 pm

Dear all,

I have a very basic question about FOWT control.
The objectives of the control system are to regulate the power and platform pitch.
One needs to actuate the blade pitch to achieve the control objectives, but how to get the reference blade pitch?

Thank you in advance!

Jason.Jonkman
Posts: 4338
Joined: Thu Nov 03, 2005 4:38 pm
Location: Boulder, CO
Contact:

Re: questions about reference control input

Postby Jason.Jonkman » Mon Jan 22, 2018 1:47 pm

Dear Cheng Zhang,

What do you mean by the "reference blade pitch"?

Best regards,
Jason Jonkman, Ph.D.
Senior Engineer | National Wind Technology Center (NWTC)

National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway | Golden, CO 80401
+1 (303) 384 – 7026 | Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

Cheng.Zhang
Posts: 57
Joined: Tue Nov 14, 2017 6:50 am
Organization: ECN
Location: france

Re: questions about reference control input

Postby Cheng.Zhang » Tue Jan 23, 2018 7:43 am

Dear Jason,
Assume that I want to regulate the platform motion and power(e.g. platform pitch). If wind increases, I need to actuate the blade pitch angle to make a restoring moment to reduce the motion of the platform, and maintain the turbine at rated power. So there should have a blade pitch angle in a given situation(a certain wind speed and wave) can make the wind turbine minimize the platform motion and regulate the power.
How could I have this blade pitch angle?
(sorry for my English, hope you can understand!)

Thank you,
Cheng

Jason.Jonkman
Posts: 4338
Joined: Thu Nov 03, 2005 4:38 pm
Location: Boulder, CO
Contact:

Re: questions about reference control input

Postby Jason.Jonkman » Tue Jan 23, 2018 9:51 am

Dear Cheng,

Mitigating platform motion and regulating power likely require different pitch-angle commands. Normally the mean pitch angle at a given mean wind speed will be determined such that rated torque and speed are maintained. Mitigating platform motion likely requires reduced pitch-control gains or pitch and torque oscillations about their mean values. Please consult the literature on floating offshore wind control e.g. as discussed recently in the following forum topic: viewtopic.php?f=4&t=1995.

Best regards,
Jason Jonkman, Ph.D.
Senior Engineer | National Wind Technology Center (NWTC)

National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway | Golden, CO 80401
+1 (303) 384 – 7026 | Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

Cheng.Zhang
Posts: 57
Joined: Tue Nov 14, 2017 6:50 am
Organization: ECN
Location: france

Re: questions about reference control input

Postby Cheng.Zhang » Mon Jan 29, 2018 11:30 am

Dear Jason,

First, thank you for your advice.
I have read the forum topic and read some paper about floating wind turbine control. I already solved the problem I posted.

But I meet another question in reading Namik's paper ''Individual blade pitch control of floating offshore wind turbines''.

In this paper, the linearized states are platform pitch φ (rad), rotor azimuth ψ (rad), and their respective first derivatives in rad/s, and the state matrice is Δx = [Δφ; Δψ; Δφ_d; Δψ_d]. And he wants to control rotor speed and platform pitching.

What I can not understand is, why he used state rotor azimuth ψ. In my understanding, the Δψ_d refers to rotor speed, but if the control law track the rotor azimuth ψ, it will be let the blade to a certain position(operating point), the rotor will not rotation, so how to regulate the rotor speed.

Thank you in advance!
Best regards,
Cheng

Jason.Jonkman
Posts: 4338
Joined: Thu Nov 03, 2005 4:38 pm
Location: Boulder, CO
Contact:

Re: questions about reference control input

Postby Jason.Jonkman » Mon Jan 29, 2018 1:34 pm

Dear Cheng,

I'm not a coauthor on this paper, and so, I'm not sure I can answer your question anyway, but I'm not sure I understand what your question. Please clarify.

Best regards,
Jason Jonkman, Ph.D.
Senior Engineer | National Wind Technology Center (NWTC)

National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway | Golden, CO 80401
+1 (303) 384 – 7026 | Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

Cheng.Zhang
Posts: 57
Joined: Tue Nov 14, 2017 6:50 am
Organization: ECN
Location: france

Re: questions about reference control input

Postby Cheng.Zhang » Mon Jan 29, 2018 2:29 pm

Dear Jason,

Sorry I didn't express it clearly.

In this paper(you are coauthor), I have the same question, ''State-Space Control of Tower Motion for Deepwater Floating Offshore Wind Turbines''

A linear model was obtained using FAST linearization about a specified operating point using collective blade pitch, Namik got the state space equation:
Δx_d = A*Δx + B*Δu
x = Δx + x_op
u = Δu + u_op
where Δx = [Δφ; Δψ; Δφ_d; Δψ_d]
The control objectives are regulate the rotor speed and platform pitch.
If I'm right, when the Δx and converge to zero, the control purpose achieved. It means the platform pitch φ converge to φ_op, rotor azimuth ψ converge to ψ_op, also their respective first derivatives will converge to the operating point.

Here is my question, in order to control the rotor speed, why rotor azimuth ψ need to converge to a specific angle ψ_op, in my understanding, if ψ converge to ψ_op, the rotor will not rotation.

If I'm wrong, could you please tell me where I'm wrong.
Thank you!

Best regards,
Cheng

Jason.Jonkman
Posts: 4338
Joined: Thu Nov 03, 2005 4:38 pm
Location: Boulder, CO
Contact:

Re: questions about reference control input

Postby Jason.Jonkman » Mon Jan 29, 2018 2:57 pm

Dear Cheng,

In the paper you refer to that I coauthored with Namik and Stol, you can see that in the azimuth-averaged A matrix, the column associated with the rotor-azimuth state perturbation is zero, meaning that this state can effectively be eliminated from the state-space model, resulting in a 3-state model consisting of Δφ; Δφ_d; Δψ_d. The elimination of the azimuth state from the azimuth-averaged state matrix has been discussed several times on this forum.

Best regards,
Jason Jonkman, Ph.D.
Senior Engineer | National Wind Technology Center (NWTC)

National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway | Golden, CO 80401
+1 (303) 384 – 7026 | Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

Cheng.Zhang
Posts: 57
Joined: Tue Nov 14, 2017 6:50 am
Organization: ECN
Location: france

Re: questions about reference control input

Postby Cheng.Zhang » Mon Jan 29, 2018 3:40 pm

Dear Jason,

Thank you for your help and patience!

I'm sorry I did not notice the value of A matrix!
And I will read the topic about the elimination of azimuth state.

Thank you again!
Best regards,
Cheng

Cheng.Zhang
Posts: 57
Joined: Tue Nov 14, 2017 6:50 am
Organization: ECN
Location: france

Re: questions about reference control input

Postby Cheng.Zhang » Sun Feb 04, 2018 2:20 pm

Dear Jason,
I want to apply individual blade pitch (IBP) control in FOWT.
After reading the topics about linearization and MBC, I have concluded some my understandings. If I have some misunderstanding, could you correct me?

1 By linearizing the nonlinear model in operating point, I can get period state space matrix.
1.1 If there have the states in the rotating frame, I need to apply the GetMats and mbc3.m to get MBC_AvgA, which is the matrix in nonrotating frame and already averaged. But the mbc3.m does not include the MBC_AvgB, MBC_AvgC. etc. I need to add the code myself. So I can get the LTI state space matrix.
1.2 If there haven't rotating states, I can get the LTI state space matrix by using the GetMats only, where the state matrix are AvgAMat AvgAMat, AvgBMat etc.

2 In order to use IBP control to the LTI system,
In the situation 1.1, I need MBC transform the inputs (blade pitch angle) θ1, θ2, θ3. to θ0, θc, θs, to design the control law, when I want to apply the designed control law to the FAST nonlinear system(nearby the operating point), I need inverse MBC transform input θ0, θc, θs to θ1, θ2, θ3.
In the situation 1.2, there are no rotating states, if I want to use LTI control, do I need to transform the input θ1, θ2, θ3. to θ0, θc, θs too?

3 I still confused with the Variable speed generator DOF (ψ), this state is the generator rotor azimuth or the blade rotor azimuth? How to define this DOF.
As the topics in this forum, for the purpose of control, I need to eliminate this state and retain the derivative(ψ_d), but sometimes, the column of MBC_AvgA corresponding to φ is not zero(even far from zero), I still need to eliminate ψ? Just remove the relevant row and column?

Thank you for your time and kind help.
Best regards,
Cheng

Jason.Jonkman
Posts: 4338
Joined: Thu Nov 03, 2005 4:38 pm
Location: Boulder, CO
Contact:

Re: questions about reference control input

Postby Jason.Jonkman » Mon Feb 05, 2018 6:36 am

Dear Cheng,

Yes, your understanding is correct.

Regarding your specific questions:
2.2 If you don't have rotating states, then there is no need to apply MBC3 to the states. However, if you have control inputs θ1, θ2, θ3, then you have inputs in the rotating frame, so, MBC3 should be applied to these (to get θ0, θc, θs).

3The variable-speed generator DOF in ElastoDyn is modeled as the rigid-body rotational motion of the low-speed shaft on the gearbox end of the shaft (the drivetrain torsion DOF is added to this to get the rotational motion of the hub). I would expect that the azimuth-averaged column of the A and C matrices associated with the generator DOF would be zero. If this column is not close to zero, I would expect an error in how the model was linearized (e.g. the solution is not in steady state or the periodic state matrices do not involve a full period of the rotor, or the azimuth step in the periodic state matrices is too coarse).

I hope that helps.

Best regards,
Jason Jonkman, Ph.D.
Senior Engineer | National Wind Technology Center (NWTC)

National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway | Golden, CO 80401
+1 (303) 384 – 7026 | Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

Cheng.Zhang
Posts: 57
Joined: Tue Nov 14, 2017 6:50 am
Organization: ECN
Location: france

Re: questions about reference control input

Postby Cheng.Zhang » Thu Feb 08, 2018 12:38 pm

Dear Jason,

Thank you!
But I still can't sure about DOF_GeAz. The first derivative of it is RotSpeed? If not, what is the first derivative of DOF_GeAz

Best regards,
Cheng

Jason.Jonkman
Posts: 4338
Joined: Thu Nov 03, 2005 4:38 pm
Location: Boulder, CO
Contact:

Re: questions about reference control input

Postby Jason.Jonkman » Thu Feb 08, 2018 6:22 pm

Dear Cheng,

The first derivative of DOF_GeAz is reported as output LSSGagVxa from the ElastoDyn module of FAST.

Best regards,
Jason Jonkman, Ph.D.
Senior Engineer | National Wind Technology Center (NWTC)

National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway | Golden, CO 80401
+1 (303) 384 – 7026 | Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

Cheng.Zhang
Posts: 57
Joined: Tue Nov 14, 2017 6:50 am
Organization: ECN
Location: france

Re: questions about reference control input

Postby Cheng.Zhang » Mon Feb 12, 2018 3:34 am

Dear Jason,
Thank you for your reply.
I linearized the FAST model and applied the MBC transformation, then I got MBC_AvgA, MBC_AvgB, MBC_AvgBd, MBC_AvgC, MBC_AvgD, MBC_AvgDd.
Here is my linearize condition

Code: Select all

Order of States in Linearized State Matrices:

   Row/column  1 = Platform pitch tilt rotation DOF (internal DOF index = DOF_P)
   Row/column  2 = 1st tower fore-aft bending mode DOF (internal DOF index = DOF_TFA1)
   Row/column  3 = Variable speed generator DOF (internal DOF index = DOF_GeAz)
   Row/column  4 = 1st flapwise bending-mode DOF of blade 1 (internal DOF index = DOF_BF(1,1))
   Row/column  5 = 1st flapwise bending-mode DOF of blade 2 (internal DOF index = DOF_BF(2,1))
   Row/column  6 = 1st flapwise bending-mode DOF of blade 3 (internal DOF index = DOF_BF(3,1))
   Row/column  7 to 12 = First derivatives of row/column  1 to  6.


Order of Control Inputs in Linearized State Matrices:

   Column 1 = individual pitch of blade 1       (rad)    1.49925E-01 op
   Column 2 = individual pitch of blade 2       (rad)    1.49925E-01 op
   Column 3 = individual pitch of blade 3       (rad)    1.49925E-01 op

and I applied MBC in input (blade pitch angleθ1, θ2,and θ3) and invers MBC to the output which in the rotating frame.

Code: Select all

%MBC
function [o,c,s] = MBC(a,b,c,azi_psi)

t_bar = [1 cos(azi_psi) sin(azi_psi);
         1 cos(2*pi/3+azi_psi) sin(2*pi/3+azi_psi);
         1 cos(4*pi/3+azi_psi) sin(4*pi/3+azi_psi)];
T_bar = inv(t_bar);

o = T_bar(1,:)*[a;b;c];
c = T_bar(2,:)*[a;b;c];
s = T_bar(3,:)*[a;b;c];

Code: Select all

%invMBC
function [a,b,c] = invMBC(o,c,s,azi_psi)

t_bar = [1 cos(azi_psi) sin(azi_psi);
         1 cos(2*pi/3+azi_psi) sin(2*pi/3+azi_psi);
         1 cos(4*pi/3+azi_psi) sin(4*pi/3+azi_psi)];
     
a = t_bar(1,:)*[o;c;s];
b = t_bar(3,:)*[o;c;s];
c = t_bar(3,:)*[o;c;s];

Also, I removed rotor azimuth from the state matrix(the third row of the states), as well as the relevant row and colume of MBC_AvgA, MBC_AvgB, MBC_AvgBd.
Then, from the Simulink, I got the linear model result compared with the FAST nonlinear model(the figure below), and I found it looks reasonable(the step is because of I increased the wind speed).

Here is my question.
I found in User’s Guide to MBC3, the states space model after MBC3 is :
Xdot_nr = A_nr*X_nr+B_nr*u_nr (nr means no rotating frame)
in my understanding the A_nr = MBC_AvgA, if my understanding is right, one should apply MBC to state variable X(only the states in rotating frame) and transform X to X_nr.
I found that when I apply MBC to the states which in rotating frame, the Simulink result is completely wrong.
But if I do not apply MBC to the state variable, the result looks reasonable(like the figure below).
So where I am wrong?

Thank you very much!
Best regards,
Cheng
Attachments
Capture.JPG
Capture.JPG (101.38 KiB) Viewed 3149 times

Cheng.Zhang
Posts: 57
Joined: Tue Nov 14, 2017 6:50 am
Organization: ECN
Location: france

Re: questions about reference control input

Postby Cheng.Zhang » Mon Feb 12, 2018 8:06 am

Dear Jason,
Thank you for your reply!

First, I linearized the FAST model with 4 active DOF, including a rotating DOF (1st flapwise bending-mode DOF).
Then, I used mbc3.m got the MBC_AvgA, MBC_AvgB, MBC_AvgBd, MBC_AvgC, MBC_AvgD, MBC_AvgDd.
Meanwhile, I removed the 3th row and column of MBC_AvgA, 3th row of MBC_AvgB, MBC_AvgBd, and the 3th column of MBC_AvgC.(because 3th state is the rotor azimuth)
And I used MBC transform the input to the fixed frame, I used inverse MBC3 transform the outputs which are in the rotating frame.

At last, I did 2 different things, (the only difference is the manipulate with state vector X)

1. I found in User’s Guide to MBC3, the states space model after MBC3 is :
Xdot_nr = A_nr*X_nr+B_nr*u_nr (nr means no rotating frame).
in my understanding the A_nr = MBC_AvgA, so I also use MBC transform the state vector X to X_nr. But after I compared the linear result with the FAST nonlinear model, I found the result is completely wrong.

2. I did not transform the state and used it directly, then I got a result seems reasonable.(the figure I attached previously)

I confused about is the A_nr = MBC_AvgA? Do I need to MBC transform state X or not?
(I attached the MBC transform of state X)

Best regards,
Cheng
Attachments
X transform.JPG
X transform.JPG (30.36 KiB) Viewed 3140 times


Return to “Controls”

Who is online

Users browsing this forum: No registered users and 1 guest