control.hinfsyn
- control.hinfsyn(P, nmeas, ncon)[source]
H_{inf} control synthesis for plant P.
- Parameters
P (StateSpace) – Partitioned LTI plant (state-space system).
nmeas (int) – Number of measurements (input to controller).
ncon (int) – Number of control inputs (output from controller).
- Returns
K (StateSpace) – Controller to stabilize P.
CL (StateSpace) – Closed loop system.
gam (float) – Infinity norm of closed loop system.
rcond (list) –
- 4-vector, reciprocal condition estimates of:
1: control transformation matrix 2: measurement transformation matrix 3: X-Riccati equation 4: Y-Riccati equation
- Raises
ImportError – if slycot routine sb10ad is not loaded
See also
Examples
>>> # Unstable first order SISI system >>> G = ct.tf([1], [1,-1], inputs=['u'], outputs=['y']) >>> all(G.poles() < 0) False
>>> # Create partitioned system with trivial unity systems >>> P11 = ct.tf([0], [1], inputs=['w'], outputs=['z']) >>> P12 = ct.tf([1], [1], inputs=['u'], outputs=['z']) >>> P21 = ct.tf([1], [1], inputs=['w'], outputs=['y']) >>> P22 = G >>> P = ct.interconnect([P11, P12, P21, P22], inplist=['w', 'u'], outlist=['z', 'y'])
>>> # Synthesize Hinf optimal stabilizing controller >>> K, CL, gam, rcond = ct.hinfsyn(P, nmeas=1, ncon=1) >>> T = ct.feedback(G, K, sign=1) >>> all(T.poles() < 0) True