Skip to content

Any plan for implementing disk margins? #726

Description

@sylvain-bougnoux

Activity

  1. murrayrm commented on Apr 21, 2022

    @murrayrm
    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.

  2. sylvain-bougnoux commented on Apr 22, 2022

    @sylvain-bougnoux
    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

  3. roryyorke commented on Apr 24, 2022

    @roryyorke
    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.

  4. roryyorke commented on Apr 27, 2022

    @roryyorke
    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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions