The H Control Problem Is Solved: by Pierre Apkarian and Dominikus Noll
The H Control Problem Is Solved: by Pierre Apkarian and Dominikus Noll
by
∗
ONERA, Control System Department, Toulouse, France
†
Université Paul Sabatier, Institut de Mathématiques, Toulouse, France
1
Contents
1 The H∞ control problem 3
1.1 Some history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Formal statement of the problem . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 The rationale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Controller structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5 Three basic examples with structure . . . . . . . . . . . . . . . . . . . . . . . . 7
2
1 The H∞ control problem
The H∞ -problem was framed by G. Zames in two plenary talks at the IEEE CDC in 1976 and
the Allerton Conference in 1979, and posed formally in his 1981 paper [1]. However, the origins
of the H∞ -problem are much older and date back to the 1960s, when Zames discovered the
small gain theorem [3]. After more than 30 years the H∞ -problem was solved by P. Apkarian
and D. Noll in 2006 [2].
In this section we introduce the H∞ control problem formally, discuss its rationale, and
present the context leading to our 2006 solution.
(2) u y
K
Let us recall the notions used to formulate (1). The plant P (s) has a state-space representation
of the form
ẋ = Ax + B1 w + B2 u A B1 B2
(3) P : z = C1 x + D11 w + D12 u P (s) : C1 D11 D12
y = C2 x + D21 w + D22 u C2 D21 D22
3
where x ∈ Rnp is the state, u ∈ Rnu the control, y ∈ Rny the measured output, w ∈ Rnw
the exogenous input, and z ∈ Rnz the regulated output. Similarly, K(s) has state-space
representation
ẋK = AK xK + BK y AK BK
(4) K: K(s) :
u = CK xK + DK y CK DK
with xK ∈ Rk the state of K. As soon as D22 = 0, the closed-loop transfer channel Tw→z (P, K)
in (1) has the state-space representation
A(K) B(K)
(5) Tw→z (P, K) :
C(K) D(K)
where
A + B2 DK C2 B2 CK B1 + B2 DK D12
(6) A(K) = , B(K) = , C(K) = etc.
BK C2 AK BK D21
and where the state dimension is np + k. Finally, for a stable real rational transfer function
T (s), the H∞ -norm in (1) is defined as
Observe that in Kfull all entries in AK , BK , CK , DK are free variables. Altogether there are
N := n2p + np (ny + nu ) + ny nu degrees of freedom and we have
Kfull ∼
= RN .
In particular, Kfull is the largest controller space we could use in (1). Finding a solution within
Kfull is therefore easiest. In particular with Kfull as controller space (1) is convex, as shown
in [6]. When smaller and more practical controller spaces K are chosen, problem (1) is much
harder to solve. Our 2006 solution addresses these difficult cases.
4
if A(K) in (6) is stable, then Tw→z (P, K) maps w ∈ L2 into z ∈ L2 . The H∞ -norm (7) is then
nothing else but the L2 -L2 -operator norm, that is,
kT wk2 kzk2
kT k∞ = sup = sup .
w6=0 kwk2 w6=0 kwk2
In other words, for a closed-loop channel w → z the norm γ = kTw→z (P, K)k∞ is the factor by
which the energy of the input signal is amplified in the output. Input w with energy kwk22 will
produce output z with energy kzk22 no greater than γ 2 · kwk22 , as long as controller K is used.
The optimization program (1) tries to find the controller K ∗ ∈ K for which this amplification
factor γ is smallest.
This can obviously be very useful. All we have to do is find communication channels w → z,
where smallness of answer z to input w tells us something useful about the system. We now
give the typical context of loopshaping, where this idea is used.
- We e
-e - Wu e
-u - Wy e
-y
(8) d
r + e u y
-c K - c? G
− - -
6
c
? ns
The standard control scheme (8) features the open-loop system G, the controller K, the mea-
sured output y, the control signal u, the tracking error e. Red signals are inputs, ns = sensor
noise, d = disturbance or process noise, and r = reference signal for y, sometimes called a
command. The blue signals are specifically chosen outputs, ee = We e, u e = Wu u, ye = Wy y.
This is a special case of (2), where w = (r, d, ns ) is the input, z = (e e, ye), and where plant
e, u
P regroups G and the filters We , Wu , Wy . The filters may be dynamic, which adds new states
into the plant P .
What are useful transfer functions from red to blue? For instance the transfer from reference
r to tracking error e
Tr→e (K) = (I + GK)−1
5
is a typical performance channel, because it describes how fast the system follows the reference
r. As one typically wants to track only in the low frequency range, We is a low-pass filter. Now
smallness of the norm
kTr→ee (K)k∞ = kWe (I + GK)−1 k∞
means that the low frequency component ee of the tracking error e is small, so y follows the
reference input r in low frequency.
Next consider a typical robustness channel. For instance, the influence of sensor noise ns
on the control signal u. Noise is typically of high frequency, but that should not lead to high
frequency components in u, as this could lead e.g. to actuator fatigue. Therefore Wu is typically
e are high frequency components of u. We find
a high-pass filter and u
and kTns →eu (K)k∞ puts a cost on high frequency components in u. If program (1) is successful,
it will furnish an optimal K ∗ ∈ K which makes this cost as small as possible, thereby building
robustness to sensor noise into the system.
To conclude, we can see that depending on the specific application there will be several
performance and robustness channels. As (2) requires fixing a single connection w → z, we will
have to decide on some specific weighing between those.
During the 1990s and early 2000s a new approach to controller design based on linear matrix
inequalities (LMIs) was developed. Unfortunately, LMIs have essentially the same shortcomings
as AREs. H∞ controllers computed via LMIs are still unstructured. The situation only started
to improve when in the late 1990s the authors pioneered the investigation of feedback controller
synthesis via bilinear matrix inequalities (BMIs). While the LMI euphoria was still in full
progress, we had recognized that what was needed were algorithms which allowed to synthesize
structured controllers. Here is the formal definition of structure (cf. [2]).
6
Definition 1. A controller K of the form (4) is called structured if the state-space matrices
AK , BK , CK , DK depend smoothly on a design parameter vector θ varying in some parameter
space Rn , or in a constrained subset of Rn .
In other words, a controller structure K(·), or K(θ), consists of four smooth mappings
AK (·) : Rn → Rk×k , BK (·) : Rn → Rk×ny , CK (·) : Rn → Rnu ×k , and DK (·) : Rn → Rnu ×ny .
If we use the PID structure (10) within the H∞ framework (1), we compute an H∞ PID con-
troller, that is, a PID controller which minimizes the closed-loop H∞ -norm among all internally
stabilizing PID controllers:
∗
kTw→z (P, Kpid )k∞ ≤ kTw→z (P, Kpid )k∞ .
7
A second classical controller structure, related to the fundamental work of Kalman in the
1960s, is the observer-based controller, which in state-space has the form:
A + B2 Kc + Kf C2 −Kf
(11) Kobs (θ) : .
Kc 0
Here the vector of tunable parameters θ regroups the elements of the Kalman gain matrix Kf
and the state-feedback control matrix Kc . That is θ = (vec(Kf ), vec(Kc )). Since the plant P
has np states, ny outputs and nu inputs, θ is of dimension np (ny +nu ), i.e., n = np (ny +nu ) < N ,
which indicates that the controller is structured, even though k = np . In fact, formally the
structure of observer-based controllers is defined as
Kobs = Kobs (θ) : as in (11) , θ = (vec(Kf ), vec(Kc )) ∈ Rnp (ny +nu ) .
Now if we use (11) within the framework (1), we are computing an observer-based H∞ -controller.
But do not observer-based ontrollers Kobs belong to the realm of H2 -control? This is H∞ control!
Are we mixing things? Yes we are, but why not? If we are attached to the observer-structure,
and at the same time appreciate the robustness of H∞ -control, then we should by any means
mix things. The result will be a controller Kobs (θ∗ ), where θ∗ = (vec(Kf∗ ), vec(Kc∗ )) gives us
two gain matrices Kc∗ and Kf∗ , neither of which is by itself optimal in any sense1 . In particular
there are no algebraic Riccati equations for Kf∗ or Kc∗ . Nonetheless, taken together they are
optimal in the sense that
kTw→z (P, Kobs (θ∗ )) k∞ ≤ kTw→z (P, Kobs (θ)) k∞
for any other observer-based controller Kobs (θ) which stabilizes P internally.
A third basic controller structure are reduced order controllers. More precisely, the order of
K is fixed at k < np . This is the simplest example of a structure, namely
Kk = {K : K as in (4) with size(AK ) = k × k} .
Here the vector of tunable elements is θ = (vec(AK ), vec(BK ), vec(CK ), vec(DK )) of dimension
n = k 2 + k(ny + nu ) + ny nu . This is a structure in the spirit of our definition, because it uses
fewer degrees of freedom than the full order controller, which has N = n2p + np (ny + nu ) + ny nu
free places.
Why is it reasonable to call Kk a structure as soon as k < np ? The reason is that computing
reduced fixed-order optimal H∞ -controllers is substantially more complicated than computing
the full-order H∞ controller. In lieu of two decoupled Riccati equations, K ∗ ∈ Kk requires four
coupled Riccati equations, [7], and the numerical procedures proposed in the 1990s are clearly
demanding. In the realm of matrix inequalities the H∞ -problem for reduced-order controllers is
also well-studied. One obtains an LMI in tandem with a rank constraint, a non-convex problem
which is equivalent to a BMI.
1
The principle of separation of observation and control is no longer valid
8
Controllers with structure come up naturally. That’s why
the authors pioneered the investigation of structured H∞ -
synthesis in the 1990s.
(12)
f (θ) := kTw→z (P, K(θ))k∞ = max σ C(K(θ))(jωI − A(K(θ)))−1 B(K(θ)) + D(K(θ)) ,
ω∈R
a nonsmooth, nonconvex function, which in addition, is not defined everywhere. Its domain
Df = {θ ∈ Rn : f (θ) < ∞} contains the internally stabilizing set
The first major step toward the solution of the H∞ control problem in the seminal paper [2]
was to characterize and compute the Clarke subdifferential of the function f . This allowed to
formulate necessary optimality conditions, and thereby to characterize locally optimal solutions
of (1). These conditions are of primal-dual type, which means that they are expressed in terms
of primal variables θ and dual variables X, Y , which correspond to the Lyapunov variables used
in the ARE and LMI solutions.
9
The second major challenge was to find algorithmic tools to compute solutions of the struc-
tured H∞ -problem (1). The objective being nonconvex and nonsmooth, we had to develop new
optimization methods. This was started in [2], and continued in [8–13]. We invented bundle
methods for the nonconvex case. The bundle technique originated in the 1980s and is the
most successful approach to deal with convex nonsmooth problems in Lagrangian relaxation
or stochastic control. We succeeded to extend this to nonconvex functions, which represents a
major breakthrough. When our new ideas, which were first published in control journals, made
their appearance in a more digestible form in math journals, they were also adapted by the
optimization community.
.
Flowchart of proximity control algorithm
start
yes
stopping exit
⌧+ =⌧ ⌧+ = 1
2⌧
no
yes no
⇢
2.2 Stabilization
As we stressed before, the objective f (θ) in (1), respectively (12), is only defined on the set
Ds = {θ ∈ Rn : A(K(θ)) is stable}
from (13). Our optimization method therefore not only has to iterate within this set, we first
have to find a feasible parameter θ ∈ Ds . Surprisingly, this is already the first difficulty.
Notice that we have to answer the following yes-or-no question:
10
We want an algorithm which computes such a θ if the answer to (14) is ”yes”, and provides a
certificate of emptiness of Ds if the answer is ”no”. And we would like these answers reasonably
fast, e.g., in polynomial time.
How is this related to Kalman’s classical theory of stabilizability, detectability, controllability
and observability? Stabilizability of (A, B) means that we can stabilize by state feedback. And
detectability of (A, C) means that we can add an observer. Therefore, if (A, B) is stabilizable
and (A, C) is detectable, then the answer to question (14) is ”yes” for the class Kobs of observer-
based controllers. Since stabilizability of (A, B) and detectability of (A, C) are conditions which
can be checked by linear algebra (in polynomial time), we can say that (14) is conveniently
decidable for the class of observer-based controllers Kobs and for any larger class.
However, and this is the bad part of the message, for practically important controller struc-
tures K(θ) the decision (14) is NP-complete. Blondel and Tsitsiklis [14] prove this for the
classes Kk of reduced-order controllers, including the class Kstat of static controllers, and for
the class Kdec of decentralized controllers. It is also known the the decision is hard for PID
control. For short, the most important classes in practice lead already to a difficult problem
when it comes to mere stabilization.
What does this mean in practice? Complexity theory usually produces pessimistic results.
The situation is by no means hopeless. Practical systems are designed to be stabilizable, so as a
rule there is a good chance to find a stabilizing structured controller K ∈ K if there is one. What
we expect to be hard is a certificate of non-existence when no such controller exists, because this
requires an exhaustive search. Complexity also tells us that we cannot expect a linear algebra
procedure as in Kalman’s classical theory, at least none with polynomial complexity. We also
know that for most classes K problem (14) is decidable, but in exponential time. This follows
for instance as soon as the problem can be transformed into a polynomial decision problem, to
which the Tarski-Seidenberg procedure can be applied.
11
featuring controller gains θ and Lyapunov variables X, Y as unknowns. The SOS approach
interprets (15) as a systems of polynomial inequalities and uses the sums-of-squares approxi-
mation of positive polynomials to creates a hierarchy of LMI problems
with the property that the solution of (16) converges to the solution of (15). It may even
happen that convergence is finite, meaning that there exists i = i(B) such that the solution of
min{c> θ : Li(B) 0} solves min{c> θ : B 0} globally. The way this hierarchy is constructed
is much inspired by the idea of a cutting plane proof for an linear integer feasibility problem
Ax ≤ b, x ∈ Zn .
Let us for simplicity assume that convergence is finite indeed. Then we might be able to
write down an explicit linear matrix equality
which when solved gives a globally optimal solution of (1). (Strictly speaking, we might not be
able to write down (17) directly, but only to reach it eventually by climbing up in the hierarchy
until we get to i(B). This would of course spoil the whole idea. But let us assume, as is often
claimed in the SOS community, that we can write down (17) explicitly!).
Doesn’t this sound nice? After all we have been told since the early 1990s that LMIs can
be solved efficiently in quasi-polynomial time. So all we have to do is solve (17) quickly and
get the global minimum of (15), respectively, of (1).
Of course this is all rubbish. We know that solving problem (1) globally is NP-complete. The
SOS algorithm is even provably exponential. The size of Li(B) 0 grows therefore exponentially
in the data size(B). In fact, these problems explode extremely fast. We will need exponential
space even to write down Li(B) 0. For sizable plants we might not even be able to store the
problem in the computer, let alone solve it. The fact that LMIs are solved in polynomial time
is pointless, because we are speaking about a problem of size polynomial(exponential).
But could not something similar be said about every global method? Are we too severe
when we call SOS a red herring? Indeed, the problem being NP-complete, every global method
is bound to be exponential. The point is that SOS is a particularly ungainly global method,
because it commits two errors, which other global methods may avoid.
The first error is that it transforms (1) to a BMI. This adds a large number of additional
variables X, Y , which can be avoided e.g. by our nonsmooth approach. We have demonstrated
abundantly that the presence of Lyapunov variables leads to serious ill-conditioning. To wit:
12
The second error in the SOS approach is that it only goes for global minima. That is, it will not
find local minima of (1) on its way toward the global. This is infelicitous, because local minima
are very helpful. They may allow to improve bounds in branch-and-bound methods, and they
give good practical solutions as a rule. The fact that SOS does not use this information (e.g.
to infer where it is in the hierarchy Li 0) is by itself already suspicious.
which makes it an Euclidian norm in the space of stable transfer matrices. Unlike the H∞ -
norm, the H2 -norm is not an operator norm in the traditional sense. It becomes one as soon
as stochastic signals are considered.
operator norm
kwk kzk
kTw→z k
energy energy H∞
power power H∞
white noise power H2
Sobolev worst case
L∞
W ∞,∞ response norm
L∞ L∞ peak gain
past excitation system ring Hankel
In scheme (8) we might decide to use two different norms. We might assess the tracking
error r → ee in the H∞ -norm, and the influence of sensor noise on the control ns → u
e by the
H2 -norm. Then we obtain a mixed H∞ /H2 -control problem
minimize kTr→ee (P, K)k∞
subject to kTns →eu (P, K)k2 ≤ γ2
(18)
K stabilizes P internally
K = K(θ) has a fixed structure
e in response to white noise in the input ns .
where γ2 is some threshold limiting the energy of u
We may introduce the following more abstract setting. Consider a plant in state space form
ẋ A B∞ B2 B x
z∞ C∞ D∞ 0 D∞u
(19) P : w∞
z2 = C2 0 0 D2u w2
y C Dy∞ Dy2 0 u
13
where x ∈ Rnx is the state, u ∈ Rnu the control, y ∈ Rny the output, and where w∞ → z∞ is
the H∞ , w2 → z2 the H2 performance channel. This bring us to the following structured mixed
H2 /H∞ -synthesis problem.
minimize kTw2 →z2 (P, K)k2
subject to kTw∞ →z∞ (P, K)k∞ ≤ γ∞
(20)
K stabilizes P internally
K∈K
where K is a structured controller space as before, and γ∞ is a suitable threshold, now for
the H∞ -norm in the constraint. Notice that the H2 /H∞ - and H∞ /H2 -problems are equivalent
under suitable choices of γ2 and γ∞ .
One may immediately think about other multi-objective extensions of (1). For instance,
combining the H∞ -norm with time-domain constraints like in IFT, or H∞ /H∞ -control. For the
first theme we refer the reader to our solution presented in [19, 20], while H∞ /H∞ -control will
be addressed in the next section.
14
4 How to use hinfstruct
The new Matlab function hinfstruct based on our seminal paper [2] allows a large variety of
practical applications. This section presents several examples which will motivate the interested
user to integrate structured H∞ -synthesis into his or her menu of control design methods. For
more information on how to use hinfstruct see also
http://pierre.apkarian.free.fr/NEWALGORITHMS.html
http://www.math.univ-toulouse.fr/e noll/
http://www.mathworks.fr/help/toolbox/robust/ref/hinfstruct.html
where θ = (a, b) ∈ R2 is what is called the vector of tunable parameters, and what in the
optimization program (1) are the unknown variables. The commands to define this structure
are
a = realp(’a’,-1); % a is a parameter initialized as -1
b = realp(’b’,3);
A = [ 1 a+b ; 0 a*b ];
B = [ -3.0 ; 1.5 ]; C = [ 0.3 0 ]; D = 0;
Ksys = ss(A,B,C,D);
15
It turns out that we may transform (22) favorably into a program of the form
which is sometimes called a multi-disk problem [8]. For suitable choices of γ2 and β these two
programs are equivalent. However, since the maximum of two H∞ -norms is again an H∞ -norm
of an augmented plant, we can solve (23) directly via (1) with a new specific structure, which
consist in repeating K(θ). Schematically
w1 p p p p p p p p p p p p p ppp z
ppp - 1
pp
-
P1 pp
w pp z
- pp
pp p βz2
w2 -ppp
pp β -
(24) p P2
-pppp
pp p p p p p p p p p p p p p
u1 y1
u2 p p p p p p p p p p p p p ppp y2
ppp
pp
K(θ) pp
pp
pp
pp p
pp
pp
pp K(θ)
pp
pp
pp p p p p p p p p p p p p p
and the only connection between the two diagonal parts is the fact that the diagonal block of
K is repeated. The objective of (23) is then the channel w = (w1 , w2 ) → z = (z1 , βz2 ) of the
augmented plant. We may now have to update β in order to solve (24) for a specific γ2 .
16
r + e u y
- F (s) -g - L(s) - G(s) -
6
−
(25)
H(s)
1 5
Suppose G(s) and H(s) are given blocks, G(s) = (s+1) 2 and H(s) = s+4 . The unknown
controller K(s) regroups the block L(s) and the prefilter F (s). Let us say
ki kd s a
L(s) = kp + + , F (s) = ,
s 1 + Tf s s+a
where θ = (a, kp , ki , kd , Tf ) is the vector of tunable parameters. Then we have the following
commands to set up the controller
G = tf(1,[1 2 1]);
H = tf(5,[1 4]);
a = realp(’a’,10);
F = tf(a, [1 a ]);
kp = realp(’kp’,0);
ki = realp(’ki’,0);
kd = realp(’kd’,0);
Tf = realp(’Tf’,1);
L = tf([kd+Tf ki*Tf+1 ki],[Tf 1 0 ] );
T = feedback(G*L,H)*F;
Or we may recognize K to be a PID controller, which allows us to use a predefined structure
under the form
L = ltiblock.pid(’L’,’PID’);
The command
T.Blocks
will show the difference. The controller K consisting of the blocks F and L could also be
written in the standard form (2) as follows. Introduce
re = F r, ye = Hy, e = re − ye, u = Le, y = Gu
in (25), then
ξ˙3 = −aξ3 + a r −a a
F : F (s) :
re = ξ3 1 0
and
ξ˙1 = ri e 0 0 ri
L: ˙
ξ = −τ ξ2 + rd e L(s) : 0 −τ rd
2
u = ξ1 + ξ2 + d e 1 1 d
17
with the relations (9), (10). So together the controller K with three states ξ1 , ξ2 , ξ3 , inputs ye
and r, and output u, could be represented in state-space as
0 0 ri −ri 0
0 −τ rd −rd 0
K(θ) :
0 0 −a 0 a
1 1 d −d 0
where u(s) = K(θ, s)(e y (s), r(s))T . Here we have switched to θ = (a, τ, ri , rd , d), which is
equivalent to θ = (a, kp , ki , kd , Tf ) via (9), (10). Notice again that in both representations some
of the controller gains are repeated. The corresponding plant P is found as follows. We have
ẋ3 = −4x3 + 5y
H:
ye = x3
and
ẋ1 = x2
G: ẋ2 = −x1 − 2x2 + u
y = x1
Therefore
ẋ1 = x2
ẋ2 = −x1 − 2x2 +u
P :
ẋ3 = 5x1 − 4x3
ye = x3
to which we would add a performance channel w → z.
(
azref -
e )
d- LS -
w(
1
m z
az-
1 n- plant
LS
-
e qGain d az
azref e qref dq -
- e - PI - e- 1 Q u e-
-
-Q -? system
−6 −6 s
q
qref q
PI
e
? n
delta
qGain
Having extracted the plant from the simulink model, one marks the inputs and outputs
18
io = getlinio(’rct− airframe1’);
TunedBlocks = {’rct− airframe1/az Control’;’rct− airframe1/q Gain’};
P = linlft(’rct− airframe1’,io,TundedBlocks);
P.InputName = {’azref’,’d’,’n’,’qref’,’delta’ };
P.OutputName = {’e’,’az’,’ePI’,’qInt’};
Pdes = blkdiag(LS,eye(3)) * P * blkdiag(1/LS,1/m,eye(3));
PIO = ltiblock.pid(’azControl’,’pi’);
qGain0 = ltiblock.gain(’qGain’,0);
C = hinfstruct(Pdes,{PIO,qGain0},opt);
PI = pid(C{1});
qGain = ss(C{2});
CL = lft(P,blkdiag(PI,qGain));
ẋ1 = ki e
(PI)
qref = x1 + kp e
ẋ2 = qGain · dq
(qGain)
u = x2
However, if more SISO controller blocks are combined, it may be preferable and more natural
to work with transfer functions.
19
1
dnz
2
dm
V
dx
Thust gamma
Ground
Nz
Nzc
1 Kp dm
Elevator q
Load factor F(s)
reference
1 H
Ki Low pass
s+0.001 A/C
filter
Pseudo integrator
Kv
nq
2
Noise on q
Extracting the controller gives the following structure, where the tunable parameters are
θ = (kp , ki , kv , a, b). Notice the novelty here, we are considering the filter as unknown and
thereforeFlight
as partControl: High Angle
of the controller. of Attack
Standard Mode
procedures would design the filter first and then
tune ki , kDetermine
p , kv . WhenKp, Ki,elements
various Kv, a, b type are combined, we speak about a control
of this
architecture.
dNz
1 kp
Load factor
off-set
1 a dm
ki 1
s+0.001 - s2 +bs+a
Elevator
deflection
q
2 kv
Pitch rate
Now if we write down the state-space representation of this scheme in a straightforward way,
then we may end up with
x1
ẋ1 0 1 0 0 0
ẋ2 −a −b a ak −ak x2
(26)
K(θ) : = p v
x3
ẋ3 0 0 −0.001 ki 0 dNz
dm 1 0 0 0 0
q
which is according to definition 1, but gives a nonlinear parametrization. If we augment the
plant P artificially into a plant Pe, we may obtain an equivalent affine parametrization of the
controller:
x1
ẋ1 0 1 0 0 0 0
ẋ2 −a −b 0 a 0 0 x2
x3
(27) K(θ) : ẋ 3
= 0
0 −0.001 0 ki 0
e
dm 1 0 0 0 0 0
dNz
e 0 0 1 0 kp −kv
q
20
This requires passing e through the plant as indicated by the following figure, which explains
the meaning of the augmented plant Pe.
A B1 B2 A B1 0 B2
P: C1 D11 D12 C1 D11 0 D12
e:
P 0 0 I 0
C2 D21 D22
C2 D21 0 D22
w z w z
P P
u I
u y
e e
F K F y
Notice that what we highlighted by red and blue in (27) is a decentralized controller structure,
the one mentioned in section 2.3. Notice that if the problem is entered via the TF structure,
the user will not notice the difference between (26) and (27). It should also be clear that every
rational parametrization like (26) can be shuffled into an affine one using the same trick.
- G
(28) w +?
e
e - z
−6 We -
-
Gred
The model matching error is e = (G − Gred )w, and after adding a suitable filter We , we might
want to have w → z small in a suitable norm. The Hankel norm reduction method minimizes
21
kWe (G − Gred )kH in the Hankel norm k · kH , the advantage being that the solution can be
obtained by linear algebra. A more natural norm would be the H∞ -norm, but the classical
balanced reduction method gives only upper bounds of kWe (G − Gred )k∞ .
But we can solve the H∞ -norm reduction problem directly as a special case of (1). In the
case z = e without filter we can pass to the standard form by considering the plant
A B 0 A B1 B2
(29) P : C D −I = C1 D11 D12
0 I 0 C2 D21 0
then Gred is the controller, which is of fixed reduced-order. The approach can be put to way as
follows.
We have tested this with a 15th order Rolls-Royce Spey gas turbine engine model, decribed
in [27, Chapter 11.8, p. 463]. The data are available for download on I. Postlethwaites’s
homepage as aero0.mat.
load aero0
G = G− eng;
A = G.a;
B = G.b;
C = G.c ;
D = G.d ;
Define the plant according to (29):
[nbout,nbin] = size(D);
Aplant = A;
Bplant = [ B zeros(n,nbout) ];
Cplant = [C
zeros(nbin,n) ];
Dplant = [ D -eye(nbout)
eye(nbin) zeros(nbin,nbout) ];
Plant = ss(Aplant,Bplant,Cplant,Dplant);
Now define the structure of the ”controller”, which in this case is nothing else but the reduced-
order system Gred in (28). Let the reduced order be k ≤ n. (In the example we have n = 15,
k = 6.) Then
Red = ltiblock.ss(’reduced’,k,nbout,nbin);
Now we are ready to run hinfstruct. We could for instance do the following. Increase the
maximum number of iterations to 900 (default is 300), and allow 6 random restarts.
Opt = hinfstructOptions(’MaxIter’,900,’RandomStart’,6);
[Gred,gam,info] = hinfstruct(Plant,Red,Opt);
The result is the following output.
Final: Peak gain = 0.17, Iterations = 743
Final: Peak gain = 0.382, Iterations = 900
Final: Peak gain = 0.808, Iterations = 553
22
Final: Peak gain = 0.768, Iterations = 550
Final: Peak gain = 0.65, Iterations = 422
Final: Peak gain = 0.77, Iterations = 591
Final: Peak gain = 0.236, Iterations = 900
Final: Peak gain = 0.44, Iterations = 900
Final: Peak gain = 0.169, Iterations = 794
Final: Peak gain = 0.535, Iterations = 900
Final: Peak gain = 0.794, Iterations = 538
Final: Peak gain = 0.176, Iterations = 900
Final: Peak gain = 0.638, Iterations = 561
Final: Peak gain = 0.555, Iterations = 900
Final: Peak gain = 0.43, Iterations = 788
Final: Peak gain = 0.486, Iterations = 900
Final: Peak gain = 0.169, Iterations = 845
Final: Peak gain = 0.419, Iterations = 634
Final: Peak gain = 0.49, Iterations = 900
Final: Peak gain = 0.742, Iterations = 900
Final: Peak gain = 0.169, Iterations = 758
As we can see, the best error is kG − Gred k∞ = 0.169, but various other local minima are found,
so without testing several initial guesses (here at random), we could not rely on a single run.
However, system reduction is a situation where we can do much better. Why not initialize
the optimization using one of the standard reductions, like the Hankel norm reduction, or a
balanced truncation? Here is how to do it.
[Gb,hsig]=balreal(G);
[Gh,HankInfo]=hankelmr(Gb,k);
Ah = Gh.a;
Bh = Gh.b;
Ch = Gh.c;
Dh = Gh.d;
So far we have the state-space form of the 6th order Hankel reduced model Gh . Now we initialize
the tunable structure Red as this reduced-order model Gh . That is done via the structure Value.
Red.a.Value = Ah;
Red.b.Value = Bh;
Red.c.Value = Ch;
Red.d.Value = Dh;
Opt = hinfstructOptions(’MaxIter’,900);
[Gred,gam,info] = hinfstruct(Plant,Red,Opt);
This time the result is much more efficient. The output is
State-space model with 3 outputs, 3 inputs, and 6 states.
Final: Peak gain = 0.169, Iterations = 25
That means, the seemingly global minimum with kG − Gred k∞ = 0.169 is reached very fast,
and no random restarts are used.
23
This is a somewhat surprising application of hinfstruct, be-
cause we have an H∞ -filtering problem, not an H∞ -control
problem. The plant P is not controllable, and it is stabiliz-
able only because A is stable.
where the system matrices depend smoothly on the measured output y. It appears therefore
natural to devise a controller of the form
ẋK = AK (y)xK + BK (y)y
(31) K(y) :
u = CK (y)xK + DK (y)y
which uses the same measurement y available in real time. A natural idea, going back to [25],
is to consider y like a time-varying external parameter p and pre-compute K(p) for P (p) for
a large set p ∈ Π of possible parameter values. In flight control for instance Π is the flight
envelope p = (h, V ) ∈ R2 , indexed by altitude h and ground speed V , or sometimes by Mach
number and dynamic pressure.
We now propose the following control strategy. In a first step we pre-compute the optimal
H∞ controller K ∗ (p) for every p ∈ Π using program (1):
The solution K ∗ (p) of (32) has the structure K. In the terminology of [25] is the best way to
control the system P (p) frozen at p(t) = y(t) instantaneously. In other words, at instant t, we
apply the control law K ∗ (y(t)) based on the real-time measurement y(t).
24
There are two limitations to this ideal approach. Firstly, the ideal table {K ∗ (p) : p ∈ Π},
computed by hinfstruct, may be too large. And secondly, the behavior of K ∗ (p) as a function
of p may be quite irregular. In fact, this is what has stopped this idea in the past2 . With
structured control laws K(θ) the situation is substantially improved, because one can use fewer
degrees of freedom in θ.
What we have tested in [26] is a compromise between optimality of K ∗ (p) in the sense
of program (32), the necessity to avoid irregular behavior of the curves p 7→ K ∗ (p), and the
storage requirement of such a law. We use the following definition. A controller parametrization
p 7→ K(p) of the given structure K is admissible for the control of P (y) if the following holds.
K(p) stabilizes P (p) internally for every p ∈ Π, and
for every p ∈ Π, where α is some fixed threshold. Typically, α = 0.1%. We now seek a
parametrization K(p) which is close to the ideal H∞ -parametrization K ∗ (p) in the sense that
(33) is respected, but otherwise is easy to store (to embed) and shows as regular a behavior as
possible. Notice that (33) allows K(p) to lag behind K ∗ (p) in performance by no more than
100α%.
Acknowledgement
The authors acknowledge funding by Agence Nationale de Recherche (ANR) under grants
Guidage and Controvert, by Fondation d’Entreprise EADS under grants Solving Challenging
Problems in Control and Technicom, and by Fondation de Recherche pour l’Aéronautique et
l’Espace under grant Survol.
References
[1] Zames, G. (1981). ”Feedback and optimal sensitivity: model reference transformations,
multiplicative seminorms, and approximate inverses,” IEEE Transactions on Automatic
Control, vol. AC-26, pp. 301-320.
[2] Apkarian, P., D. Noll (2006). ”Nonsmooth H∞ -synthesis,” IEEE Transactions on Auto-
matic Control, vol. 51, no. 1, pp. 229-244.
[3] Zames, G. (1966). ”On the input-output stability of nonlinear time-varying feedback sys-
tems, part I and II,” IEEE Transactions on Automatic Control, vol. AC-11, pp. 228 and
465.
[4] Doyle, J.C., K. Glover, P.P. Khargonekar, B.A. Francis (1989). ”State-space solutions to
standards H2 and H∞ control problems,” IEEE Transactions on Automatic Control, vol.
AC-34, no. 8, pp. 831-847.
2
When ARE solvers were the only tools available to compute H∞ -controllers, the idea to embed such a solver
into the system came obviously to mind. This failed not due to lack of speed, but due to the highly irregular
∗
behavior of p 7→ Kfull (p).
25
[5] Doyle, J. C. (1996). ”Robust and optimal control,” Proceedings of the 35th Conference on
Decision and Control, Kobe, Japan, Conference Proceedings, pp. 1595 – 1598.
[6] Gahinet, P., P. Apkarian (1994). ”A linear matrix inequality approach to H∞ control”.
International Journal of Robust and Nonlinear Control, 4:421-448.
[7] D.C. Hyland, D.S. Bernstein. ”The optimal projection equations for fixed-order dy-
namic compensation.” IEEE Trans. Autom. Control, vol. AC-29, no. 11, pp. 1034-1037.
[9] P. Apkarian, D. Noll (2007). ”Nonsmooth optimization for multiband frequency domain
control design.” Automatica, vol. 43, no. 4, pp. 724 - 731.
[10] P. Apkarian, D. Noll, O. Prot (2008). ”A trust region spectral bundle method for nonconvex
eigenvalue optimization.” SIAM Journal on Optimization, vol. 19, no. 1, pp. 281 – 306.
[12] P. Apkarian, D. Noll, O. Prot (2009). ”A proximity control algorithm to minimize non-
smooth and nonconvex semi-infinite maximum eigenvalue functions”. Journal of Convex
Analysis, vol. 16, no. 3 & 4, pp. 641 – 666.
[13] Noll, D. (2010). ”Cutting plane oracles to minimize nonsmooth and nonconvex functions.”
Journal of Set-Valued and Variational Analysis, vol. 18, no. 3-4, pp. 531 – 568.
[14] V.D. Blondel, J.N. Tsitsiklis (1997). ”NP-hardness of some linear control design problems”,
SIAM J. of Control and Opt., 35:6, pp. 2118-2127.
[15] P. Apkarian, A. Simoes, D. Noll (2008), ”A nonsmooth progress function algorithm for
frequency shaping control design”. IET Control Theory & Applications, vol. 2, no. 4, pp.
323 - 336.
[17] J.C. Doyle, K. Zhou, and B. Bodenheimer (1989). ”Optimal control with mixed H2 and
H∞ performance objectives”. Proceedings of the American Control Conference, vol.3, pp.
2065–2070.
[18] P. Apkarian, D. Noll, A. Rondepierre (2008). ”Mixed H2 /H∞ control via nonsmooth opti-
mization”. SIAM Journal on Control and Optimization, vol. 47, no. 3, pp. 1516-1546.
26
[20] P. Apkarian, D. Noll, A. Simões (2009). ”Time domain control design: a nonsmooth ap-
proach”. IEEE Transactions on Control Systems Technology, vol. 17, no. 6, 1439 – 1445.
[22] P. Apkarian (2011). ”Nonsmooth µ-synthesis”, International Journal of Robust and Non-
linear Control, vol. 21(8), pp. 1493-1508.
[24] M. Gabarrou, D. Alazard, D. Noll (2010). ”Structured flight control law design using non-
smooth optimization”. 18th IFAC Symposium on Automatic Control in Aerospace (ACA
2010), september 6-10, Nara, Japan.
[25] J.S. Shamma, M. Athans (1990). ”Analysis of gain scheduled control for nonlinear plants”,
IEEE Transactions on Automatic Control, vol. 35, no. 4, pp. 898 – 907.
27