Professional Documents
Culture Documents
The system norms H2 and H arise by considering the input w be a series of impulses or any signal with
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:
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.
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?
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
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
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.
and the perturbed characteristic polynomial can be calculated from which gives the poles
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
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
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)
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
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
with An alternative definition for Mu in the case of complex blockdiagonal uncertainty structure:
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
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
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.
Consider again the distillation process example. Use -analysis to confirm the problems met earlier.
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
It is however easier to solve a related problem (mixed sensitivity problem) by minimizing the peak value (H norm) 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
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
The iteration goes as: 1. K-step. Synthesize an H controller for the scaled problem
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
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
% 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);
%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
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.