Robust Control Toolbox™ Previous page   Next Page 
hinfsyn
 Provide feedback about this page

Compute H optimal controller for LTI plant

Syntax

Description

hinfsyn computes a stabilizing H optimal lti/ss controller K for a partitioned lti plant P.

The controller, K, stabilizes the P and has the same number of states as P. The 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 optional KEY and VALUE inputs determine tolerance, solution method and so forth--see Figure 11-8 for details.

The closed-loop system is returned in CL and the achieved H cost gamma in GAM. INFO is a struct array that returns additional information about the design--see Figure 11-9.

Figure 5-8: H control system CL= lft(P,K)=.

Key
Value
Meaning
'GMAX'
real
Initial upper bound on GAM (default=Inf)
'GMIN'
real
Initial lower bound on GAM (default=0)
'TOLGAM'
real
Relative error tolerance for GAM (default=.01)
'S0'
real
Frequency S0 at which entropy is evaluated, only applies to METHOD 'maxe' (default=Inf)
'METHOD'
'ric'
Standard 2-Riccati solution (default)

'lmi'
LMI solution

'maxe'
Maximum entropy solution
'DISPLAY'
'off'
'on'
No command window display, or command window displays synthesis progress information (default)

Figure 5-9: Optional input arguments (KEY, VALUE) pairs

When DISPLAY='on', the hinfsyn program displays several variables indicating the progress of the algorithm. For each gamma value being tested, the minimum magnitude, real part of the eigenvalues of the X and Y Hamiltonian matrices are displayed along with the minimum eigenvalue of X and Y, which are the solutions to the X and Y Riccati equations, respectively. The maximum eigenvalue of XY, scaled by gamma-2,is also displayed. A # sign is placed to the right of the condition that failed in the printout.

Output arguments:

K
lti controller
CL= lft(P,K)
lti closed-loop system
GAM = norm(CL,Inf)
H cost gamma=
INFO
Additional output information

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

INFO.AS
All solutions controller, lti two-port LFT
INFO.KFI
Full information gain matrix (constant feedback

INFO.KFC
Full control gain matrix (constant output-injection;
KFC is the dual of KFI)
INFO.GAMFI
H cost for full information KFI
INFO.GAMFC
H cost for full control KFC
:

Algorithm

The default 'ric' method uses the two-Riccati formulae ([4],[5]) with loopshifting [6]. In the case of the 'lmi' method, hinfsyn employs the LMI technique ([7],[8],[9]). With 'METHOD' 'maxe', K returns the max entropy H controller that minimize an entropy integral relating to the point s0; i.e.,

where is the closed-loop transfer function CL. With all methods, hinfsyn uses a standard gamma-iteration technique to determine the optimal value of gamma. Starting with high and low estimates of gamma. The gamma-iteration is a bisection algorithm that iterates on the value of gamma in an effort to approach the optimal H control design. The stopping criterion for the bisection algorithm requires the relative difference between the last gamma value that failed and the last gamma value that passed be less than TOLGAM (default=.01)

At each value of gamma, the algorithm employed requires tests to determine whether a solution exists for a given gamma value. In the case of the 'ric' method, the conditions checked for the existence of a solution are:

When, DISPLAY is 'on', the hinfsyn program displays several variables, which indicate which of the above conditions are satisfied for each gamma value being tested. In the case of the default 'ric' method, the display includes the current value of gamma being tested, real part of the eigenvalues of the X and Y Hamiltonian matrices along with the minimum eigenvalue of X and Y, which are the solutions to the X and Y Riccati equations, respectively. The maximum eigenvalue of XY, scaled by gamma-2, is also displayed. A # sign is placed to the right of the condition that failed in the printout. A similar display is produced with method 'lmi'

The algorithm works best when the following conditions are satisfied by the plant:

When the above rank conditions do not hold, the controller may have undesirable properties: If D12 and D21 are not full rank, the H controller K may have large high-frequency gain. If either of the latter two rank conditions does not hold at some frequency , the controller may have very lightly damped poles near that frequency .

In general, the solution to the infinity-norm optimal control problem is non-unique. Whereas the K returned by hinfsyn is only a particular F(s), when the 'ric' method is selected, the INFO.AS field of INFO give you in addition the all- solution controller parameterization KAS(s) such that all solutions to the infinity-norm control problem are parameterized by a free stable contraction map U(s) constrained by (see Figure 5-9); that is, every stabilizing controller K(s) that makes

where U is a stable LTI system satisfying norm(U,Inf) <1

.

Figure 5-10: All-solution KAS(s) returned by INFO.AS

An important use of the infinity-norm control theory is for direct shaping of closed-loop singular value Bode plots of control systems. In such cases, the system P(s) will typically be the plant augmented with suitable loop-shaping filters -- see and mixsyn.

Examples

Following are three simple problems solved via hinfsyn.

Example 1: A random 4-by-5 plant with 3-states, NMEAS=2, NCON=2

The optimal H cost in this case is GAM=0.2641. You verify

that

with a sigma plot

Example 2: Mixed-Sensitivity , , no W3.

In this case, GAM = 0.1854 = -14.6386 db

Example 3: Mixed sensitivity with W1 removed.

In this case, GAM=0, K=0, and CL=K*(1+G*K)=0.

Limitation

The plant must be stabilizable from the control inputs u2 and detectable from the measurement output y2:

Otherwise, an the hinfsyn returns an error.

References

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

[5]  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

[6]  Safonov, M.G., D.J.N. Limebeer, and R.Y. Chiang, "Simplifying the H Theory via Loop Shifting, Matrix Pencil and Descriptor Concepts", Int. J. Contr., vol. 50, no. 6, pp. 2467-2488, 1989.

[7]  Packard, A., K. Zhou, P. Pandey, J. Leonhardson, and G. Balas, "Optimal, constant I/O similarity scaling for full-information and state-feedback problems," Systems and Control Letters, 19:271-280, 1992.

[8]  Gahinet, P., and P. Apkarian, "A linear matrix inequality approach to H1-control," Int J. Robust and Nonlinear Control, 4(4):421-448, July-August 1994.

[9]  Iwasaki, T., and R.E. Skelton, "All controllers for the general H -control problem: LMI existence conditions and state space formulas," Automatica, 30(8):1307-1317, August 1994.

See Also
augw        Augments plant weights for control design

h2syn       H2 synthesis controller

loopsyn     H - loop shaping controller synthesis

mktito      2-input 2-output partition of a USS object

ncfsyn      H - normailized coprime controller synthesis

icomplexify

Purpose

Helper function for complexify.

Syntax

Description

icomplexify works on structures to extract a real value from a pair of related fields.

DeltaR = icomplexify(DeltaCR) affects field pairs of DeltaCR named 'foo' and 'foo_cmpxfy' where 'foo' can be any field name. DeltaR is the same as DeltaCR except that the fields 'foo_cmpxfy' are removed. complexify, by default, complexifies the real uncertainty with ucomplex atoms, though optionally ultidyn atoms can be used. If a ucomplex uncertainty was used to complexify the uncertain system, the real parts of 'foo_cmpxfy' are added to the real parts of 'foo'. If a ultidyn uncertainty was used to complexify the uncertain system, only the real parts of 'foo' are returned.

See Also
complexify  Replace ureal atoms with ureal and ucomplex atoms

robuststab  Calculate robust stability margin


 Provide feedback about this page 

Previous page hinfgs iconnect Next page

 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS