Documentation

h2syn

H2 control synthesis for LTI plant

Syntax

[K,CL,GAM,INFO] = H2SYN(P,NMEAS,NCON)

Description

[K,CL,GAM,INFO] = H2SYN(P,NMEAS,NCON) computes a stabilizing H2 optimal controller K for a partitioned LTI plant P:

The LTI system P is partitioned where inputs to B1 are the disturbances, inputs to B2 are the control inputs, output of C1 are the errors to be kept small, and outputs of C2 are the output measurements provided to the controller. B2 has column size (NCON) and C2 has row size (NMEAS). The controller, K, is a state-space (ss) model and has the same number of states as P.

If P is constructed with mktito, you can omit NMEAS and NCON from the arguments.

The closed-loop system is returned in CL and the achieved H2 cost γ in GAM. INFO is a struct array that returns additional information about the design.

H2 control system CL= lft(P,K)=.

Output Arguments

Description

K

LTI controller

CL= lft(P,K)

LTI closed-loop system Ty1u1

GAM = norm(CL)

H2 optimal cost γ = Ty1u12

INFO

Additional output information

Additional output — structure array INFO containing possible additional information depending on METHOD)

INFO.NORMS

Norms of four different quantities, full information control cost (FI), output estimation cost (OEF), direct feedback cost (DFL) and full control cost (FC). NORMS = [FI OEF DFL FC];

INFO.KFI

Full-information gain matrix (constant feedback)

u2(t)=KFIx(t)

INFO.GFI

Full-information closed-loop system GFI=ss(A-B2*KFI,B1,C1-D12*KFI,D11)

INFO.HAMX

X Hamiltonian matrix (state-feedback)

INFO.HAMY

Y Hamiltonian matrix (Kalman filter)

Examples

collapse all

Stabilizing Controller for MIMO Plant

Stabilize a 4-by-5 unstable plant with three states, two measurement signals, and one control signal.

In practice, P is an augmented plant that you have constructed by combining a model of the system to control with appropriate H2 weighting functions. For this example, use a randomly-generated model.

rng(0,'twister');
P = rss(3,4,5)';

This command creates a 4-output, 5-input stable model and then takes its Hermitian conjugate. This operation yields a 5-output, 4-input unstable model. For this example, assume that one of the inputs is a control signal and two of the outputs are measurements.

Confirm that P is unstable. All the poles are in the right half-plane.

pole(P)
ans =

    0.2593
   15.9497
   20.7994

Design the stabilizing controller, assuming NMEAS = 2 and NCON = 1.

[K,CL,GAM] = h2syn(P,2,1);

Examine the closed-loop system to confirm that the plant is stabilized.

pole(CL)
ans =

  -26.8951
  -22.4817
  -20.6965
  -17.6041
   -0.8694
   -2.6697

Mixed-Sensitivity H2 Loop Shaping

Shape the singular value plots of the sensitivity $S = (I+ GK)^{-1}$ and complementary sensitivity $T = GK(I+GK)^{-1}$.

To do so, find a stabilizing controller K that minimizes the $H_2$ norm of:

$${T_{{y_1}{u_1}}} \buildrel \Delta \over = \left[ {\begin{array}{*{20}{c}}
{{W_1}S}\\
{({W_2}/G)T}\\
{{W_3}T}
\end{array}} \right].$$

Assume the following plant and weights:

$$G(s) = \frac{{s - 1}}{{s - 2}},{\rm{ }}{W_1} = \frac{{0.1(s + 1000)}}{{100s + 1}},{\rm{ }}{W_2} = 0.1{\rm{, }}{W_3} = 0.$$

Using those values, construct the augmented plant P, as illustrated in the mixsyn reference page.

s = zpk('s');
G = 10*(s-1)/(s+1)^2;
G.u = 'u2';
G.y = 'y';

W1 = 0.1*(s+1000)/(100*s+1);
W1.u = 'y2';
W1.y = 'y11';

W2 = tf(0.1);
W2.u = 'u2';
W2.y = 'y12';

S = sumblk('y2 = u1 - y');

P = connect(G,S,W1,W2,{'u1','u2'},{'y11','y12','y2'});

Use h2syn to generate the controller. Note that this system has NMEAS = 1 and NCON = 1.

[K,CL,GAM] = h2syn(P,1,1);

Examine the resulting loop shape.

