You are on page 1of 17

System norms

Chap 9: Robust control Part II: Mu-analysis and DK iteration

Evaluate the output signal size by the H2 norm.

The system norms H2 and H arise by considering the input w be a series of impulses or any signal with

H2 norm: Let G be strictly proper (D=0)

But we can change the order of summation and integration to obtain

G(s) must be strictly proper; otherwise the H2 norm is indefinite. By Parsevals theorem (*)

Now the element is the ijth element of the impulse response matrix. Hence the H2 norm can be interpreted as the 2-norm output, when unit impulses are applied at each input one after another. In summary:

To calculate, note that

which can be calculated from the Lyapunov equations

Substituting this into (*) it follows

H norm: Let G be a proper stable system (D0) allowed. Then

where P and Q are the controllability and obsrvability Grammians But

and

The H norm is popular, because it can conveniently be used to represent unstructured uncertainty in robust control, and because it is an induced norm implying

which can be proven to be equivalent to The H2 norm has good engineering applications (e.g. LQ control), but it is not an induced norm, and it does not have the multiplicative property.

Two examples on MIMO robustness


1. Spinning satellite

Let us try negative feedback with a diagonal controller K = I. The complementary sensitivity function is

Nominal stability (NS): Minimal state-space realization is Plant has poles and needs to be stabilized. The system has two MIMO poles at s = -1 and is NS. Verify by calculating Acl = A-BKC. Nominal performance (NP): Consider the singular values of L = GK = G

The smallest singular value never exceeds one, and drops fast after the angular frequency 10 rad/s. There is not a tight control, and problems are to be expected. Also: Large off diagonal elements in T(s) can be problematic. At steady state Conclusions?

Robust stability (RS):

Breaking the loop can calculating the transfer function from w1 to z1 gives L1(s) = 1/s and a similar result when breaking the other loop. This might imply good robustness properties irrespective of the value of a.

However, insert small perturbations to both input signals The perturbed system is stable, if and only if both coefficients a0 and a1 are positive. We have stability for and which implies good robustness for each channel separately. and the closed-loop system matrix becomes However, the system tolerates simultaneous changes in two channels badly. For example, if the system is unstable for

This is a diagonal input uncertainty, which is always present in practice. To calculate, replace B with B

with the characteristic polynomial

2. Distillation process An idealized model of a two channel distillation unit is

Let us try an inverse-based controller, which can also be considered as a steady-state decoupler

The system has a large condition number (141.7) at all frequencies. Also the RGA at all frequencies is

Nominal performance (NP): GKinv = KinvG = (0.7/s)I. With no modeling errors there is a perfect decoupling. NP is achieved. Robust stability (RS): The resulting sensitivity and complementary sensitivity functions are

and the large numbers (especially the negative ones at off-diagonals) indicate fundamental control problems.

which contain no large gains (both are smaller than one). But consider again with . We have

and we have stability as long as positive.

both remain

Robust performance (RP): For SISO systems NP and RS generally imply RP, but this does not hold for MIMO systems. See the figure below. A filtered step at input 1 has been used.

For perturbed system

and the perturbed characteristic polynomial can be calculated from which gives the poles

Robust Control Toolbox


Matlab > Demo > Toolboxes > Robust Control Run some of the demos: For example, % State-space model with parametric uncertainty % Uses Robust Control Toolbox % k=ureal('k',0.5,'Range',[0.4 0.6]); %uncertain parameter alpha=ureal('alpha',1,'Range',[0.8 1.2]); A=[-(1+k) 0;1 -(1+k)]; B=[(1/k-1);-1]; C=[0 alpha]; Gp=ss(A,B,C,0);

step(Gp)

Example: Robust stability of a PI-controlled non-minimum phase process which closely matches the relative error. Now we want to check, whether the system remains stable for all plants of the form Initially Kc= Kc1=1.13 and the nominal closed-loop system is stable. Suppose that an extreme uncertain plant is and for all such that

We know that the necessary and sufficient condition for RS is

The relative error is 0.33 at low frequencies; 1 at about 0.1rad/s and 5.25 at high frequencies. Based on this we select the weight

That is easy to check:

From the figure we see that the system is not robustly stable (T1 exceeds 1/W1 for a wide frequency range). Reducing the gain to Kc= Kc2=0.31 just achieves RS (T2).

