Hi,
For my master’s thesis, I’m doing research on Individual Pitch Control. For this, I’m using OpenFAST with ROSCO on a linux operating system. My goal is to optimize the pitch controller to maximize power in region 2 operation. I would like to decompose the pitch angle signal as a function of the rotor angle as a Fourier series. Then I’d use a Bayesian Optimization algorithm to optimize coefficients of the Fourier series with a maximum power objective function. Is it possible with OpenFAST to impose a certain pitch angle signal as function of the time or rotor angle (from a separate text file for example)? Would this be possible by using Simulink with ROSCO instead of the dynamic library? Is this possible on Linux? Thank you very much in advance.
Kind regards,
Elias
Hi Elias,
All the things you have suggested are possible. I suggest you review the IPC implementation in ROSCO.
You could also try the Simulink implementation, but it’s not maintained or supported at this time.
I hope this helps.
Best, Dan
Hi Daniel,
Thank you for the quick response. Do you suggest to change the source code to impose a time series of the pitch angle? Do you think this would be possible without editing and recompiling the code, and only using the input files?
Kind regards
Elias
Hi Elias,
If you would like to apply an open loop pitch control signal to the turbine, you will not have to change the source code. Here is an example: ROSCO/Examples/14_open_loop_control.py at main · NREL/ROSCO · GitHub
If you want to change the pitch angle in real time using anything besides time or wind speed, you will need to change the source code.
I hope this helps.
Best, Dan