Individual Pitch Control

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

Sam.Ramsahoye
Posts: 18
Joined: Mon Apr 27, 2020 1:06 pm
Organization: Arup
Location: United Kingdom

Individual Pitch Control

Postby Sam.Ramsahoye » Mon Jul 27, 2020 9:58 am

Hi,

I noticed that there is some individual pitch controller functionality with the ROSCO controller interface. Can someone link the theory for this controller so I can compute sensible inputs/gains?

!------- INDIVIDUAL PITCH CONTROL -----------------------------------------
0.0 ! IPC_IntSat - Integrator saturation (maximum signal amplitude contribution to pitch from IPC), [rad]
0.0 0.0 ! IPC_KI - Integral gain for the individual pitch controller: first parameter for 1P reductions, second for 2P reductions, [-]
0.0 0.0 ! IPC_aziOffset - Phase offset added to the azimuth angle for the individual pitch controller, [rad].
0.0 ! IPC_CornerFreqAct - Corner frequency of the first-order actuators model, to induce a phase lag in the IPC signal {0: Disable}, [rad/s]

Best wishes,
Sam

Nikhar.Abbas
Posts: 10
Joined: Wed Apr 29, 2020 7:11 pm
Organization: National Renewable Energy Lab
Location: Boulder, CO

Re: Individual Pitch Control

Postby Nikhar.Abbas » Mon Jul 27, 2020 10:28 am

Hi Sam,
Unfortunately, there is not much extensive documentation that exists yet for the IPC controller. This implementation was first briefly mentioned in:
https://iopscience.iop.org/article/10.1 ... 032009/pdf

Since then, this work has been published that discusses the idea of the azimuth offset to some depth:
https://onlinelibrary.wiley.com/doi/ful ... 02/we.2289.

At a very high level, the following happens:
Blade root bending moment signals go through the Coleman transform --> This signal is integrated (with the same integral gain, K_i) for the tilt and yaw directions --> The reverse Coleman transform is applied --> the resulting signal is added to the collective blade pitch signal.

You can see the IPC subroutine in controllers.f90 to dive into the details of this. In this end, you only need to defined IPC_IntSat and the first term of IPC_KI to get a functioning IPC controller, though the response could likely be improved with the IPC_aziOffset term.

So, the choices of K_i should be related to the sensitivities of the hub's tilt and yaw motions to changes in blade pitch. This can be found by linearizing the turbine and analyzing the response after running the MBC transform codes.

Good luck,
Nikhar

Sina.Ameli
Posts: 75
Joined: Mon Oct 15, 2018 11:23 am
Organization: FSU
Location: Florida

Re: Individual Pitch Control

Postby Sina.Ameli » Mon Jul 27, 2020 10:33 am

Hi Sam,

I am doing research on the application of control theory for individual pitch control (IPC) using FAST v8. Is the ROSCO linked with Matlab/Simulink to work with?

Best,
Sina

Nikhar.Abbas
Posts: 10
Joined: Wed Apr 29, 2020 7:11 pm
Organization: National Renewable Energy Lab
Location: Boulder, CO

Re: Individual Pitch Control

Postby Nikhar.Abbas » Mon Jul 27, 2020 7:50 pm

Hi Sina,

There is a working version of ROSCO in MATLAB/Simulink on the develop branch of the ROSCO toolbox here:
https://github.com/NREL/ROSCO_toolbox/t ... ab_Toolbox

Please be sure to look through the ReadMe, as you will need to have some other tools installed as well.

Nikhar

Sina.Ameli
Posts: 75
Joined: Mon Oct 15, 2018 11:23 am
Organization: FSU
Location: Florida

Re: Individual Pitch Control

Postby Sina.Ameli » Mon Jul 27, 2020 8:42 pm

Hi Nikhar,
Thanks for your response and sending me the link. I have another question. I want to run a real-time simulation for FAST v8.
I can easily run the open loop (FAST v8) in Matlab/Simulink but when I run it in the real-time environment in Matlab it gives me these two errors including "LINK : fatal error LNK1104: cannot open file 'FAST_SFunc.obj'", and "NMAKE : fatal error U1077". Do you you know how I can solve these problems?
The details of the errors are as follows:

LINK : fatal error LNK1104: cannot open file 'FAST_SFunc.obj'
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\bin\HostX86\x86\link.EXE"' : return code '0x450'
Stop.
The make command returned an error of 2

Error(s) encountered while building "FAST_model_only"
Component:Simulink | Category:Block diagram error

Thanks,
Best regards,
Sina

Sam.Ramsahoye
Posts: 18
Joined: Mon Apr 27, 2020 1:06 pm
Organization: Arup
Location: United Kingdom

Re: Individual Pitch Control

Postby Sam.Ramsahoye » Fri Jul 31, 2020 2:44 am

Hi Nikhar,

Thanks for you reply, I'll take a look.

Best wishes,
Sam

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

Re: Individual Pitch Control

Postby Jason.Jonkman » Fri Jul 31, 2020 10:52 am

Dear Sina,

It looks like you asked the same question in a separate forum topic (viewtopic.php?f=30&t=2541&p=15087); I've now responded there.

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


Return to “Controls”

Who is online

Users browsing this forum: No registered users and 1 guest