Top Banner
Linear Control Systems Lecture # 12 State Feedback Control – p. 1/3
30

State Feedback Control

Nov 16, 2015

Download

Documents

HanifTir

discuss state variable feedback control, ackerman's formula, eigen values
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
  • Linear Control SystemsLecture # 12

    State Feedback Control

    p. 1/30

  • The system

    x = Ax+Bu

    y = Cx+Du

    is asymptotically stable if and only if

    Re[i] < 0

    for all eigenvalues of A

    This condition also guarantees that the system is BIBOstable

    The transient response is determined by exponentialmodes of the form tk1eit

    p. 2/30

  • The shape of the transient response is determined by thelocations of the eigenvalues, e.g.,

    A small |Re[i]| produces slow convergence, while alarge |Re[i]| produces fast convergence

    A real i produces a monotonic response, while acomplex i produces an oscillatory response

    For a complex i, the exponential mode becomes moreoscillatory as the ratio |Im[i]/Re[i]| increases

    If some eigenvalues of A do not have negative real parts orhave negative real parts but the transient response is notsatisfactory, we want to use feedback control to reassignthe eigenvalues

    p. 3/30

  • Feedback control is classified into

    State Feedback: all state variables are measured andcan be used in feedback

    Output Feedback: Only some output variables aremeasured and can be used in feedback

    We start by studying state feedback

    p. 4/30

  • Consider the state feedback control

    u = Fx+ v

    F is an m n gain matrix and v(t) is an m-dimensionalexternal input

    Closed-loop system

    x = (A+BF )x+Bv

    y = (C +DF )x+Dv

    The stability and transient response of the closed-loopsystem are determined by the eigenvalues of (A+BF )

    p. 5/30

  • The eigenvalues of (A+BF ) are called the closed-loopeigenvalues, while those of A are called the open-loopeigenvalues

    Can we choose F to arbitrarily assign the eigenvalues of(A+BF )?

    Lemma: The uncontrollable eigenvalues of (A,B), if any,cannot be relocated by feedback

    p. 6/30

  • Proof: Suppose (A,B) is not controllable. Then there is anonsingular n n matrix P such that

    A = P1AP =

    [

    A11 A12

    0 A22

    ]

    , B = P1B =

    [

    B1

    0

    ]

    where A11 is q q, B1 is q m, the pair (A11, B1) iscontrollable, and the eigenvalues of A22 are theuncontrollable eigenvalues

    Partition FP asFP =

    [

    F1 F2

    ]

    where F1 is m q and F2 is m (n q)

    p. 7/30

  • P1(A+BF )P = P1AP + P1BFP

    =

    [

    A11 A12

    0 A22

    ]

    +

    [

    B1

    0

    ]

    [

    F1 F2

    ]

    =

    [

    A11 + B1F1 A12 + B1F2

    0 A22

    ]

    The closed-loop eigenvalues are the eigenvalues of(A11 + B1F1) and the eigenvalues of A22

    Remark: There is a real F that assigns the eigenvalues of(A+BF ) at desired locations only if the desired complexeigenvalues are chosen in conjugate pairs

    p. 8/30

  • Theorem: Let (A,B) be a controllable pair and 1, . . . nbe an arbitrary set of complex numbers (subject only to theconstraint that complex numbers are in conjugate pairs).Then, there exists a real m n matrix F such that theeigenvalues of (A+BF ) are 1, . . . n

    The proof is done by showing how to compute F

    p. 9/30

  • Single-input Systems

    Since (A,B) is controllable, there is a nonsingular matrix Psuch that

    Ac = P1AP, Bc = P

    1B

    Ac =

    0 1 0...

    ... . . ....

    0 0 1

    0 1 n1

    , Bc =

    0...0

    1

    det(sI A) = sn + n1sn1 + + 1s+ 0

    p. 10/30

  • Let F = FcP1, where

    Fc =[

    f0 f1 fn1

    ]

    Ac +BcFc =

    0 1 0...

    ... . . ....

    0 0 1

    (0 f0) (1 f1) (n1 fn1)

    det[sI (Ac +BcFc)] =

    sn + (n1 fn1)sn1 + + (1 f1)s+ (0 f0)

    p. 11/30

  • If {1, . . . , n} are the desired eigenvalues, then thedesired characteristic polynomial is

    d(s) = (s 1) (s n)

    def= sn + dn1s

    n1 + + d0

    Choosefi = i di, for 0 i n 1

    Hence, (Ac +BcFc) has the desired eigenvalues{1, . . . , n} and so does

    (A+BF ) = P (Ac +BcFc)P1

    because the eigenvalues are invariant under state(similarity) transformations

    p. 12/30

  • Example:

    A =

    0 1 0

    0 0 1

    1 0 1

    , B =

    0

    0

    1

    det(sI A) = s3 s2 1

    By Routh-Hurwitz criterion, the system is not asymptoticallystable. Design K to assign the eigenvalues of (A+BK)at 1, 1 j. Desired characteristic equation:

    d(s) = (s+ 1)(s2 + 2s+ 2) = s3 + 3s2 + 4s+ 2

    F =[

    3 4 4]

    p. 13/30

  • Ackermans Formula: Let

    d(s) = sn + dn1s

    n1 + + d0

    be the desired characteristic polynomial

    d(Ac) = Anc + dn1A

    n1c + + d0I = A

    nc +

    n1

    i=0

    diAic

    By Cayley-Hamilton Theorem

    Anc + n1An1c + + 0I = 0

    Anc = n1An1c 0I =

    n1

    i=0

    iAic

    p. 14/30

  • d(Ac) =

    n1

    i=1

    (di i)Ai1c

    Let ei be the unit vector with one in the ith element

    eT1 =[

    1 0 0]

    , eTn =[

    0 0 1]

    Cc = [Bc, AcBc, . . . , An1c Bc] =

    0 0 1

    0 0 1 ...

    ......

    0 1

    1

    eT1 Cc = eTn e

    T1 = e

    TnC1c

    p. 15/30

  • Ac =

    0 1 0...

    ... . . ....

    0 0 1

    0 1 n1

    eT1Ac = eT2 =

    [

    0 1 0 0]

    eT1A2c = e

    T2Ac = e

    T3

    eT1An1c = e

    Tn

    eT1d(Ac) = eT1

    n1

    i=0

    (di i)Ai1c =

    n1

    i=0

    (di i)eTi+1

    p. 16/30

  • eT1d(Ac) =

    n1

    i=0

    (di i)eTi+1 = Fc

    Fc = eTnC1c d(Ac)

    RecallCc = P

    1C C1c = C1P

    Ac = P1AP Aic = P

    1AiP, for i 0

    d(Ac) = P1d(A)P

    F = FcP1

    p. 17/30

  • F = FcP1

    = eTnC1c d(Ac)P

    1

    = eTnC1PP1d(A)PP

    1

    = eTnC1d(A)

    Ackermans Formula:

    F = eTnC1d(A)

    p. 18/30

  • Example:

    A =

    1 0 1

    2 1 1

    0 1 1

    , B =

    1

    0

    1

    Open-loop eigenvalues are 0.6348 j0.6916, 2.2695Desired closed-loop eigenvalues are 1, 1, 1

    C =

    1 0 1

    0 3 4

    1 1 4

    , rank C = 3

    p. 19/30

  • d(s) = (s+ 1)3 = s3 + 3s2 + 3s+ 1

    d(A) = A3 + 3A2 + 3A+ I =

    6 2 5

    10 2 3

    4 1 2

    eT3 =[

    0 0 1]

    F = eT3 C1d(A) =

    [

    0.8 1.4 1.2]

    p. 20/30

  • Multi-input systems

    Suppose B has full rank. Since (A,B) is controllable, thereis a nonsingular matrix P such that

    P1AP = Ac = Ac + BcAm, P1B = Bc = BcBm

    Bm is nonsingular. Let F = FcP1

    A+BF = P (Ac +BcFc)P1

    Ac +BcFc = Ac + BcAm + BcBmFc

    Take Fc = B1m (Adm Am)

    where Adm is an m n matrix to be chosen

    p. 21/30

  • Ac +BcFc = Ac + BcAdm

    Ac = Block diag

    1. . .

    1

    0 0

    ii

    , i = 1, . . . ,m

    Bc = Block diag

    0...0

    1

    i1

    , i = 1, . . . ,m

    p. 22/30

  • Letd(s) = s

    n + dn1sn1 + + d0

    be the desired characteristic polynomial

    Choose the m n matrix Adm as follows:

    the first (m 1) rows are chosen be zeros except thatthe jth row has one at column number 1 +

    ji=1 i

    the last row is[

    d0 d1 dn1

    ]

    p. 23/30

  • Ac +BcFc =

    0 1 0...

    ... . . ....

    0 0 1

    d0 d1 dn1

    det[sI (A+BF )] = det[sI (Ac +BcFc)] = d(s)

    Remark: For single-input systems, there is a unique matrixF that assigns the eigenvalues of (A+BF ) at 1, . . . , nFor multi-input systems, F is not unique

    p. 24/30

  • Example:

    A =

    1 0 1

    2 2 2

    1 0 3

    , B =

    1 0

    0 2

    1 1

    Eigenvalues of A are 2, 0.7321, 2.7321Desired eigenvalues are 1, 1 j

    d(s) = s3 + 3s2 + 4s+ 2

    p. 25/30

  • Matlab Calculations:W = ctrb(A,B); rank(W), rank(B)ans = 3ans = 2rank(W(:,1:3))ans = 3

    1 = 2, 2 = 1

    Cbar = [W(:,1) W(:,3) W(:,2)]; M = inv(Cbar);Q = [M(2,:); M(2,:)*A; M(3,:)]; P = inv(Q); PI = Q;Ac = PI*A*P; Bc = PI*B;Am = [Ac(2,:);Ac(3,:)]; Bm = [Bc(2,:);Bc(3,:)];Adm = [0 0 1;-2 -4 -3];Fc = inv(Bm)*(Adm - Am); F = Fc*PI;

    p. 26/30

  • Ac =

    0 1 0

    1 3 0.5

    6 0 1

    , Bc =

    0 0

    1 0.5

    0 1

    Am =

    [

    1 3 0.5

    6 0 1

    ]

    , Bm =

    [

    1 0.5

    0 1

    ]

    F =

    [

    0 1.5 5

    0.6667 3.3333 4.6667

    ]

    p. 27/30

  • What if rank B = r < m?

    There is a nonsingular matrix R such thatBR =

    [

    B1 0]

    , where the n r matrix B1 has full rank

    Find F1 to assign the eigenvalues of (A+B1F1). Take

    F = R

    [

    F1

    ]

    A+BF = A+BR

    [

    F1

    ]

    = A+[

    B1 0]

    [

    F1

    ]

    = A+B1F1

    p. 28/30

  • Eigenvalue Assignment Using Matlab:Matlab has two commands

    K = acker(A,B, p) assigns the eigenvalues of(ABK) at the elements of the vector p. It is usedonly with single-input systems

    K = place(A,B, p) assigns the eigenvalues of(ABK) at the elements of the vector p. It works formulti-input systems, but does not allow multiple desiredeigenvalues

    Using the place command in the last example gives

    F =

    [

    0.1645 1.4989 4.7965

    1.0000 1.3160 0.2639

    ]

    p. 29/30

  • Stabilizability: The system

    x = Ax+Bu

    is stabilizable if there exists a matrix F such that theclosed-loop system

    x = (A+BF )x

    is asymptotically stable

    Theorem: (A,B) is stabilizable if and only if theuncontrollable eigenvalues of A, if any, have negative realparts

    p. 30/30