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

Any plan for implementing disk margins? #726

Open
sylvain-bougnoux opened this issue Apr 20, 2022 · 4 comments
Open

Any plan for implementing disk margins? #726

sylvain-bougnoux opened this issue Apr 20, 2022 · 4 comments

Comments

@sylvain-bougnoux
Copy link

This technique is much more robust than gain & phase margins.

https://arxiv.org/pdf/2003.04771.pdf

https://www.youtube.com/watch?v=XazdN6eZF80&list=PLn8PRpmsu08qFLMfgTEzR8DxOPE7fBiin&index=2&ab_channel=MATLAB

@murrayrm
Copy link
Member

I'm not aware of any plans along these lines, but it would be great if you wanted to submit some code implementing this functionality. Information on how to contribute is here.

@sylvain-bougnoux
Copy link
Author

I wish I could do it, currently I am not familiar enough with the algorithm. FTTB, one can find an implementation here (in julia)

https://github.com/JuliaControl/RobustAndOptimalControl.jl/blob/master/src/diskmargin.jl

@roryyorke
Copy link
Contributor

We do compute what this paper calls the S-based disk margin in stability_margins; it's called "Stability margin" in our docs.

Slycot already has a function to compute the transfer function matrix L-infinity norm (which is the H-infinity norm for stable systems), so the hard part to implement disk-margins is done.

@roryyorke
Copy link
Contributor

See also the published form of the disk margin paper, and Matlab's diskmargin command. One of the paper's authors, the late Andrew Packard, was an author of Matlab's Robust Control Toolbox.

The SISO disk margins are straightforward, and I've got prototype code to find the disk margin, and the associated destabilising complex perturbation and destabilising LTI system.

The MIMO version of disk margins needs structured singular values, or at least I'm pretty sure it does. SLICOT has AB13MD, which computes an upper bound on structure singular values, and if we want MIMO disk margins, I guess we'd start there. For now, one can get conservative upper bounds on (two of) these using linfnorm on the sensitivity and complementary sensitivity transfer functions.

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

No branches or pull requests

3 participants