L = G*K;
S = inv(1+L);
T = 1-S;
sigmaplot(L,'k-.',S,'r',T,'g')
legend('open-loop','sensitivity','closed-loop')

Limitations

  • (A, B2, C2) must be stabilizable and detectable.

  • D12 must have full column rank and D21 must have full row rank

More About

collapse all

Algorithms

The H2 optimal control theory has its roots in the frequency domain interpretation the cost function associated with time-domain state-space LQG control theory [1]. The equations and corresponding nomenclature used here are taken from the Doyle et al., 1989 [2]-[3].

h2syn solves the H2 optimal control problem by observing that it is equivalent to a conventional Linear-Quadratic Gaussian (LQG) optimal control problem. For simplicity, we shall describe the details of algorithm only for the continuous-time case, in which case the cost function JLQG satisfies

JLQG=limTE{1T0Ty1Ty1dt}=limTE{1T0T[xTu2T][QNcNcTR][xu2]dt}=limTE{1T0T[xTu2T][C1TD12T][C1D12][xu2]dt}

with plant noise u1 channel of intensity I, passing through the matrix [B1;0;D12] to produce equivalent white correlated with plant ξ and white measurement noise θ having joint correlation function

E{[ξ(t)θ(t)][ξ(τ)θ(τ)]T}=[ΞNfNfTΘ]δ(tτ)=[B1D21][B1TD21T]δ(tτ)

The H2 optimal controller K(s) is thus realizable in the usual LQG manner as a full-state feedback KFI and a Kalman filter with residual gain matrix KFC.

  1. Kalman Filter

    x^˙=Ax^+B2u2+KFC(y2C2x^D22u2)KFC=(YC2T+Nf)Θ1=(YC2T+B1D21T)(D21D21T)1

    where Y = YT≥0 solves the Kalman filter Riccati equation

    YAT+AY(YC2T+Nf)Θ1(C2Y+NfT)+Ξ=0

  2. Full-State Feedback

    u2=KFIx^KFI=R1(B2TX+NcT)=D12TD12)1(B2TX+D12TC1)

    where X = XT≥0 solves the state-feedback Riccati equation

    ATX+XA(XB2+Nc)R1(B2TX+NcT)+Q=0

    The final positive-feedback H2 optimal controller u2=K(s)y2 has a familiar closed-form

    K(s):=[AKFCC2B2KFI+KFCD22KFIKfKFI0]

    h2syn implements the continuous optimal H2 control design computations using the formulae described in the Doyle, et al. [2]; for discrete-time plants, h2syn uses the same controller formula, except that the corresponding discrete time Riccati solutions (dare) are substituted for X and Y. A Hamiltonian is formed and solved via a Riccati equation. In the continuous-time case, the optimal H2-norm is infinite when the plant D11 matrix associated with the input disturbances and output errors is non-zero; in this case, the optimal H2 controller returned by h2syn is computed by first setting D11 to zero.

  3. Optimal Cost GAM

    The full information (FI) cost is given by the equation (trace (B1X2B1)). The output estimation cost (OEF) is given by (trace (F2Y2F2)), where . The disturbance feedforward cost (DFL) is (trace (L2X2L2)), where L2 is defined by (Y2C2+B1D21) and the full control cost (FC) is given by (trace (C1Y2C1)). X2 and Y2 are the solutions to the X and Y Riccati equations, respectively. For for continuous-time plants with zero feedthrough term (D11 = 0), and for all discrete-time plants, the optimal H2 cost γ = is

GAM =sqrt(FI^2 + OEF^2+ trace(D11*D11'));

otherwise, GAM = Inf.

References

[1] Safonov, M.G., A.J. Laub, and G. Hartmann, "Feedback Properties of Multivariable Systems: The Role and Use of Return Difference Matrix," IEEE Trans. of Automat. Contr., AC-26, pp. 47-65, 1981.

[2] Doyle, J.C., K. Glover, P. Khargonekar, and B. Francis, "State-space solutions to standard H2 and H control problems," IEEE Transactions on Automatic Control, vol. 34, no. 8, pp. 831–847, August 1989.

[3] Glover, K., and J.C. Doyle, "State-space formulae for all stabilizing controllers that satisfy an H norm bound and relations to risk sensitivity," Systems and Control Letters, 1988. vol. 11, pp. 167–172, August 1989.

See Also

|

Was this topic helpful?