robust control of mimo systems - gipsa-labo.sename/docs/robust...1 some definitions definition of...

132
Robust control of MIMO systems Olivier Sename Grenoble INP / GIPSA-lab http://www.gipsa- lab.fr/~o.sename September 2020 Olivier Sename (Grenoble INP / GIPSA-lab http://www.gipsa- lab.fr/~o.senameRobust control September 2020 1 / 129

Upload: others

Post on 26-Jan-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

  • Robust control of MIMO systems

    Olivier Sename

    Grenoble INP / GIPSA-labhttp://www.gipsa-lab.fr/~o.sename

    September 2020

    Olivier Sename (Grenoble INP / GIPSA-lab http://www.gipsa-lab.fr/~o.sename)Robust control September 2020 1 / 129

    http://www.gipsa-lab.fr/~o.senamehttp://www.gipsa-lab.fr/~o.sename

  • 1. Some definitionsTheH∞ norm definitionStability issues

    2. What is theH∞ performance?H∞ norm as a measure of the system gain ?How to compute theH∞ norm?What isH∞ control?

    3. Why theH∞ approach is adapted to controlengineering?

    Performance analysis and specification usingthe sensitivity functions: the SISO casePerformance analysis and specification usingthe sensitivity functions: the MIMO caseDo not forget some performance limitations

    4. How to formulate an H∞ control problem ?The mixed sensitivityH∞ control designHow to compute the General Plant P?

    How to extend the control problem with otherperformance requirements?

    5. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach forH∞ control design

    6. Uncertainty modelling and robustness analysisIntroductionMathematical representation of uncertaintiesDefinition of Robustness analysisRobustness analysis: the unstructured caseRobustness analysis: the structured caseRobust control design

    7. What else inH∞ approach?H2 and multi-objective problemsH∞ observer designOther interests of theH∞ approach

    O. Sename [GIPSA-lab] 2/129

  • Reference booksTo be studied during the course

    • S. Skogestad and I. Postlethwaite, Multivariable Feedback Control: analysis and design, JohnWiley and Sons, 2005.https://folk.ntnu.no/skoge/book/, chap 1 to 3 available• K. Zhou, Essentials of Robust Control, Prentice Hall, New Jersey, 1998.www.ece.lsu.edu/kemin, book slides available• J.C. Doyle, B.A. Francis, and A.R. Tannenbaum, Feedback control theory, Macmillan

    Publishing Company, New York, 1992.https://sites.google.com/site/brucefranciscontact/Home/publications

    • Carsten Scherer’s courses (MSc Course "Robust Control", MSc Course "Linear MatrixInequalities in Control")• + all the MATLAB demo, examples and documentation on the ’Robust Control toolbox’

    (https://fr.mathworks.com/products/robust)

    Other references (some in french)

    • G.C. Goodwin, S.F. Graebe, and M.E. Salgado, Control System Design, Prentice Hall, New Jersey, 2001.csd.newcastle.edu.au

    • G. Duc et S. Font, Commande Hinf et -analyse: des outils pour la robustesse, Hermès, France, 1999.• D. Alazard, C. Cumer, P. Apkarian, M. Gauvrit, et G. Ferreres, Robustesse et commande optimale,

    Cépadues Editions, 1999.

    O. Sename [GIPSA-lab] 3/129

    https://folk.ntnu.no/skoge/book/www.ece.lsu.edu/keminhttps://sites.google.com/site/brucefranciscontact/Home/publicationshttps://fr.mathworks.com/products/robust

  • 0

    Robust control in 1 slide ?

    O. Sename [GIPSA-lab] 4/129

    • Sensitivity function S(s) = 11+L(s)

    • Complementary Sensitivity function :

    y =G(s)K(s)

    1 +G(s)K(s)r

    =L(s)

    1 + L(s)r = T (s).r

  • 0

    Robust control in 1 slide ?

    O. Sename [GIPSA-lab] 4/129

    • Sensitivity function S(s) = 11+L(s)

    • Complementary Sensitivity function :

    y =G(s)K(s)

    1 +G(s)K(s)r

    =L(s)

    1 + L(s)r = T (s).r

    Why S is the key function in control ?

    S allows to characterize many things:• S = 1− T −→ S = r−y

    r.

    For performance analysis: (S(ω = 0) =steady-state error, bandwidth )• if output disturbance dy then, ydy = S.S to be minimized !• distance from -1 to Nyquist plot =

    infω | −1− L(jω) |=[supω| 1

    1+L(jω)|]−1

    • Robustness w.r.t model uncertainties

    Robust control: Find K s.t S satisfies allrequirements

  • 0

    Robust control in 1 slide ?

    O. Sename [GIPSA-lab] 4/129

    • Sensitivity function S(s) = 11+L(s)

    • Complementary Sensitivity function :

    y =G(s)K(s)

    1 +G(s)K(s)r

    =L(s)

    1 + L(s)r = T (s).r

    Example: an uncertain mass-spring-damper systemcontrolled by a proportional gain.

    Robust stability condition : | S(jω) |

  • 1 Some definitions

    1. Some definitionsTheH∞ norm definitionStability issues

    2. What is theH∞ performance?H∞ norm as a measure of the system gain ?How to compute theH∞ norm?What isH∞ control?

    3. Why theH∞ approach is adapted to controlengineering?

    Performance analysis and specification usingthe sensitivity functions: the SISO casePerformance analysis and specification usingthe sensitivity functions: the MIMO caseDo not forget some performance limitations

    4. How to formulate an H∞ control problem ?The mixed sensitivityH∞ control designHow to compute the General Plant P?

    How to extend the control problem with otherperformance requirements?

    5. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach forH∞ control design

    6. Uncertainty modelling and robustness analysisIntroductionMathematical representation of uncertaintiesDefinition of Robustness analysisRobustness analysis: the unstructured caseRobustness analysis: the structured caseRobust control design

    7. What else inH∞ approach?H2 and multi-objective problemsH∞ observer designOther interests of theH∞ approach

    O. Sename [GIPSA-lab] 5/129

  • 1 Some definitions

    Definition of LTI systems

    Definition (LTI dynamical system)

    Given matrices A ∈ Rn×n, B ∈ Rn×nw , C ∈ Rnz×n and D ∈ Rnz×nw , a Linear Time Invariant(LTI) dynamical system (ΣLTI ) can be described as:

    ΣLTI :

    {ẋ(t) = Ax(t) +Bw(t)z(t) = Cx(t) +Dw(t)

    (1)

    where x(t) is the state which takes values in a state space X ∈ Rn, w(t) is the input taking valuesin the input space W ∈ Rnw and z(t) is the output that belongs to the output space Z ∈ Rnz .

    The LTI system locally describes the real system under consideration and the linearizationprocedure allows to treat a linear problem instead of a nonlinear one. For this class of problem,many mathematical and control theory tools can be applied like closed loop stability, controllability,observability, performance, robust analysis, etc. for both SISO and MIMO systems. However, themain restriction is that LTI models only describe the system locally, then, compared to nonlinearmodels, they lack of information and, as a consequence, are incomplete and may not provideglobal stabilization.

    O. Sename [GIPSA-lab] 6/129

  • 1 Some definitions

    Signal norms

    Reader is also invited to refer to the famous book of Zhou et al., 1996, where all the followingdefinitions and additional information are given.All the following definitions are given assuming signals x(t) ∈ C, then they will involve theconjugate (denoted as x∗(t)). When signals are real (i.e. x(t) ∈ R), x∗(t) = xT (t).

    Definition (Norm and Normed vector space)

    • Let V be a finite dimension space. Then ∀ p ≥ 1, the application ||.||p is a norm, defined as,

    ||v||p =(∑

    i

    |vi|p)1/p (2)

    • Let V be a vector space over C (or R) and let ‖.‖ be a norm defined on V . Then V is anormed space.

    O. Sename [GIPSA-lab] 7/129

  • 1 Some definitions

    L? signal norms

    Definition (L1, L2, L∞ norms)• The 1-Norm of a function x(t) is given by,

    ‖x(t)‖1 =∫ +∞

    0|x(t)|dt (3)

    • The 2-Norm (that introduces the energy norm) is given by,

    ‖x(t)‖2 =√∫+∞

    0 x∗(t)x(t)dt

    =√

    12π

    ∫+∞−∞ X

    ∗(jω)X(jω)dω(4)

    The second equality is obtained by using the Parseval identity.• The∞-Norm is given by,

    ‖x(t)‖∞ = supt|x(t)| (5)

    ‖X‖∞ = supRe(s)≥0

    ‖X(s)‖ = supω‖X(jω)‖ (6)

    if the signals that admit the Laplace transform, analytic in Re(s) ≥ 0 (i.e. ∈ H∞).

    O. Sename [GIPSA-lab] 8/129

  • 1 Some definitions

    L∞ and H∞ spaces

    Definition (L∞ space)

    L∞ is the space of piecewise continuous bounded functions. It is a Banach space ofmatrix-valued (or scalar-valued) functions on C and consists of all complex bounded matrixfunctions f(jω), ∀ω ∈ R, such that,

    supω∈R

    σ[f(jω)] 0(open right-half plane). The real rational subspace of H∞ which consists of all proper and realrational stable transfer matrices, is denoted by RH∞.

    Example

    In control theorys+1

    (s+10)(s+6)∈ RH∞

    s+1(s−10)(s+6) 6∈ RH∞

    s+1(s+10)

    ∈ RH∞(8)

    O. Sename [GIPSA-lab] 9/129

  • 1 Some definitions 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ω)‖∞ = sup0

  • 1 Some definitions Stability issues

    Well-posedness

    O. Sename [GIPSA-lab] 11/129

    Consider

    G = −s− 1s+ 2

    , K = 1

    Therefore the control input is non proper:

    u =s+ 2

    3(r − n− dy) +

    s− 13

    di

    DEF: A closed-loop system is well-posed if all the transfer functions are proper

    ⇔ I +K(∞)G(∞) is invertible

    In the example 1 + 1× (−1) = 0 Note that if G is strictly proper, this always holds.

  • 1 Some definitions Stability issues

    Internal stability

    DEF: A system is internally stable if all the transfer functions of the closed-loop system are stable

    Figure: Control scheme

    (yu

    )=

    ((I +GK)−1GK (I +GK)−1GK(I +GK)−1 −K(I +GK)−1G

    )(rdi

    )For instance :

    G =1

    s− 1, K =

    s− 1s+ 1

    ,

    (yu

    )=

    (1s+2

    s+1(s−1)(s+2)

    s−1s+2

    − 1s+2

    )(rdi

    )There is one RHP pole (1), which means that this system is not internally stable. This is due hereto the pole/zero cancellation (forbidden!!).

    O. Sename [GIPSA-lab] 12/129

  • 1 Some definitions Stability issues

    Input-Output Stability

    Definition (BIBO stability)

    A system G (ẋ = Ax+Bu; y = Cx) is BIBO stable if a bounded input u(.) (‖u‖∞

  • 1 Some definitions Stability issues

    Small Gain theorem

    Consider the so called M −∆ loop.

    Figure: M −∆ form

    Theorem

    Suppose M(s) in RH∞ and γ a positive scalar. Then the system is well-posed and internallystable for all ∆(s) in RH∞ such that ‖∆‖∞ ≤ 1/γ if and only if

    ‖M‖∞ < γ

    O. Sename [GIPSA-lab] 14/129

  • 2 What is theH∞ performance?

    1. Some definitionsTheH∞ norm definitionStability issues

    2. What is theH∞ performance?H∞ norm as a measure of the system gain ?How to compute theH∞ norm?What isH∞ control?

    3. Why theH∞ approach is adapted to controlengineering?

    Performance analysis and specification usingthe sensitivity functions: the SISO casePerformance analysis and specification usingthe sensitivity functions: the MIMO caseDo not forget some performance limitations

    4. How to formulate an H∞ control problem ?The mixed sensitivityH∞ control designHow to compute the General Plant P?

    How to extend the control problem with otherperformance requirements?

    5. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach forH∞ control design

    6. Uncertainty modelling and robustness analysisIntroductionMathematical representation of uncertaintiesDefinition of Robustness analysisRobustness analysis: the unstructured caseRobustness analysis: the structured caseRobust control design

    7. What else inH∞ approach?H2 and multi-objective problemsH∞ observer designOther interests of theH∞ approach

    O. Sename [GIPSA-lab] 15/129

  • 2 What is theH∞ performance? H∞ norm

    How to define the system gain?

    SISO systems

    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 inputmagnitude

    How to generalize to MIMO systems?

    we may select:‖z(ω)‖2‖d(ω)‖2

    =‖G(jω)d(ω)‖2‖d(ω)‖2

    = ‖G(jω)‖2?

    Which seems to be "independent" of the input magnitude. But this is not a correct definition.Indeed the input direction is of great importance

    O. Sename [GIPSA-lab] 16/129

  • 2 What is theH∞ performance? H∞ norm

    The gain of a MIMO system as induced L2 norm?

    Let consider

    G =

    [5 43 2

    ]How to define and evaluate its gain ?Consider five different inputs:

    d1 =

    (10

    )d2 =

    (01

    )d3 =

    (0.7070.707

    )d4 =

    (0.707−0.707

    )d5 =

    (0.6−0.8

    )The input magnitudes are:

    ‖d1‖2 = ‖d2‖2 = ‖d3‖2 = ‖d4‖2 = ‖d5‖2 = 1

    But the corresponding outputs are

    z1 =

    (53

    )z2 =

    (42

    )z3 =

    (6.36303.5350

    )z4 =

    (0.70700.7070

    )z5 =

    (−0.20.2

    )and the ratio are ‖z‖2/‖d‖2‖z1‖2‖d1‖2

    = 5.83‖z2‖2‖d2‖2

    = 4.47‖z3‖2‖d3‖2

    = 7.27‖z4‖2‖d4‖2

    = 0.99‖z5‖2‖d5‖2

    = 0.28

    So the gain value differs function of the input vector direction.

    O. Sename [GIPSA-lab] 17/129

  • 2 What is theH∞ performance? H∞ norm

    How the Singular Value Decomposition can provide such a MIMO gaindefinition?

    O. Sename [GIPSA-lab] 18/129

    Below is represented ‖z‖2/‖d‖2 as afunction of d20/d10 (where d = [d10, d20]T )

    We can see that, depending on theratio d20/d10, the gain variesbetween 0.27 and 7.34 .,where σ̄(G) = 7.34 and σ(G) = 0.27.

    We then have these mathematicaldefinitions:

    MAXIMUM SINGULAR VALUE

    maxd 6=0

    ‖Gd‖2‖d‖2

    = σ̄(G)

    MINIMUM SINGULAR VALUE

    mind 6=0

    ‖Gd‖2‖d‖2

    = σ(G)

  • 2 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] 19/129

    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 system[ninf,fpeak] = hinfnorm(G): Compute H∞ norm and freqnorm(G,inf): Compute H∞ normnormhinf(G): Compute H∞ normsigma(G): plot max and min SV

  • 2 What is theH∞ performance? H∞ norm

    A 7 dof full vertical vehicle model [zs θ φ zusfl zusfr zusrl zusrr]:

    O. Sename [GIPSA-lab] 20/129

    msz̈s = −Fsfl − Fsfr − Fsrl − FsrrIxθ̈ = (−Fsfr + Fsfl)tf + (−Fsrr + Fsrl)tr +mhayIyφ̈ = (Fsrr + Fsrl)lr − (Fsfr + Fsfl)lf −mhaxmusz̈usij = −Fsij + Ftzij

    Suspension force:

    Fsij = kij(zsij − zusij ) + cij(żsij − żusij ) + uij

    Tire force:Ftzij = −ktij (zusij − zrij )

  • 2 What is theH∞ performance? H∞ norm

    A 7 dof full vertical vehicle model [zs θ φ zusfl zusfr zusrl zusrr]:

    O. Sename [GIPSA-lab] 20/129

    msz̈s = −Fsfl − Fsfr − Fsrl − FsrrIxθ̈ = (−Fsfr + Fsfl)tf + (−Fsrr + Fsrl)tr +mhayIyφ̈ = (Fsrr + Fsrl)lr − (Fsfr + Fsfl)lf −mhaxmusz̈usij = −Fsij + Ftzij

    Full-car state space model:

    ẋ(t) = Ax(t) +B1w(t) +B2u

    where: x = [zs θ φ zusfl zusfr zusrl zusrr żs θ̇ φ̇ żusfl żusfr żusrl żusrr]T ,

    w = [zrfl zrfr zrrl zrrr]T , u = [ufl, ufr, url, urr]T

    y = [z̈s θ̈ φ̈] .

    This is a MIMO system with 4 inputs and 3 outputs

  • 2 What is theH∞ performance? H∞ norm

    Bode Frequency domain plots: vertical full car model 4 inputs and 3outputs

    12 frequency-domain Bode plots for all the individual transfer functions:

    -100

    -50

    0

    50

    To:

    bou

    nce

    acce

    l

    From: suspension controls(1)

    -100

    -50

    0

    50

    100

    To:

    rol

    l acc

    el

    100 102 104-100

    -50

    0

    50

    To:

    pitc

    h ac

    cel

    From: suspension controls(2)

    100 102 104

    From: suspension controls(3)

    100 102 104

    From: suspension controls(4)

    100 102 104

    Bode Diagram

    Frequency (rad/s)

    Mag

    nitu

    de (

    dB)

    O. Sename [GIPSA-lab] 21/129

  • 2 What is theH∞ performance? H∞ norm

    Sigma Frequency domain plots: vertical full car model 4 inputs and 3outputs

    But only 3 singular values plots (σ1, σ2, σ3) since the rank of the system transfer matrix is 3!

    10-1 100 101 102 103 104-60

    -40

    -20

    0

    20

    40

    60

    80

    max (G)

    min (G)

    O. Sename [GIPSA-lab] 22/129

  • 2 What is theH∞ performance? H∞ norm computation

    1. Some definitionsTheH∞ norm definitionStability issues

    2. What is theH∞ performance?H∞ norm as a measure of the system gain ?How to compute theH∞ norm?What isH∞ control?

    3. Why theH∞ approach is adapted to controlengineering?

    Performance analysis and specification usingthe sensitivity functions: the SISO casePerformance analysis and specification usingthe sensitivity functions: the MIMO caseDo not forget some performance limitations

    4. How to formulate an H∞ control problem ?The mixed sensitivityH∞ control designHow to compute the General Plant P?

    How to extend the control problem with otherperformance requirements?

    5. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach forH∞ control design

    6. Uncertainty modelling and robustness analysisIntroductionMathematical representation of uncertaintiesDefinition of Robustness analysisRobustness analysis: the unstructured caseRobustness analysis: the structured caseRobust control design

    7. What else inH∞ approach?H2 and multi-objective problemsH∞ observer designOther interests of theH∞ approach

    O. Sename [GIPSA-lab] 23/129

  • 2 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 CTBT P −γ I DT

    C D −γ I

    < 0, P > 0. (10)O. Sename [GIPSA-lab] 24/129

  • 2 What is theH∞ performance? What isH∞ control?

    1. Some definitionsTheH∞ norm definitionStability issues

    2. What is theH∞ performance?H∞ norm as a measure of the system gain ?How to compute theH∞ norm?What isH∞ control?

    3. Why theH∞ approach is adapted to controlengineering?

    Performance analysis and specification usingthe sensitivity functions: the SISO casePerformance analysis and specification usingthe sensitivity functions: the MIMO caseDo not forget some performance limitations

    4. How to formulate an H∞ control problem ?The mixed sensitivityH∞ control designHow to compute the General Plant P?

    How to extend the control problem with otherperformance requirements?

    5. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach forH∞ control design

    6. Uncertainty modelling and robustness analysisIntroductionMathematical representation of uncertaintiesDefinition of Robustness analysisRobustness analysis: the unstructured caseRobustness analysis: the structured caseRobust control design

    7. What else inH∞ approach?H2 and multi-objective problemsH∞ observer designOther interests of theH∞ approach

    O. Sename [GIPSA-lab] 25/129

  • 2 What is theH∞ performance? What isH∞ control?

    Problem formulation

    Objectives of any control system

    to 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).

    How formulate it in the H∞ framework?

    The overall control objective will be to minimize the H∞ norm of the closed-loop system from theexternal variables (references, disturbances, noises..) w to performance output z

    O. Sename [GIPSA-lab] 26/129

  • 2 What is theH∞ performance? What isH∞ control?

    Towards H∞ control design: the General Control Configuration

    This approach has been introduced by Doyle (1983).The formulation usually makes use of the general control configuration.

    Features

    • P is the generalized plant (contains the plant, the weights, the uncertainties if any). It isknown.• K is the controller to be designed• 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] 27/129

  • 2 What is theH∞ performance? What isH∞ control?

    H∞ 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).

    Remarks

    • It is worth noting that the H∞ control problem is a disturbance attenuation, formulated in theworst-case performance analysis.

    • z is then often defined as an "error signal" (to be minimized)

    O. Sename [GIPSA-lab] 28/129

  • 3 Why theH∞ approach is adapted to control engineering?

    1. Some definitionsTheH∞ norm definitionStability issues

    2. What is theH∞ performance?H∞ norm as a measure of the system gain ?How to compute theH∞ norm?What isH∞ control?

    3. Why theH∞ approach is adapted to controlengineering?

    Performance analysis and specification usingthe sensitivity functions: the SISO casePerformance analysis and specification usingthe sensitivity functions: the MIMO caseDo not forget some performance limitations

    4. How to formulate an H∞ control problem ?The mixed sensitivityH∞ control designHow to compute the General Plant P?

    How to extend the control problem with otherperformance requirements?

    5. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach forH∞ control design

    6. Uncertainty modelling and robustness analysisIntroductionMathematical representation of uncertaintiesDefinition of Robustness analysisRobustness analysis: the unstructured caseRobustness analysis: the structured caseRobust control design

    7. What else inH∞ approach?H2 and multi-objective problemsH∞ observer designOther interests of theH∞ approach

    O. Sename [GIPSA-lab] 29/129

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    The control structure - SISO case

    Figure: Complete control scheme

    In the SISO case, it leads to:

    y = 11+G(s)K(s)

    (GKr + dy −GKn+Gdi)u = 1

    1+K(s)G(s)(Kr −Kdy −Kn−KGdi)

    Loop transfer function L = G(s)K(s)Sensitivity function S(s) = 1

    1+L(s)

    Complementary Sensitivity function T (s) = L(s)1+L(s)

    N.B. S is often referred to as the ’Output Sensitivity’.

    O. Sename [GIPSA-lab] 30/129

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Stability and robustness margins ...

    O. Sename [GIPSA-lab] 31/129

    Classical definitions:• Stability⇔ | L(jωπ) |< 1, where ωπ

    is the phase crossover frequencydefined by φ(L(jωπ)) = −π.• Gain Margin: indicates the additional

    gain that would take the closed loopto the critical stability condition(GM (dB) = −[|L(jωπ |]dB)• Phase margin: quantifies the pure

    phase delay that should be added toachieve the same critical stabilitycondition(ΦM = 180o + arg[L(jωc)], where|L(jωc|) = 1(0dB))• Delay margin: quantifies the

    maximal delay that should be addedin the loop to achieve the samecritical stability condition, PM/ωc

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Robustness margins ...

    O. Sename [GIPSA-lab] 32/129

    It is important to consider the modulemargin that quantifies the minimaldistance between the curve and thecritical point (-1,0j): this is a robustnessmargin.

    ∆M = 1/MSMS = max

    ω|S(jω)| = ‖S‖∞

    Good value MS < 2 (6dB)

    • The MODULE MARGIN is a robustnessmargin. Indeed, the influence of plantmodelling errors on the CL transfer function:

    T =K(s)G(s)

    1 +K(s)G(s)

    is given by:

    ∆T

    T=

    1

    1 +K(s)G(s)

    ∆G

    G= S.

    ∆G

    G

    • A good module margin implies good gain andphase margins:

    GM ≥MS

    MS − 1andPM ≥

    1

    MS

    For MS = 2, then GM > 2 and PM > 30◦

    • Last:MT = max

    ω|T (jω)|

    A good value : MT < 1.5(3.5dB)

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Input/Output performances

    Defining two new ’sensitivity functions’:Plant Sensitivity: SG = S(s).G(s) (often referred to as the ’Input Sensitivity’, e.g in Matlab)Controller Sensitivity: KS = K(s).S(s)

    O. Sename [GIPSA-lab] 33/129

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Using Matlab

    % Determination of the sensitivity fucntionsL=series(G,Khinf) % Loop transfer function L=GKS=inv(1+L); % S= 1/(1+L)poleS=pole(S)T= feedback(L,1)poleT=pole(T)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%SG=S*G;poleSG=pole(SG)KS=Khinf*S;poleKS=pole(KS)%%%%w=logspace(-3,3,500); %% to be adjustedsubplot(2,2,1), sigma(S,w), title('Sensitivity function')subplot(2,2,2), sigma(T,w), title('Complementary sensitivity function')subplot(2,2,3), sigma(SG,w), title('Sensitivity*Plant')subplot(2,2,4), sigma(KS,w), title('Controller*Sensitivity')

    O. Sename [GIPSA-lab] 34/129

    Remark: for SISO systems, use bodemag instead of sigma but not for MIMO ones !

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Performance analysis and specification using the sensitivity functions:the SISO case- Dynamical behavior

    As mentioned in Skogestad & Postlethwaite’s book:The concept of bandwidth is very important in understanding the benefits and trade-offs involvedwhen applying feedback control. Above we considered peaks of closed-loop transfer functions,which are related to the quality of the response. However, for performance we must also considerthe speed of the response, and this leads to considering the bandwidth frequency of the system.In general, a large bandwidth corresponds to a faster rise time, since high frequency signals aremore easily passed on to the outputs. A high bandwidth also indicates a system which is sensitiveto noise and to parameter variations. Conversely, if the bandwidth is small, the time response willgenerally be slow, and the system will usually be more robust.

    Definition

    Loosely speaking, bandwidth may be defined as the frequency range [ω1, ω2] over which control iseffective. In most cases we require tight control at steady-state so ω1 = 0, and we then simply callω2 the bandwidth. The word "effective" may be interpreted in different ways : globally it meansbenefit in terms of performance.

    O. Sename [GIPSA-lab] 35/129

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Performance analysis and specification using the sensitivity functions:the SISO case- Bandwidth definitions

    Definition (ωS )

    The (closed-loop) bandwidth, ωS , is the frequency where |S(jω)| crosses −3dB (1/sqrt2) frombelow.

    Remark: |S| < 0.707, frequency zone, where e/r = −S is reasonably small

    Definition (ωT )

    The bandwidth (in term of T ), ωT , is the frequency where |T (jω)| crosses −3dB (1/sqrt2) fromabove.

    Definition (ωc)

    The bandwidth (crossover frequency), ωc, is the frequency where |L(jω)| crosses 1 (0dB), for thefirst time, from above.

    O. Sename [GIPSA-lab] 36/129

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Some remarks

    Remark

    Usually ωS < ωc < ωT

    Remark

    In most cases, the two definitions in terms of S and T yield similar values for the bandwidth. Inother cases, the situation is generally as follows. Up to the frequency ωS , |S| is less than 0.7, andcontrol is effective in terms of improving performance. In the frequency range [ωS , ωT ] control stillaffects the response, but does not improve performance. Finally, at frequencies higher than ωT ,we have S ' 1 and control has no significant effect on the response.

    Remark

    Usually ωS < ωc < ωT

    Finally the following relation is very useful to evaluate the rise time:

    tr ≈2.3

    ωT

    O. Sename [GIPSA-lab] 37/129

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Performance analysis: answer to ....

    Analysis of S:• Steady state error in tracking and output disturbance rejection : S(ω = 0) = 0 ?• Maximum peak criterion (Module Margin): ‖S‖∞ < 2 ?• bandwidth of S

    Analysis of T :• Steady state error in tracking : T (ω = 0) = 1 ?.• Attenuation of measurement noise: |T (jω)| small when ω →∞ ?• Maximum of T , ‖T‖∞ < 1.5 ?• ωT bandwidth of T + rise time evaluation tr

    Analysis of KS:• Input saturation: |u(t)| < |umax| ? (where |umax| < ‖KS‖∞ |rmax|).• Attenuation of measurement noise: |KS(jω)| small when ω →∞ ?

    Analysis of SG:• Steady state error in input disturbance rejection : SG(ω = 0) = 0 ?• Attenuation of input disturbance effet: |SG(jω)| small in the frequency range of interest ? .

    O. Sename [GIPSA-lab] 38/129

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    From analysis to specification ... 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:

    1 Robustness and performances in regulation can be specified by imposing frequentialtemplates on the sensitivity functions.

    2 If the sensitivity functions stay within these templates, the control objectives are met.3 These templates can be used for analysis and/or design. In the latter they are considered as

    weights on the sensitivity functions4 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] 39/129

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Template on the sensitivity function S - 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 alsointroduces a margin of robustness; typically we select MS = 2.

    How to select the template function

    It should:• be close to the control objectives• avoid too much under -or over- estimation• be simple enough to be used later in the control design step

    O. Sename [GIPSA-lab] 40/129

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Template on the sensitivity function S

    O. Sename [GIPSA-lab] 41/129

    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

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Template on the function KS

    O. Sename [GIPSA-lab] 42/129

    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

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Template on the function T

    O. Sename [GIPSA-lab] 43/129

    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,MT < 1.5 (3dB) to limit the overshoot.ωbt 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

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Template on the function SG

    O. Sename [GIPSA-lab] 44/129

    SG(s) =G(s)

    1 +K(s)G(s)

    1

    WSG(s)=

    s+ ωSGεSG

    s/MSG + ωSG

    MSG allows to limit the overshoot in theresponse to input disturbances.Generally εSG ' 0 is considered,ω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

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    1. Some definitionsTheH∞ norm definitionStability issues

    2. What is theH∞ performance?H∞ norm as a measure of the system gain ?How to compute theH∞ norm?What isH∞ control?

    3. Why theH∞ approach is adapted to controlengineering?

    Performance analysis and specification usingthe sensitivity functions: the SISO casePerformance analysis and specification usingthe sensitivity functions: the MIMO caseDo not forget some performance limitations

    4. How to formulate an H∞ control problem ?The mixed sensitivityH∞ control designHow to compute the General Plant P?

    How to extend the control problem with otherperformance requirements?

    5. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach forH∞ control design

    6. Uncertainty modelling and robustness analysisIntroductionMathematical representation of uncertaintiesDefinition of Robustness analysisRobustness analysis: the unstructured caseRobustness analysis: the structured caseRobust control design

    7. What else inH∞ approach?H2 and multi-objective problemsH∞ observer designOther interests of theH∞ approach

    O. Sename [GIPSA-lab] 45/129

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Performance analysis and specification using the sensitivity functions:the MIMO case

    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] 46/129

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Sensitivity functions- The 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

    O. Sename [GIPSA-lab] 47/129

  • 3 Why theH∞ approach 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] 48/129

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Performance analysis and specification using the sensitivity functions:the MIMO case- Some classical analysis criteria (1)

    O. Sename [GIPSA-lab] 49/129

    • The transfer function KSy(s) should beupper bounded so that u(t) does notreach the physical constraints, even fora large reference r(t)• The effect of the measurement noisen(t) on the plant input u(t) can bemade « small » by making thesensitivity function KSu(s) small (inHigh Frequencies)• The effect of the input disturbance di(t)

    on the plant input u(t) + di(t) (actuator)can be made « small » by making thesensitivity function Su(s) small (takecare to not trying to minimize Tu whichis not possible)

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Performance analysis and specification using the sensitivity functions:the MIMO case- Some classical analysis criteria (2)

    O. Sename [GIPSA-lab] 50/129

    • The plant output y(t) can track thereference r(t) by making thecomplementary sensitivity functionTy(s) equal to 1. (servo pb)• The effect of the output disturbancedy(t) (resp. input disturbance di(t) ) onthe plant output y(t) can be made «small » by making the sensitivityfunction Sy(s) (resp. SyG(s) ) « small »• The effect of the measurement noisen(t) on the plant output y(t) can bemade « small » by making thecomplementary sensitivity functionTy(s) « small »

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Trade-offs

    ButS? + T? = I∗

    Some trade-offs are to be looked for...These trade-offs can be reached if one aims :• to reject the disturbance effects in low frequencies• to minimize the noise effects in high frequencies

    It remains to require:• Sy and SyG to be small in low frequencies to reduce the load (output and input) disturbance

    effects on the controlled output• Ty and KSy to be small in high frequencies to reduce the effects of measurement noises on

    the controlled output and on the control input (actuator efforts)

    O. Sename [GIPSA-lab] 51/129

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Synthesis

    Provide a clear and detailed frequency-domain performance analysis using the sensitivityfunctions in order to explain the trade-off performance/robustness/actuator constraints.

    Qualitative analysis

    Use of Sy , Ty , KSy , SyG to:• predict the behavior of the output w.r.t different external inputs (reference, disturbance, noise)• predict the behavior of the control input w.r.t different external inputs (reference, disturbance,

    noise)

    Quantitative analysis

    Use of Sy , Ty , KSy , SyG to:• Stability analysis and margins.• Compute the steady-state errors in tracking, output and input disturbance attenuations.• Give the maximum of the input/output gains to analyze the transient behaviors of the output

    and control input (incl. saturation).• Give all the bandwidths of the sensitivity functions• Evaluate the rise time in tracking• Evaluate the robustness margins

    O. Sename [GIPSA-lab] 52/129

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    A first insight into the performance specifications for the MIMO case

    The direct extension of the performances objectives to MIMO systems could be formulated asfollows:

    1 Disturbance attenuation/closed-loop performances:

    σ̄(Sy(jω)) <1

    |W1(jω)|

    with |W1(jω)| > 1 for ω < ωb2 Actuator constraints:

    σ̄(KSy(jω)) <1

    |W2(jω)|

    with |W2(jω)| > 1 for ω > ωh3 Robustness to multiplicative uncertainties:

    σ̄(Ty(jω)) <1

    |W3(jω)|

    with |W3(jω)| > 1 for ω > ωtHowever 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] 53/129

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Towards MIMO systems

    Let us consider a system with 2 inputs and 1 output and define:

    G =(G1 G2

    ), K =

    (K1K2

    )Therefore

    GK = G1K1 +G2K2, KG =

    (K1G1 K1G2K2G1 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) 0

    0 W 2u(s)

    )where W 1u and W 2u are chosen in order to account for each actuator specificity (constraint).

    O. Sename [GIPSA-lab] 54/129

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    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] 55/129

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    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

    2u case 1

    Mu =√

    2, ε1 =√

    0.01,ωb c=200 for 1/W

    2u case 2

    Mu =√

    2, ε1 =√

    0.01,ωb c=400 for 1/W

    2u 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] 56/129

  • 3 Why theH∞ approach is adapted to control engineering? Sensitivity functions

    Final objectives

    In terms of control synthesis, all these specifications can be tackled in the following problem: findK(s) s.t. ∥∥∥∥∥∥∥∥

    WeSyWuKSyWTTy

    WSGSyG

    ∥∥∥∥∥∥∥∥∞

    ≤ 1 ⇒ ‖WeSy‖∞ ≤ 1 ‖WSGSyG‖∞ ≤ 1‖WuKSy‖∞ ≤ 1 ‖WTTy‖∞ ≤ 1

    Often, the simpler following one (referred to as the mixed sensitivity problem) is studied:

    Find K s.t.∥∥∥∥ WeSyWuKSy

    ∥∥∥∥∞≤ 1

    since the latter allows to consider the closed-loop output performance as well as the actuatorconstraints.

    O. Sename [GIPSA-lab] 57/129

  • 3 Why theH∞ approach is adapted to control engineering? Do not forget some performance limitations

    1. Some definitionsTheH∞ norm definitionStability issues

    2. What is theH∞ performance?H∞ norm as a measure of the system gain ?How to compute theH∞ norm?What isH∞ control?

    3. Why theH∞ approach is adapted to controlengineering?

    Performance analysis and specification usingthe sensitivity functions: the SISO casePerformance analysis and specification usingthe sensitivity functions: the MIMO caseDo not forget some performance limitations

    4. How to formulate an H∞ control problem ?The mixed sensitivityH∞ control designHow to compute the General Plant P?

    How to extend the control problem with otherperformance requirements?

    5. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach forH∞ control design

    6. Uncertainty modelling and robustness analysisIntroductionMathematical representation of uncertaintiesDefinition of Robustness analysisRobustness analysis: the unstructured caseRobustness analysis: the structured caseRobust control design

    7. What else inH∞ approach?H2 and multi-objective problemsH∞ observer designOther interests of theH∞ approach

    O. Sename [GIPSA-lab] 58/129

  • 3 Why theH∞ approach is adapted to control engineering? Do not forget some performance limitations

    Introduction

    Framework

    Main extracts of this part: see Goodwin et al 2001. "Performance limitations in control are not onlyinherently interesting, but also have a major impact on real world problems."Objective : take into account the limitations inherent to the system or due to actuators constraints,before designing the controller..... Understanding what is not possible is as important asunderstanding what is possible!

    Example of structural constraints

    S + T = 1, ∀ω

    We then cannot have, for any frequency ω0, |S(jω0)| < 1 and |T (jω0)| < 1. This implies that,disturbance and noise rejection cannot be achieved in the same frequency range.

    Bode’s Sensitivity Integral for open-loop stable systems

    It is known that, for an open loop stable plant:∫ ∞0

    log|S(jω)|dω = 0

    Then the frequency range where |S(jω)| < 1 is balanced by the frenquencies where |S(jω)| > 1

    O. Sename [GIPSA-lab] 59/129

  • 3 Why theH∞ approach is adapted to control engineering? Do not forget some performance limitations

    Bode sensitivity

    Nice interpretation of the balance between reduction and magnification of the sensitivity.

    For open-loop unstable systems we have a stronger constraint:∫ ∞0

    log|det(S(jω))|dω = πNp∑i=1

    Re(pi),

    where pi design the Np RHP poles. Therefore, in the presence of RHP poles, the control effortnecessary to stabilize the system is paid in terms of amplification of the sensitivity magnitude.

    O. Sename [GIPSA-lab] 60/129

  • 3 Why theH∞ approach is adapted to control engineering? Do not forget some performance limitations

    The interesting case of systems with RHP zeros

    Theorem

    Let G(s) a MIMO plant with one RHP zero at s = z, and Wp(s) be a scalar weight. Then,closed-loop stability is ensured only if:

    ‖Wp(s)S(s) ‖≥ |Wp(s = z)|

    To illustrate the use of that theorem, if Wp is chosen as:

    Wp(s) =

    (s/MS + ωb

    s+ ωbε

    ),

    and , if the controller meets the requirements, then

    ‖Wp(s)S(s) ‖∞≤ 1

    Therefore a necessary condition is:

    |z/MS + ωb

    z + ωbε|≤ 1

    To conclude, if z is real, and if the performance specifications are such that : MS = 2 and ε = 0,then a necessary condition to meet the performance requirements is :

    ωb ≤z

    2

    O. Sename [GIPSA-lab] 61/129

  • 4 How to formulate an H∞ control problem ? The mixed sensitivityH∞ control design

    1. Some definitionsTheH∞ norm definitionStability issues

    2. What is theH∞ performance?H∞ norm as a measure of the system gain ?How to compute theH∞ norm?What isH∞ control?

    3. Why theH∞ approach is adapted to controlengineering?

    Performance analysis and specification usingthe sensitivity functions: the SISO casePerformance analysis and specification usingthe sensitivity functions: the MIMO caseDo not forget some performance limitations

    4. How to formulate an H∞ control problem ?The mixed sensitivityH∞ control designHow to compute the General Plant P?

    How to extend the control problem with otherperformance requirements?

    5. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach forH∞ control design

    6. Uncertainty modelling and robustness analysisIntroductionMathematical representation of uncertaintiesDefinition of Robustness analysisRobustness analysis: the unstructured caseRobustness analysis: the structured caseRobust control design

    7. What else inH∞ approach?H2 and multi-objective problemsH∞ observer designOther interests of theH∞ approach

    O. Sename [GIPSA-lab] 62/129

  • 4 How to formulate an H∞ control problem ? The mixed sensitivityH∞ control design

    How to consider performance specification in H∞ control?

    Illustration on the H∞ SISO problem: ‖Tew(s)‖∞ =∥∥∥∥ WeSWuKS

    ∥∥∥∥∞≤ γ

    In that case the closed-loop system Tew(s) must have 1 input and 2 outputs. Since S = r−yr andKS = u

    r, the control scheme needs only one external input r.

    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] 63/129

  • 4 How to formulate an H∞ control problem ? 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] 64/129

  • 4 How to formulate an H∞ control problem ? The mixed sensitivityH∞ control design

    The mixed sensitivity H∞ control design - Problem definition

    The mixed sensitivity H∞ control problem

    The corresponding H∞ suboptimal control problem is therefore to find a controller K(s) such that:

    ‖Tew(s)‖∞ =∥∥∥∥ WeSWuKS

    ∥∥∥∥∞≤ γ

    The mixed sensitivity H∞ control design - The closed-loop system

    Using the definition of the lower Linear Fractional Transformation, we get

    Tew(s) = Fl(P,K) = P11 + P12K(I − P22K)−1P21=

    [We0

    ]+

    [−WeGWu

    ]K(I +GK)−1I

    =

    [WeSWuKS

    ]

    O. Sename [GIPSA-lab] 65/129

  • 4 How to formulate an H∞ control problem ? How to compute the General Plant P ?

    1. Some definitionsTheH∞ norm definitionStability issues

    2. What is theH∞ performance?H∞ norm as a measure of the system gain ?How to compute theH∞ norm?What isH∞ control?

    3. Why theH∞ approach is adapted to controlengineering?

    Performance analysis and specification usingthe sensitivity functions: the SISO casePerformance analysis and specification usingthe sensitivity functions: the MIMO caseDo not forget some performance limitations

    4. How to formulate an H∞ control problem ?The mixed sensitivityH∞ control designHow to compute the General Plant P?

    How to extend the control problem with otherperformance requirements?

    5. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach forH∞ control design

    6. Uncertainty modelling and robustness analysisIntroductionMathematical representation of uncertaintiesDefinition of Robustness analysisRobustness analysis: the unstructured caseRobustness analysis: the structured caseRobust control design

    7. What else inH∞ approach?H2 and multi-objective problemsH∞ observer designOther interests of theH∞ approach

    O. Sename [GIPSA-lab] 66/129

  • 4 How to formulate an H∞ control problem ? How to compute the General Plant P ?

    The Generalized Plant

    General Control Configuration

    The first step of any H∞ control problem is to define the considered control configurationaccording to the choice of:• the exogeneous and control inputs, the controlled and measured output variables,• the structure of the controller (1dof, 2dof ....)• the performance specifications (weighting functions)

    Generalized Plant P

    From the General Control Configuration, we can define/compute the Generalized Plant P .The outcome of the previous step is the state space representation of P , as:

    O. Sename [GIPSA-lab] 67/129

    P

    ẋ = Ax+B1w +B2uz = C1x+D11w +D12uy = C2x+D21w +D22u

  • 4 How to formulate an H∞ control problem ? How to compute the General Plant P ?

    Generation of P using sysic

    For the previous mixed sensitivity H∞ control problem the Matlab code to get the generalizedplant P is as follows:

    O. Sename [GIPSA-lab] 68/129

  • 4 How to formulate an H∞ control problem ? How to compute the General Plant P ?

    Generation of P using Simulink

    A convenient solution for more complex control structures is to build the ’H∞ General Controlconfiguration’ (without the controller), in order to formalize the generalized Plant, with itsinput/output vectors.Then the linmod command allows to get the state space representation of P .

    Matlab code for linear model extraction

    [A,B,C,D]=linmod(’model’)P=ss(A,B,C,D)model : Name of the Simulink R© system from which the linear model is extracted.

    It is worth noting that this method works also for a MIMO system G, with MIMO weightingfunctions We and Wu, and vectors of inputs/outputs.

    O. Sename [GIPSA-lab] 69/129

  • 4 How to formulate an H∞ control problem ? How to extend the control problem with other performance requirements?

    1. Some definitionsTheH∞ norm definitionStability issues

    2. What is theH∞ performance?H∞ norm as a measure of the system gain ?How to compute theH∞ norm?What isH∞ control?

    3. Why theH∞ approach is adapted to controlengineering?

    Performance analysis and specification usingthe sensitivity functions: the SISO casePerformance analysis and specification usingthe sensitivity functions: the MIMO caseDo not forget some performance limitations

    4. How to formulate an H∞ control problem ?The mixed sensitivityH∞ control designHow to compute the General Plant P?

    How to extend the control problem with otherperformance requirements?

    5. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach forH∞ control design

    6. Uncertainty modelling and robustness analysisIntroductionMathematical representation of uncertaintiesDefinition of Robustness analysisRobustness analysis: the unstructured caseRobustness analysis: the structured caseRobust control design

    7. What else inH∞ approach?H2 and multi-objective problemsH∞ observer designOther interests of theH∞ approach

    O. Sename [GIPSA-lab] 70/129

  • 4 How to formulate an H∞ control problem ? How to extend the control problem with other performance requirements?

    What about disturbance attenuation?

    Extension of the H∞ control problem : to account for input disturbance rejection, the controlscheme must include di:

    When Wd = 1 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] 71/129

  • 4 How to formulate an H∞ control problem ? How to extend the control problem with other performance requirements?

    How to improve the disturbance attenuation using Wd?

    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 WeSyGWdWuKSy WuTuWd

    ]and the template expected for SyG is now 1Wd.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] 72/129

  • 4 How to formulate an H∞ control problem ? How to extend the control problem with other performance requirements?

    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] 73/129

  • 4 How to formulate an H∞ control problem ? How to extend the control problem with other performance requirements?

    Some extensions: the 2-DOF case

    In some cases it is intresting to decouple the transient response in tracking fropm the stabilizationloop (as in RST controllers). This is the case of 2 dof control structure.

    O. Sename [GIPSA-lab] 74/129

    Pay attention when building P since:• External inputs: r, di, dy and n• Control Input: u• Controlled ouputs z1 and z2• Measurements: r and y + n

    The controller solution will the be such as

    u =[Kr Ky

    ] [ r−y − n

    ]

  • 5 How to solve an H∞ control problem?

    1. Some definitionsTheH∞ norm definitionStability issues

    2. What is theH∞ performance?H∞ norm as a measure of the system gain ?How to compute theH∞ norm?What isH∞ control?

    3. Why theH∞ approach is adapted to controlengineering?

    Performance analysis and specification usingthe sensitivity functions: the SISO casePerformance analysis and specification usingthe sensitivity functions: the MIMO caseDo not forget some performance limitations

    4. How to formulate an H∞ control problem ?The mixed sensitivityH∞ control designHow to compute the General Plant P?

    How to extend the control problem with otherperformance requirements?

    5. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach forH∞ control design

    6. Uncertainty modelling and robustness analysisIntroductionMathematical representation of uncertaintiesDefinition of Robustness analysisRobustness analysis: the unstructured caseRobustness analysis: the structured caseRobust control design

    7. What else inH∞ approach?H2 and multi-objective problemsH∞ observer designOther interests of theH∞ approach

    O. Sename [GIPSA-lab] 75/129

  • 5 How to solve an H∞ control problem? The Static State feedback case

    A first case: the state feedback control problem

    Let consider the generalized plant as :

    ẋ(t) = Ax(t) +B1w(t) +B2u(t) (11)

    z(t) = C1x(t) +D11w(t) +D12u(t)

    Formulation

    In this case, the measured output vector is the state vector (y = x), and K is a constant gain.The objective is to find a state feedback control law u = −Kx such that:

    ‖Tzw(s)‖∞ ≤ γ

    Solution

    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 (C1 −D12K)T? −γ I DT11

    ? ? −γ I

    < 0, P > 0. (12)

    O. Sename [GIPSA-lab] 76/129

  • 5 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 QCT1 + YTDT12? −γ I DT11

    ? ? −γ I

    < 0, Q > 0. (13)The state feedback controller is then:

    K = −YQ−1

    Comments

    The state feedback control design could be formulated considering other objectives as:• Pole placement• minimization of H2 norm of the closed-loop system• Solve a mixed objective H2/H∞• Take into account some uncertainties

    This will lead to other LMI formulations

    O. Sename [GIPSA-lab] 77/129

  • 5 How to solve an H∞ control problem? The Dynamic Output feedback case

    1. Some definitionsTheH∞ norm definitionStability issues

    2. What is theH∞ performance?H∞ norm as a measure of the system gain ?How to compute theH∞ norm?What isH∞ control?

    3. Why theH∞ approach is adapted to controlengineering?

    Performance analysis and specification usingthe sensitivity functions: the SISO casePerformance analysis and specification usingthe sensitivity functions: the MIMO caseDo not forget some performance limitations

    4. How to formulate an H∞ control problem ?The mixed sensitivityH∞ control designHow to compute the General Plant P?

    How to extend the control problem with otherperformance requirements?

    5. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach forH∞ control design

    6. Uncertainty modelling and robustness analysisIntroductionMathematical representation of uncertaintiesDefinition of Robustness analysisRobustness analysis: the unstructured caseRobustness analysis: the structured caseRobust control design

    7. What else inH∞ approach?H2 and multi-objective problemsH∞ observer designOther interests of theH∞ approach

    O. Sename [GIPSA-lab] 78/129

  • 5 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 the H∞ control problem , can thenbe done using the Riccati approach or the LMI approach of the H∞ controlproblem (Zhou, Skogestad & Postlewaite).

    Notations:

    P

    ẋ = Ax+B1w +B2uz = C1x+D11w +D12uy = C2x+D21w +D22u

    ⇒ P =

    A B1 B2C1 D11 D12C2 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] 79/129

  • 5 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) :

    {ẋK(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) :

    {ẋcl(t) = ACL xcl(t) + BCL w(t),z(t) = CCL xcl(t) +DCL w(t),

    (14)

    where xTcl(t) =[xT (t) xTK(t)

    ]and

    ACL =(

    A+B2 DK C2 B2 CKBK C2 AK

    ),

    BCL =(

    B1 +B2 DK D21BK 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 (14) is as small as possible, i.e. γopt = min γ s.t. ||N(s)||∞ < γ.

    O. Sename [GIPSA-lab] 80/129

  • 5 How to solve an H∞ control problem? The Riccati approach

    1. Some definitionsTheH∞ norm definitionStability issues

    2. What is theH∞ performance?H∞ norm as a measure of the system gain ?How to compute theH∞ norm?What isH∞ control?

    3. Why theH∞ approach is adapted to controlengineering?

    Performance analysis and specification usingthe sensitivity functions: the SISO casePerformance analysis and specification usingthe sensitivity functions: the MIMO caseDo not forget some performance limitations

    4. How to formulate an H∞ control problem ?The mixed sensitivityH∞ control designHow to compute the General Plant P?

    How to extend the control problem with otherperformance requirements?

    5. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach forH∞ control design

    6. Uncertainty modelling and robustness analysisIntroductionMathematical representation of uncertaintiesDefinition of Robustness analysisRobustness analysis: the unstructured caseRobustness analysis: the structured caseRobust control design

    7. What else inH∞ approach?H2 and multi-objective problemsH∞ observer designOther interests of theH∞ approach

    O. Sename [GIPSA-lab] 81/129

  • 5 How to solve an H∞ control problem? The Riccati approach

    Asuumptions for the Riccati method (step 1/3)

    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 B2C1 D12

    )= n+ nu

    A4: ∀ω ∈ R, rank(

    A− jωIn B1C2 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, D12

    T [ C1 D12 ] =[

    0 Inu],

    [B1D21

    ]D21

    T =

    [0Iny

    ]not necessary but simplify the solution (does correspond to the given theorem next but can beeasily relaxed)

    O. Sename [GIPSA-lab] 82/129

  • 5 How to solve an H∞ control problem? The Riccati approach

    The problem solvability (step 2/3)

    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−CT1 C1 −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] 83/129

  • 5 How to solve an H∞ control problem? The Riccati approach

    Controller reconstruction (step 3/3)

    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) =

    [Â∞ −Z∞L∞F∞ 0

    ]with

    Â∞ = A+ γ−2B1BT1 X∞ +B2F∞ + Z∞L∞C2F∞ = −BT2 X∞, L∞ = −Y∞CT2Z∞ =

    (I − γ−2Y∞X∞

    )−1The 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 ŵ(t) +B2 u(t) + Z∞ L∞(C2 x̂(t)− y(t)

    ). (15)

    and ŵ(t) is defined as

    ŵ(t) = γ−2 BT1 X∞ x̂(t).

    Remark. ŵ(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 disturbanceO. Sename [GIPSA-lab] 84/129

  • 5 How to solve an H∞ control problem? The LMI approach forH∞ control design

    1. Some definitionsTheH∞ norm definitionStability issues

    2. What is theH∞ performance?H∞ norm as a measure of the system gain ?How to compute theH∞ norm?What isH∞ control?

    3. Why theH∞ approach is adapted to controlengineering?

    Performance analysis and specification usingthe sensitivity functions: the SISO casePerformance analysis and specification usingthe sensitivity functions: the MIMO caseDo not forget some performance limitations

    4. How to formulate an H∞ control problem ?The mixed sensitivityH∞ control designHow to compute the General Plant P?

    How to extend the control problem with otherperformance requirements?

    5. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach forH∞ control design

    6. Uncertainty modelling and robustness analysisIntroductionMathematical representation of uncertaintiesDefinition of Robustness analysisRobustness analysis: the unstructured caseRobustness analysis: the structured caseRobust control design

    7. What else inH∞ approach?H2 and multi-objective problemsH∞ observer designOther interests of theH∞ approach

    O. Sename [GIPSA-lab] 85/129

  • 5 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).when we refer to the H∞ control problem, we mean: Find a controller K for system P such that,given γ∞,

    ||Fl(P,K)||∞ < γ∞ (16)

    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)‖∞ (17)

    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 CTCLBTCLP −γ2∞I DTCL

    CCL DCL −I

    < 0 (18)where ACL, BCL, CCL, DCL are given in (14). Since this inequality is not an LMI and nottractable for SDP solver, relaxations have to be performed (indeed it is a BMI), as proposed in(Scherer).

    O. Sename [GIPSA-lab] 86/129

  • 5 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))

    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, Ã, B̃, C̃ and D̃), whileminimizing γ∞,

    M11 (∗)T (∗)T (∗)TM21 M22 (∗)T (∗)TM31 M32 M33 (∗)TM41 M42 M43 M44

    ≺ 0[X InIn Y

    ]� 0

    (19)

    where,M11 = AX + XAT +B2C̃ + C̃

    TBT2 M21 = Ã +A

    T + CT2 D̃TBT2

    M22 = YA+ATY + B̃C2 + CT2 B̃T

    M31 = BT1 +D

    T21D̃

    TBT2

    M32 = BT1 Y +D

    T21B̃

    TM33 = −γ∞Inu

    M41 = C1X +D12C̃ M42 = C1 +D12D̃C2M43 = D11 +D12D̃D21 M44 = −γ∞Iny

    (20)

    O. Sename [GIPSA-lab] 87/129

  • 5 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 = D̃CK = (C̃−DcC2X)M−T

    BK = N−1(B̃− YB2Dc)

    AK = N−1(Ã− YAX− YB2DcC2X−NBcC2X− YB2CcMT )M−T

    (21)

    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[?].

    O. Sename [GIPSA-lab] 88/129

  • 6 Robust analysis

    1. Some definitionsTheH∞ norm definitionStability issues

    2. What is theH∞ performance?H∞ norm as a measure of the system gain ?How to compute theH∞ norm?What isH∞ control?

    3. Why theH∞ approach is adapted to controlengineering?

    Performance analysis and specification usingthe sensitivity functions: the SISO casePerformance analysis and specification usingthe sensitivity functions: the MIMO caseDo not forget some performance limitations

    4. How to formulate an H∞ control problem ?The mixed sensitivityH∞ control designHow to compute the General Plant P?

    How to extend the control problem with otherperformance requirements?

    5. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach forH∞ control design

    6. Uncertainty modelling and robustness analysisIntroductionMathematical representation of uncertaintiesDefinition of Robustness analysisRobustness analysis: the unstructured caseRobustness analysis: the structured caseRobust control design

    7. What else inH∞ approach?H2 and multi-objective problemsH∞ observer designOther interests of theH∞ approach

    O. Sename [GIPSA-lab] 89/129

  • 6 Robust analysis Introduction

    Introduction

    • A control system is robust if it is insensitive to differences between the actual system and themodel of the system which was used to design the controller• How to take into account the difference between the actual system and the model ?• A solution: using a model set BUT : very large problem and not exact yet

    A method: these differences are referred as model uncertainty.The approach

    1 determine the uncertainty set: mathematical representation2 check Robust Stability3 check Robust Performance

    Lots of forms can be derived according to both our knowledge of the physical mechanism thatcause the uncertainties and our ability to represent these mechanisms in a way that facilitatesconvenient manipulation.Several origins :• Approximate knowledge and variations of some parameters• Measurement imperfections (due to sensor)• At high frequencies, even the structure and the model order is unknown (100• Choice of simpler models for control synthesis• Controller implementation

    Two classes: parametric uncertainties / neglected or unmodelled dynamics

    O. Sename [GIPSA-lab] 90/129

  • 6 Robust analysis Mathematical representation of uncertainties

    1. Some definitionsTheH∞ norm definitionStability issues

    2. What is theH∞ performance?H∞ norm as a measure of the system gain ?How to compute theH∞ norm?What isH∞ control?

    3. Why theH∞ approach is adapted to controlengineering?

    Performance analysis and specification usingthe sensitivity functions: the SISO casePerformance analysis and specification usingthe sensitivity functions: the MIMO caseDo not forget some performance limitations

    4. How to formulate an H∞ control problem ?The mixed sensitivityH∞ control designHow to compute the General Plant P?

    How to extend the control problem with otherperformance requirements?

    5. How to solve an H∞ control problem?The Static State feedback caseThe Dynamic Output feedback caseThe Riccati approachThe LMI approach forH∞ control design

    6. Uncertainty modelling and robustness analysisIntroductionMathematical representation of uncertaintiesDefinition of Robustness analysisRobustness analysis: the unstructured caseRobustness analysis: the structured caseRobust control design

    7. What else inH∞ approach?H2 and multi-objective problemsH∞ observer designOther interests of theH∞ approach

    O. Sename [GIPSA-lab] 91/129

  • 6 Robust analysis Mathematical representation of uncertainties

    Example 1: uncertainties

    Let consider the example from (Sokestag & Postlewaite, 1996).

    G̃(s) =k

    1 + τse−sh, 2 ≤ k, h, τ ≤ 3

    Let us choose the nominal parameters as, k = h = τ = 2.5 and G the according nominal model.We can define the ’relative’ uncertainty, which is actually referred as a MULTIPLICATIVEUNCERTAINTY, as

    O. Sename [GIPSA-lab] 92/129

    G̃(s) = G(s)(I +Wm(s)∆(s))

    with Wm(s) = 3.5s+0.25s+1and ‖∆‖∞ ≤ 1

  • 6 Robust analysis Mathematical representation of uncertainties

    Example 2: unmodelled dynamcis

    O. Sename [GIPSA-lab] 93/129

    10-8 10-6 10-4 10-2 100 102 104-250

    -200

    -150

    -100

    -50

    0

    Mag

    nitu

    de (

    dB)

    Bode Diagram

    Frequency (rad/s)

    (Greal-Gnom)/Gnom

    Wm

    Let us consider the system:

    G̃(s) = G0(s)1

    1 + τs, τ ≤ τmax

    This can be modelled as:

    G̃(s) = G0(s)(I +Wm(s)∆(s))

    with Wm(s) = τmaxjω1+τmaxjω and ‖∆‖∞ ≤ 1

    This can be represented as

    with

    N(s) =

    [N11(s) N12(s)N21(s) N22(s)

    ]=

    (0 I

    G0Wm(s) G0(s)

    )

  • 6 Robust analysis Mathematical representation of uncertainties

    Example 3: parametric uncertainties

    Consider the first order system:

    G(s) =1

    s+ a, a0 − b < a < a0 + b

    Define now:a = a0 + δ.b with |δ| < 1

    Then it leads:1

    s+ a=

    1

    s+ a0 + δ.b=

    1

    s+ a0(1 +

    δ.b

    s+ a0)−1

    This can then be represented as a Multiplicative Inverse Uncertainty:

    O. Sename [GIPSA-lab] 94/129

    withz = y∆ =

    1s+a0

    (w − bu∆)

  • 6 Robust analysis Mathematical representation of uncertainties

    Example 3 (cont.) same example with state space formulation

    Let us first the transfer function G(s) = 1s+a

    as

    G :

    {ẋ = (−a0 − δ.b)x+ wz = x

    (22)

    In order to use an LFT, let us define the uncertain input:

    u∆ = δx,

    Then the previous system can be rewritten in the following LFR:

    O. Sename [GIPSA-lab] 95/129

    where ∆ and y∆ are given as:

    ∆ =[δ], y∆ = (x)

    and N given by the state space representation:

    N :

    ẋ = −a0x− bu∆ + wy∆ = xz = x

    (23)

  • 6 Robust analysis Mathematical representation of uncertainties

    Example 4: parametric uncertainties in state space equations

    Let us consider the following uncertain system:

    G :

    ẋ1 = (−2 + δ1)x1 + (−3 + δ2)x2ẋ2 = (−1 + δ3)x2 + uy = x1

    (24)

    In order to use an LFT, let us define the uncertain inputs:

    u∆1 = δ1x1, u∆2 = δ2x2, u∆3 = δ3x2

    Then the previous system can be rewritten in the following LFR:

    O. Sename [GIPSA-lab] 96/129

    where ∆ and y∆ are given as:

    ∆ =

    δ1 0 00 δ2 00 0 δ3

    , y∆ = x1x2

    x2

    and N given by the state space representation:

    N :

    ẋ1ẋ2 == −2x1 − 3x2 + u∆1 + u∆2−x2 + u+ u∆3y = x1

    (25)

  • 6 Robust analysis Mathematical representation of uncertainties

    Towards LFR (LFT)

    The previous computations are in fact the first step towards an unified representation of theuncertainties: the Linear Fractional Representation (LFR).Indeed the previous schemes can be rewritten in the following general representation as:

    Figure: N∆ structure

    This LFR gives then the transfer matrix from w to z, and is referred to as the upper LinearFractional Transformation (LFT) :

    Fu(N,∆) = N22 +N21∆(I −N11∆)−1N12

    This LFT exists and is well-posed if (I −N11∆)−1 is invertible

    O. Sename [GIPSA-lab] 97/129

  • 6 Robust analysis Mathematical representation of uncertainties

    LFT definition

    In this representation N is known and ∆(s) collects all the uncertainties taken into account for thestability analysis of the uncertain closed-loop system.∆(s) shall have the following structure:

    ∆(s) = diag {∆1(s), · · · ,∆q(s), δ1Ir1 , · · · , δrIrr , �1Ic1 , · · · , �cIcc}

    with ∆i(s) ∈ RHki×ki∞ , δi ∈ R and �i ∈ C.Remark: ∆(s) includes• q full block transfer matrices,• r real diagonal blocks referred to as ’repeated scalars’ (indeed each block includes a real

    parameter δi repeated ri times),• c complex scalars �i repeated ci times.

    Constraints: The uncertainties must be normalized, i.e such that:

    ‖∆‖∞ ≤ 1, |δi| ≤ 1, |�i| ≤ 1

    O. Sename [GIPSA-lab] 98/129

  • 6 Rob