Compute H_{∞} optimal controller for LTI plant
[K,CL,GAM,INFO] = hinfsyn(P) [K,CL,GAM,INFO] = hinfsyn(P,NMEAS,NCON) [K,CL,GAM,INFO] = hinfsyn(P,NMEAS,NCON,KEY1,VALUE1,KEY2,VALUE2,...)
hinfsyn
computes a stabilizing H_{∞} optimal lti/ss
controller K
for
a partitioned lti
plant P
.
$$P=\left[\begin{array}{lll}A\hfill & {B}_{1}\hfill & {B}_{2}\hfill \\ {C}_{1}\hfill & {D}_{11}\hfill & {D}_{12}\hfill \\ {C}_{2}\hfill & {D}_{21}\hfill & {D}_{22}\hfill \end{array}\right]$$
The controller, K
, stabilizes the P
and
has the same number of states as P
. The system P
is
partitioned where inputs to B_{1} are
the disturbances, inputs to B_{2} are
the control inputs, output of C_{1} are
the errors to be kept small, and outputs of C_{2} are
the output measurements provided to the controller. B_{2} has
column size (NCON
) and C_{2} has
row size (NMEAS
). The optional KEY
and VALUE
inputs
determine tolerance, solution method and so forth.
The closed-loop system is returned in CL
.
This closed-loop system is given by CL = lft(P,K)
as
in the following diagram.
The achieved H_{∞} cost γ is
returned as GAM
. The struct
array INFO
contains
additional information about the design.
Optional Input Arguments
Property | Value | Description |
---|---|---|
'GMAX' | real | Initial upper bound on |
'GMIN' | real | Initial lower bound on |
'TOLGAM' | real | Relative error tolerance for |
'S0' | real | Frequency |
'METHOD' |
| Standard 2-Riccati solution (default) |
| LMI solution | |
| Maximum entropy solution | |
'DISPLAY' |
| No command window display, or command window displays synthesis progress information (default) |
When DISPLAY='
on
',
t
he hinfsyn
program
displays several variables indicating the progress of the algorithm.
For each γ 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 X_{∞}Y_{∞},
scaled by γ^{–2},is
also displayed. A # sign is placed to the right of the condition that
failed in the printout.
Output Arguments | Description |
---|---|
K | |
CL= lft(P,K) | |
GAM = norm(CL,Inf) | H_{∞} cost γ = $${\Vert {T}_{{y}_{1}{u}_{1}}\Vert}_{\infty}$$ |
INFO | Additional output information |
Additional output — structure array INFO
containing
possible additional information depending on METHOD
)
INFO.AS | All solutions controller, |
INFO.KFI | Full information gain matrix (constant feedback $${u}_{2}(t)={K}_{FI}\left[\begin{array}{c}x(t)\\ {u}_{1}(t)\end{array}\right]$$ |
INFO.KFC | Full control gain matrix (constant output-injection; K_{FC} is the dual of K_{FI}) |
INFO.GAMFI | H_{∞} cost for full information K_{FI} |
INFO.GAMFC | H_{∞} cost for full control K_{FC} |
The plant must be stabilizable from the control inputs u and detectable from the measurement output y:
(A,B_{2}) must be stabilizable and (C_{2},A) must be detectable.
Otherwise, hinfsyn returns an error.
The default 'ric'
method uses the two-Riccati
formulae ([1],[2]) with
loopshifting [3]. In the case of the 'lmi'
method, hinfsyn
employs the LMI technique ([4],[5],[6]).
With 'METHOD' 'maxe', K
returns the max entropy H_{∞} controller
that minimize an entropy integral relating to the point s0
;
i.e.,
$$\text{Entropy=}\frac{{\gamma}^{2}}{2\pi}{\displaystyle {\int}_{-\infty}^{\infty}\mathrm{ln}|\mathrm{det}I-{\gamma}^{-2}{T}_{{y}_{1}{u}_{1}}(j\omega {)}^{\prime}{T}_{{y}_{1}{u}_{1}}(j\omega )|}\left[\frac{{s}_{o}{}^{2}}{{s}_{0}{}^{2}+{\omega}^{2}}\right]d\omega $$
where $${T}_{{y}_{1}{u}_{1}}$$ is the closed-loop transfer
function CL
. With all methods, hinfsyn
uses a standard γ-iteration
technique to determine the optimal value of γ.
Starting with high and low estimates of γ.
The γ-iteration is a bisection algorithm that
iterates on the value of γ in an effort to
approach the optimal H_{∞} control
design. The stopping criterion for the bisection algorithm requires
the relative difference between the last γ value
that failed and the last γ value that passed
be less than TOLGAM
(default = .01)
At each value of γ, the algorithm employed
requires tests to determine whether a solution exists for a given γ value.
In the case of the 'ric'
method, the conditions
checked for the existence of a solution are:
H and J Hamiltonian matrices (which are formed from the state-space data of P and the γ level) must have no imaginary-axis eigenvalues.
the stabilizing Riccati solutions X_{∞} and Y_{∞} associated with the Hamiltonian matrices must exist and be positive, semi-definite.
spectral radius of (X_{∞},Y_{∞}) must be less than or equal to γ^{2}.
When, DISPLAY
is 'on
',
the hinfsyn
program displays
several variables, which indicate which of the above conditions are
satisfied for each γ value being tested.
In the case of the default 'ric'
method, the display
includes the current value of γ 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 X_{∞}Y_{∞},
scaled by γ^{–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:
D_{12} and D_{21} have full rank.
$$\left[\begin{array}{cc}A-j\omega I& {B}_{2}\\ {C}_{1}& {D}_{12}\end{array}\right]$$ has full column rank for all ω ∊ R.
$$\left[\begin{array}{cc}A-j\omega I& {B}_{1}\\ {C}_{2}& {D}_{21}\end{array}\right]$$ has full row rank for all ω ∊ R.
When the above rank conditions do not hold, the controller may
have undesirable properties: If D_{12} and D_{21} 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. The controller returned by hinfsyn
is
only one particular solution, K
. When the 'ric'
method
is selected, the INFO.AS
field of INFO
contains
the all- solution controller parameterization K_{AS}.
All solutions to the infinity-norm control problem are parameterized
by a free stable contraction map Q, which is constrained
by $${\Vert Q\Vert}_{\infty}<1$$. In other words, the solutions
include every stabilizing controller K(s)
that makes
$${\Vert {T}_{{y}_{1}{u}_{1}}\Vert}_{\infty}\triangleq \underset{\omega}{\mathrm{sup}}{\sigma}_{\mathrm{max}}\left({T}_{{y}_{1}{u}_{1}}(j\omega )\right)<\gamma .$$
These controllers are given by:
K=lft(INFO.AS,Q)
where Q
is a stable LTI system satisfying norm(Q,Inf)
<1
.
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 is typically
the plant augmented with suitable loop-shaping filters — see mixsyn
.
[1] 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 & Control Letters, vol. 11, no. 8, pp. 167–172, 1988.
[2] Doyle, J.C., K. Glover, P. Khargonekar, and B. Francis, "State-space solutions to standard H_{2} and H_{∞} control problems," IEEE Transactions on Automatic Control, vol. 34, no. 8, pp. 831–847, August 1989
[3] 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.
[4] 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 & Control Letters, vol. 19, no. 4, pp. 271–280, 1992.
[5] Gahinet, P., and P. Apkarian, "A linear matrix inequality approach to H_{∞}-control," Int J. Robust and Nonlinear Control, vol. 4, no. 4, pp. 421–448, 1994.
[6] Iwasaki, T., and R.E. Skelton, "All controllers for the general H_{∞}-control problem: LMI existence conditions and state space formulas," Automatica, vol. 30, no. 8, pp. 1307–1317, 1994.