Individual Pitch Control

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

Hi Sam,
Unfortunately, there is not much extensive documentation that exists yet for the IPC controller. This implementation was first briefly mentioned in:
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:
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

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

Hi Sina,

There is a working version of ROSCO in MATLAB/Simulink on the develop branch of the ROSCO toolbox here:
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

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

Hi Nikhar,

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

Best wishes,
Sam

Dear Sina,

It looks like you asked the same question in a separate forum topic (Hardware in the loop - #2 by Jason.Jonkman); I’ve now responded there.

Best regards,

Dear Jason.Jonkman

First of all, thank you for your selfless sharing, this forum let me learn a lot of knowledge.

Now I have some question. I have browsed many documents and posts about the input variables of individual pitch control. Most of them mentioned Blade root bending moment. However, I found that the parameters of blade root loads include “RootMOoP” and “RootMFlp”. I want to know which parameter is suitable for individual pitch control?

I know that the reference coordinate systems of these variables are different. If all these variables can be used, what is the difference between their control results?

Best regards,
JianShen.Li

Dear JianShen.Li,

I’m not an expert on IPC, and so, wont answer your question directly; perhaps others with more expertise in IPC can comment.

My intuition is that you could probably use either, as long as you take the appropriate transformations into account. That is, both out-of-plane and flapwise moments can be converted to collective and asymmetric modes. The out-of-plane orientation is independent of the blade-pitch angle, and so, perhaps this is easier to make use of than the flapwise orientation.

Best regards,

Dear Jason.Jonkman

Thanks for your reply. It helped me a lot.

Best regards
JianShen.Li