% Describing plant with complex uncertainty % Analyzing Robust stability % Uses Robust Control Toolbox % G=3*tf([-2 1],conv([5 1],[10,1])); Wi=tf([10 0.33],[10/5.25 1]); Delta=ultidyn('Delta',[1 1]); Gp=G*(1+Wi*Delta); K=tf([12.7 1],[12.7 0]); L1=Gp*1.13*K; T1=feedback(L1,1); [Smarg1,Dstab1,Report1]=robuststab(T1); L2=Gp*1.13*K; T2=feedback(Gp*0.31*K,1); [Smarg2,Dstab2,Report2]=robuststab(T2);

Run the code and interprete the results by using Matlab help, e.g. help robuststab.

Summary: Nominal performance (NP), Robust stability (RS), Robust performance (RP)

1. Robust stability of complex unstructured uncertainty


Let be any full-block transfer function such that This is called unstructured uncertainty. Lemma: By using the lemma we get immediately the result that the M structure is stable for all perturbations (i.e. RS) if and only if

NP: RS: RP:

2. Robust stability with structured uncertainty


RS if Can we use the additional information that the perturbation has a block diagonal structure? Can we find a tighter condition than that above? Take we have and

RS if That applies to all , and the most improved (least conservative) RS condition is obtained by minimizing at each frequency the scaled singular value: RS if Note that must hold, and if structure, we must choose more freedom is obtained. has full and no

The structured singular value (Mu, mu, SSV, )


It will be used to generalize the results on RS and RP from those obtained by the maximum singular value and spectral radius. Definition: Find the smallest structured (measured in terms of ) which makes the matrix I-M singular; then Mathematically Example: (full matrix) The perturbation with (M)=3.162 makes . When is unstructured (a full matrix) the smallest which yields singularity has , and so A particular smallest which achieves this is

Example (diagonal perturbation) In

If no such structure exists, then When =1 this means that there exists a perturbation which is just large enough to make I-M singular. A larger value is bad, because singularity is achieved by a smaller perturbation. A smaller value is good. Robust stability: Assuming that M and are stable the M structure is stable for all allowed perturbations if and only if Also

The smallest diagonal which makes is

with An alternative definition for Mu in the case of complex blockdiagonal uncertainty structure:

Example: M is a scalar. Usually then such that , which follows by selecting

Generally there are only numerical ways to calculate except in special cases. There are a lot of technical theorems related to the properties of however. Example: For both real and complex perturbations it holds 1. for any real or complex scalar . 2. Let block-diagonal perturbation (where the blocks may have additional structure), and let M be partitioned accordingly. Then Prove 1. Item 2 can be proved by considering

However, that requires that the phase of can be selected such that M is real, which is impossible when is real and M has an imaginary component. In this case (M) = 0. In summary, for a scalar M

and using Schurs formula with

Robust stability with structured uncertainty


From the M theory we know that RS

Additionally, it holds for both real and mixed real/complex perturbations that

But this is only a yes/no condition and does not provide information on how close the stability limit is. Scale the uncertainty by km and look for the smallest km that prevails stability Then

RS for block-diagonal real or complex perturbations: Assume that M and are stable. Then the M structure is stable for all allowed perturbations if and only if

Example: RS with diagonal input uncertainty

which can also be stated as RS

Consider a 2x2 distillation column process with input uncertainty

Remeber (exercises) that so

Then RS

Robust performance
It turns out that (for both SISO and MIMO systems) RP is identical to RS with an additional perturbation block!

The system is robustly stable. However, using a full block uncertainty a conservative result would be obtained. The system would not be RS. The advantage of proper modelling is important.

Analyze!

The construction goes as follows Key step B: Stability of M structure is equivalent to condition Step A. P is a fictitious uncertainty block (always full complex matrix) Introduce Fu (N,) Collect the uncertainty blocks into one structured block.

The condition for RP then becomes RP

and is computed from the structure

where P is a full complex perturbation.

Summary of -conditions for NP, RS and RP


Arrange the uncertain system into the N structure Introduce the LFT

Consider again the distillation process example. Use -analysis to confirm the problems met earlier.

Let the (RP) requirement be Then

Interconnection matrix (see exercises)

where

Note that the minus signs have been omitted, because for unitary matrices U it holds . Take Now NS, NP, RS and RP can be tested with In short: where the following result has been used: If a, b, c and d are complex scalars and Check! RS optimization (with weights and multiplicative uncertainty) then means in SISO systems minimizing the peak value of then

The condition for RP follows from

That can be done by DK-iteration.

It is however easier to solve a related problem (mixed sensitivity problem) by minimizing the peak value (H norm) of

In the distillation process

In fact, at each frequency by at most Therefore minimizing in terms of .

differs from and we use the weights The weight wI(s) represents approximately a 20% gain error and a neglected time delay of 0.9 min. Note The weight wP(s) specifies integral action and a closed-loop bandwidth of about 0.05 rad/min.

