Skip to content

Using interconnect/interconnected system #516

Description

@sawyerbfuller

Trying to get the hang of creating interconnected systems, and hoping that interconnect can provide a more human-readable form of connect.

This is my question: If I'd like to create a simple feedback system like this:

                    y
->0--->P(s)------>
  ^ -           |
  |    u        |
  ------C(s)<----

the following code gives the same system for both systems:

P = control.ss(control.tf(1, [1, 0]))
C = control.ss(control.tf(10, [1, 1]))
Pio = control.LinearIOSystem(P, inputs='u', outputs='y', name='P')
Cio = control.LinearIOSystem(C, inputs='y', outputs='u', name='C')
CL = control.interconnect((Pio, Cio), 
                                    connections = [['P.u', 'C.u'], ['C.y', '-P.y']],
                                    inplist='P.u', outlist='P.y')
display(control.feedback(P, C))
display(CL)

Is there any chance you could just, by correctly assigning names that match between systems as I have done here, interconnect automatically without needing the "connections" argument? Here, that doesnt seem to work (systems don't match anymore), but for some reason I had in my mind that it was possible. Am I just missing something? Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions