ROSCO Controller Speed Exclusion Zone #207
-
Hello, I'd like to be able to avoid the tower natural frequency in region 2 for a fixed-base turbine. It looks as if some work has been done relating to this and I can see in Tune_Cases there are files like IEA15MW_MultiOmega.yaml and NREL5MW_PassThrough.yaml. If it's possible to define an exclusion zone of rotational speeds in region 2, it would be great if someone could explain how I might setup the appropriate input files. Moreover, it would be great if someone could very briefly explain how the ROSCO speed exclusion zone works as I'm aware there are a number of different possible implementations. Best, |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 3 replies
-
Hi Sam, The draft PR of the ROSCO exclusion zone works by changing the reference generator speed that is tracked by the torque controller: https://github.com/dzalkind/ROSCO/blob/16bd05c66644b31d629920c915bdad827cbb222d/ROSCO/src/ControllerBlocks.f90#L57 If the generator speed is below the exclusion speed, the reference speed is held at the exclusion speed minus the exclusion band, and vice versa: https://github.com/dzalkind/ROSCO/blob/16bd05c66644b31d629920c915bdad827cbb222d/ROSCO/src/ControllerBlocks.f90#L445 The main issue that we haven't had time to work out is that the generator speed tracking is poor by design to avoid large generator torque (and power) transients. I think we need to increase the torque control gains when in or near the exclusion region and ideally do so smoothly. The branch that I linked to is a little out of date. I can see about bringing it up to date with the latest Best, Dan |
Beta Was this translation helpful? Give feedback.
-
I just made another push to this branch, including |
Beta Was this translation helpful? Give feedback.
-
@dzalkind Thanks very much for providing the example, it's very helpful and looks really promising! I was able to get the example you pushed running and I can match the plots you've provided. Are the large transients in the torque partly a consequence of such a large speed exclusion zone, and so a large change in set point when traversing it? Forgive me as I'm no control expert, nor am I as familiar with ROSCO as you are, but could the transients be alleviated in anyway by filtering the reference speed so that it doesn't snap as quickly across the speed exclusion zone? I have had a look at the source code and I don't think this is being done, although I may be mistaken and perhaps it's not necessary either. I'm going to be away over the next two weeks but I'm going to try and find some time to experiment with this further over my break. Cheers, |
Beta Was this translation helpful? Give feedback.
Hi Sam,
The draft PR of the ROSCO exclusion zone works by changing the reference generator speed that is tracked by the torque controller: https://github.com/dzalkind/ROSCO/blob/16bd05c66644b31d629920c915bdad827cbb222d/ROSCO/src/ControllerBlocks.f90#L57
If the generator speed is below the exclusion speed, the reference speed is held at the exclusion speed minus the exclusion band, and vice versa: https://github.com/dzalkind/ROSCO/blob/16bd05c66644b31d629920c915bdad827cbb222d/ROSCO/src/ControllerBlocks.f90#L445
The main issue that we haven't had time to work out is that the generator speed tracking is poor by design to avoid large generator torque (and power) transients. I think we need to…