is close to optimizing RP

Clearly the transfer functions S, SG, KS and TI are stable, so we have NS. Then on the next page). Also and NP is satisfied (see figure and RS is easily satisfied.

plots

The peak value is about 0.53 meaning that we can increase the uncertainty by 1/0.53 = 1.89, before the worst-case uncertainty leads to instability. But RP is poor as seen from the figure, and also noted earlier.

The plots have been calculated with Matlabs Robust Control Toolbox (see exercises). Note also

Example: Controller synthesis using Matlab (Robust Control Toolbox) x w u

G=pck(AG,BG,CG,DG); % create system interconnection %matrix [K,clp]=hinfsyn(G,1,1,0,10,0.0001); % Design controller by % minimizing the norm hinfnorm(clp); % What is the minimum norm achieved

-synthesis with DK-iteration


There is no analytical method to calculate a -optimal controller. However, a numerical method for complex perturbations known as DK-iteration can be used. It is based on the upper bound:

The iteration goes as: 1. K-step. Synthesize an H controller for the scaled problem

with fixed D(s). 2. D-step. Find D(j) to minimize at each frequency

The idea is then to find a controller K such that 3. Fit the magnitude of each element of D(j) to a stable and minimum-phase transfer function D(s). Go to step 1. by alternating the minimization with respect to K and D (keeping the other fixed). Continue iteration until decreases. or until the norm no longer

Consider again the distillation process

with multiplicative input uncertainty and the weights

The uncertainty and performance weights The uncertainty weight is then and the performance weight . The objective is to minimize the peak value of 2x2 diagonal matrix 2x2 full matrix

Program flow. (Uses Robust Control Toolbox)


% Define process G=tf(1,[75 1])*[87.8 -86.4;108.2 -109.6]; % Convert into state-space form G=minreal(ss(G)); % Determine the performance and uncertainty weights in 2 dimensions Wp=minreal(ss(tf([0.5 0.05],[1 1e-6])*eye(2))); Wi=minreal(ss(tf([1 0.2],[0.5 1])*eye(2)));

% Form the generalised plant P by calling sysic-function systemnames='G Wp Wi'; % defines the models used inputvar=[udelta(2);w(2);u(2)]'; % defines the sizes and names of the input signals outputvar='[Wi;Wp; -G-w]'; % defines the names of the output signals input_to_G='[u+udelta]'; % defines the signals fed to the process model (G) input_to_Wp='[G+w]'; % defines the signals fed to the performance weighting model input_to_Wi='[u]'; % defines the signals fed to the input uncertainty weighting model sysoutname='P'; % defines the resulting model name cleanupsysic='yes'; % toggles whether the above variables are cleared after calling sysic-function sysic; % Generates a plant model P=minreal(ss(P));

In forming the generalized plant model (using program sysic) note that the perturbation and control loops have been cut.

%Initialize omega=logspace(-3,3,61); % spaces 61 divided logarithmically %over 10^-3 and 10^3 blk=[1 1;1 1;2 2]; % Determine the block structure (2 times 1by1 %block or input uncertainty and 1 times 2by2 for performance nmeas=2; nu=2; d0=1; D=append(d0,d0,tf(eye(2)),tf(eye(2))); % Initial scaling

% Start iteration % STEP 1: Find H-infinity controller with the given scalings [K,Nsc,gamma,info]=hinfsyn(D*P*inv(D),nmeas,nu,'method','lmi','Tolgam',1e3); Nf=frd(lft(P,K),omega); % STEP 2: Compute mu using upper bound; [mubnds,Info]=mussv(Nf,blk,'c'); bodemag(mubnds(1,1),omega); murp=norm(mubnds(1,1),inf,1e-6);

Mu after the first iteration

%STEP 3: Fit resulting D-scales [dsys1,dsysr]=mussvunwrap(Info); dsys1=dsys1/dsys1(3,3); d1=fitfrd(genphase(dsys1(1,1)),4); % GO TO STEP 1 % Alternatively use automatic software Delta=[ultidyn('D_1',[1 1]) 0;0 ultidyn('D_2',[1 1])] % Diagonal uncertainty Punc=lft(Delta,P); opt=dkitopt('FrequencyVector',omega); [K,clp,bnd,dkinfo]=dksyn(Punc,nmeas,nu,opt);

in each iteration

with the optimal controller (after three Iterations)

The resulting controller has 21 states and the optimal peak -value was 1.0205.

Setpoint response by using the -optimal controller. Solid line: Nominal plant. Dashed line: uncertain plant.

You might also like