-
Notifications
You must be signed in to change notification settings - Fork 411
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
Comments
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. |
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 |
We do compute what this paper calls the S-based disk margin in 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. |
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 |
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
The text was updated successfully, but these errors were encountered: