Properly support yaw rate command integration from controller#456
Properly support yaw rate command integration from controller#456rafmudaf merged 2 commits intoOpenFAST:devfrom
Conversation
| IF ( .not. OtherState%BegYawMan ) THEN ! Override yaw maneuver is just beginning (possibly again). | ||
|
|
||
| CALL CalculateStandardYaw(t, u, p, m, YawPosCom, YawRateCom, ErrStat, ErrMsg) | ||
| CALL CalculateStandardYaw(t, u, p, m, YawPosCom, YawRateCom, OtherState%YawPosComInt, ErrStat, ErrMsg) |
There was a problem hiding this comment.
It looks like you could potentially be updating the OtherState%YawPosComInt twice in this call to UpdateStates (i.e., taking two steps instead of just one).
There was a problem hiding this comment.
I missed this bit of logic. The second call to CalculateStandadYaw is during an override yaw manuever and should only be called once while OtherState%BegYawMan is false. If we are doing an over-ride of the yaw from the DLL, I would expect the DLL commanded yaw should be completely out of the loop then, so maybe the first first CalculateStandardYaw should be in an else condition on t >= p%TYawManS.
| ! yaw control integrated command angle | ||
| !............................................................................................ | ||
| OtherState%YawPosComInt = p%YawNeut | ||
|
|
There was a problem hiding this comment.
Do we need to take into account the initial yaw position from ElastoDyn here?
THIS PULL REQUEST IS READY TO MERGE
Feature or improvement description
Integration of the yawrate command from the DLL is now properly supported.
This has been tested by @nikhar-abbas and @ewquon
Related issue, if one exists
Issue #25
Impacted areas of the software
This resolves issue #25. When a DLL was controlling the yaw, the position was incorrectly integrated.
Test results, if applicable
No test cases are affected by this PR as none of the glue-code DLL cases use yaw control.
Closes #25