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

[Enhancement] Output-feedback SLS_H2 function #5

Open
4 tasks
TioMinho opened this issue Apr 19, 2023 · 0 comments
Open
4 tasks

[Enhancement] Output-feedback SLS_H2 function #5

TioMinho opened this issue Apr 19, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@TioMinho
Copy link
Member

Summary

The SLS_H2 function is already implementing the state-feedback SLS problem with $H_2$ norm. The output-feedback problem should now be implemented as a elseif case of the SLS_H2 function when the model is a GeneralizedPlant{<:Any,OutputFeedback}. This should be done using the ADMM-based implementation to separate the control and estimation sub-problems.

Proposal

  • Code the subproblems of the ADMM iterations. Ideally, they should be simply _SLS_H2(P, ___) and _SLS_H2(P',___) for the control and estimation problems, respectively.
  • Define the localization constraints $\mathcal{S}_x$ and $\mathcal{S}_u$ including the sparsity constraints for the $\Phi_{xy}$ and $\Phi_{uy}$ matrices.
  • Code the ADMM algorithm directly into the body of the SLS function (will be modular in future)
  • Boost performance by computing all the reduced-order systems prior to the ADMM loop.

Notes

  • The augmented Lagrangian function must be provided into a Distributed-friendly manner. Matrix operations should be preferred to avoid slicing and unnecessary allocations.
  • Should the number of iterations of the ADMM be a function argument, or stopping criteria is enough?

Implemented in: TBD

@TioMinho TioMinho added the enhancement New feature or request label Apr 19, 2023
@TioMinho TioMinho self-assigned this Apr 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant