5. ROSCO Structure: Toolbox
Here, we give an overview of the structure of the ROSCO toolbox and how the code is implemented.
5.1. ROSCO Toolbox File Structure
The primary tools of the ROSCO toolbox are separated into several folders. They include the following:
5.1.1. ROSCO_toolbox
The source code for the ROSCO toolbox generic tuning implementations lives here.
turbine.pyloads a wind turbine model from OpenFAST input files.controller.pycontains the generic controller tuning scriptsutilities.pyhas most of the input/output file management scriptscontrol_interface.pyenables a python interface to the ROSCO controllersim.pyis a simple 1-DOF model simulatorofTools is a folder containing a large set of tools to handle OpenFAST input files - this is primarily used to run large simulation sets and to handle reading and processing of OpenFAST input and output files.
5.1.2. Examples
A number of examples are included to showcase the numerous capabilities of the ROSCO toolbox; they are described in the ROSCO Examples.
5.1.3. ROSCO_testing
Testing scripts for the ROSCO toolbox are held here and showcased with run_testing.py. These can be used to compare different controller tunings or different controllers all together.
5.1.4. Examples/Test_Cases
Example OpenFAST models consistent with the latest release of OpenFAST are provided here for simple testing and simulation cases.
5.1.5. Examples/Tune_Cases
Some example tuning scripts and tuning input files are provided here. The code found in tune_ROSCO.py can be modified by the user to easily enable tuning of their own wind turbine model.
5.2. The ROSCO Toolbox Tuning File
A yaml formatted input file is used for the standard ROSCO toolbox tuning process. This file contains the necessary inputs for the ROSCO toolbox to load an OpenFAST input file deck and tune the ROSCO controller. It can be found here: ROSCO_Toolbox tuning .yaml.
A detailed account of the inputs is automatically generated from the rosco toolbox_schema.yaml file, which is located in the rosco/toolbox/inputs folder:
ROSCO toolbox schema
Type: objectDefinition of inputs for ROSCO tuning procedure
Name of *.fst file
Main OpenFAST model directory, where the *.fst lives, relative to directory of this yaml (if applicable)
Filename for rotor performance text file (if it has been generated by ccblade already), relative to directory of this yaml
The following properties are required:
- v_rated
Rotor inertia [kg m^2], {Available in Elastodyn .sum file}
Rated rotor speed [rad/s]
Value must be greater or equal to 0
Cut-in wind speed of the wind turbine.
Value must be greater or equal to 0
Cut-out wind speed of the wind turbine.
Value must be greater or equal to 0
Maximum blade pitch rate [rad/s]
Value must be greater or equal to 0
Maximum torque rate [Nm/s], {~1/4 VS_RtTq/s}
Value must be greater or equal to 0
Rated Power [W]
Value must be greater or equal to 0
Blade edgewise first natural frequency [rad/s]
Value must be greater or equal to 0
Blade flapwise first natural frequency [rad/s]
Value must be greater or equal to 0
Optimal tip speed ratio, if 0 the optimal TSR will be determined by the Cp surface
Value must be greater or equal to 0
Reynolds number near rated speeds, used to interpolate airfoils, if provided
Value must be greater or equal to 0
0- write no debug files, 1- write standard output .dbg-file, 2- write standard output .dbg-file and complete avrSWAP-array .dbg2-file
Value must be greater or equal to 0 and lesser or equal to 3
1- first-order low-pass filter, 2- second-order low-pass filter, [rad/s] (currently filters generator speed and pitch control signals)
Value must be greater or equal to 1 and lesser or equal to 2
Notch on the measured generator speed and/or tower fore-aft motion (for floating) {0- disable, 1- generator speed, 2- tower-top fore-aft motion, 3- generator speed and tower-top fore-aft motion}
Value must be greater or equal to 0 and lesser or equal to 3
Turn Individual Pitch Control (IPC) for fatigue load reductions (pitch contribution) (0- off, 1- 1P reductions, 2- 1P+2P reduction)
Value must be greater or equal to 0 and lesser or equal to 2
Generator torque control mode in above rated conditions (0- no torque control, 1- k*omega^2 with PI transitions, 2- WSE TSR Tracking, 3- Power-based TSR Tracking, 4- Torque-based TSR Tracking)
Value must be greater or equal to 0 and lesser or equal to 4
Do constant power torque control, where above rated torque varies, 0 for constant torque
Value must be greater or equal to 0 and lesser or equal to 1
Configuration for FBP mode (0- variable pitch (disabled), 1- constant power overspeed, 2- WSE-lookup reference tracking, 3- torque-lookup reference tracking)
Value must be greater or equal to 0 and lesser or equal to 3
Blade pitch control mode (0- No pitch, fix to fine pitch, 1- active PI blade pitch control)
Value must be greater or equal to 0 and lesser or equal to 1
Yaw control mode (0- no yaw control, 1- yaw rate control, 2- yaw-by-IPC)
Value must be greater or equal to 0 and lesser or equal to 2
Setpoint Smoother mode (0- no setpoint smoothing, 1- introduce setpoint smoothing)
Value must be greater or equal to 0 and lesser or equal to 2
Wind speed estimator mode (0- One-second low pass filtered hub height wind speed, 1- Immersion and Invariance Estimator (Ortega et al.)
Value must be greater or equal to 0 and lesser or equal to 2
Pitch saturation mode (0- no pitch saturation, 1- peak shaving, 2- Cp-maximizing pitch saturation, 3- peak shaving and Cp-maximizing pitch saturation)
Value must be greater or equal to 0 and lesser or equal to 3
Startup mode (0- no startup procedure, 1- startup enabled)
Value must be greater or equal to 0 and lesser or equal to 1
Shutdown mode (0- no shutdown procedure, 1- enable shutdown)
Value must be greater or equal to 0 and lesser or equal to 1
Tower damper mode (0- no tower damper, 1- feed back translational nacelle accelleration to pitch angle
Value must be greater or equal to 0 and lesser or equal to 1
Tower resonance avoidance mode (0- no tower resonsnace avoidance, 1- use torque control setpoints to avoid a specific frequency
Value must be greater or equal to 0 and lesser or equal to 1
Floating specific feedback mode (0- no nacelle velocity feedback, 1 - nacelle velocity feedback, 2 - nacelle pitching acceleration feedback)
Value must be greater or equal to 0 and lesser or equal to 2
Flap control mode (0- no flap control, 1- steady state flap angle, 2- Proportional flap control)
Value must be greater or equal to 0 and lesser or equal to 2
Active Power Control Mode (0- no active power control 1- constant active power control, 2- open loop power vs time, 3- open loop power vs. wind speed)
Value must be greater or equal to 0 and lesser or equal to 2
ZMQ Mode (0 - ZMQ Inteface, 1 - ZMQ for yaw control)
Value must be greater or equal to 0 and lesser or equal to 1
Call ZeroMQ every [x] seconds, [s]
Value must be greater or equal to 0
Pitch actuator mode {0 - not used, 1 - first order filter, 2 - second order filter}
Value must be greater or equal to 0 and lesser or equal to 2
Pitch fault mode {0 - not used, 1 - constant offset on one or more blades, 2- pitch stuck at last values}
Value must be greater or equal to 0 and lesser or equal to 1
Open loop control mode {0- no open loop control, 1- open loop control}
Value must be greater or equal to 0 and lesser or equal to 2
Active wake control mode {0 - not used, 1 - SNL method, 2 - NREL method}
Value must be greater or equal to 0 and lesser or equal to 2
External control mode [0 - not used, 1 - call external dynamic library]
Value must be greater or equal to 0 and lesser or equal to 1
Cable control mode [0- unused, 1- User defined, 2- Open loop control]
Value must be greater or equal to 0 and lesser or equal to 2
Structural control mode [0- unused, 1- User defined, 2- Open loop control]
Value must be greater or equal to 0 and lesser or equal to 2
List of wind speeds to schedule pitch control zeta and omega
No Additional ItemsEach item of this array must be:
Value must be greater or equal to 0
List of pitch controller desired damping ratio at U_pc [-]
No Additional ItemsEach item of this array must be:
Value must be greater or equal to 0
List of pitch controller desired natural frequency at U_pc [rad/s]
No Additional ItemsEach item of this array must be:
Value must be greater or equal to 0
Type of interpolation between above rated tuning values (only used for multiple pitch controller tuning values)
Must be one of:
- "sigma"
- "linear"
- "quadratic"
- "cubic"
Torque controller desired damping ratio [-]
Value must be greater or equal to 0
Torque controller desired natural frequency [rad/s]
Value must be greater or equal to 0
Maximum pitch angle [rad], {default = 90 degrees}
Minimum pitch angle [rad]
Minimum rotor speed [rad/s], {default = 0 rad/s}
Torque controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 100%}
Pitch controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 0.1%}
Decrease torque control gain by this amount (fraction)
Percent peak shaving [%, <= 1 ], {default = 80%}
Value must be lesser or equal to 1
Maximum (and minimum) flap pitch angle [rad]
Tower natural frequency, for floating only
Value must be greater or equal to 0
Platform natural frequency, for floating only
Value must be greater or equal to 0
Number of wind speed breakpoints
Value must be greater or equal to 0
Number of pitch angle gain scheduling breakpoints
Value must be greater or equal to 0
Gain(s) of floating feedback control
Whether to automatically tune Kp_float
List of wind speeds for tuning floating feedback, or "all" for all above-rated wind speeds
No Additional ItemsEach item of this array must be:
Flap controller desired damping ratio [-]
Value must be greater or equal to 0
Flap controller desired natural frequency [rad/s]
Value must be greater or equal to 0
Flap controller normalization term for DC gain (kappa)
Value must be greater or equal to 0
Flap controller time constant for integral gain
Value must be greater or equal to 0
Maximum torque = rated torque * maxtorquefactor
Value must be greater or equal to 0
Proportional gain for IPC, 1P [s]
Value must be greater or equal to 0
Proportional gain for IPC, 2P [-]
Value must be greater or equal to 0
Integral gain for IPC, 1P [s]
Value must be greater or equal to 0
integral gain for IPC, 2P [-]
Value must be greater or equal to 0
wind speeds for IPC cut-in sigma function [m/s]
No Additional ItemsEach item of this array must be:
Value must be greater or equal to 0.0
Factor on VS_Rgn2K to increase/decrease optimal torque control gain, default is 1. Sometimes environmental conditions or differences in BEM solvers necessitate this change.
Value must be greater or equal to 0
Interpretation mode for VSFBPP (0- scale relative to rated power, 1- absolute power)
Value must be greater or equal to 0 and lesser or equal to 1
Overspeed or underspeed operating schedule (0- underspeed, 1- overspeed)
Value must be greater or equal to 0 and lesser or equal to 1
List of wind speeds to schedule user-defined power curve for fixed blade pitch (FBP) control in Region 3
No Additional ItemsEach item of this array must be:
Value must be greater or equal to 0
List of points defining power curve for fixed blade pitch (FBP) control in Region 3, relative or absolute based on VSFBPpower_mode
No Additional ItemsEach item of this array must be:
Value must be greater or equal to 0
Corner frequency (-3dB point) in the first order low pass filter of the generator speed [rad/s]
Value must be greater or equal to 0
Damping ratio in the first order low pass filter of the generator speed [-]
Value must be greater or equal to 0
Corner frequency (-3dB point) in the first order low pass filter for the wind speed estimate [rad/s]
Value must be greater or equal to 0
Natural frequency of first-order high-pass filter for nacelle fore-aft motion [rad/s]
Value must be greater or equal to 0
First order low-pass filter cornering frequency for setpoint smoother [rad/s]
Value must be greater or equal to 0
Low pass filter corner frequency for yaw controller [rad/
Value must be greater or equal to 0
Cutoff Frequency for first order low-pass filter for blade pitch angle for shutdown, [rad/s], {default = 0.41888 ~ time constant of 15s}
Cutoff Frequency for first order low-pass filter for yaw error for shutdown, [rad/s], {default = 0.41888 ~ time constant of 15s}
Cutoff Frequency for first order low-pass filter for generator speed for shutdown, [rad/s], {default = 0.41888 ~ time constant of 15s}
Corner frequency (-3dB point) in the first order low pass filter for TSR tracking torque control [rad/s]
Value must be greater or equal to 0
Flag to use open loop control
Filename of open loop input that ROSCO reads
Breakpoint mode for open loop control, 0 - indexed by time (default), 1 - indexed by wind speed
Value must be greater or equal to 0 and lesser or equal to 1
Index (column, 1-indexed) of breakpoint (time) in open loop index
Value must be greater or equal to 0
Indices (columns, 1-indexed) of pitch (1,2,3) inputs in open loop input
No Additional ItemsEach item of this array must be:
Value must be greater or equal to 0
Index (column, 1-indexed) of generator torque in open loop input
Value must be greater or equal to 0
Index (column, 1-indexed) of nacelle yaw in open loop input
Value must be greater or equal to 0
The column in OLFilename that contains the desired azimuth position in rad (used if OLMode = 2)
Index (column, 1-indexed) of power rating via speed offset
Value must be greater or equal to 0
Index (column, 1-indexed) of power rating via torque offset
Value must be greater or equal to 0
Index (column, 1-indexed) of power rating via pitch offset
Value must be greater or equal to 0
The column in OL_Filename that contains the cable control inputs in m
No Additional ItemsEach item of this array must be:
The column in OL_Filename that contains the structural control inputs in various units
No Additional ItemsEach item of this array must be:
Pitch actuator natural frequency [rad/s]
Value must be greater or equal to 0
Pitch actuator damping ratio [-]
Value must be greater or equal to 0
These are pass-through parameters for the DISCON.IN file. Use with caution. Do not set defaults in schema.
(0- write no debug files, 1- write standard output .dbg-file, 2- write standard output .dbg-file and complete avrSWAP-array .dbg2-file)
0 - no Echo, 1 - Echo input data to <RootName>.echo
Time step to output .dbg* files, or 0 to match sampling period of OpenFAST
0 - use standard bladed interface, 1 - Use the extened DLL interface introduced in OpenFAST 3.5.0.
Value must be greater or equal to 0 and lesser or equal to 1
1- first-order low-pass filter, 2- second-order low-pass filter (currently filters generator speed and pitch control signals
Generator torque control mode in above rated conditions (0- no torque control, 1- k*omega^2 with PI transitions, 2- WSE TSR Tracking, 3- Power-based TSR Tracking, 4- Torque-based TSR Tracking)
Value must be greater or equal to 0 and lesser or equal to 4
Do constant power torque control, where above rated torque varies
Value must be greater or equal to 0 and lesser or equal to 1
Configuration for FBP mode (0- variable pitch (disabled), 1- constant power overspeed, 2- WSE-lookup reference tracking, 3- torque-lookup reference tracking)
Value must be greater or equal to 0 and lesser or equal to 3
Notch on the measured generator speed and/or tower fore-aft motion (for floating) (0- disable, 1- generator speed, 2- tower-top fore-aft motion, 3- generator speed and tower-top fore-aft motion)
Turn Individual Pitch Control (IPC) for fatigue load reductions (pitch contribution) (0- off, 1- 1P reductions, 2- 1P+2P reductions)
Blade pitch control mode (0- No pitch, fix to fine pitch, 1- active PI blade pitch control)
Yaw control mode (0- no yaw control, 1- yaw rate control, 2- yaw-by-IPC)
Setpoint Smoother mode (0- no setpoint smoothing, 1- introduce setpoint smoothing)
Wind speed estimator mode (0- One-second low pass filtered hub height wind speed, 1- Immersion and Invariance Estimator, 2- Extended Kalman Filter)
Pitch saturation mode (0- no pitch saturation, 1- implement pitch saturation)
Startup mode (0- no startup procedure, 1- startup enabled)
Shutdown mode (0- no shutdown procedure, 1- enable shutdown)
Floating specific feedback mode (0- no nacelle velocity feedback, 1- feed back translational velocity, 2- feed back rotational veloicty)
Flap control mode (0- no flap control, 1- steady state flap angle, 2- Proportional flap control)
Open loop control mode (0 - no open-loop control, 1 - direct open loop control, 2 - rotor position control)
Corner frequency (-3dB point) in the low-pass filters,
Damping coefficient (used only when F_FilterType = 2 [-]
Number of notch filters placed on sensors
Natural frequency of the notch filters. Array with length F_NumNotchFilts
No Additional ItemsEach item of this array must be:
Damping value of numerator (determines the width of notch). Array with length F_NumNotchFilts, [-]
No Additional ItemsEach item of this array must be:
Damping value of denominator (determines the depth of notch). Array with length F_NumNotchFilts, [-]
No Additional ItemsEach item of this array must be:
Number of notch filters on generator speed
Number of notch filters on tower top acceleration signal
Indices of notch filters on generator speed
No Additional ItemsEach item of this array must be:
Indices of notch filters on tower top acceleration signal
No Additional ItemsEach item of this array must be:
Corner frequency (-3dB point) in the first order low pass filter for the setpoint smoother,
Corner frequency (-3dB point) in the first order low pass filter for the wind speed estimate
Natural frequency and damping in the second order low pass filter of the tower-top fore-aft motion for floating feedback control
No Additional ItemsEach item of this array must be:
Natural frequency of first-order high-pass filter for nacelle fore-aft motion
Corner frequency and damping in the second order low pass filter of the blade root bending moment for flap control
No Additional ItemsEach item of this array must be:
Corner frequency (-3dB point) in the first order low pass filter of the generator speed reference used for TSR tracking torque control [rad/s].
Amount of gain-scheduling table entries
Gain-schedule table- pitch angles
No Additional ItemsEach item of this array must be:
Gain-schedule table- pitch controller kp gains
No Additional ItemsEach item of this array must be:
Gain-schedule table- pitch controller ki gains
No Additional ItemsEach item of this array must be:
Gain-schedule table- pitch controller kd gains
No Additional ItemsEach item of this array must be:
Gain-schedule table- pitch controller tf gains (derivative filter)
No Additional ItemsEach item of this array must be:
Maximum physical pitch limit,
Minimum physical pitch limit,
Maximum pitch rate (in absolute value) in pitch controller
Minimum pitch rate (in absolute value) in pitch controller
Desired (reference) HSS speed for pitch controller
Record 5- Below-rated pitch angle set-point
Angle above lowest minimum pitch angle for switch
Integrator saturation (maximum signal amplitude contribution to pitch from IPC)
IPC Saturation method (0 - no saturation, 1 - saturate by PCMinPit, 2 - saturate by PSBldPitchMin)
Proportional gain for the individual pitch controller- first parameter for 1P reductions, second for 2P reductions, [-]
No Additional ItemsEach item of this array must be:
Integral gain for the individual pitch controller- first parameter for 1P reductions, second for 2P reductions, [-]
No Additional ItemsEach item of this array must be:
Phase offset added to the azimuth angle for the individual pitch controller
No Additional ItemsEach item of this array must be:
Corner frequency of the first-order actuators model, to induce a phase lag in the IPC signal (0- Disable)
Generator efficiency mechanical power -> electrical power, should match the efficiency defined in the generator properties
Above rated generator torque PI control saturation
Maximum torque rate (in absolute value) in torque controller
Maximum generator torque in Region 3 (HSS side)
Minimum generator torque (HSS side)
Minimum generator speed
Generator torque constant in Region 2 (HSS side). Only used in VS_ControlMode = 1,3,4
Wind turbine rated power
Rated torque
Rated generator speed
Number of generator PI torque controller gains
Proportional gain for generator PI torque controller. (Only used in the transitional 2.5 region if VS_ControlMode =/ 2)
Integral gain for generator PI torque controller (Only used in the transitional 2.5 region if VS_ControlMode =/ 2)
Power-maximizing region 2 tip-speed-ratio. Only used in VS_ControlMode = 2.
Variable speed torque controller setpoint smoother gain
Collective pitch controller setpoint smoother gain
Power reference tracking mode, 0- use standard rotor speed set points, 1- use PRC rotor speed setpoints
Array of wind speeds used in rotor speed vs. wind speed lookup table [m/s]
No Additional ItemsEach item of this array must be:
Array of generator speeds corresponding to PRC_WindSpeeds [rad/s]
No Additional ItemsEach item of this array must be:
Frequency of the low pass filter on the wind speed estimate used to set PRC_GenSpeeds [rad/s]
Number of elements in PRCWindSpeeds and PRCGenSpeeds array
Power reference communication mode when PRC_Mode = 2, 0- use constant DISCON inputs, 1- use open loop inputs, 2- use ZMQ inputs
Constant power rating through changing the rated torque, used if PRCMode = 2, PRCComm = 0, default is 1, effective above rated [-]
Constant power rating through changing the rated generator speed, used if PRCMode = 2, PRCComm = 0, default is 1, effective above rated [-]
Constant power rating through changing the fine pitch angle, used if PRCMode = 2, PRCComm = 0, default is 1, effective below rated [-]
Number of elements in PRCR to _Pitch table. Used if PRCMode = 1.
Table of fine pitch versus PRCRTable, length should be PRCTablen [rad]. Used if PRC_Mode = 1.
No Additional ItemsEach item of this array must be:
Table of turbine rating versus fine pitch (PRCPitchTable), length should be PRCTablen, default is 1 [-]. Used if PRC_Mode = 1.
No Additional ItemsEach item of this array must be:
Rotor speed for exclusion [LSS, rad/s]
Value must be greater or equal to 0
Size of the rotor frequency exclusion band [LSS, rad/s]. Torque controller reference will be TRAExclSpeed +/- TRAExlBand/2
Value must be greater or equal to 0
Rate limit of change in rotor speed reference [LSS, rad/s]. Suggested to be VS_RefSpd/400.
Value must be greater or equal to 0
Blade length (distance from hub center to blade tip)
Amount of parameters in the Cp array
Parameters that define the parameterized CP(lambda) function
No Additional ItemsEach item of this array must be:
Adaption gain of the wind speed estimator algorithm
Gearbox ratio, >=1
Total drivetrain inertia, including blades, hub and casted generator inertia to LSS
Air density
File containing rotor performance tables (Cp,Ct,Cq) (absolute path or relative to this file)
Size of rotor performance tables, first number refers to number of blade pitch angles, second number referse to number of tip-speed ratios
Number of first-order system poles used in EKF
Wind speeds corresponding to first-order system poles
No Additional ItemsEach item of this array must be:
First order system poles
No Additional ItemsEach item of this array must be:
Yaw error threshold. Turbine begins to yaw when it passes this
Integrator saturation (maximum signal amplitude contribution to pitch from yaw-by-IPC)
Number of controller gains (yaw-by-IPC)
Yaw-by-IPC proportional controller gain Kp
Yaw-by-IPC integral controller gain Ki
Low-pass filter corner frequency for the Yaw-by-IPC controller to filtering the yaw alignment error
Low-pass filter damping factor for the Yaw-by-IPC controller to filtering the yaw alignment error.
Yaw alignment error, set point
Corner frequency fast low pass filter, 1.0
Corner frequency slow low pass filter, 1/60
Yaw rate
Integral gain for the fore-aft tower damper controller, -1 = off / >0 = on
Corner frequency (-3dB point) in the high-pass filter on the fore-aft acceleration signal
Integrator saturation (maximum signal amplitude contribution to pitch from FA damper)
Number of values in minimum blade pitch lookup table (should equal number of values in PSWindSpeeds and PSBldPitchMin)
Wind speeds corresponding to minimum blade pitch angles
No Additional ItemsEach item of this array must be:
Minimum blade pitch angles
No Additional ItemsEach item of this array must be:
Time to start startup routine [s]
Free-wheel minimum duration [s]
Rotor speed threshhold to switch from freewheel to loads [rad/s]
Cutoff Frequency for first order low-pass filter for rotor speed for startup [rad/s]
Number of load staged for startup (should equal number of values in SULoadStages, SULoadRampDuration and SU_LoadHoldDuration)
Array containing loads as a fraction of full generator torque during startup
No Additional ItemsEach item of this array must be:
Array containing ramp duration to reach the corresponding partial loads during startup [s]
No Additional ItemsEach item of this array must be:
Array containing duration to hold the partial loads during startup [s]
No Additional ItemsEach item of this array must be:
Time to acitvate shutdown modes [s]
Shutdown when collective blade pitch exceeds a threshold
Value must be greater or equal to 0 and lesser or equal to 1
Shutdown when yaw error exceeds a threshold
Value must be greater or equal to 0 and lesser or equal to 1
Shutdown when generator speed exceeds a threshold
Value must be greater or equal to 0 and lesser or equal to 1
Shutdown at a predefined time
Value must be greater or equal to 0 and lesser or equal to 1
Maximum blade pitch angle to initiate shutdown
Cutoff Frequency for first order low-pass filter for blade pitch angle for shutdown,
Maximum yaw error to initiate shutdown
Cutoff Frequency for first order low-pass filter for yaw error for shutdown
Maximum generator speed to initiate shutdown
Cutoff Frequency for first order low-pass filter for generator speed for shutdown
Shutdown time [s]
Shutdown method {1- Reduce generator torque and increase blade pitch in timed stages (SDStageTime), 2- stages depend on pitch angle (SDStagePitch)}
Value must be greater or equal to 1 and lesser or equal to 2
Maximum torque rate for shutdown [Nm/s]
No Additional ItemsEach item of this array must be:
Maximum pitch rate used for shutdown [rad/s]
No Additional ItemsEach item of this array must be:
Array containing the time to spend in each shutdown stage [s]
No Additional ItemsEach item of this array must be:
Array with pitch angles to reach in each shutdown stage [rad]. If the pitch < SDStagePitch[i], the SDStage = i. If pitch > SDStagePitch[SDStage_N], the maximum rates are used.
No Additional ItemsEach item of this array must be:
Number of shutdown stages (should equal number of values in SDMaxPitchRate and SDMaxTorqueRate) [-]
Number of Fl_Kp gains in gain scheduling, optional with default of 1
Nacelle velocity proportional feedback gain
No Additional ItemsEach item of this array must be:
Wind speeds for scheduling FlKp, optional if FlKp is single value [m/s]
No Additional ItemsEach item of this array must be:
Initial or steady state flap angle
Blade root bending moment proportional gain for flap control
Flap displacement integral gain for flap control
Maximum (and minimum) flap pitch angle
Input file with open loop timeseries (absolute path or relative to this file)
Breakpoint mode for open loop control, 0 - indexed by time (default), 1 - indexed by wind speed
Natural frequency of 1st order filter on breakpoint for open loop control. 0 will skip filter.
The column in OLFilename that contains the breakpoint (time if OLMode > 0)
The column in OL_Filename that contains the blade pitch input in rad
The column in OL_Filename that contains the generator torque in Nm
The column in OL_Filename that contains the generator torque in Nm
The column in OLFilename that contains the desired azimuth position in rad (used if OLMode = 2)
PID gains and Tf of derivative for rotor position control (used if OL_Mode = 2)
No Additional ItemsEach item of this array must be:
Index (column, 1-indexed) of power rating via speed offset
Value must be greater or equal to 0
Index (column, 1-indexed) of power rating via torque offset
Value must be greater or equal to 0
Index (column, 1-indexed) of power rating via pitch offset
Value must be greater or equal to 0
The column in OL_Filename that contains the cable control inputs in m
No Additional ItemsEach item of this array must be:
The column in OL_Filename that contains the structural control inputs in various units
No Additional ItemsEach item of this array must be:
Name/location of the dynamic library {.dll [Windows] or .so [Linux]} in the Bladed-DLL format
Name of input file sent to the DLL
Name of procedure in DLL to be called
Pitch angle offsets for each blade (array with length of 3), only used if PF_Mode = 1
No Additional ItemsEach item of this array must be:
Time pitch actuator becomes stuck at last value for each blade (array with length of 3), only used if PF_Mode = 2
No Additional ItemsEach item of this array must be:
Number of cable control groups
First index for cable control group, should correspond to deltaL
No Additional ItemsEach item of this array must be:
Time constant for line actuator [s]
Number of cable control groups
First index for structural control group, options specified in ServoDyn summary output
No Additional ItemsEach item of this array must be:
Active wake control mode {0 - not used, 1 - complex number method, 2 - Coleman transformation method, 3 to 5 - Closed-loop AWC}
Value must be greater or equal to 0 and lesser or equal to 5
Number of AWC modes
AWC azimuthal number (only used in complex number method)
No Additional ItemsEach item of this array must be:
AWC Coleman transform harmonic (only used in Coleman transform method)
No Additional ItemsEach item of this array must be:
AWC frequency [Hz]
No Additional ItemsEach item of this array must be:
AWC amplitude [deg]
No Additional ItemsEach item of this array must be:
AWC clock angle [deg]
No Additional ItemsEach item of this array must be:
Azimuth offset in the Coleman transformation [deg]
KP and KI/KR gain of the active wake controller [-]
No Additional ItemsEach item of this array must be:
Communication address for ZMQ server, (e.g. "tcp://localhost:5555")
Update period at zmq interface to send measurements and wait for setpoint [sec.]
Integer identifier of turbine
Inputs used for tuning ROSCO using linear (level 2) models
Type of level 2 based tuning - robust gain scheduling (robust) or simulation based optimization (simulation)
Must be one of:
- "none"
- "robust"
- "simulation"
Path to OpenFAST linearization (.lin) files, if they exist
Path for outputs from linear model based tuning
Load linearization files in parallel (True/False)
Desired maximum stability margin
Pitch controller bandwidth constraints
5.2.1. Matlab_Toolbox
A simulink implementation of the ROSCO controller is included in the Matlab Toolbox. Some requisite MATLAB utility scripts are also included. These scripts are not maintained by NREL as of ROSCO v2.5.0. The Simulink controller there should not be used and referenenced as “ROSCO” because it has never been validated against the official ROSCO dynamic library and has drifted away from the official implementation. We will leave the implementation in place to be used only as a learning tool.