State Feedback Control

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

description

discuss state variable feedback control, ackerman's formula, eigen values

Transcript of State Feedback Control

  • 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