Skip to content

Use ROSCO DISCON schema for SU default parameters#474

Open
dzalkind wants to merge 1 commit into
NLRWindSystems:developfrom
dzalkind:startup_params_rosco
Open

Use ROSCO DISCON schema for SU default parameters#474
dzalkind wants to merge 1 commit into
NLRWindSystems:developfrom
dzalkind:startup_params_rosco

Conversation

@dzalkind

Copy link
Copy Markdown
Collaborator

Purpose

DLC 3.1/3.2/3.3 (start-up cases) hard-coded SU_FW_MinDuration, SU_RotorSpeedThresh, SU_RotorSpeedCornerFreq, SU_LoadStages_N, SU_LoadStages, SU_LoadRampDuration, and SU_LoadHoldDuration in dlc_generator.py with values that did not match ROSCO's own startup tuning defaults (e.g. SU_FW_MinDuration=40 vs ROSCO's 200, SU_RotorSpeedThresh=0.02 vs 0.52). With these mismatched defaults, the controller left the free-wheel state too soon, before the rotor had picked up enough speed, which upset the startup control response.

  • Added a rosco_default() helper that reads SU_* defaults directly from the ROSCO toolbox schema (rosco.toolbox.inputs.toolbox_schema), so DLC start-up defaults always stay in sync with ROSCO's own tuning defaults instead of being duplicated/hard-coded in WEIS.
  • Updated generate_3p1, generate_3p2, and generate_3p3 to pull all SU_* defaults from rosco_default().

Type of change

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (non-backwards-compatible fix or feature)
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no API changes)
  • Documentation update
  • Maintenance update
  • Other (please describe)

Testing

  • Ran weis/dlc_driver/test/test_DLC_generator.py, which passes.
  • Verified the synced defaults match the ROSCO toolbox schema and generated DISCON.IN values (SU_FW_MinDuration=200, SU_RotorSpeedThresh=0.52, SU_RotorSpeedCornerFreq=0.41888, SU_LoadStages_N=2, SU_LoadStages=[0.2,1.0], SU_LoadRampDuration=[100,100], SU_LoadHoldDuration=[200,100]).

Checklist

  • I have run existing tests which pass locally with my changes
  • I have added new tests or examples that prove my fix is effective or that my feature works
  • I have added necessary documentation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant