robust and lpv control of mimo systems part 2: h controlo.sename/docs/hinfcontrol.pdf · robust and...
TRANSCRIPT
Robust and LPV control of MIMO systemsPart 2: H∞ control
Olivier Sename
GIPSA-Lab
Tecnologico de Monterrey, July 2016
Olivier Sename (GIPSA-Lab) Robust and LPV control - part 2 Tecnologico de Monterrey, July 2016 1 / 47
1. What is theH∞ performance?TheH∞ norm definitionH∞ norm as a measure of the system gain ?How to compute theH∞ norm?
2. What isH∞ control?
3. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach forH∞ control design
4. WhyH∞ control is adapted to control engineering?Performance analysis using the sensitivity functionsPerformance specifications in view ofH∞ control design
SISO caseMIMO case
The mixed sensitivityH∞ control design
O. Sename [GIPSA-lab] 2/47
What is theH∞ performance? TheH∞ norm definition
H∞ norm
Definition (H∞ norm)
The H∞ norm of a proper LTI system defined by the state space representation (A,B,C,D) frominput w(t) to output z(t) and which belongs to RH∞, is the induced energy-to-energy gain(induced L2 norm) defined as,
‖G(jω)‖∞ = supω∈R σ (G(jω))
= supw(s)∈H2
‖z(s)‖2‖w(s)‖2
= maxw(t)∈L2
‖z‖2‖w‖2
(1)
Remark
H∞ physical interpretations• This norm represents the maximal gain of the frequency response of the system. It is also
called the worst case attenuation level in the sense that it measures the maximumamplification that the system can deliver on the whole frequency set.
• For SISO (resp. MIMO) systems, it represents the maximal peak value on the Bodemagnitude (resp. singular value) plot of G(jω), in other words, it is the largest gain if thesystem is fed by harmonic input signal.
• Unlike H2 , the H∞ norm cannot be computed analytically. Only numerical solutions can beobtained (e.g. Bisection algorithm, or LMI resolution).
O. Sename [GIPSA-lab] 3/47
What is theH∞ performance? H∞ norm
Illustration
For a SISO system, z = Gd, the gain at a given frequency is simply
|z(ω)||d(ω)|
=|G(jω)d(ω)||d(ω)|
= |G(jω)|
The gain depends on the frequency, but since the system is linear it is independent of the inputmagnitudeFor a MIMO system we may select:
‖z(ω)‖2‖d(ω)‖2
=‖G(jω)d(ω)‖2‖d(ω)‖2
= ‖G(jω)‖2
Which is "independent" of the input magnitude. But this is not a correct definition. Indeed the inputdirection is of great importance
O. Sename [GIPSA-lab] 4/47
What is theH∞ performance? H∞ norm
A first ’bad’ approach
Let consider
G =
[5 43 2
]How to define and evaluate its gain ?Consider five different inputs:
d =
(10
)d =
(01
)d =
(0.7070.707
)d =
(0.707−0.707
)d =
(0.6−0.8
)Input magnitude :
‖d1‖2 = ‖d2‖2 = ‖d3‖2 = ‖d4‖2 = ‖d5‖2 = 1
But the corresponding outputs are
z =
(53
)z =
(42
)z =
(6.36303.5350
)z =
(0.70700.7070
)z =
(−0.20.2
)and
the ratio are ‖z‖2/‖d‖25.8310 4.4721 7.2790 0.9998 0.2828
O. Sename [GIPSA-lab] 5/47
What is theH∞ performance? H∞ norm
Towards SVD
O. Sename [GIPSA-lab] 6/47
MAXIMUM SINGULAR VALUE
maxd 6=0
‖Gd‖2‖d‖2
= σ(G)
MINIMUM SINGULAR VALUE
mind 6=0
‖Gd‖2‖d‖2
= σ(G)
We see that, depending on the ratiod20/d10, the gain varies between 0.27and 7.34 .
What is theH∞ performance? H∞ norm
What about eigenvalues ?
Eigenvalues are a poor measure of gain. Let
G =
[0 1000 0
]Eigenvalues are 0 and 0.But an input vector [
01
]leads to an output vector [
1000
].
Clearly the gain is not zero.Now, the maximal singular value is = 100It means that any signal can be amplified at most 100 timesThis is the good gain notion.
O. Sename [GIPSA-lab] 7/47
What is theH∞ performance? H∞ norm
Characterization of the H∞ norm as induced L2 norm
Finally, in the case of a transfer matrix G(s) : (m inputs, p outputs) u vector of inputs, y vector ofoutputs.
σ(G(jω)) ≤‖z(ω)‖2‖d(ω)‖2
≤ σ(G(jω))
O. Sename [GIPSA-lab] 8/47
Example of A two-mass/spring/damper system2 inputs: F1 and F2 2 outputs: x1 and x2
Singular Values
Frequency (rad/sec)S
ingu
lar V
alue
s (d
B)
10-1
100
101
102
-100
-80
-60
-40
-20
0
20
40
Hinf norm 11.4664 = 21.18 dB
smallest singular value
largest singular value
G=ss(A,B,C,D): LTI systemnormhinf(G): Compute Hinf normnorm(G,inf): Compute Hinf normsigma(G): plot max and min SV
What is theH∞ performance? H∞ norm computation
How to compute the H∞ norm?
As said before, H∞ norm cannot be computed analytically. Only numerical solutions can beobtained (e.g. Bisection algorithm, or LMI resolution).
Method 1: Since ‖G(jω)‖∞ = supω∈R σ (G(jω)), the intuitive computation is to get thepeak on the Bode magnitude plot, which can be estimated using a thin grid offrequency points, {ω1, . . . , ωN}, and then:
‖G(jω)‖∞ ≈ max1≤k≤N
σ{G(jωk)}
Method 2: Let the dynamical system G = (A,B,C,D) ∈ RH∞ :||G||∞ < γ if and only if σ (D) < γ and the Hamiltonian H has no eigenvalueson the imaginary axis, where
H =
(A+BR−1DTC BR−1BT
−CT (In +DR−1DT )C −(A+BR−1DTC)
)and R = γ2 −DTD
Use norm(sys,inf)or hinfnorm(sys,tol)in Matlab.Method 3 (Bounded Real Lemma): A dynamical system G = (A,B,C,D) is internally stable and
with an ||G||∞ < γ if and only is there exists a positive definite symmetric matrixP (i.e P = PT > 0 s.t AT P + P A P B CT
BT P −γ I DT
C D −γ I
< 0, P > 0. (2)
O. Sename [GIPSA-lab] 9/47
What isH∞ control?
Outline
1. What is the H∞ performance?The H∞ norm definitionH∞ norm as a measure of the system gain ?How to compute the H∞ norm?
2. What is H∞ control?
3. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach for H∞ control design
4. Why H∞ control is adapted to control engineering?Performance analysis using the sensitivity functionsPerformance specifications in view of H∞ control design
SISO caseMIMO case
The mixed sensitivity H∞ control design
O. Sename [GIPSA-lab] 10/47
What isH∞ control?
Towards H∞ control: the General Control Configuration
This approach has been introduced by Doyle (1983). The formulation makes use of the generalcontrol configuration.
P is the generalized plant (contains the plant, the weights, the uncertainties if any) ; K is thecontroller. The closed-loop transfer matrix from w to z is given by:
TZw(s) = Fl(P,K) = P11 + P12K(I − P22K)−1P21
where Fl(P,K) is referred to as a lower Linear Fractional Transformation.
O. Sename [GIPSA-lab] 11/47
What isH∞ control?
Problem definition
The overall control objective is to minimize some norm of the transfer function from w to z , forexample, the H∞ norm.
Definition (H∞ optimal control problem)
H∞ control problem: Find a controller K(s) which based on the information in y, generates acontrol signal u which counteracts the influence of w on z, thereby minimizing the closed-loopnorm from w to z.
Definition (H∞ suboptimal control problem)
Given γ a pre-specified attenuation level, a H∞ sub-optimal control problem is to design astabilizing controller that ensures :
‖Tzw(s)‖∞ = maxω
σ(Tzw(jω)) ≤ γ
The optimal problem aims at finding γmin (done using hinfsyn in MATLAB).
O. Sename [GIPSA-lab] 12/47
How to solve an H∞ control problem?
Outline
1. What is the H∞ performance?The H∞ norm definitionH∞ norm as a measure of the system gain ?How to compute the H∞ norm?
2. What is H∞ control?
3. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach for H∞ control design
4. Why H∞ control is adapted to control engineering?Performance analysis using the sensitivity functionsPerformance specifications in view of H∞ control design
SISO caseMIMO case
The mixed sensitivity H∞ control design
O. Sename [GIPSA-lab] 13/47
How to solve an H∞ control problem? The Static State feedback case
A first case: the state feedback control problem
Let consider the system:
x(t) = Ax(t) +B1w(t) +B2u(t) (3)
z(t) = Cx(t) +D11w(t) +D12u(t)
The objective is to find a state feedback control law u = −Kx s.t:
‖Tzw(s)‖∞ ≤ γ
The method consists in applying the Bounded Real Lemma to the closed-loop system, and thentry to obtain some convex solutions (LMI formulation).This is achieved if and only is there exists a positive definite symmetric matrix P (i.e P = PT > 0 s.t
(A−B2K)T P + P (A−B2K) P B1 CT
? −γ I DT
? ? −γ I
< 0, P > 0. (4)
O. Sename [GIPSA-lab] 14/47
How to solve an H∞ control problem? The Static State feedback case
Solution of the state feedback control problem
Use of change of variables
First, left and right multiplication by diag(P−1, In, In), and use Q = P−1 and Y = −KP−1. Itleads to AQ +B2Y + QAT + YTBT2 B1 QCT − YTDT12
? −γ I DT11? ? −γ I
< 0, Q > 0. (5)
The state feedback controller is then:K = −YQ−1
O. Sename [GIPSA-lab] 15/47
How to solve an H∞ control problem? The Dynamic Output feedback case
The Dynamic Output feedback case
It will be shown how to formulate such a control problem using "classical" control tools. Theprocedure will be 2-steps:
Get P : Build the General Control Configuration scheme s.t. the closed-loop systemmatrix does correspond to the tackled H∞ problem (for instance the mixedsensitivity problem). Use of Matlab, sysic tool.A state space representation of P , the generalized plant, is needed.
Compute K: Use an optimisation algorithm that finds the controller K solution of theconsidered problem.The calculation of the controller, solution of theH∞ control problem , can then bedone using the Riccati approach or the LMI approach of the H∞ control problem[Zhou et al.(1996)Zhou, Doyle, and Glover] [Skogestad and Postlethwaite(1996)].
Notations:
P
x = Ax+B1w +B2uz = C1x+D11w +D12uy = C2x+D21w +D22u
⇒ P =
A B1 B2
C1 D11 D12
C2 D21 D22
withx ∈ Rn: { plant state variables ∪ state variables of weights}w ∈ Rnw : external inputs u ∈ Rnu control inputsz ∈ Rnz : controlled outputs y ∈ Rny measured outputs (inputs of the controller)
O. Sename [GIPSA-lab] 16/47
How to solve an H∞ control problem? The Dynamic Output feedback case
Problem formulation
Let K(s) be a dynamic output feedback LTI controller defined as
K(s) :
{xK(t) = AK xK(t) +BK y(t),u(t) = CK xK(t) +DK y(t).
where xK ∈ Rn, and AK , BK , CK and DK are matrices of appropriate dimensions.Remark. The controller will be considered here of the same order (same number of state variables)n than the generalized plant, which here, in the H∞ framework, the order of the optimal controller.With P (s) and K(s), the closed-loop system N(s) is:
N(s) :
{xcl(t) = ACL xcl(t) + BCL w(t),z(t) = CCL xcl(t) +DCL w(t),
(6)
where xTcl(t) =[xT (t) xTK(t)
]and
ACL =
(A+B2 DK C2 B2 CK
BK C2 AK
),
BCL =
(B1 +B2 DK D21
BK D21
),
CCL =(C1 +D12 DK C2, D12 CK
),
DCL = B1 +B2 DK D21.
The aim is of course to find matrices AK , BK , CK and DK s.t. the H∞ norm of the closed-loopsystem (6) is as small as possible, i.e. γopt = min γ s.t. ||N(s)||∞ < γ.
O. Sename [GIPSA-lab] 17/47
How to solve an H∞ control problem? The Riccati approach
Asuumptions for the Riccati method
A1: (A,B2) stabilizable and (C2, A) detectable: necessary for the existence of stabilizingcontrollers
A2: rank(D12) = nu and rank(D21) = ny : Sufficient to ensure the controllers are proper, hencerealizable
A3: ∀ω ∈ R, rank(
A− jωIn B2
C1 D12
)= n+ nu
A4: ∀ω ∈ R, rank(
A− jωIn B1
C2 D21
)= n+ ny Both ensure that the optimal controller does
not try to cancel poles or zeros on the imaginary axis which would result in CL instability
A5:
D11 = 0, D22 = 0, D12T [ C1 D12 ] =
[0 Im2
],
[B1
D21
]D21
T =
[0Ip2
]not necessary but simplify the solution (does correspond to the given theorem next but can beeasily relaxed)
O. Sename [GIPSA-lab] 18/47
How to solve an H∞ control problem? The Riccati approach
The problem solvability
The first step is to check whether a solution does exist of not, to the optimal control problem.
Theorem (1)
Under the assumptions A1 to A5, there exists a dynamic output feedback controlleru(t) = K(.) y(t) such that the closed-loop system is internally stable and the H∞ norm of theclosed-loop system from the exogenous inputs w(t) to the controlled outputs z(t) is less than γ, ifand only if
i the Hamiltonian H =
(A γ−2 B1 BT1 −B2 BT2
−C1 CT1 −AT)
has no eigenvalues on the
imaginary axis.
ii there exists X∞ ≥ 0 t.q. AT X∞+X∞ A+X∞ (γ−2 B1 BT1 −B2 BT2 ) X∞+CT1 C1 = 0,
iii the Hamiltonian J =
(AT γ−2 CT1 C1 − CT2 C2
−B1 BT1 −A
)has no eigenvalues on the
imaginary axis.
iv there exists Y∞ ≥ 0 t.q. A Y∞ + Y∞ AT + Y∞ (γ−2 CT1 C1 − CT2 C2) Y∞ +B1 BT1 = 0,
v the spectral radius ρ(X∞ Y∞) ≤ γ2.
O. Sename [GIPSA-lab] 19/47
How to solve an H∞ control problem? The Riccati approach
Controller reconstruction
Theorem (2)
If the necessary and sufficient conditions of the Theorem 1 are satisfied, then the so-called centralcontroller is given by the state space representation
Ksub(s) =
[A∞ −Z∞L∞F∞ 0
]with
A∞ = A+ γ−2B1BT1 X∞ +B2F∞ + Z∞L∞C2
F∞ = −BT2 X∞, L∞ = −Y∞CT2Z∞ =
(I − γ−2Y∞X∞
)−1
The Controller structure is indeed an observer-based state feedback control law, with
u2(t) = −BT2 X∞ x(t),
where x(t) is the observer state vector
˙x(t) = A x(t) +B1 w(t) +B2 u(t) + Z∞ L∞(C2 x(t)− y(t)
). (7)
and w(t) is defined as
w(t) = γ−2 BT1 X∞ x(t).
Remark. w(t) is an estimation of the worst case disturbance. Z∞ L∞ is the filter gain for the OEproblem of estimating x(t) in the presence of the worst case disturbance
O. Sename [GIPSA-lab] 20/47
How to solve an H∞ control problem? The LMI approach forH∞ control design
The LMI approach for H∞ control design- Solvability
In this case only A1 is necessary. The solution is base on the use of the Bounded Real Lemma,and some relaxations that leads to an LMI problem to be solved [Scherer(1990)].when we refer to the H∞ control problem, we mean: Find a controller K for system P such that,given γ∞,
||Fl(P,K)||∞ < γ∞ (8)
The minimum of this norm is denoted as γ∗∞ and is called the optimal H∞ gain. Hence, it comes,
γ∗∞ = min(AK ,BK ,CK ,DK)s.t.σACL⊂C−
‖Tzw(s)‖∞ (9)
As presented in the previous sections, this condition is fulfilled thanks to the BRL. As a matter offact, the system is internally stable and meets the quadratic H∞ performances iff. ∃ P = PT � 0such that, ATCLP + PACL PBCL CTCL
BTCLP −γ22I DTCLCCL DCL −I
< 0 (10)
where ACL, BCL, CCL, DCL are given in (6). Since this inequality is not an LMI and not tractablefor SDP solver, relaxations have to be performed (indeed it is a BMI), as proposed in[Scherer et al.(1997b)Scherer, Gahinet, and Chilali].
O. Sename [GIPSA-lab] 21/47
How to solve an H∞ control problem? The LMI approach forH∞ control design
The LMI approach for H∞ control design- Problem solution
Theorem (LTI/H∞ solution [Scherer et al.(1997a)Scherer, Gahinet, and Chilali])
A dynamical output feedback controller of the form K(s) =
[AK BKCK DK
]that solves the H∞
control problem, is obtained by solving the following LMIs in (X, Y, A, B, C and D), whileminimizing γ∞,
M11 (∗)T (∗)T (∗)TM21 M22 (∗)T (∗)TM31 M32 M33 (∗)TM41 M42 M43 M44
≺ 0
[X InIn Y
]� 0
(11)
where,
M11 = AX + XAT +B2C + CTBT2 M21 = A +AT + CT2 D
TBT2
M22 = YA+ATY + BC2 + CT2 BT
M31 = BT1 +DT21DTBT2
M32 = BT1 Y +DT21BT
M33 = −γ∞Inu
M41 = C1X +D12C M42 = C1 +D12DC2
M43 = D11 +D12DD21 M44 = −γ∞Iny
(12)
O. Sename [GIPSA-lab] 22/47
How to solve an H∞ control problem? The LMI approach forH∞ control design
Controller reconstruction
Once A, B, C, D, X and Y have been obtained, the reconstruction procedure consists in findingnon singular matrices M and N s.t. M NT = I −X Y and the controller K is obtained as follows
DK = DCK = (C−DcC2X)M−T
BK = N−1(B− YB2Dc)
AK = N−1(A− YAX− YB2DcC2X−NBcC2X− YB2CcMT )M−T
(13)
where M and N are defined such that MNT = In −XY (that can be solved through a singularvalue decomposition plus a Cholesky factorization).Remark. Note that other relaxation methods can be used to solve this problem, as suggested by[Gahinet(1994)].
O. Sename [GIPSA-lab] 23/47
WhyH∞ control is adapted to control engineering?
Outline
1. What is the H∞ performance?The H∞ norm definitionH∞ norm as a measure of the system gain ?How to compute the H∞ norm?
2. What is H∞ control?
3. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach for H∞ control design
4. Why H∞ control is adapted to control engineering?Performance analysis using the sensitivity functionsPerformance specifications in view of H∞ control design
SISO caseMIMO case
The mixed sensitivity H∞ control design
O. Sename [GIPSA-lab] 24/47
WhyH∞ control is adapted to control engineering?
Introduction
Objectives of any control system [Skogestad and Postlethwaite(1996)]shape the response of the system to a given reference and get (or keep) a stable system inclosed-loop, with desired performances, while minimising the effects of disturbances andmeasurement noises, and avoiding actuators saturation, this despite of modelling uncertainties,parameter changes or change of operating point.This is formulated as:
Nominal stability (NS): The system is stable with the nominal model (no model uncertainty)
Nominal Performance (NP): The system satisfies the performance specifications with the nominalmodel (no model uncertainty)
Robust stability (RS): The system is stable for all perturbed plants about the nominal model, up tothe worst-case model uncertainty (including the real plant)
Robust performance (RP): The system satisfies the performance specifications for all perturbedplants about the nominal model, up to the worst-case model uncertainty(including the real plant).
O. Sename [GIPSA-lab] 25/47
WhyH∞ control is adapted to control engineering? Sensitivity functions
A 1 d-o-f control scheme
Figure: Complete control scheme
The output & the control input satisfy the following equations :
(Ip +G(s)K(s))y(s) = (GKr + dy −GKn+Gdi)(Im +K(s)G(s))u(s) = (Kr −Kdy −Kn−KGdi)
BUT : K(s)G(s) 6= G(s)K(s) !!
O. Sename [GIPSA-lab] 26/47
WhyH∞ control is adapted to control engineering? Sensitivity functions
Definition of the sensitivity functions: MIMO case
Definitions
Output and Output complementary sensitivity functions:
Sy = (Ip +GK)−1, Ty = (Ip +GK)−1GK, Sy + Ty = Ip
Input and Input complementary sensitivity functions:
Su = (Im +KG)−1, Tu = KG(Im +KG)−1, Su + Tu = Im
Properties
Ty = GK(Ip +GK)−1
Tu = (Im +KG)−1KGSuK = KSy
The SISO case
"Output" Sensitivity function S(s) = 11+GK(s)
Complementary Sensitivity function T (s) =GK(s)
1+GK(s)
"Controller" Sensitivity function KS(s) = 11+GK(s)
"Input" Sensitivity function SG(s) = G1+GK(s)
O. Sename [GIPSA-lab] 27/47
WhyH∞ control is adapted to control engineering? Sensitivity functions
MIMO Input/Output performances
Defining two new ’sensitivity functions’:Plant Sensitivity: SyG = Sy(s).G(s)Controller Sensitivity: KSy = K(s).Sy(s)
O. Sename [GIPSA-lab] 28/47
WhyH∞ control is adapted to control engineering? Performance specifications
Outline
1. What is the H∞ performance?The H∞ norm definitionH∞ norm as a measure of the system gain ?How to compute the H∞ norm?
2. What is H∞ control?
3. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach for H∞ control design
4. Why H∞ control is adapted to control engineering?Performance analysis using the sensitivity functionsPerformance specifications in view of H∞ control design
SISO caseMIMO case
The mixed sensitivity H∞ control design
O. Sename [GIPSA-lab] 29/47
WhyH∞ control is adapted to control engineering? Performance specifications
Framework... templates
Objective : good performance specifications are important to ensure better control systemmean : give some templates on the sensitivity functionsFor simplicity, presentation for SISO systems first.Sketch of the method:• Robustness and performances in regulation can be specified by imposing frequential
templates on the sensitivity functions.• If the sensitivity functions stay within these templates, the control objectives are met.• These templates can be used for analysis and/or design. In the latter they are considered as
weights on the sensitivity functions• The shapes of typical templates on the sensitivity functions are given in the following slides
Mathematically, these specifications may be captured by an upper bound, on the magnitude of asensitivity function, given by another transfer function, as for S:
|S(jω)| ≤1
|We(jω)|, ∀ω ⇔ ‖WeS‖∞ ≤ 1
where We(s) is a WEIGHT selected by the designer.
O. Sename [GIPSA-lab] 30/47
WhyH∞ control is adapted to control engineering? Performance specifications
Template on the sensitivity function - Weighted sensitivity
Typical specifications in terms of S include:1 Minimum bandwidth frequency ωS2 Maximum tracking error at selected frequencies.3 System type, or the maximum steady-state tracking error ε04 Shape of S over selected frequency ranges.5 Maximum peak magnitude of S, ||S||∞ < MS .
The peak specification prevents amplification of noise at high frequencies, and also introduces amargin of robustness; typically we select MS = 2.
O. Sename [GIPSA-lab] 31/47
WhyH∞ control is adapted to control engineering? Performance specifications
Template on the sensitivity function S
O. Sename [GIPSA-lab] 32/47
S(s) =1
1 +K(s)G(s)
1
We(s)=
s+ ωbε
s/MS + ωb
Generally ε ' 0 is considered, MS < 2(6dB) or (3dB - cautious) to ensuresufficient module margin.ωb influences the CL bandwidth : ωb ↑• faster rejection of the disturbance• faster CL tracking response• better robustness w.r.t. parametric
uncertainties
Template on the Sensitivity function S
Frequency (rad/sec)
Sin
gula
r V
alue
s (d
B)
10−4
10−2
100
102
104
106−60
−50
−40
−30
−20
−10
0
10Template on the sensitivity function S
MS = 2 (6dB)
ε = 1e − 3
ωb s.t. |1/We| = 0dB
WhyH∞ control is adapted to control engineering? Performance specifications
Template on the function KS
O. Sename [GIPSA-lab] 33/47
KS(s) =K(s)
1 +K(s)G(s)
1
Wu(s)=
ε1s+ ωbc
s+ ωbc/Mu
Mu chosen according to LF behavior ofthe process (actuator constraints:saturations)ωbc influences the CL bandwidth : ωbc ↓• better limitation of measurement
noises• roll-off starting from ωbc to reduce
modeling errors effects
Template on the Controller*Sensitivity KS
Frequency (rad/sec)
Sin
gula
r V
alue
s (d
B)
100
105
−60
−50
−40
−30
−20
−10
0
10
M u = 2
ω bc fo r |1 / W u| = 0 d B
ε c = 1 e -3
WhyH∞ control is adapted to control engineering? Performance specifications
Template on the function T
O. Sename [GIPSA-lab] 34/47
T (s) =K(s)G(s)
1 +K(s)G(s)
1
WT (s)=
εT s+ ωbt
s+ ωbt/MT
Generally εT ' 0 is considered, MSG
allows to limit the overshoot in theresponse to input disturbances.ωSG influences the bandwidth hence thetransient behavior of the disturbancerejection properties: ωbt ↓• better noise effects rejection• better filtering of HF modelling errors
10−4
10−2
100
102
104
106−60
−50
−40
−30
−20
−10
0
10Template on the Complementary sensitivity function T
Frequency (rad/sec)
Sin
gula
r V
alue
s (d
B) MT =1.5
εT =1e-3
ωbT s.t. |1/WT | = 0 dB
WhyH∞ control is adapted to control engineering? Performance specifications
Template on the function SG
O. Sename [GIPSA-lab] 35/47
SG(s) =G(s)
1 +K(s)G(s)
1
WSG(s)=
s+ ωSGεSG
s/MSG + ωSG
Generally εSG ' 0 is considered,MT < 1.5 (3dB) to limit the overshoot.ωSG influences the CL bandwidth :ωSG ↑ =⇒ faster rejection of thedisturbance.
10−4
10−2
100
102
104
106−40
−30
−20
−10
0
10
20 Template on the Sensitivity*Plant SG
Frequency (rad/sec)
Sin
gula
r V
alue
s (d
B) MSG = 10
εSG=1e-2
ωsg s.t. |1/WSG| = 0 dB
WhyH∞ control is adapted to control engineering? Performance specifications
A first insight into the MIMO case
The direct extension of the performances objectives to MIMO systems could be formulated asfollows:
1 Disturbance attenuation/closed-loop performances:
σ(Sy) <1
W1(jω)
with W1(jω) > 1 for ω < ωb2 Actuator constraints:
σ(KSy) <1
W2(jω)
with W2(jω) > 1 for ω > ωh3 Robustness to multiplicative uncertainties:
σ(Ty) <1
W3(jω)
with W3(jω) > 1 for ω > ωt
However these objectives do not consider the specific MIMO structure of the system, i.e. theinput-output relationship between actuators and sensors.It is then better to define the objectives accordingly with the system inputs and outputs.
O. Sename [GIPSA-lab] 36/47
WhyH∞ control is adapted to control engineering? Performance specifications
Towards MIMO systems
Let us consider a system with 2 inputs and 1 output and define:
G =(G1 G2
), K =
(K1
K2
)Therefore
GK = G1K1 +G2K2, KG =
(K1G1 K1G2
K2G1 K2G2
)and the sensitivity functions are:
Sy =1
1 +G1K1 +G2K2, KSy =
(K1
1+G1K1+G2K2K2
1+G1K1+G2K2
)
While a single template We is convenient for Sy it is straightforward that the following diagonaltemplate should be used for KSy :
Wu(s) =
(W 1u(s) 00 W 2
u(s)
)where W 1
u and W 2u are chosen in order to account for each actuator specificity (constraint).
O. Sename [GIPSA-lab] 37/47
WhyH∞ control is adapted to control engineering? Performance specifications
The MIMO general case
Let us consider G with m inputs and p outputs.• In the MIMO case the simplest way is to defined the templates as diagonal transfer matrices,
i.e. using (MSi, ωbi , εi)
• In that case, a weighting function should be dedicated for each input, and for each output.• These weighting functions may of course be different if the specifications on each actuator
(e.g. saturation), and on each sensor (e.g. noise), are different.
In addition, during the performance analysis step, take care to plot, in addition to the MIMOsensitivity functions, the individual ones related to each input/output to check if the individualspecification is met. Hence, in the simplest case:
1 If the specifications are identical then it is sufficient to plot:• σ(Sy(jω)) and 1
|We(jω)| , for all ω• σ(KSy(jω)) and 1
|Wu(jω)| , for all ω
2 If the specifications are different, one should plot• σ(Sy(i, :)) and 1
|Wie|
, for all ω, i = 1, . . . , p
• σ(KSy(k, :)) and 1
|Wku |
, for all ω, k = 1, . . . ,m.
i.e. p plots for all output behaviors and m plots for the input ones.3 In a very general case, plot σ(Sy) with σ(1/We)
O. Sename [GIPSA-lab] 38/47
WhyH∞ control is adapted to control engineering? Performance specifications
More on weighting functions
When tighter (harder) objectives are to be met .....the templates can be defined more accurately by transfer functions of order greater than 1, as
We(s) =
(s/MS + ωb
s+ ωbε
)k,
if a roll-off of −20× k dB per decade is required.Take care to the choice of the parameters (MS , ωb, ε) to avoid incoherent objectives!
100
101
102
103
104
105
106
−80
−70
−60
−50
−40
−30
−20
−10
0
10
20
Mu=2, wbc=100, epsi1=0.01
Wu and Wu square without parameter modification
Frequency (rad/sec)
Sin
gula
r V
alue
s (d
B)
100
101
102
103
104
105
106
−50
−40
−30
−20
−10
0
10
20
Original weight (specifications) Mu=2, ε1 = 0.01, ωb c=100 for Wu
Mu =√
2, ε1 =√
0.01,ωb c=100 for 1/W 2
u case 1
Mu =√
2, ε1 =√
0.01,ωb c=200 for 1/W 2
u case 2
Mu =√
2, ε1 =√
0.01,ωb c=400 for 1/W 2
u case 3
$1/W_u$ and $1/Wu_^2$ with parameter modification
Frequency (rad/sec)
Sin
gula
r V
alue
s (d
B)
O. Sename [GIPSA-lab] 39/47
WhyH∞ control is adapted to control engineering? Performance specifications
Final objectives
In terms of control synthesis, all these specifications can be tackled in the following problem: findK(s) s.t.
∥∥∥∥∥∥∥∥WeSWuKSWTT
WSGSG
∥∥∥∥∥∥∥∥∞
≤ 1 ⇒ ‖WeS‖∞ ≤ 1 ‖WSGSG‖∞ ≤ 1‖WuKS‖∞ ≤ 1 ‖WTT‖∞ ≤ 1
Often, the simpler following one (referred to as the mixed sensitivity problem) is studied:
Find K s.t.
∥∥∥∥ WeSWuKS
∥∥∥∥∞≤ 1
since the latter allows to consider the closed-loop output performance as well as the actuatorconstraints.
O. Sename [GIPSA-lab] 40/47
WhyH∞ control is adapted to control engineering? The mixed sensitivityH∞ control design
The mixed sensitivity H∞ control design
It will be shown how to formulate such a control problem using "classical" control tools. Theprocedure will be 2-steps:
• Build a control scheme s.t. the closed-loop system matrix does correspond to the tackledH∞problem (for instance the mixed sensitivity problem). Use of Matlab, sysic tool.
• Use an optimisation algorithm that finds the controller K solution of the considered problem.
Illustration on∥∥∥∥ WeSWuKS
∥∥∥∥∞≤ γ
In that case the closed-loop system must be ‖Tew(s)‖∞ =
∥∥∥∥ WeSWuKS
∥∥∥∥∞≤ γ i.e a system with
1 input and 2 outputs. Since S = r−yr
and KS = ur
, the control scheme needs only one externalinput r.
O. Sename [GIPSA-lab] 41/47
WhyH∞ control is adapted to control engineering? The mixed sensitivityH∞ control design
How to include performance specification in H∞ control ?
Note that: in practice the performance specification concerns at least two sensitivity functions (Sand KS) in order to take into account the tracking objective as well as the actuator constraints.Control objectives:
y = Gu = GK(r − y)⇒ tracking error : ε = Sru = K(r − y) = K(r −Gu)⇒ actuator force : u = KSr
To cope with that control objectives the following control scheme is considered:
Objective w.r.t sensitivity functions: ‖WeS‖∞ ≤ 1, ‖WuKS‖∞ ≤ 1.Idea: define 2 new virtual controlled outputs:
e1 = WeSre2 = WuKSr
O. Sename [GIPSA-lab] 42/47
WhyH∞ control is adapted to control engineering? The mixed sensitivityH∞ control design
The mixed sensitivity H∞ control design - Problem definition
The performance specifications on the tracking error & on the actuator, given as some weights onthe controlled output, then leads to the new control scheme:
The associated general control configuration is :
O. Sename [GIPSA-lab] 43/47
WhyH∞ control is adapted to control engineering? The mixed sensitivityH∞ control design
The mixed sensitivity H∞ control design - Problem definition
The corresponding H∞ suboptimal control problem is therefore to find a controller K(s) such that
‖Tew(s)‖∞ =
∥∥∥∥ WeSWuKS
∥∥∥∥∞≤ γ with
Tew(s) = Fl(P,K) = P11 + P12K(I − P22K)−1P21
=
[We
0
]+
[−WeGWu
]K(I +GK)−1I
=
[WeSWuKS
]in Matlab
O. Sename [GIPSA-lab] 44/47
WhyH∞ control is adapted to control engineering? The mixed sensitivityH∞ control design
What about disturbance attenuation ?
To account for input disturbance rejection, the control scheme must include di:
This corresponds to the closed-loop system.
Tew =
[WeSy WeSyGWuKSy WuTu
]The new H∞ control problem therefore includes the input disturbance rejection objective, thanksto SyG that should satisfy the same template as S, i.e an high-pass filter!Remarks: Note that WuTu is an additional constraint that may lead to an increase of theattenuation level γ since it is not part of the objectives. Hopefully Tu is low pass, and Wu as well.The input weight has to be on u not u+ di which would lead to an unsolvable problem.
O. Sename [GIPSA-lab] 45/47
WhyH∞ control is adapted to control engineering? The mixed sensitivityH∞ control design
Improve the disturbance attenuation
The previous problem, allows to ensure the input disturbance rejection, but does not provide anyadditional d-o-f to improve it (without impacting the tracking performance). In order to ’decouple’both performance objectives, the idea is to add a disturbance model that indeed changes thedisturbance rejection properties.Let then consider : di(t) = Wd.d. In that case the closed-loop system is This corresponds to theclosed-loop system.
Tew =
[WeSy WeSyGWd
WuKSy WuTuWd
]and the template expected for SyG is now 1
Wd.We.
First interest: improve the disturbance weight as Wd = 100... but this has a price (see Fig. belowfor an example)
10-2 10-1 100 101 102 103-120
-100
-80
-60
-40
-20
0
20
Mag
nitu
de (
dB)
Sensitivity*Plant SG
Frequency (rad/sec)
with Wd=1
with Wd=100
10-2 10-1 100 101 102 103-50
-40
-30
-20
-10
0
10
20
30
40
Controller*Sensitivity KS
Frequency (rad/sec)
Sin
gula
r V
alue
s (d
B)
with Wd=100
with Wd=1
O. Sename [GIPSA-lab] 46/47
WhyH∞ control is adapted to control engineering? The mixed sensitivityH∞ control design
More generally...
To include multiple objectives in a SINGLE H∞ control problem, there are 2 ways:1 add some external inputs (reference, noise, disturbance, uncertainties ...)2 add new controlled outputs
Of course both ways increase the dimension of the problem to be solved....thus the complexity aswell. Moreover additional constraints appear that are not part of the objectives ....General rule: first think simple !!
O. Sename [GIPSA-lab] 47/47
WhyH∞ control is adapted to control engineering? The mixed sensitivityH∞ control design
P. Gahinet.A linear matrix inequality approach to H∞ control.International Journal of Robust and Nonlinear Control, 4:421–448, 1994.
C. Scherer.The riccati inequality and state-space H∞-optimal control.Ph.D. dissertation, University Wurzburg, Germany, 1990.
C. Scherer, P. Gahinet, and M. Chilali.Multiobjective output-feedback control via LMI optimization.IEEE Transaction on Automatic Control, 42(7):896–911, july 1997a.
C. Scherer, P. Gahinet, and M. Chilali.Multiobjective output-feedback control via lmi optimization.IEEE Transaction on Automatic Control, 42(7):896–911, 1997b.
S. Skogestad and I. Postlethwaite.Multivariable Feedback Control. Analysis and Design.John Wiley and Sons, Chichester, 1996.
K. Zhou, J. Doyle, and K. Glover.Robust and Optimal Control.New Jersey, 1996.
O. Sename [GIPSA-lab] 47/47