Releases: NREL/ROSCO
Releases · NREL/ROSCO
Version 2.8.0
Major Updates:
- Optional inputs: users do not have to set all inputs to ROSCO. Whether an input is optional is determined by the control flags.
- Cable control: users can control OpenFAST cables in MoorDyn and SubDyn using ROSCO. Open loop and user-defined control schemes are available.
Examples/22_cable_control.py
sets up a floating turbine with cable control and applies an open loop mooring control to move the turbine near the (0,0) (surge, sway) location. In the DISCON or tuning yaml, users specify the indices of the cable length control in the avrSWAP; these indices can be found in the ServoDyn summary file. - Structural control: users can control OpenFAST structural controllers (tuned mass dampers and added forces) via ROSCO. Open loop and user-defined control schemes are available.
Examples/23_structural_control
sets up the IEA-15MW semi-submersible floating platform with structural controls as added forces to emulate ballast control for even keel; it relies on the current develop branch of OpenFAST (to be released in v3.5.0) to apply the added force. Users specify the indices to the avrSWAP in the DISCON or tuning yaml, as specified by the ServoDyn summary file. - Active wake control: users have two methods, detailed here, for adding pitch offsets, e.g., the helix method, to the collective pitch angle for better wake dissipation.
Examples/20_active_wake_control.py
runs several different active wake control modes.
Minor Updates:
- The NREL 2.8 MW reference turbine has been added to the set of tuned turbine inputs. Pitch control gains were determined using WEIS control optimization to minimize tower DELs with a constraint on the maximum generator speed in DLC 1.2. IPC is also tuned for this model.
Examples/12_tune_ipc.py
was updated to test all the IPC saturation modes. - File I/O and plotting: an updated plotting notebook is available to users. The
output_processing.py
script was parallelized.
Version 2.7.0
Added Features:
- IPC saturation modes (IPC_SatMode)
- Pitch actuator faults: simulate constant blade pitch offsets. More is possible in future releases.
- Ability to initialize filters with specific values
- Support for latest OpenFAST version (v3.4.0)
- Add a tool for updating DISCONs from older ROSCO versions
Bug Fixes:
- Initialize
NacIMU_FA_Acc
andFA_Acc
to 0. Initial conditions would result in offset of floating feedback pitch command - Fix cases where debug outputs ***********
- Add nacelle heading (NacHeading) input to ROSCO
- Add method for closing dll in control interface on Windows
- Fix units in sim.py
Software Changes:
- Support for the latest numpy version (1.24)
- Re-named examples to represent the features they demonstrate
- Refactored ratelimit function to store it's own previous signal value
- Features that rely on collective blade pitch signal now use average of 3 current blade pitch values (useful in IPC cases)
- Clean up file readers/writers to sync with WEIS analogues
- Update features that rely on latest version of pyFAST
- Enable use of runFAST when
python setup.py install
is used. - Add tune.py for specifically translating tuning yaml to controller objects and updating discon files
- When reading turbine model from openfast, only read necessary input module files
RAAW v1.3
This controller contains individual pitch control updates for the RAAW project
What's Changed
- Add OpenFAST channels that Simulink reads by @dzalkind in #135
- ROSCO 2.6.0 by @dzalkind in #162
- Adding pitch actuator fault by @mayankchetan in #163
- Various Bug Fixes by @dzalkind in #167
New Contributors
- @mayankchetan made their first contribution in #163
Full Changelog: raaw1.2...raaw1.3
Version 2.6.0
RAAW v1.2
Version 2.5.1
What's Changed
- Fixed wrong formatting of list items by @ghylander in #122
- Flip Ct and Cq table allocation by @dzalkind in #129
Full Changelog: v2.5.0...v2.5.1
Version 2.5.0
Updates in Version 2.5.0:
- Additional filter parameters as input
- Open-loop control
- Restart capability
- IPC tuning updates
- Various bug fixes
- Registry of variables: https://github.com/NREL/ROSCO/tree/main/ROSCO/rosco_registry
API Changes: https://rosco.readthedocs.io/en/latest/source/api_change.html
What's Changed
Full Changelog: v2.4.1...v2.5.0
Zenodo Integration
This release is to enable Zenodo integration and generate a trackable DOI. No code changes exist.
v2.4.1
Minor bug fixes and updates for version 2.4.1.
Primary changes:
- Update testing to cover
python setup.py install
and some related coverage fixes - Allow for non-monotonic Cp surfaces during tuning
- Increase TSR range during tuning
- Minimum generator speed pass-through bug fix
- Support compiling on windows + intel
Version 2.4.0
Major Changes:
- Combined ROSCO and ROSCO_Toolbox (deprecating ROSCO_toolbox repo)
- Added robust control tuning
- Updated controller based on paper revisions, including
Fl_Mode
of 1 and 2 for translational and rotational floating feedback. - Added flexibility to ROSCO tuning procedure (pass through floating feedback parameters, use multiple omega/zeta across wind speeds).
Minor Changes:
- Updated documentation
- Added support for Windows
- Updated python interface to ROSCO dynamic library