Top Banner

of 37

lqrlqgnotes

Jun 02, 2018

Download

Documents

Mosher Jovan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/11/2019 lqrlqgnotes

    1/37

    Undergraduate Lecture Notes on

    LQG/LQR controller design

    Jo ao P. Hespanha

    April 1, 2007

    Disclaimer: This is a draft and probably contains several typos.

    Comments and information about typos are welcome. Please contact the author at ( [email protected] ).

    c Copyright to Jo ao Hespanha. Please do not distribute this document without the authorsconsent.

  • 8/11/2019 lqrlqgnotes

    2/37

  • 8/11/2019 lqrlqgnotes

    3/37

    Contents

    1 Review of State-space models 31.1 State-space models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Input-output relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Realizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Controllability and observability . . . . . . . . . . . . . . . . . . . . . . . . . 61.5 Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.6 MATLAB hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2 Linear Quadratic Regulation (LQR) 92.1 Feedback conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2 Optimal Regulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3 State-Feedback LQR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.4 Stability and Robustness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.5 Loop-shaping control using LQR . . . . . . . . . . . . . . . . . . . . . . . . . 152.6 MATLAB hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.7 To probe further . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    3 LQG/LQR Output Feedback 213.1 Output Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.2 Full-order observers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3 LQG estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.4 LQG/LQR output feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.5 Separation Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.6 Loop-gain recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.7 MATLAB hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    4 Set-point control 294.1 Nonzero equilibrium state and input . . . . . . . . . . . . . . . . . . . . . . . 294.2 State-feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.3 Output-feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.4 To probe further . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    i

  • 8/11/2019 lqrlqgnotes

    4/37

    ii Jo ao P. Hespanha

    Attention! When a margin sidebar nishes with . . . , more information about the topiccan be found at the end of the lecture in the To probe further section.

  • 8/11/2019 lqrlqgnotes

    5/37

    Introduction to LQG/LQRcontroller design

    In optimal control one attempts to nd a controller that provides the best possible perfor-

    mance with respect to some given measure of performance. E.g., the controller that uses theleast amount of control-signal energy to take the output to zero. In this case the measureof performance (also called the optimality criterion ) would be the control-signal energy.

    In general, optimality with respect to some criterion is not the only desirable propertyfor a controller. One would also like stability of the closed-loop system, good gain and phasemargins, robustness with respect to unmodeled dynamics, etc.

    In this section we study controllers that are optimal with respect to energy-like crite-ria. These are particularly interesting because the minimization procedure automatically produces controllers that are stable and somewhat robust. In fact, the controllers obtainedthrough this procedure are generally so good that we often use them even when we donot necessarily care about optimizing for energy. Moreover, this procedure is applicable tomultiple-input/multiple-output processes for which classical designs are difficult to apply.

    Pre-requisites

    1. Basic knowledge of state-space models (briey reviewed here)

    2. Familiarity with basic vector and matrix operations.

    3. Knowledge of MATLAB/Simulink.

    1

  • 8/11/2019 lqrlqgnotes

    6/37

    2 Jo ao P. Hespanha

  • 8/11/2019 lqrlqgnotes

    7/37

    Lecture #1

    Review of State-space models

    Contents1.1 State-space models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Input-output relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Realizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Controllability and observability . . . . . . . . . . . . . . . . . . . . . . . . . 61.5 Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.6 MATLAB hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    1.1 State-space models

    Consider the system in Figure 1.1 with m inputs and k outputs. A state-space model for

    u (t ) R m y(t) R kx = f (x, u )y = g(x, u )

    Figure 1.1. System with m inputs and k outputs

    this system relates the input and output of a system using the following rst-order vectorordinary differential equation

    x = f (x, u ), y = g(x, u ). (1.1)

    where x

    R n is called the state of system. In this Chapter we restrict our attention to

    linear time-invariant (LTI) systems for which the functions f (, ) and g(, ) are linear. In Matlab hint 1.ss(A,B,C,D) creates a LTstate-space model withrealization (1.2). . .

    this case, (1.1) has the special form

    x = Ax + Bu, y = Cx + Du, (1.2)

    where A is a n n matrix, B a n m matrix, C a k n matrix, and D a k m matrix.3

  • 8/11/2019 lqrlqgnotes

    8/37

    4 Jo ao P. Hespanha

    Example 1 (Aircraft roll-dynamics). Figure 1.2 shows the roll-angle dynamics of anaircraft [2, p. 381]. Dening

    roll-angle

    roll-rate=

    applied torque

    = = .875 20 = 50 + 50u

    Figure 1.2. Aircraft roll-angle dynamics

    x :=

    we conclude that

    x = Ax + Bu

    with

    A :=0 1 00 .875 200 0 50

    , B :=00

    50.

    If we have both and available for control, we can dene

    y := = Cx + Du

    with

    C := 1 0 00 1 0 , D :=00 .

    1.2 Input-output relationsdebar 1. See [1,

    Appendix A] for a review of aplace transforms.

    The transfer-function of this system can be found by taking Laplace transforms of (1.2):

    x = Ax + Bu,

    y = Cx + Du,

    L

    sX (s) = AX (s) + BU (s),

    Y (s) = CX (s) + DU (s),where X (s), U (s), and Y (s) denote the Laplace transforms of x(t), u(t), and y(t). Solvingfor X (s), we get

    (sI A)X (s) = BU (s) X (s) = ( sI A)1 BU (s)

  • 8/11/2019 lqrlqgnotes

    9/37

    LQG/LQR controller design 5

    and therefore

    Y (s) = C (sI A)1

    BU (s) + DU (s) = C (sI A)1

    B + D U (s).Dening Matlab hint 2.

    tf(num,den) creates atransfer-function withnumerator and denominatospecied by num, den . . .Matlab hint 3.

    zpk(z,p,k) creates atransfer-function with zeropoles, and gain specied bz , p , k . . .Matlab hint 4. tf(sys sand zpk(sys ss) computthe transfer-function of thestate-space model sys ss

    T (s) := C (sI A)1 B + D,we conclude that

    Y (s) = T (s) U (s). (1.3)

    To emphasize the fact that T (s) is a k m matrix, we call it the transfer-matrix of thesystem (1.2).The relation (1.3) between the Laplace transforms of the input and the output of the

    system is only valid for zero initial conditions, i.e., when x(0) = 0. The general solution tothe system (1.2) in the time domain is given by

    x(t) = eAt x(0) + t

    0eA ( t s ) Bu (s)ds, (1.4)

    y(t) = CeAt x(0) + t

    0Ce A ( t s ) Bu (s)ds + Du (t), t 0. (1.5)

    Equation (1.4) is called the variation of constants formula . Matlab hint 5. expmcomputes the exponential a matrix. . .Example 2 (Aircraft roll-dynamics). The transfer-function for the state-space model

    in Example 1 is given by:

    T (s) = 1000s ( s + .875)( s +50)

    1000( s + .875)( s +50)

    1.3 RealizationsConsider a transfer-matrix

    T (s) =

    T 11 (s) T 12 (s) T 1m (s)T 21 (s) T 22 (s) T 2m (s)... ... . . . ...T k 1(s) T k 2(s) T km (s)

    ,

    where all the T ij (s) are given by a ratio of polynomials with the degree of the numerator

    smaller than or equal to the degree of the denominator. It is always possible to nd matrices Matlab hint 6.

    ss(sys tcomputes a realization of ttransfer-function sys tf

    A,B,C,D such that

    T (s) = C (sI A)1B + D.This means that it is always possible to nd a state-space model like (1.2) whose transfer-matrix is precisely T (s). The model (1.2) is called a realization of T (s). Attention! Realizations

    not unique, i.e., severalstate-space models may hathe same transfer function

  • 8/11/2019 lqrlqgnotes

    10/37

    6 Jo ao P. Hespanha

    1.4 Controllability and observability

    The system (1.2) is said to be controllable when given any initial state xi R n , any nalstate x f R n , and any nite time T , one can nd an input signal u(t) that takes the stateof (1.2) from x i to x f in the interval of time 0 t T , i.e., when there exists an input u(t)such thatxf = eAT xi +

    T

    0eA (T s ) Bu (s)ds.

    To determine if a system is controllable, one can compute the controllability matrix , whichatlab hint 7. ctrb(sys)omputes the controllability

    matrix of the state-spaceystem sys . Alternatively,ne can use directlytrb(A,B) . . .

    atlab hint 8. rank(M)omputes the rank of a

    matrix M.

    is dened by

    C := B AB A 2B An 1B .

    The system is controllable if and only if this matrix has rank equal to the size n of the statevector.

    The system (1.2) is said to be observable when one can determine the initial conditionx(0) by simply looking at the input and output signals u(t) and y(t) on a certain intervalof time 0 t T , i.e., one can solve

    y(t) = CeAt x(0) + t

    0Ce A ( t s ) Bu (s)ds + Du (t), 0 t T,

    uniquely for the unknown x(0). To determine if a system is observable, one can computeatlab hint 9. obsv(sys)omputes the controllability

    matrix of the state-spaceystem sys . Alternatively,ne can use directlybsv(A,C) . . .

    the observability matrix , which is dened by

    O:=C

    CACA 2...

    CA n 1

    .

    The system is observable if and only if this matrix has rank equal to the size n of the statevector.

    Example 3 (Aircraft roll-dynamics). The controllability and observability matrices forthe state-space model in Example 1 are given by:

    C =0 0

    1000

    0 1000 5087550 2500 125000, O=

    1 0 00 1 0

    0 1 00 .875 200 .875 200 .7656 1017.5

    .

    Both matrices have rank 3 so the system is both controllable and observable.

  • 8/11/2019 lqrlqgnotes

    11/37

    LQG/LQR controller design 7

    1.5 Stability

    The system (1.2) is asymptotically stable when all eigenvalues of A have negative real parts. Matlab hint 10. eig(Acomputes the eigenvalues othe matrix A. . .

    In this case, for any bounded input u(t) the output y(t) and the state x(t) are also bounded,i.e.,

    u(t) c1 , t 0 y(t) c2 , x(t) c3 t 0.Moreover, if u(t) converges to zero as t , then x(t) and y(t) also converge to zero ast .Example 4 (Aircraft roll-dynamics). The eigenvalues of the matrix the A matrix forthe state-space model in Example 1 are {0, .875, 50}so the system is not asymptoticallystable.

    1.6 MATLAB hintsMatlab Hint 1 ( ss ). The command sys ss=ss(A,B,C,D) assigns to sys ss a MATLABLTI state-space model with realization

    x = Ax + Bu, y = Cx + Du.

    Optionally, one can specify the names of the inputs, outputs, and state to be used insubsequent plots as follows:

    sys ss=ss(A,B,C,D,...InputName, {input1,input2,... },...OutputName,

    {output1,output2,...

    },...

    StateName, {input1,input2,... })The number of elements in the bracketed lists must match the number of inputs,outputs,and state variables.

    Matlab Hint 2 ( tf ). The command sys tf=tf(num,den) assigns to sys tf a MAT-LAB transfer-function. num is a vector with the coefficients of the numerator of the systemstransfer-function and den a vector with the coefficients of the denominator. The last coeffi-cient must always be the zero-order one. E.g., to get 2ss 2 +3 you should use num=[2 0];den=[10 3];

    For transfer-matrices, num and den are cell arrays. Type help tf for examples.

    Optionally, one can specify the names of the inputs, outputs, and state to be used insubsequent plots as follows:

    sys tf=tf(num,den,...InputName, {input1,input2,... },...OutputName, {output1,output2,... },...StateName, {input1,input2,... })

  • 8/11/2019 lqrlqgnotes

    12/37

    8 Jo ao P. Hespanha

    The number of elements in the bracketed lists must match the number of inputs,outputs,and state variables.

    Matlab Hint 3 ( zpk ). The command sys tf=zpk(z,p,k) assigns to sys tf a MATLABtransfer-function. z is a vector with the zeros of the system, p a vector with its poles, andk the gain. E.g., to get 2s( s +1)( s +3) you should use z=0;p=[1,3];k=2;

    For transfer matrices, z and p are cell arrays and k a regular array. Type help zpk forexamples.

    Optionally, one can specify the names of the inputs, outputs, and state to be used insubsequent plots as follows:

    sys tf=zpk(z,p,k,...InputName, {input1,input2,... },...OutputName, {output1,output2,... },...StateName,

    {input1,input2,...

    })

    The number of elements in the bracketed lists must match the number of inputs,outputs,and state variables.

    Matlab Hint 4 ( tf ). The commands tf(sys ss) and zpk(sys ss) compute the transfer-function of the state-space model sys ss specied as in Matlab Hint 1.tf(sys ss) stores (and displays) the transfer function as a ratio of polynomials on s.zpk(sys ss) stores (and displays) the polynomials factored as the product of monomials(for the real roots) and binomials (for the complex roots). This form highlights the zerosand poles of the system.

    Matlab Hint 6 ( ss ). The command ss(sys tf) computes the state-space model of thetransfer function sys specied as in Matlab Hints 2 or 3.

    Matlab Hint 5 ( expm). The command expm(M) computes the matrix exponential eM. With

    the symbolic toolbox, this command can be used to compute eAt

    symbolically as follows:syms texpm(A*t)

    The rst command denes t as a symbolic variable and the second computes eAt (assumingthat the matrix A has been previously dened).

    Matlab Hint 7 ( ctrb ). The command ctrb(sys) computes the controllability matrixof the system sys . The system must be specied by a state-space model using, e.g.,sys=ss(A,B,C,D) , where A,B,C,D are a realization of the system. Alternatively, one canuse directly ctrb(A,B) .

    Matlab Hint 9 ( obsv ). The command obsv(sys) computes the observability matrixof the system sys . The system must be specied by a state-space model using, e.g.,

    sys=ss(A,B,C,D) , where A,B,C,D are a realization of the system. Alternatively, one canuse directly obsv(A,C) .

    Matlab Hint 10 ( eig ). The command eig(A) computes the eigenvalues of the matrix A.Alternatively, eig(sys) computes the eigenvalues of the A matrix for a state-space systemsys specied by sys=ss(A,B,C,D) , where A,B,C,D are a realization of the system.

  • 8/11/2019 lqrlqgnotes

    13/37

    Lecture #2

    Linear Quadratic Regulation(LQR)

    Contents2.1 Feedback conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2 Optimal Regulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3 State-Feedback LQR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.4 Stability and Robustness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.5 Loop-shaping control using LQR . . . . . . . . . . . . . . . . . . . . . . . . . 152.6 MATLAB hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.7 To probe further . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    2.1 Feedback congurationFigure 2.1 shows the feedback conguration for the Linear quadratic regulation (LQR) prob-lem .

    y(t ) R k

    z (t) Ru (t ) R m

    processcontroller

    Figure 2.1. Linear quadratic regulation (LQR) feedback conguration. Note the negative feedback and the absence of a reference signal . Reference signals will be introduced in Lecture 4.

    In this conguration, the state-space model of the process is of the form

    x = Ax + Bu, y = Cx, z = Gx + Hu. (2.1)

    9

  • 8/11/2019 lqrlqgnotes

    14/37

    10 Jo ao P. Hespanha

    and has two distinct outputs:

    1. The measured output y(t)

    R k

    corresponds to the signal(s) that can be measured andare therefore available for control. If the controller transfer-matrix is C (s), we have

    Y (s) = C (s)U (s),where Y (s) and U (s) denote the Laplace transforms of the process input u(t) and themeasured output y(t), respectively.

    2. The controlled output z(t) R corresponds to a signal that one would like to makeas small as possible in the shortest possible amount of time.Sometimes z(t) = y(t), which means that our control objective is to make the wholemeasured output very small. However, when the output y(t) is a vector, often onesimply needs to make one of the measured outputs y1(t) small. In this case, onechooses z(t) = y1(t).

    In some situations one chooses

    z(t) = y1(t)y1(t),

    which means that we want to make both the measured output y1(t) and its derivativey1(t) very small. Many other options are possible.The choice of z should be viewed as a design parameter. In Section 2.5 we will studythe impact of this choice in the performance of the closed-loop.

    2.2 Optimal RegulationThe LQR problem is dened as follows:

    Problem 1 (Optimal LQR). Find the controller transfer-matrix C (s) that makes theotation 1. Given anm -vector,

    v = v1 v2 vm ,v denotes the Euclideanorm of v , i.e.,

    v = v v = m

    Xi =1 v2i

    12

    .

    following criteria as small as possible

    J LQR := 0 z(t) 2 + u(t) 2dt, (2.2)where is a positive constant.

    The term

    0 z(t) 2dtcorresponds to the energy of the controlled output and the term

    0 u(t)

    2dt

    to the energy of the control signal. In LQR one seeks a controller that minimizes bothenergies. However, decreasing the energy of the controlled output will require a large controlsignal and a small control signal will lead to large controlled outputs. The role of the constant is to establish a trade-off between these conicting goals:

  • 8/11/2019 lqrlqgnotes

    15/37

    LQG/LQR controller design 11

    1. When we chose very large, the most effective way to decrease J LQR is to use littlecontrol, at the expense of a large controlled output.

    2. When we chose very small, the most effective way to decrease J LQR is to obtain avery small controlled output, even if this is achieved at the expense of a large controlledoutput.

    Often the optimal LQR problem is dened more generally and consists of nding the Sidebar 2. The mostgeneral form for thequadratic criteria is

    Z

    0x Qx + u Ru + 2 x

    . . .

    controller transfer-matrix C (s) that minimizes

    J LQR := 0 z(t) Qz (t) + u (t)Ru (t)dt, (2.3)where Q is an symmetric positive-denite matrix, R an m m symmetric positive- Sidebar 3. A symmetric

    q q matrix M ispositive-denite if x Mx > 0, for every nonzvector x R q . . .

    denite matrix, and a positive constant.

    Brysons rule A rst choice for the matrices Q and R in (2.3) is given by the Brysons rule [1, p. 537]: select Q and R diagonal with

    Q ii = 1

    maximum acceptable value of z2i, i {1, 2, . . . , }

    R jj = 1

    maximum acceptable value of u2j, j {1, 2, . . . , m },

    which corresponds to the following criteria

    J LQR :=

    0 i =1

    Q ii zi (t)2 + m

    j =1

    R jj u j (t)2 dt.

    In essence the Brysons rule scales the variables that appear in J LQR so that the maximum acceptable value for each term is one . This is especially important when the units used forthe different components of u and z make the values for these variables numerically verydifferent from each other.

    Although Brysons rule sometimes gives good results, often it is just the starting point toa trial-and-error iterative design procedure aimed at obtaining desirable properties for theclosed-loop system. In Section 2.5 we will discuss systematic methods to chose the weightsin the LQR criterion.

    2.3 State-Feedback LQRIn the state-feedback version of the LQR problem (Figure 2.2), we assume that the wholestate x can be measured and therefore it is available for control.

    Solution to the optimal state-feedback LQR Problem 1. The optimal state-feedback LQR con- Matlab hint 11. lqrcomputes the optimalstate-feedback controllergain K . . .

  • 8/11/2019 lqrlqgnotes

    16/37

    12 Jo ao P. Hespanha

    x (t ) R n

    z (t ) Ru (t) R m

    processcontroller

    Figure 2.2. Linear quadratic regulation (LQR) with state feedback

    troller for the criteria (2.3) is a simple matrix gain of the form

    u = Kx (2.4)where K is the m n matrix given by

    K = ( H QH + R)1(B P + H QG)

    and P is the unique positive-denite solution to the following equation

    A P + P A + G QG (P B + G QH )(H QH + R)1(B P + H QG) = 0 ,known as the Algebraic Riccati Equation (ARE) .

    2.4 Stability and Robustness

    The state-feedback control law (2.4), results in a closed-loop system of the formdebar 4. A system = Ax + Bu is

    symptotically stable whenll eigenvalues of A have

    egative real parts. Seeection 1.5.

    x = ( A BK )x.A crucial property of LQR controller design is that this closed-loop is asymptotically stable (i.e., all the eigenvalues of A BK have negative real part) as long as the following twoconditions hold:

    1. The system (2.1) is controllable.debar 5. The denitionsnd tests for controllabilitynd observability areeviewed in Section 1.4.

    2. The system (2.1) is observable when we ignore y and regard z as the sole output .

    ttention! When selectinghe measured output z , it ismportant to verify that thebservability condition isatised.

    Perhaps even more important is the fact that LQR controllers are inherently robust with respect to process uncertainty . To understand why, consider the open-loop transfer-matrixfrom the process input u to the controllers output u (Figure 2.3). The state-space model

    x

    uux = Ax + BuK

    Figure 2.3. State-feedback open-loop gain

  • 8/11/2019 lqrlqgnotes

    17/37

    LQG/LQR controller design 13

    from u to u is given by

    x = Ax + Bu, u = Kx,which corresponds to the following open-loop negative feedback m m transfer-matrix

    G0(s) = K (sI A)1B.We focus our attention in single-input processes ( m = 1), for which G0(s) is a scalar transfer- Sidebar 6. LQR contro

    also exhibit robustnessproperties for multiple-inpprocesses. However, in thicase G 0 (s ) is a m mtransfer-matrix and oneneeds a multi-variable Nyquist criterion.

    function and the following holds:

    Kalmans Inequality. When H G = 0 , the Nyquist plot of G0( j ) does not enter a circle of radius one around 1, i.e.,

    |1 + G0 ( j )

    | 1,

    R .

    Kalmans Inequality is represented graphically in Figure 2.4 and has several signicantimplications, which are discussed next.

    1 260o

    G 0 ( j )

    Im

    Re

    Figure 2.4. Nyquist plot for a LQR state-feedback controller

    Positive gain margin If the process gain is multiplied by a constant k > 1, its Nyquistplot simply expands radially and therefore the number of encirclements does not change.This corresponds to a positive gain margin of + .

    Negative gain margin If the process gain is multiplied by a constant .5 < k < 1, itsNyquist plot contracts radially but the number of encirclements still does not change. Thiscorresponds to a negative gain margin of 20 log10 (.5) = 6dB.

    Phase margin If the process phase increases by [60, 60] degrees, its Nyquist plotsrotates by but the number of encirclements still does not change. This corresponds to aphase margin of 60 degrees.

  • 8/11/2019 lqrlqgnotes

    18/37

    14 Jo ao P. Hespanha

    +

    +

    xu

    m (s )

    x = Ax + BuK

    | m ( j )| m (),

    Figure 2.5. Unity feedback conguration with multiplicative uncertainty

    Multiplicative uncertainty Kalmans inequality guarantees thatdebar 7. Why?...

    G0 ( j )1 + G0( j ) 2. (2.5)

    Since, we known that the closed-loop system in Figure 2.5 remains stable for every multi-plicative uncertainty block m ( j ) with norm smaller than m (), as long as

    G0( j )1 + G0( j )

    < 1m ()

    , (2.6)

    we conclude that an LQR controller provides robust stability with respect to any multiplicative uncertainty with magnitude smaller than 12 , because we then have

    G0( j )1 + G0( j ) 2 0,

    for every nonzero vector x R q . To test if a matrix is positive dene one can computeits eigenvalues. If they are all positive the matrix is positive-denite, otherwise it is not(cf. Matlab Hint 10).

    Sidebar 7 (Multiplicative uncertainty). Since the Nyquist plot of G0( j ) does notenter a circle of radius one around 1, we have that

    |1 + G0( j )| 1 1

    1 + G0( j )= 1

    G0( j )1 + G0( j ) 1

    G0( j )1 + G0( j ) 2.

    Sidebar 10 (Equation (2.7)). When z = y y , we have that

    z = y y = Cx

    CAx + CBu G = C CA , H =

    0CB .

    In this case,

    P z (s) = P y (s)sP y (s)

    = 1s P y (s),

    where P y (s) := C (sI A)1 B , and therefore

    |G0( j )| 1 + 22 |P y ( j )| H H + = |1 + j | |P y ( j )| H H + . 2.8 Exercises

    Exercise 1. Verify using the diagram in Figure 4.1 that, for the single-input case ( m = 1),the closed-loop transfer function T u (s) from the reference r to the process input u is givenby

    T u (s) = 1

    1 + G0(KF + N ),

  • 8/11/2019 lqrlqgnotes

    24/37

    20 Jo ao P. Hespanha

    where G0(s) = K (sI A)1 B , and the closed-loop transfer function T z from the referencer to the controlled output z is given byT z (s) =

    11 + G0

    P z (KF + N ),

    where P z (s) = G(sI A)1B + H . Exercise 2. Consider an inverted pendulum operating near the upright equilibrium posi-tion, with linearized model given by

    = 0 1g bm 2 +

    01

    m 2T

    where T denotes an applied torque, the pendulums angle with a vertical axis pointing up,and = 1m, m = 1Kg, b = .1N/m/s, g = 9 .8m/s 2 .

    1. Design a PD controller using LQR

    2. Design a PID controller using LQRHint: Consider an augmented process model with state , , z(t) =

    t0 (s)ds.

  • 8/11/2019 lqrlqgnotes

    25/37

    Lecture #3

    LQG/LQR Output Feedback

    Contents3.1 Output Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.2 Full-order observers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3 LQG estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.4 LQG/LQR output feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.5 Separation Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.6 Loop-gain recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.7 MATLAB hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    3.1 Output FeedbackThe state-feedback LQR formulation considered in Chapter 2.3 suffered from the drawbackthat the optimal control law

    u(t) = Kx (t) (3.1)required the whole state x of the process to be measurable. An possible approach to over-come this difficulty is to estimate the state of the process based solely on the measuredoutput y, and use

    u(t) = K x(t)instead of (3.1), where x(t) denotes an estimate of the process state x(t). In this chapterwe consider the problem of constructing state estimates.

    3.2 Full-order observersConsider a process with state-space model

    x = Ax + Bu, y = Cx, (3.2)

    21

  • 8/11/2019 lqrlqgnotes

    26/37

    22 Jo ao P. Hespanha

    where y denotes the measured output, u the control input. We assume that x cannot bemeasured and our goal to estimate its value based on y.

    Suppose we construct the estimate x by replicating the process dynamics as in

    x = Ax + Bu. (3.3)

    To see of this would generate a good estimate for x, we can dene the state estimation errore := x x and study its dynamics. From (3.2) and (3.3), we conclude that

    e = Ax Ax = Ae.This shows that when the matrix A is asymptotically stable the error e converges to zero for any input u, which is good news because it means that x eventually converges to x ast . However, when A is not stable e is unbounded and x grow further and furtherapart from x as t

    . To avoid this, one includes a correction term in (3.3):

    x = Ax + Bu + L(y y), y = C x, (3.4)where y should be viewed as an estimate of y and L a given n k matrix. When x is equal(or very close) to x, then y will be equal (or very close) to y and the correction term L(yy)plays no role. However, when x grows away from x, this term will (hopefully!) correct theerror. To see how this can be done, we re-write the estimation error dynamics now for (3.2)and (3.4):

    e = Ax Ax L(Cx C x) = ( A LC )e.Now e converges to zero as long as A LC is asymptotically stable, It turns out that, evenwhen A is unstable, in general we will be able to select L so that A

    LC is asymptotically

    stable. The system (3.4) can be re-write as

    x = ( A LC )x + Bu + Ly, (3.5)and is called a full-order observer for the process. Full-order observers have two inputsthedebar 11. Full-order

    efers to the fact that theize of its state x is equal tohe size of the process state.

    process control input u and its measured output yand a single outputthe state estimatex. Figure 3.1 shows how a full-order observer is connected to the process.

    z

    y

    x

    ux = Ax + Bu

    x = ( A LC )x + Bu + Ly

    Figure 3.1. Full-order observer

  • 8/11/2019 lqrlqgnotes

    27/37

    LQG/LQR controller design 23

    3.3 LQG estimation

    Any choice of L in (3.4) for which A LC is asymptotically stable will make x converge tox, as long at the process dynamics is given by (3.2). However, in general the output y isaffected by measurement noise and the process dynamics are also affected by disturbance.In light of this, a more reasonable model for the process is

    x = Ax + Bu + Bd, y = Cx + n, (3.6)

    where d denotes a disturbance and n measurement noise. In this we need to re-write theestimation error dynamics for (3.6) and (3.4), which leads to

    e = Ax + Bd Ax L(Cx + n C x) = ( A LC )e + Bd Ln.Because of n and d, the estimation error will generally not converge to zero, but we would

    still like it to remain small by appropriate choice of the matrix L. This motivates the socalled Linear-quadratic Gaussian (LQG) estimation problem :

    Problem 2 (Optimal LQG). Find the matrix gain L that minimizes the asymptotic Sidebar 12. A zero-mewhite noise process n haautocorrelation of the form

    R n (t 1 , t 2 ) := E n (t 1 ) n= Q N (t 1 Such process is wide-sensstationary in the sense thits mean is time-invariantand its autocorrelationR (t 1 , t 2 ) only depends onthe difference := t 1

    Its power spectrum isfrequency-independent andgiven by

    S n () := Z

    R ( )e j

    = Q N .

    expected value of the estimation error:

    J LQG := limt

    E e(t) 2 ,

    where d(t) and n(t) are zero-mean Gaussian noise processes (uncorrelated from each other)with power spectrum

    S d () = QN , S n () = RN , .

    Solution to the optimal LQG Problem 2. The optimal LQG estimator gain L is the n k

    Matlab hint 13. kalmacomputes the optimal LQGestimator gain L . . .

    matrix given by

    L = P C R1N

    and P is the unique positive-denite solution to the following Algebraic Riccati Equation

    Sidebar 13. A symmetrq q matrix M is positivdenite if x Mx > 0, foevery nonzero vector x (cf. Sidebar 3),

    (ARE)

    AP + P A + BQ N B P C R1N CP = 0 .When one uses the optimal gain L in (3.5), this system is called the Kalman-Bucy lter.

    A crucial property of this system is that A LC is asymptotically stable as long as thefollowing two conditions hold:

    1. The system (3.6) is observable.

    2. The system (3.6) is controllable when we ignore u and regard d as the sole input.

    Different choices of QN and RN result in different estimator gains L:

  • 8/11/2019 lqrlqgnotes

    28/37

    24 Jo ao P. Hespanha

    1. When RN is very small (when compared to QN ), the measurement noise n is neces-sarily small so the optimal estimator interprets a large deviation of y from y as anindication that the estimate x is bad and needs to be correct. In practice, this lead tolarge matrices L and fast poles for A LC .

    2. When R N is very large , the measurement noise n is large so the optimal estimator ismuch more conservative in reacting to deviations of y from y. This generally leads tosmaller matrices L and slow poles for A LC .

    We will return to the selection of QN and R N in Section 3.6.

    3.4 LQG/LQR output feedback

    We now go back to the problem of designing an output-feedback controller for the process:

    x = Ax + Bu, y = Cx, z = Gx + Hu.

    Suppose that we designed a state-feedback controller

    u = Kx (3.7)that solves an LQR problem and constructed an LQG state-estimator

    x = ( A LC )x + Bu + Ly.We can obtain an output-feedback controller by using the estimated state x in (3.7), insteadatlab hint 14.

    eg(sys,K,L) computes theQG/LQR positive utput-feedback controlleror the process sys withegulator gain K andstimator gain L. . .

    of the true state x. This leads to the following output-feedback controller

    x = ( A LC )x + Bu + Ly = ( A LC BK )x + Ly, u = K x,with negative-feedback transfer matrix given by

    C (s) = K (sI A + LC + BK )1L.This is usually known as an LQG/LQR output-feedback controller and the resulting closed-loop is shown in Figure 3.2.

    y

    z u x = Ax + Bu

    z = Gx + Hu

    y = Cx

    x = ( A LC BK )x + Lyu = K x

    Figure 3.2. LQG/LQR output-feedback

  • 8/11/2019 lqrlqgnotes

    29/37

    LQG/LQR controller design 25

    3.5 Separation Principle

    The rst question to ask about an LQG/LQR controller is whether or not the closed-loopsystem will be stable. To answer this question we collect all the equations that denes theclosed-loop system:

    x = Ax + Bu, y = Cx, (3.8)x = ( A LC )x + Bu + Ly, u = K x. (3.9)

    To check the stability of this system it is more convenient to consider the dynamics of theestimation error e := x x instead of the the state estimate x. To this effect we replace inthe above equations x by x e, which yields:

    x = Ax + Bu = ( A BK )x + BKe, y = Cx,e = ( A

    LC )e, u =

    K (x

    e).

    This can be written in matrix notation as

    xe =

    A BK BK 0 A LC xe , y = C 0

    xe .

    Separation Principle. The eigenvalues of the closed-loop system (3.8) are given by those Sidebar 14. Any eigenvof a block diagonal matrixmust be an eigenvalue of oof the diagonal blocks.

    of the state-feedback regulator dynamics A BK together with those of state-estimator dy-namics A LC . In case these both matrices are asymptotically stable, then so is the closed-loop (3.8) .

    3.6 Loop-gain recovery

    We saw in Sections 2.4 and 2.5 that state-feedback LQR controllers have desirable robustnessproperties and that we can shape the open-loop gain by appropriate choice of the LQRweighting parameter and the choice of the controlled output z. It turns out that we can,to some extent, recover the LQR open-loop gain for the LQG/LQR controller.

    Loop-gain recovery. Suppose that the process is single-input/single-output and has nozeros in the right half-place. Selecting Sidebar 15. B = B

    corresponds to an input disturbance since the probecomes

    x = Ax + Bu + Bd= Ax + B (u + d)

    B := B, R N := , > 0,

    the open-loop gain for the output-feedback LQG/LQR controller converges to the open-loop

    gain for the state-feedback LQR state-feedback controller over a range of frequencies [0, max ]as we make 0, i.e.,C ( j )P ( j ) 0 K ( jI 1)1B, [0, max ]

    In general, the larger max is, the smaller needs to be for the gains to match.

  • 8/11/2019 lqrlqgnotes

    30/37

    26 Jo ao P. Hespanha

    Attention! 1. To achieve loop-gain recovery we need to chose RN := , even if this does not accurately describe the noise statistics. This means that the estimator may not beoptimal for the actual noise.

    2. One should not make smaller than necessary because we do not want to recover the(slow) 20dB/decade magnitude decrease at high frequencies. In practice we shouldmake just small enough to get loop-recovery until just above or at cross-over. Forlarger values of , the output-feedback controller may actually behave much betterthan the state-feedback one.

    3. When the process has zeros in the right half-plane, loop-gain recovery will generallyonly work up to the frequencies of the nonminimum-phase zeros.When the zeros are in the left half-plane but close to the axis, the closed-loop will notbe very robust with respect to uncertainty in the position of the zeros. This is becausethe controller will attempt to cancel these zeros.

    Example 6 (Aircraft roll-dynamics). Figure 3.3(a) shows Bode plots of the open-loopgain for the state-feedback LQR state-feedback controller vs. the open-loop gain for severaloutput-feedback LQG/LQR controller obtained for the aircraft roll-dynamics in Example 1.The LQR controller was designed using the controlled output z := , = .1 and

    102

    101

    100

    101

    102

    103

    180

    135

    90

    P h a s e

    ( d e g

    )

    80

    60

    40

    20

    0

    20

    40

    60

    80

    From: u To: Out(1)

    M a g n

    i t u

    d e

    ( d B )

    sigma = 0.01sigma = 1e05sigma = 1e08

    LQR loopgain(rho = 0.01, gamma=0.1)

    Openloop Bode Diagrams

    Frequency (rad/sec)

    (a) Open-loop gain

    0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

    0.5

    1

    1.5

    sigma = 0.01sigma = 1e05sigma = 1e08LQR loopgain(rho = 0.01, gamma=0.1)

    Step Response

    Time (sec)

    A m p l i t u d e

    (b) Closed-loop step response

    Figure 3.3. Bode plots and closed-loop step response for the open-loop gain of the LQR controllersin Examples 6, 8.

    = .01. For the LQG state-estimators we used B = B and RN = for several values of . We can see that, as decreases, the range of frequencies over which the open-loop gainof the output-feedback LQG/LQR controller matches that of the state-feedback LQR state-feedback increases. Moreover, at high frequencies the output-feedback controllers exhibitmuch faster (and better!) decays of the gains magnitude.

  • 8/11/2019 lqrlqgnotes

    31/37

    LQG/LQR controller design 27

    3.7 MATLAB hints

    Matlab Hint 13 ( kalman ). The command [est,L,P]=kalman(sys,QN,RN) computes theoptimal LQG estimator gain for the process

    x = Ax + Bu + BBd, y = Cx + n,

    where d(t) and n(t) are zero-mean Gaussian noise processes (uncorrelated from each other)with power spectrum

    S d () = QN, S n () = RN, .The system sys should be a state-space model dened by sys=ss(A,[B BB],C,0) . Thiscommand returns the optimal estimator gain L, the solution P to the corresponding AlgebraicRiccati Equation, and a state-space model est for the estimator. The inputs to est are[u; y] and its outputs are [y; x].

    Matlab Hint 14 ( reg ). The command reg(sys,K,L) computes a state-space model for apositive output-feedback LQG/LQG controller for the process with state-space model syswith regulator gain K and estimator gain L.

    3.8 ExercisesExercise 3. Consider an inverted pendulum on a cart operating near the upright equilib-rium position, with linearized model given by

    p p

    =

    0 1 0 00 0 2.94 00 0 0 10 0 11.76 0

    p p

    +

    0.325

    0.3

    F

    where F denotes a force applied to the cart, p the carts horizontal position, and thependulums angle with a vertical axis pointing up.

    1. Design an LQG/LQR output-feedback controller that uses only the angle and theposition of the cart p.

    2. Design an LQG/LQR output-feedback controller that uses the angle , the angularvelocity , the position of the cart p, and its derivative using LQG/LQR (full-statefeedback).Why use LQG when the state is accessible?

  • 8/11/2019 lqrlqgnotes

    32/37

    28 Jo ao P. Hespanha

  • 8/11/2019 lqrlqgnotes

    33/37

    Lecture #4

    Set-point control

    Contents4.1 Nonzero equilibrium state and input . . . . . . . . . . . . . . . . . . . . . . . 294.2 State-feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.3 Output-feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.4 To probe further . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    4.1 Nonzero equilibrium state and inputOften one does not want to make z as small as possible, but instead make it converge asfast as possible to a given constant set-point value r. This can be achieved by making the Sidebar 16. We will se

    shortly how to accomplishthis.state x and the input u of the process (2.1) converge to values x and u for which

    Ax + Bu = 0 , r = Gx + Hu. (4.1)

    The right equation makes sure that z will be equal to r when x and u reach x and u,respectively. The left-equation makes sure that when these values are reached, x = 0 andtherefore x will remain equal to x, i.e., x is an equilibrium state .

    Given the desired set-point r for x, computing x and u is straightforward because (4.1) Sidebar 17. When theprocess transfer-function han integrator, one generallgets u = 0.

    is a system of linear equations and in general the solution to these equations is of the form

    x = F r, u = N r. (4.2)

    For example, when the number of inputs to the process m is equal to the number of controlled Sidebar 18. The matrix

    A BG H is invertible unlessthe process transfer-functifrom u to z has a zero atorigin. This derivative effewill always make z convto zero when the inputconverges to a constant.

    outputs , we have

    A BG H

    xu =

    0r

    xu =

    A BG H

    1 0r , (4.3)

    and F is an n matrix given by the top n rows and right-most columns of [ A BG H ]1 and

    N is an m matrix given by the bottom m rows and right-most columns of [ A BG H ]1 .

    29

  • 8/11/2019 lqrlqgnotes

    34/37

    30 Jo ao P. Hespanha

    Attention! When the number of process inputs m is larger than the number of controlledoutputs we have an over-actuated system and the system of equations (4.1) will generallyhave multiple solutions. One of them is

    xu =

    A BG H

    A BG H

    A BG H

    1 0r .

    In this case, we can still express x and u as in (4.2).

    When the number of process inputs m is smaller than the number of controlled outputs wehave an under-actuated system and the system of equations (4.1) may not have a solution.In fact, a solution will only exists for some specic references r . However, when it does existit we can still express x and u as in (4.2).

    4.2 State-feedbackWhen one wants z to converge to a given set-point value r, the state-feedback controllershould bedebar 19. Why?. . .

    u = K (x x) + u = Kx + ( KF + N )r, (4.4)where x and u are given by (4.2) and K is the gain of the optimal regulation problem.The corresponding control architecture is shown in Figure 4.1. The state-space model for

    + +

    +r

    x

    x z

    u

    u

    x = Ax + BuK F

    N

    Figure 4.1. Linear quadratic set-point control with state feedback

    the closed-loop system is given by

    x = Ax + Bu = ( A BK )x + B (KF + N )rz = Gx + Hu = ( G HK )x + H (KF + N )r.

    Example 7 (Aircraft roll-dynamics). Figure 4.2 shows step responses for the state-feedback LQR controllers in Example 5, whose Bode plots for the open-loop gain are shownin Figure 2.6. Figure 4.2(a) shows that smaller values of lead to faster responses andFigure 4.2(b) shows that larger values for lead to smaller overshoots (but slower re-sponses).

  • 8/11/2019 lqrlqgnotes

    35/37

    LQG/LQR controller design 31

    0 1 2 3 4 5 60

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    rho = 0.01rho = 1rho = 100gamma = 0.01

    Step Response

    Time (sec)

    A m p l i t u d e

    (a)

    0 1 2 3 4 5 60

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    gamma = 0.01gamma = 0.1gamma = 0.3(rho = 0.01)

    Step Response

    Time (sec)

    A m p l i t u d e

    (b)

    Figure 4.2. Step responses for the closed-loop LQR controllers in Example 7

    4.3 Output-feedbackWhen one wants z to converge to a given set-point value r , the output-feedback LQG/LQRcontroller should be Sidebar 20. Why?. . .

    x = ( A LC BK )x + L(Cxy), u = K x + u, (4.5)where x and u are given by (4.2). The corresponding control architecture is shown inFigure 4.3. The state-space model for the closed-loop system is given by Sidebar 21. When z =

    we have G = C , H = 0 ain this case C x = r . Thcorresponds to C F = 1 iFigure 4.3. When theprocess has an integrator wget N = 0 and obtain theusual unity-feedbackconguration.+

    +

    +r

    y

    x z

    u

    u

    x = Ax + Buy = Cx

    x = ( A LC BK )x + Lvu = K x

    CF

    N

    Figure 4.3. LQG/LQR set-point control

    xx =

    Ax + B (K x + u)(A

    LC

    BK )x + L(Cx

    Cx ) =

    A BK

    LC A

    LC

    BK

    xx +

    BN LCF r

    z = Gx + H (K x + u) = G HK xx + HNr

    Example 8 (Aircraft roll-dynamics). Figure 3.3(b) shows step responses for the output-feedback LQG/LQR controllers in Example 6, whose Bode plots for the open-loop gain are

  • 8/11/2019 lqrlqgnotes

    36/37

    32 Jo ao P. Hespanha

    shown in Figure 3.3(a). We can see that smaller values of lead to a smaller overshootmostly due to a larger gain margin.

    4.4 To probe furtherSidebar 19 (Set-point control with state-feedback). To understand why (4.4) works,suppose we dene

    z = z r, x = x x, u = u u.Then

    x = Ax + Bu = A(x x) + B (u u) + Ax + Buz = Gx + Hu r = G(x x) + H (u u) + Gx + Hur

    and we conclude thatx = Ax + B u, z = Gx + H u. (4.6)

    By selecting the control signal in (4.4), we are setting

    u = u u = K (x x) = K x,which is the optimal state-feedback LQR controller that minimizes

    J LQR := 0 z(t) Qz(t) + u (t)Ru(t) dt,This controller makes the system (4.6) asymptotically stable and therefore x, u, z all con-verge to zero as t , which means that z converges to r . Sidebar 20 (Set-point control with output-feedback). To understand why (4.5) workssuppose we dene

    z = z r, x = x x + x.Then

    x = ( A LC )x (4.7)x = ( A BK )x LC x (4.8)z = G(x x) + HK x r. (4.9)

    1. Since A LC is asymptotically stable, we conclude from (4.7) that x 0 as t .In practice, we can view the state x of the controller as an estimate of xx.

    2. Since A BK is asymptotically stable and x 0 as t , we conclude from (4.8)that x 0 as t .3. Since x 0 and x 0 as t , we conclude from (4.9) that z r as t !

    Exercise 4. Verify equations (4.7), (4.8), and (4.9).

  • 8/11/2019 lqrlqgnotes

    37/37

    Bibliography

    [1] G. F. Franklin, J. D. Powell, and A. Emami-Naeini. Feedback Control of Dynamic Systems . Prentice Hall, Upper Saddle River, NJ, 4th edition, 2002.

    [2] J. V. Vegte. Feedback Control Systems . Prentice Hall, New Jersey, 3rd edition, 1994.

    [3] K. Zhou, J. C. Doyle, and K. Glover. Robust and Optimal Control . Prentice Hall, NewJersey, 1996.

    33