Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ClosedLoopUnitIdentifier produces TimeConstant estimates that are sometimes way off (rewrite) #163

Open
steinelg opened this issue Dec 5, 2024 · 4 comments
Assignees
Labels
bug Something isn't working ClosedLoopIdentifier
Milestone

Comments

@steinelg
Copy link
Collaborator

steinelg commented Dec 5, 2024

The approach to estimte Time-constants should be rewritten to use PlantSimulator.SimulateSingle to estimate time constants, as this can be done manually but is not how the CLUI works

@steinelg steinelg added the bug Something isn't working label Dec 5, 2024
@steinelg steinelg added this to the 1.4 milestone Dec 5, 2024
@steinelg steinelg pinned this issue Dec 5, 2024
@steinelg
Copy link
Collaborator Author

steinelg commented Dec 5, 2024

Looking at Static_SinusDistANDSetpointStep, this is a unit test where th gain is found correclty, but the time-constant is way too high.
even though the "true" system is static, the found model has quite a large time constant.

The CLUI seems to work better if there is a setpoint change or a step change in the disturbance, but a continous "noisy" estimate.

It seems to struggle with. The global search for pid gain, has three criteria, and the two secon ones that are covariance are not worth much if there is a noisy disturbance with no setpoint changes as they are set to zero.

Thus the global search is left "just" looking at the simulated u_pid (referred to as u_pid_adjusted) and finding the gain that yields the smallest variance in this value.

@steinelg
Copy link
Collaborator Author

steinelg commented Dec 5, 2024

it might be that in some cases the closedloopunitidentifier should not return value, or at least it should give a warning or it should give more realistic indication of the uncertainty in the paramters it has found.

Look more at
Static_SinusDistANDSetpointStep

and even consider that there is not setpoint step, just a sinus-like disturbance.

@steinelg
Copy link
Collaborator Author

steinelg commented Dec 6, 2024

it is acutally easier to think of disturbance d_LF and d_HF as d_y and d_u, as d_HF is really just e= ymeas-ysetp and d_u is depends on u.

@steinelg steinelg self-assigned this Jan 9, 2025
@steinelg
Copy link
Collaborator Author

steinelg commented Jan 9, 2025

this appears to be improved in version 1.3.42 after a major refactoring of CLUI

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working ClosedLoopIdentifier
Projects
None yet
Development

No branches or pull requests

1 participant