Lect 04 Hand Out

24
 Control Theory (035188) lecture no. 4 Leonid Mirkin Faculty of Mechanical Engineering T ech nion IIT Outline Pole-zero cancellations Modeling uncertainty Robust stabili ty Strong stabilization Anti-windup control

description

Lect 04 control Hand Out

Transcript of Lect 04 Hand Out

  • Control Theory (035188)lecture no. 4

    Leonid Mirkin

    Faculty of Mechanical EngineeringTechnion IIT

    Outline

    Pole-zero cancellations

    Modeling uncertainty

    Robust stability

    Strong stabilization

    Anti-windup control

  • Naive shaping of T .j!/

    Assume that the ideal closed-loop t.f. is Tref.s/. We may want to askI whether there is C.s/ for which T .s/ D Tref.s/ ?

    The answer is easy:

    Tref.s/ D L.s/1C L.s/ L.s/ D

    Tref.s/

    1 Tref.s/ :

    Thus, controller

    Cref.s/ D 1P.s/

    Tref.s/

    1 Tref.s/is exactly what were looking for.

    Whats behind Cref.s/

    Let s0 be pole of P.s/ and let Tref.s0/ 1. Then s0 is zero of Cref.s/, i.e.,I Cref.s/ tends to cancel poles of P.s/.

    Let s1 be zero of P.s/ which is not zero of Tref.s/. Then s1 is pole of Cref.s/,i.e.,I Cref.s/ tends to cancel zeros of P.s/.

    Thus, to achieve arbitrary Tref.s/I controller should, in general, cancel all poles and zeros of the plant.

  • Pole-zero cancellations: whats legal

    Obviously,I only stable pole-zero cancellations are legal.

    This implies thatI every RHP zero of P.s/ is also RHP zero of T .s/ (multiplicity included);I at every unstable pole sp of P.s/ the equality

    T .sp/ D 1

    must hold1 (multiple poles impose additional conditions on di

    dsiT .s/).

    1This condition also imposes lower bound constraints on !c for unstable systems.

    Pole-zero cancellations: what makes sense

    Although stable pole-zero cancellations are legal,I not all stable pole-zero cancellations are welcome.

    The reason is that, although canceled poles and zeros dont show up in S.s/and T .s/ (as these t.f. depend only on L.s/),I canceled poles and zeros do show up as poles of Td.s/ and Tc.s/,

    respectively.

  • Canceled plant poles

    Let sp (Re sp < 0) be pole of P.s/ canceled by C.s/. In other words, let

    P.s/ D 1sspP1.s/ and C.s/ D .s sp/C1.s/

    for some P1.s/ such that P1.sp/ 0 and C1.s/ such that jC1.sp/j

  • What does it mean?

    Thus, for each canceled pole sp and zero sz we have:

    Td.s/ D 1s sp

    P1.s/

    1C P1.s/C1.s/ and Tc.s/ D1

    s szC2.s/

    1C P2.s/C2.s/Typically,I If s is fast, its presence in Td.s/ or Tc.s/ can in general be ignored.I If s is slow, it slows down disturbance response / control input decay.I If s is oscillatory, oscillations show up in d 7! y or r 7! u.

    Stable pole-zero cancellations: general conclusions

    The following are general rules of thumb:I Fast well-damped poles/zeros can typially be safely canceled.

    (though sometimes this can produce spikes)

    I Slow well-damped poles/zeros can be canceled with certain care.(there are pros and cons in canceling slow plant poles vs. shifting them by feedback)

    I Lightly-damped poles/zeros shall not be canceled (unless you reeeallyknow what youre doing).

  • Outline

    Pole-zero cancellations

    Modeling uncertainty

    Robust stability

    Strong stabilization

    Anti-windup control

    Nobodys perfect

    In other words,I any mathematical model is just a (more or less accurate) approximation

    of the real world.

  • Robustness

    Ability of control system to cope with modeling uncertainty (i.e. to preservestability/performance despite uncertainty) called robustness.

    Modeling uncertainty (errors, mismatches) caused byI linearizationI unmodeled high-frequency dynamicsI parametric driftsI element failuresI . . .

    Modeling uncertainty: DC motor

    DC motor t.f. from input voltage to shaft angle is

    P.s/ D Kms..Ls CR/.Js C f /CK2m/

    ; (1)

    where Km is motor constant (= back emf constant), R is armature resistance,L is armature inductance, J is load inertia, and f is load friction.

    Typically, L is very small so it is neglected and the motor t.f. becomes

    P.s/ D Kms.R.Js C f /CK2m/

    ;

    which is approximation of (1) (which is approximation by itself).

    Moreover, load inertia J might get changed and resistance R is sensitive tothermal conditions (motor heating) and thus also might get changed.

  • Modeling uncertainty: DC motor (contd)

    What we have is this (assuming 0:9R0 R 1:8R0 and 0:7J0 J 1:3J0):Nichols Chart

    OpenLoop Phase (deg)

    Ope

    nLo

    op G

    ain

    (dB)

    225 180 135 90120

    100

    80

    60

    40

    20

    0

    20

    40

    6 dB 3 dB

    1 dB 0.5 dB

    0.25 dB 0 dB

    nominal plantactual plants

    Modeling uncertainty: DC motor (contd)

    If additional unmodeled delay2 h D 1400

    is added, we have:

    Nichols Chart

    OpenLoop Phase (deg)

    Ope

    nLo

    op G

    ain

    (dB)

    225 180 135 90120

    100

    80

    60

    40

    20

    0

    20

    40

    6 dB 3 dB

    1 dB 0.5 dB

    0.25 dB 0 dB

    nominal plantactual plants

    2Due to digital implementation, for example.

  • Modeling uncertainty: DC motor (contd)

    Thus, at each frequency, frequency response is a region rather than point:

    Nichols Chart

    OpenLoop Phase (deg)

    Ope

    nLo

    op G

    ain

    (dB)

    225 180 135 90120

    100

    80

    60

    40

    20

    0

    20

    40

    6 dB 3 dB

    1 dB 0.5 dB

    0.25 dB 0 dB

    =0.1

    =1

    =10

    =100

    Frequency-domain modeling

    Thus, it makes sense to describe plant frequency response P.j!/ at eachfrequency not as a complex number, but rather as set of its possible values:

    P.j!/ 2 P!where P! C is some set for each ! 2 R.

    The choice of P! is conceptually nontrivial asI precise P! are complicated and hard to deal with in control design,I easily handleable P! are typically conservative.

    In this course, weI sacrifice precision for simplicity.

  • Multiplicative unstructured uncertainty

    The idea is to describe P! as disks in Nyquist plane around nominal plant:

    Im

    Re

    P0.j!/

    jP0.j!/j`.!

    /

    1

    In other words, P! DnP.j!/ W P. j!/

    P0. j!/ 1 `.!/o, where

    I P0 is nominal plant and `.!/ 0 is multiplicative uncertainty radius.

    Multiplicative uncertainty and controller

    C.s/P.s/reu

    d

    y

    ymn

    Let P.j!/ 2 P! , where

    P! DP.j!/ W

    P.j!/

    P0.j!/ 1

    `.!/

    :

    Then L.j!/ D P.j!/C.j!/ 2 L! , where

    L! DL.j!/ W

    L.j!/

    L0.j!/ 1

    `.!/

    ; L0.j!/ P0.j!/C.j!/:

    Thus,I loop multiplicative uncertainty radius does not depend on controller.

  • Modeling uncertainty: DC motor (contd)

    To find `.!/, the following steps can be followed:

    1. plotP. j!/P0. j!/

    1 for different R 2 0:9R0; 1:8R0 and J 2 0:7J0; 1:3J0;2. find maximum for every frequency, this is `.!/.

    We get:

    102 101 100 101 102 1030

    0.5

    1

    1.5

    2

    2.5

    Frequency (rad/sec)

    Magni

    tude

    `.!/

    Outline

    Pole-zero cancellations

    Modeling uncertainty

    Robust stability

    Strong stabilization

    Anti-windup control

  • Robust stability

    C.s/P.s/reu

    d

    y

    ymn

    Let P.s/ be such that P.j!/ 2 P! . Then we say thatI closed-loop system is robustly stable if it is stable for every P 2 P! .

    If system is robustly stable, we say that C.s/ robustly stabilizes this system.

    Robust stability for multiplicative plant uncertainty

    C.s/P.s/reu

    d

    y

    ymn

    TheoremLet uncertainty be described as

    P! DP.j!/ W

    P.j!/

    P0.j!/ 1

    `.!/

    and all P.s/ in this class share the same unstable poles. Then a controllerC.s/ robustly stabilizes the system iff

    1. C.s/ stabilizes nominal plant P0.s/ and

    2. jT0.j!/j < 1`.!/ , for all !.3

    3Here T0.s/ D L0.s/1CL0.s/ is nominal complementary sensitivity transfer function.

  • Robust stability for multiplicative plant uncertainty: proof

    When nominal system stable, we only need toI ensure that the critical point does not belong to L! for all !.

    The result then follows by straightforward geometry:

    Im

    Re

    L0.j!/

    jL0.j!/j`.!

    /

    j1CL0 .j!/j

    1

    Robust stability of DC motor control system

    Assume, that we use the following lead controller:

    C.s/ D !cKm

    q.R0J0/2!2c C .R0f CK2m/2

    p s C !c

    s Cp !c ;

    whose purpose is to achieve nominal crossover !c R0fCK2mR0J0 (which is theinverse of the open-loop time constant) and phase margin of 50 (to thisend one can choose D 8).

    The following nominal parameters were chosen: Km 30:2 103R0 0:316

    L 0:08 103J0 0:1

    f 0:05

    h 0:0025

  • Robust stability of DC motor control system (contd)

    If !c D 15 rad/sec:

    Frequency (rad/sec)

    Mag

    nitu

    de (d

    B)

    102 101 100 101 102 10320

    15

    10

    5

    0

    5

    10

    1=`.!/

    jT0.j!/j

    and system is robustly stable.

    Robust stability of DC motor control system (contd)

    If !c D 150 rad/sec:

    Frequency (rad/sec)

    Mag

    nitu

    de (d

    B)

    102 101 100 101 102 10320

    15

    10

    5

    0

    5

    10

    1=`.!/

    jT0.j!/j

    and system is still robustly stable.

  • Robust stability of DC motor control system (contd)

    If !c D 200 rad/sec:

    Frequency (rad/sec)

    Mag

    nitu

    de (d

    B)

    102 101 100 101 102 10320

    15

    10

    5

    0

    5

    10

    1=`.!/

    jT0.j!/j

    and system is no longer robustly stable.

    Bandwidth limitations due to robust stability

    Since `.!/ is typically larger at high frequencies, condition

    jT0.j!/j < 1`.!/

    imposes limitations on the achievable closed-loop bandwidth4 !b.

    4And, consequently, on the loop crossover frequency !c.

  • Outline

    Pole-zero cancellations

    Modeling uncertainty

    Robust stability

    Strong stabilization

    Anti-windup control

    Stabilization with stable controllers

    C.s/P.s/reu

    d

    y

    ymn

    Stable controllers, especially for stable plants, are preferable since we wantto maintain stability duringI sensor / actuator failures.

    We say thatI P is strongly stabilizable if it can be stabilized by a stable controller.

  • Parity interlacing property

    C.s/P.s/reu

    d

    y

    ymn

    P.s/ is strongly stabilizable iff it hasI even number of real poles between every pair of real zeros in RHP

    (including C1). This property called the parity interlacing property.

    Example 1: Let P.s/ D s1s.s2/ . It has 2 RHP zeros at f1;1g and between

    them one pole at 2. Hence it is not strongly stabilizable.

    Example 2: Let P.s/ D .s1/2.s2sC1/.s2/2.sC1/3 . It has 5 RHP zeros, 3 of them real atf1; 1;1g. Between 1 and 1 lies 0 poles, while between 1 and1 lie 2 poles

    (at 2). Hence this plant is strongly stabilizable.

    Inverted pendulum without angle measurement

    # Ml lq

    em

    -y

    -u

    M : mass of the cartm : mass of the penduluml : length of the pendulumy : position of the cart : angular rotationu : force on the cartg : acceleration of gravity

    Linearized transfer function of inverted pendulum from u to y is

    P.s/ D ls2 g

    Mls2 g.1C m

    M/s2:

    It has 3 real RHP zeros: fq

    gl;1;1g. Between the first two of them P.s/

    has one pole, atq

    gl.1C m

    M/. Thus, pendulum not strongly stabilizable.

  • Outline

    Pole-zero cancellations

    Modeling uncertainty

    Robust stability

    Strong stabilization

    Anti-windup control

    Why unstable controllers?

    Although wed prefer to avoid unstable controllers, they still widely used.Reasons:I some plants not strongly stabilizable,I controllers with j!-axis poles may be required

    (i.e., integral action required to zero steady-state error to step reference/disturbance)

  • Saturation

    The saturation element sata;b defined for a < b as

    sata;b.u.t// D

    a if u.t/ < a

    u.t/ if a u.t/ bb if u.t/ > b

    We also denote sata sata;a, with a > 0.

    Example:

    1

    0

    1

    1:2

    sin.

    t/

    t

    sat1!1

    0

    1

    sat 1.1

    :2sin.

    t//

    t

    Saturation element is nonlinear system (no superposition). Indeed,

    sat1.2 0:6 sin t / 2 sat1.0:6 sin t / D 1:2 sin t:

    Saturation in feedback loop

    C.s/P.s/reu

    d

    y

    ymn

    All actuators saturate. Indeed,

    I force, torque,I voltage, current,I flow rate,I . . .

    are ultimately limited. We therefore mustI respect the presence of (nonlinear) saturation element

    in any feedback loop.

  • Saturation in feedback loop (contd)

    C.s/P.s/reu

    d

    y

    ymn

    I if u does not saturate, it behaves as standard linear closed-loop system:

    C.s/P.s/reu

    d

    y

    ymn

    I if u saturates, it behaves as open-loop system:

    C.s/aP.s/ reud

    y

    ymn

    Saturation in feedback loop (contd)

    C.s/aP.s/ reud

    y

    ymn

    This doesnt look good in general, yet it isI especially problematic when either P.s/ or C.s/ is unstable.

    What can be done:I When plant unstable, there is nothing we can do (but to pray:-).I Controllers are in our power, so

    1. if possible, it is advisable to avoid the use of unstable controllers;2. if not5, controller should be modified when control signal saturates.

    5E.g., plant not strongly stabilizable, integral action required, etc

  • PI controllers and saturation

    PI controller transforms tracking error e to control signal u according to

    U.s/ D kp1C ki

    s

    E.s/ or6

    (Px.t/ D e.t/u.t/ D kp

    kix.t/C e.t/

    While u.t/ saturates,I state x.t/ might accumulate big value,

    so thatI u.t/ remains saturated even when e.t/ becomes small.

    6This is the way in which controller is implemented.

    PI controllers and saturation: example

    Consider control system with P.s/ D 1s

    and C.s/ D 2 sC1s

    . We have:

    0 5 10 15 20 25 301

    0

    1

    2

    3

    4

    5

    6

    Command response without saturation

    y.t/

    u.t/

    0 5 10 15 20 25 301

    0

    1

    2

    3

    4

    5

    6

    Command response with saturation

    y.t/

    u.t/

  • PI controllers and saturation: example (contd)

    The reason becomes apparent when state variable of controller is depicted:

    0 5 10 15 20 25 304

    2

    0

    2

    4

    6

    8

    Command response with saturation

    y.t/

    u.t/

    x.t/

    Indeed, state variable becomes very large by the time error reaches 0, henceI y.t/ continues to grow until x.t/ falls down

    to a level, compatible with error itself.

    Integrator windup

    The effect ofI significant grow of the integrator state during actuator saturation

    is called the integrator windup.

    Arguably, most remedies for windup effect are based onI preventing integrator state from unstable updating as u saturates.

    Possible approaches (sometimes equivalent):I stop updating integrator when u saturates (conditional integration);I implement integral action as interconnection of stable elements, with

    some of interconnections opened when u saturates;I add internal controller feedback acting on u sata.u/.

  • Anti-windup scheme with internal feedback

    kp

    kis

    P.s/

    1

    Tt

    reu

    d

    y

    ymn

    This scheme works as follows:

    I when u doesnt saturate, sata.u/ u D 0 and it works as standard PI;I when u saturates, controller becomes stable:

    U.s/ D kp.s C ki/s C kpki=Tt E.s/

    kpki=Tt

    s C kpki=Tt a:

    Tt is called tracking time constant.

    PI controllers and saturation: example (contd)

    Internal feedback really helps (here Tt D 1):

    0 5 10 15 20 25 304

    2

    0

    2

    4

    6

    8

    Command response with saturation

    y.t/

    u.t/

    x.t/

    0 5 10 15 20 25 304

    2

    0

    2

    4

    6

    8

    Command response with anti-windup mechanism

    y.t/

    u.t/

    x.t/

    Pole-zero cancellationsModeling uncertaintyRobust stabilityStrong stabilizationAnti-windup control