krstic _talk.pdf

Upload: gaurav-kumar

Post on 04-Apr-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Krstic _talk.pdf

    1/90

    Adaptive and Nonlinear Control

    Miroslav KrsticUniversity of California, San Diego

    NSF-DOE Fusion Control Workshop, General Atomics, 2006

  • 7/29/2019 Krstic _talk.pdf

    2/90

    Adaptive Control

    Plantinput output

    output filterinput filter

    identifier

    controller

  • 7/29/2019 Krstic _talk.pdf

    3/90

    Adaptive Control

    Plantinput output

    output filterinput filter

    identifier

    controller

  • 7/29/2019 Krstic _talk.pdf

    4/90

    Adaptive Control

    Plantinput output

    output filterinput filter

    identifier

    controller

  • 7/29/2019 Krstic _talk.pdf

    5/90

    Adaptive Control

    Plantinput output

    output filterinput filter

    identifier

    controller

  • 7/29/2019 Krstic _talk.pdf

    6/90

    Plant

    y =B(s)

    A(s)u

  • 7/29/2019 Krstic _talk.pdf

    7/90

    Plant

    y =B(s)

    A(s)u

    B(s) = bmsm+bm1sm1 + +b1s+b0

    A(s) = ansn+an1sn1 + +a1s+a0

  • 7/29/2019 Krstic _talk.pdf

    8/90

    Plant

    y =B(s)

    A(s)u

    B(s) = bmsm+bm1sm1 + +b1s+b0

    A(s) = ansn+an1sn1 + +a1s+a0

    Unknown parameter vector

    = [bm bm

    1

    b1 b0 an an

    1

    a1 a0]

    T

  • 7/29/2019 Krstic _talk.pdf

    9/90

    Controller

    u =Q(s)

    P(s)y

  • 7/29/2019 Krstic _talk.pdf

    10/90

    Controller

    u =Q(s)

    P(s)y

    P(s) and Q(s) obtained by solving a Bezout-type polynomial equation involving A(s) and

    B(s) to satisfy some objectivefor example, the placement of closed-loop poles.

  • 7/29/2019 Krstic _talk.pdf

    11/90

    Controller

    u =Q(s)

    P(s)y

    P(s) and Q(s) obtained by solving a Bezout-type polynomial equation involving A(s) and

    B(s) to satisfy some objectivefor example, the placement of closed-loop poles.

    So, the coefficients of P(s) and Q(s) at each time step are determined from the estimate(t) of at each time step.

  • 7/29/2019 Krstic _talk.pdf

    12/90

    Adaptive Control

    B(s)/A(s)input output

    output filterinput filter

    identifier

    Q(s)/P(s)

  • 7/29/2019 Krstic _talk.pdf

    13/90

    Approaches to identifier design

    Lyapunov

    Estimation based/Certainty equivalence

    with passive identifier (often called observer-based method)

    with swapping identifier (often called the gradient method)

    This talk:

    Part I: State-feedback with passive identifier

    Part II: Output feedback with swapping identifier

  • 7/29/2019 Krstic _talk.pdf

    14/90

    Approaches to identifier design

    Lyapunov

    Estimation based/Certainty equivalence

    with passive identifier (often called observer-based method)

    with swapping identifier (often called the gradient method)

    This talk:

    Part I: State-feedback with passive identifier

    Part II: Output feedback with swapping identifier

  • 7/29/2019 Krstic _talk.pdf

    15/90

    Approaches to identifier design

    Lyapunov

    Estimation based/Certainty equivalence

    with passive identifier (often called observer-based method)

    with swapping identifier (often called the gradient method)

    This talk:

    Part I: State-feedback with passive identifier

    Part II: Output feedback with swapping identifier

  • 7/29/2019 Krstic _talk.pdf

    16/90

    PDE with unknown functional parameter

    ut = uxx+ (x)u

    Measurement: u(0)

    Control: u(1)

    Unstable

    Infinitely many unknown parameters / infinitedimensional state

    Scalar input / scalar output

  • 7/29/2019 Krstic _talk.pdf

    17/90

    PDE with unknown functional parameter

    ut = uxx+ (x)u

    Measurement: u(0)

    Control: u(1)

    Unstable

    Infinitely many unknown parameters / infinitedimensional state

    Scalar input / scalar output

  • 7/29/2019 Krstic _talk.pdf

    18/90

    PDE with unknown functional parameter

    ut = uxx+ (x)u

    Measurement: u(0)

    Control: u(1)

    Unstable

    Infinitely many unknown parameters / infinitedimensional state

    Scalar input /scalar output

  • 7/29/2019 Krstic _talk.pdf

    19/90

    Plant transfer function:

    u(0,s) =B(s)

    A(s)u(1,s)

    where

    B(s) = 1

    A(s) = coshs+

    1

    sinhs

    s

    Z10

    sinhs(1 y)s

    (y)dy

    and (x), 1 are related to (x) through the solution of the PDE

    pxx(x,y) = pyy(x,y) + (y)p(x,y)

    p(1,y) = 0

    p(x,x) = 12

    Z1x

    (y)dy

    (x) = py(x, 0)1 = p(0, 0)

  • 7/29/2019 Krstic _talk.pdf

    20/90

    Plant transfer function:

    u(0,s) =B(s)

    A(s)u(1,s)

    where

    B(s) = 1

    A(s) = coshs+

    1

    sinhs

    s

    Z10

    (y)sinh

    s(1 y)s

    dy

    and (x), 1 are related to (x) through the solution of the PDE

    pxx(x,y) = pyy(x,y) + (y)p(x,y)

    p(1,y) = 0

    p(x,x) = 12

    Z1x

    (y)dy

    (x) = py(x, 0)1 = p(0, 0)

  • 7/29/2019 Krstic _talk.pdf

    21/90

    Plant transfer function:

    u(0,s) =B(s)

    A(s)u(1,s)

    where

    B(s) = 1

    A(s) = coshs+

    1

    sinhs

    s

    Z10

    (y)sinh

    s(1 y)s

    dy

    and (x), 1 are related to (x) through the solution of the PDE

    pxx(x,y) = pyy(x,y) + (y)p(x,y)

    p(1,y) = 0

    p(x,x) = 12

    Z1x

    (y)dy

    (x) = py(x, 0)1 = p(0, 0)

  • 7/29/2019 Krstic _talk.pdf

    22/90

    Plant transfer function:

    u(0,s) =B(s)

    A(s)u(1,s)

    where

    B(s) = 1A(s) = cosh

    s+

    1

    sinhs

    s

    Z10

    (y)sinh

    s(1 y)s

    dy

    and (x), 1 are related to (x) through the solution of the PDE

    pxx(x,y) = pyy(x,y) + (y)p(x,y)

    p(1,y) = 0

    p(x,x) = 12

    Z1x

    (y)dy

    (x) = py(x, 0)1 = p(0, 0)

  • 7/29/2019 Krstic _talk.pdf

    23/90

    Compensator:

    u(

    1,s) =

    Q(s)

    P(s)u

    (0

    ,s)

    where

    P(s) = coshs

    1

    Z0

    k(1y) coshsy dy

    Q(s) =

    1Z

    0

    k(y)

    1

    sinh (sy)s

    +sinh (

    sy)

    s

    1yZ

    0

    () cosh(s)d

    dy

    +

    1Z

    0

    k(y) coshs(1 y) 1Z

    1y()

    sinh (s(1 ))s

    ddy

    and

    k(x) = 1 Zx

    0(y)dy

    Zx0

    1

    Zxy0

    (s)ds

    k(y)dy

  • 7/29/2019 Krstic _talk.pdf

    24/90

    Compensator:

    u(1,s) =Q(s)

    P(s)u(0,s)

    where

    P(s) = coshs

    1

    Z0

    k(1y) coshsy dy

    Q(s) =

    1Z

    0

    k(y)

    1

    sinh (sy)s

    +sinh (

    sy)

    s

    1yZ

    0

    () cosh(s)d

    dy

    +

    1Z

    0

    k(y) coshs(1 y) 1Z

    1y()

    sinh (s(1 ))s

    ddy

  • 7/29/2019 Krstic _talk.pdf

    25/90

    Compensator:

    u(1,s) =Q(s)

    P(s)u(0,s)

    where

    P(s) = coshs

    1

    Z0

    k(1

    y) coshsy dy

    Q(s) =

    1Z

    0

    k(y)

    1

    sinh (sy)s

    +sinh (

    sy)

    s

    1yZ

    0

    () cosh(s)d

    dy

    +

    1Z

    0

    k(y) coshs(1 y) 1Z

    1y()

    sinh (s(1 ))s

    ddy

    and

    k(x) = 1 Zx

    0(y)dy

    Zx0

    1

    Zxy0

    (s)ds

    k(y)dy

  • 7/29/2019 Krstic _talk.pdf

    26/90

    Input filter

    t = xx

    x(0) = 0

    (1) = u(1)

    Output filters

    t = xx

    x(0) = u(0)

    (1) = 0

  • 7/29/2019 Krstic _talk.pdf

    27/90

    Adaptive scheme

    ut= uxx+ (x)u

    ux(0) = 0

    u(1) u(0)

    (x), 1

    output filterinput filter

    identifier

    controller

  • 7/29/2019 Krstic _talk.pdf

    28/90

    Adaptive scheme

    ut= uxx+ (x)u

    ux(0) = 0

    u(1) u(0)

    output filterinput filter

    (x), 1 identifier

    controller

  • 7/29/2019 Krstic _talk.pdf

    29/90

    Adaptive scheme

    ut= uxx+ (x)u

    ux(0) = 0

    u(1) u(0)

    (x), 1

    output filterinput filter

    identifier

    controller

    U d l (l )

  • 7/29/2019 Krstic _talk.pdf

    30/90

    Update laws (least squares)

    t(x, t) =

    R10 (x,y, t)(y)dy+ 0(x, t)(0)

    1 + 2 + 2(0)

    v(0) (0) 1(0) +

    Z10

    ()()d

    1 =

    R10 0(y, t)(y)dy+ 1(t)(0)

    1 + 2 + 2(0)v(0) (0) 1(0) +

    Z10

    ()()d

    Ri ti d t ti i

  • 7/29/2019 Krstic _talk.pdf

    31/90

    Riccati adaptation gains

    t(x,y, t) = R1

    0 (x,s)(s)dsR1

    0 (y,s)(s)ds+ 0(x)0(y)2(0)

    1 + 2 + 2(0)

    (0)0(y)

    R10 (x,s)(s)ds+ (0)0(x)

    R10 (y,s)(s)ds

    1 + 2 + 2(0)

    0

    (x) =

    R10 (x,s)(s)ds+ 0(x)(0)

    R10 0(s)(s)ds+ 1(0)1 + 2 + 2(0)

    1 = R1

    0 0(s)(s)ds+ 1(0)2

    1 + 2 + 2(0)

    Ad ti C t ll

  • 7/29/2019 Krstic _talk.pdf

    32/90

    Adaptive Controller

    u(1) =Z1

    0 k(1 y)(y) + 1(y) +Z1

    0 ()F(y, )d dy

    with k(x) given by the integral equation in one variable

    k(x) = 1 Zx

    0(y)dy

    Zx

    0

    1

    Zxy

    0(s)ds

    k(y)dy

    and

    F(y, ) = 2

    n=0

    cos(2n+ 1)y

    2cos

    (2n+ 1)

    2

    Z10

    cos(2n+ 1)s

    2(s)ds

    This equation is solved at each time step.

    Simulation Example

  • 7/29/2019 Krstic _talk.pdf

    33/90

    Simulation Example

    ut = uxx+b(x)ux+ (x)u

    ux(0) = 0

    Reference signal: ur(0, t) = 3sin6t b(x) = 3 2x2 (x) = 16 + 3sin(2x)

    Simulation Example

  • 7/29/2019 Krstic _talk.pdf

    34/90

    Simulation Example

    ut = uxx+b(x)ux+ (x)u

    ux(0) = 0

    Reference signal: ur(0, t) = 3sin6t b(x) = 3 2x2 (x) = 16 + 3sin(2x)

    u(0)

    tt

    u(1)

    Control effort Output evolution

    Recommended Books on Adaptive Control

  • 7/29/2019 Krstic _talk.pdf

    35/90

    Recommended Books on Adaptive Control

    Comprehensive Ioannou and Sun

    Tao

    Discrete-time Mareels and Polderman

    A little out-of-date but still pretty good Goodwin and Sin

    Sastry and Bodson

    For nonlinear systems

    Krstic, Kanellakopoulos, and Kokotovic

    Recommended Books on Adaptive Control

  • 7/29/2019 Krstic _talk.pdf

    36/90

    Recommended Books on Adaptive Control

    Comprehensive Ioannou and Sun

    Tao

    Discrete-time Mareels and Polderman

    A little out-of-date but still pretty good Goodwin and Sin

    Sastry and Bodson

    For nonlinear systems

    Krstic, Kanellakopoulos, and Kokotovic

    Recommended Books on Adaptive Control

  • 7/29/2019 Krstic _talk.pdf

    37/90

    Recommended Books on Adaptive Control

    Comprehensive Ioannou and Sun

    Tao

    Discrete-time Mareels and Polderman

    A little out-of-date but still pretty good Goodwin and Sin

    Sastry and Bodson

    For nonlinear systems Krstic, Kanellakopoulos, and Kokotovic

    Recommended Books on Adaptive Control

  • 7/29/2019 Krstic _talk.pdf

    38/90

    Recommended Books on Adaptive Control

    Comprehensive

    Ioannou and Sun

    Tao

    Discrete-time Mareels and Polderman

    A little out-of-date but still pretty good Goodwin and Sin

    Sastry and Bodson

    For nonlinear systems Krstic, Kanellakopoulos, and Kokotovic

    General Remarks on Adaptive Control

  • 7/29/2019 Krstic _talk.pdf

    39/90

    General Remarks on Adaptive Control

    Problems intended to solve: Trajectory tracking in the presence of large parametric uncertainties

    Cancellation of unknown disturbances

    Limitations:

    Transient performance hard to guarantee for most adaptive schemes except for

    Lyapunov-based schemes

    Robustness to non-parametric uncertainties requires additional fixes

    Computational effort and complexity:

    Modest-to-medium (compared to optimality-driven methods)

    General Remarks on Adaptive Control

  • 7/29/2019 Krstic _talk.pdf

    40/90

    Ge e a e a s o dapt e Co t o

    Problems intended to solve: Trajectory tracking in the presence of large parametric uncertainties

    Cancellation of unknown disturbances

    Limitations:

    Transient performance hard to guarantee for most adaptive schemes except for

    Lyapunov-based schemes

    Robustness to non-parametric uncertainties requires additional fixes

    Computational effort and complexity:

    Modest-to-medium (compared to optimality-driven methods)

    General Remarks on Adaptive Control

  • 7/29/2019 Krstic _talk.pdf

    41/90

    p

    Problems intended to solve: Trajectory tracking in the presence of large parametric uncertainties

    Cancellation of unknown disturbances

    Limitations:

    Transient performance hard to guarantee for most adaptive schemes except for

    Lyapunov-based schemes

    Robustness to non-parametric uncertainties requires additional fixes

    Computational effort and complexity:

    Modest-to-medium (compared to optimality-driven methods)

    General Remarks on Adaptive Control (contd)

  • 7/29/2019 Krstic _talk.pdf

    42/90

    p ( )

    Successful applications:

    Many, see the book by Astrom and Wittenmark

    What is needed for applications in fusion:

    Further development of distributed-parameter versions of adaptive control

    General Remarks on Adaptive Control (contd)

  • 7/29/2019 Krstic _talk.pdf

    43/90

    Successful applications:

    Many, see the book by Astrom and Wittenmark

    What is needed for applications in fusion:

    Further development of distributed-parameter versions of adaptive control

    Nonlinear Control

  • 7/29/2019 Krstic _talk.pdf

    44/90

    x = f(x) +g(x)u

    y = h(x)

    Most mechanical systems (vehicles, fluids) are dominated by nonlinearities.

    Saturation and hysteresis are dealt with differently.

    Nonlinear Control

  • 7/29/2019 Krstic _talk.pdf

    45/90

    x = f(x) +g(x)u

    y = h(x)

    Most mechanical systems (vehicles, fluids) are dominated by nonlinearities.

    Saturation and hysteresis are dealt with differently.

    Nonlinear Control

  • 7/29/2019 Krstic _talk.pdf

    46/90

    x = f(x) +g(x)u

    y = h(x)

    Most mechanical systems (vehicles, fluids) are dominated by nonlinearities.

    Saturation and hysteresis are dealt with differently.

    Methods

  • 7/29/2019 Krstic _talk.pdf

    47/90

    Feedback linearization

    Backstepping (robust and adaptive)

    Various varieties of nonlinear optimal control (including MPC)

    Books on Nonlinear Control

  • 7/29/2019 Krstic _talk.pdf

    48/90

    Isidori (focused on structural/differential geometric properties related to controllabilitynot a design reference)

    Khalil; Sastry; Vidyasagar (general textbooks that gloss over many methods)

    Krstic, Kanellakopoulos, and Kokotovic (adaptive and robust design tools for uncertainnonlinear systems)

    Adaptive Nonlinear ControlA Tutorial

  • 7/29/2019 Krstic _talk.pdf

    49/90

    Backstepping Tuning Functions Design Modular Design

    Output Feedback

    Extensions A Stochastic Example Applications and Additional References

    main source:

    Nonlinear and Adaptive Control Design (Wiley, 1995)

    M. Krstic, I. Kanellakopoulos and P. V. Kokotovic

    Backstepping (nonadaptive)

  • 7/29/2019 Krstic _talk.pdf

    50/90

    x1 = x2 + (x1)T , (0) = 0

    x2 = u

    where is known parameter vector and (x1) is smooth nonlinear function.

    Goal: stabilize the equilibrium x1 = 0, x2 = (0)T = 0.

    virtual control for the x1-equation:

    1(x1) = c1x1 (x1)T , c1 > 0

    error variables:

    z1 = x1

    z2 = x2 1(x1) ,

    System in error coordinates:

  • 7/29/2019 Krstic _talk.pdf

    51/90

    z1 = x1 = x2 + T = z2 + 1 +

    T = c1z1 +z2z2 = x2 1 = u 1x1

    x1 = u 1x1x2 +

    T

    .

    Need to design u = 2(x1,x2) to stabilize z1 = z2 = 0.

    Choose Lyapunov function

    V(x1,x2) =1

    2z21 +

    1

    2z22

    we have

    V = z1 (c1z1 +z2) +z2u 1

    x1

    x2 +

    T

    = c1z21 +z2u+z1 1x1 x2 +

    T =c2z2

    V= c1z21 c2z22

  • 7/29/2019 Krstic _talk.pdf

    52/90

    z = 0 is globally asymptotically stable

    invertible change of coordinates

    x = 0 is globally asymptotically stable

    The closed-loop system in z-coordinates is linear:

    z1z2

    = c1 1

    1 c2 z1

    z2

    .

    Tuning Functions Design

  • 7/29/2019 Krstic _talk.pdf

    53/90

    Introductory examples:

    A B C

    x1 = u+ (x1)T x1 = x2 + (x1)

    T x1 = x2 + (x1)T

    x2 = u x2 = x3

    x3 = u

    where is unknown parameter vector and (0) = 0.

    Degin A. Let be the estimate of and =

    ,

    Using

    u = c1x1 (x1)Tgives

    x1 = c1x1 + (x1)T

    To find update law for (t), choose

    1 1

  • 7/29/2019 Krstic _talk.pdf

    54/90

    V1(x, ) =1

    2

    x21 +1

    2

    T1

    then

    V1 = c1x21 +x1(x1)T T1 =

    c

    1x2

    1+ T

    1(x1)x1

    =0

    Update law:

    = (x1)x1, (x1)regressor

    gives

    V1 = c1x21 0.By Lasalles invariance theorem, x1 = 0, = is stable and

    limtx1(t) = 0

    Design B. replace by in the nonadaptive design:

  • 7/29/2019 Krstic _talk.pdf

    55/90

    z2 = x2 1(x1, ) , 1(x1, ) = c1z1 Tand strengthen the control law by 2(x1,x2, )(to be designed)

    u = 2(x1,x2, ) = c2z2 z1 +1x1

    x2 +

    T

    +2(x1,x2, )

    error system

    z1 = z2 + 1 + T = c1z1 +z2 + T

    z2 = x2 1 = u1x1 x2 +

    T1

    = z1 c2z2 1x1T 1

    +2(x1,x2, ) ,

    or

    z1z2 = c1 11 c2 z1z2 + T

    1x1

    T + 01

    +2(x1,x2, )

    =0

    remaining: design adaptive law.

    Choose

    V ( ) V1 2 1 2 1 2 1T 1

  • 7/29/2019 Krstic _talk.pdf

    56/90

    V2(x1,x2, ) = V1 +2z22 = 2

    z21 + 2z22 + 2

    T1

    we have

    V2 = c1z21 c2z22 + [z1, z2]

    T

    1x1

    T

    T1

    = c1z21 c2z22 + T1, 1x1 z1z2 .The choice

    = 2(x, ) = , 1x1 z1z2 =

    1z1 1x1 z2 2

    (1, 2 are called tuning functions)

    makes

    V2 = c1z21 c2z22,thus z = 0, = 0 is GS and x(t)

    0 as t

    .

  • 7/29/2019 Krstic _talk.pdf

    57/90

    +E

    +Z

    T

    1x1 TT T

    1x1 T

    c1 11 c2

    '

    Z'

    T

    E E E E E

    T

    '

    z1

    z2 2

    The closed-loop adaptive system

    Design C.

    We have one more integrator, so we define the third error coordinate and replace in

  • 7/29/2019 Krstic _talk.pdf

    58/90

    e a e o e o e teg ato , so e de e t e t d e o coo d ate a d ep ace

    design B by potential update law,

    z3 = x3 2(x1,x2, )

    2(x1,x2, ) =1

    2(x1,x2, ).

    Now the z1,z2-system is

    z1z2

    =

    c1 1

    1

    c2

    z1z2

    +

    T

    1x1

    T

    +

    0

    z3 +1

    (2

    )

    and

    V2 = c1z21 c2z22 +z2z3 +z21

    (2 ) + T(2 1 ).

    z3-equation is given by

    2 2 2

  • 7/29/2019 Krstic _talk.pdf

    59/90

    z3 = u

    2

    x1 x2 + T

    2

    x2

    x3

    2

    = u 2x1

    x2 +

    T

    2x2

    x3 2

    2x1

    T .

    Choose

    V3(x, ) = V2 + 12z23 = 12z

    21 + 12z22 + 12z

    23 + 12T1

    we have

    V3 =

    c1z

    21

    c2z

    22 +z2

    1

    (2

    )

    +z3

    z2 +u

    2x1

    x2 +

    T

    2x2

    x3 2

    +T2

    2x

    1

    z3 1 .

    Pick update law

    z1

  • 7/29/2019 Krstic _talk.pdf

    60/90

    = 3(x1,x2,x3,

    ) = 2 2x1 z3 = , 1x1 , 2x1 z1

    z2z3

    and control law

    u = 3(x1,x2,x3, ) =z2

    c3z3 +

    2

    x1 x2 + T+2

    x2x3 +3,

    results in

    V3 = c1z21 c2z22 c3z23 +z21

    (2 ) +z3

    3 2

    .

    Notice

    2 = 3 2x1

    z3

    we have

    V3 = c1z21 c2z22 c3z23 +z3

    3 2

    3 +

    1

    2x1

    z2

    =0

    .

    Stability and regulation of x to zero follows.

    Further insight:

    T 0

  • 7/29/2019 Krstic _talk.pdf

    61/90

    z1z2z3

    = c1 1 01 c2 10 1 c3

    z1z2z3

    +T

    1x1 T

    2x1

    T +

    0

    1 (2 )

    3 2 3 .

    2

    =

    3

    2

    x1z

    3

    z1z2z3

    =

    c1 1 01 c2 1 + 1

    2x1

    0 1 c3

    z1z2z3

    +

    T

    1x1 T

    2x1

    T

    +

    0

    0

    3 2 3

    seletion of 3

    z1z2z3

    = c1 1 01 c2 1 + 1 2x1

    0 1 1

    2x1

    c3 z1z2

    z3

    +T

    1x1 T2

    x1T

    .

    General Recursive Design Procedure

  • 7/29/2019 Krstic _talk.pdf

    62/90

    parametric strict-feedback system:

    x1 = x2 + 1(x1)T

    x2 = x3 + 2(x1,x2)T

    ...

    xn1 = xn+ n1(x1, . . . ,xn1)T

    xn = (x)u+ n(x)T

    y = x1

    where and i are smooth.

    Objective: asymptotically track reference output yr(t), with y(i)r (t), i = 1, ,n known,

    bounded and piecewise continuous.

    Tuning functions design for tracking (z0= 0, 0

    = 0, 0

    = 0)

    zi = xiy(i1)r i1

  • 7/29/2019 Krstic _talk.pdf

    63/90

    i i yr i 1

    i( xi,, y

    (i

    1)

    r ) = zi1 ciziwT

    i +

    i1

    k=1i1xk xk+1 + i1y(k1)r y(k)r +i

    i( xi, , y(i1)r ) = +

    i1

    i +i1k=2

    k1

    wizk

    i( xi, , y(i1)r ) = i1 +wizi

    wi( xi, , y(i

    2)

    r ) = ii1

    k=1i

    1

    xk k

    i = 1, . . . ,n

    xi = (x1, . . . ,xi), y(i)r = (yr, yr, . . . ,y

    (i)r )

    Adaptive control law:

    u =1

    (x)

    n(x, , y

    (n1)r ) +y

    (n)r

    Parameter update law:

    = n(x, , y(n1)r ) = Wz

    Closed-loop system

    z = A (z t)z+W(z t)T

  • 7/29/2019 Krstic _talk.pdf

    64/90

    z = Az(z, , t)z+W(z, , t)

    = W(z, , t)z ,

    where

    Az(z, , t) =

    c1 1 0 0

    1 c

    2 1 + 23 2n0 1 23 . . . . . . ...... ... . . . . . . 1 + n1,n0 2n 1 n1,n cn

    jk(x, ) = j1

    wk

    This structure ensures that the Lyapunov function

    Vn =

    1

    2zT

    z+

    1

    2T

    1

    has derivative

    Vn = n

    k=1

    ckz2k.

    Modular Design

  • 7/29/2019 Krstic _talk.pdf

    65/90

    Motivation: Controller can be combined with different identifiers. (No flexibility for update

    law in tuning function design)

    Naive idea: connect a good identifier and a good controller.

    Example: error system

    x = x+ (x)

    suppose

    (t) = et

    and (x) = x3

    , we have

    x = x+x3et

    But, when |x0| >

    32,

    x(t) as t 13

    lnx20

    x20 3/2Conclusion: Need stronger controller.

    Controller Design. nonlinear damping

    u = x (x) (x)2x

  • 7/29/2019 Krstic _talk.pdf

    66/90

    u x (x) (x) x

    closed-loop system

    x = x (x)2x+ (x) .With V= 12x

    2, we have

    V = x2 (x)2x2 +x(x)

    = x2

    (x)x 12

    2+

    1

    42

    x2 + 14

    2 .

    bounded (t) bounded x(t)

    For higher order system

    x1 = x2 + (x1)T

  • 7/29/2019 Krstic _talk.pdf

    67/90

    x2 = u

    set

    1(x1, ) = c1x1 (x1)T 1|(x1)|2x1, c1, 1 > 0and define

    z2 = x2 1(x1, )error system

    z1 = c1z1 1||2

    z1 + T

    +z2

    z2 = x2 1 = u1x1

    x2 +

    T

    1

    .

    Consider

    V2 =V1 +1

    2z22 =

    1

    2|z|2

  • 7/29/2019 Krstic _talk.pdf

    68/90

    2 2 2

    we have

    V2 c1z21 +1

    41||2 +z1z2 +z2

    u 1

    x1

    x2 +

    T

    1

    c1z2

    1+

    1

    41||

    2

    +z2u+z11x1x2+T1x1 T+1 .controller

    u=z

    1 c

    2z

    2

    2 1x1 2

    z2

    g2 1

    T

    2

    z2

    +1

    x1 x2 + T ,achieves

    V2 c1z21 c2z22 +1

    41+

    1

    42 ||2 +

    1

    4g2| |2

    bounded , bounded (or L2) bounded x(t)

    Controller design in the modular approach (z0= 0, 0

    = 0)

    zi = xiy(i1)r i1i 1

  • 7/29/2019 Krstic _talk.pdf

    69/90

    i( xi,

    , y

    (i

    1)

    r ) = zi1 ciziwT

    i

    +

    i1

    k=1i1xk xk+1 + i1y(k1)r y(k)r sizi

    wi( xi, , y(i2)r ) = i

    i1k=1

    i1xk

    k

    si( xi, , y(i2)r ) = i|wi|2 +gi

    i1

    T

    2

    i= 1, . . . ,n

    xi = (x1, . . . ,xi), y(i)r = (yr, yr, . . . ,y

    (i)r )

    Adaptive control law:

    u =1

    (x)

    n(x, , y

    (n1)r ) +y

    (n)r

    Controller module guarantees:

    If

    L and

    L2 or L then x

    L

    Requirement for identifier

    error system

    T T

  • 7/29/2019 Krstic _talk.pdf

    70/90

    z = Az(z,, t)z+W(z,

    , t)

    T +Q(z,

    , t)

    T

    where

    Az(z, , t) = c1 s1 1 0 0

    1

    c2

    s2 1

    . . . ...

    0 1 . . . . . . 0... . . . . . . . . . 1

    0 0 1 cn sn

    W(z, , t)T =wT

    1wT2...

    wTn

    , Q(z, , t)T = 0

    1...

    n1

    .

    Since

    1 0 01

  • 7/29/2019 Krstic _talk.pdf

    71/90

    W(z, , t)T = 1

    x1 1

    . . . ...... . . . . . . 0

    n1x1

    n1xn1

    1

    F(x)T = N(z, , t)F(x)T .

    Identifier properties:

    (i) L and L2 or L,

    (ii) if x L then F(x(t))T

    (t) 0 and

    (t) 0.

    Identifier Design

    Passive identifier

  • 7/29/2019 Krstic _talk.pdf

    72/90

    Passive identifier

    x = f+FT

    x = A0 FTFP( xx) + f+F

    T

    c

    T

    'FP

    Z

    E

    '

    +

    x

    x

    E E

    T

    FP

  • 7/29/2019 Krstic _talk.pdf

    73/90

    's

    = A0 F(x,u)TF(x,u)P +F(x,u)Tupdate law

    = F(x,u)P , = T > 0 .

    Use Lyapunov function

    V= T1 + TP

    its derivative satisfies

    V T ()2

    | |2 .

    Thus, whenever x is bounded, F(x(t))T(t) 0 and (t) 0.(

    (t)

    0 because R0

    (

    )d

    =

    (0

    )exists, Barbalats lemma...)

    Swapping identifier

  • 7/29/2019 Krstic _talk.pdf

    74/90

    x = f+FT

    0 =A0 FTFP

    (0 x) + f

    =A0 FTFP

    +F

    ....................................................

    E

    c

    E

    T

    Z

    1 +|

    |2

    ''

    T

    x

    0

    T

    ++

    define = x+ 0 T,

    = A0 F(x,u)TF(x,u)P .

  • 7/29/2019 Krstic _talk.pdf

    75/90

    ChooseV=

    1

    2T1 + P

    we have

    V 34

    T1 +tr{T},

    proves identifier properties.

    Output Feedback Adaptive Designs

  • 7/29/2019 Krstic _talk.pdf

    76/90

    x = Ax+ (y) + (y)a+

    0

    b

    (y)u , x IRn

    y = eT1x ,

    A =

    0...

    In10

    0

    ,

    (y) =

    0,1(y)...0,n(y)

    , (y) = 1,1(y) q,1(y)... ...1,n(y) q,n(y)

    ,

    unknown constant parameters:

    a = [a1, . . . ,aq]T , b = [bm, . . . ,b0]

    T .

    State estimation filters

    Filters:

  • 7/29/2019 Krstic _talk.pdf

    77/90

    Filters:

    = A0 + ky+ (y)

    = A0 + (y)

    = A0

    + en(y)u

    vj = Aj0, j = 0, . . . ,m

    T = [vm, . . . ,v1,v0, ]

    Parameter-dependent state estimate

    x = + T

  • 7/29/2019 Krstic _talk.pdf

    78/90

    The vector k= [k1, . . . ,kn]T chosen so that the matrix

    A0 = A keT1is Hurwitz, that is,

    PA0 +AT0P = I, P = PT > 0

    The state estimation error

    = x xsatisfies

    = A0

    Parametric model for adaptation:

    y = 0 + T + 2

    T

  • 7/29/2019 Krstic _talk.pdf

    79/90

    = bmvm,2 + 0 + T

    + 2 ,

    where

    0 = 0,1 + 2

    = [vm,2,vm1,2, . . . ,v0,2, (1) + (2)]T = [0,vm1,2, . . . ,v0,2, (1) + (2)]T .

    Since the states x2, . . . ,xn are not measured, the backstepping design is applied to the

    system

    T

  • 7/29/2019 Krstic _talk.pdf

    80/90

    y = bmvm,2 + 0 + T

    + 2vm,i = vm,i+1 kivm,1 , i = 2, . . . , 1vm, = (y)u+ vm,+1 kvm,1 .

    The order of this system is equal to the relative degree of the plant.

    Extensions

    Pure-feedback systems.

  • 7/29/2019 Krstic _talk.pdf

    81/90

    xi = xi+1 + i(x1, . . . ,xi+1)T, i = 1, . . . ,n 1

    xn =

    0(x) + (x)Tu+ 0(x) + n(x)

    T ,

    where 0(

    0) =

    0,

    1(

    0) = =

    n(

    0) =

    0,

    0(

    0) =

    0.

    Because of the dependence of i on xi+1, the regulation or tracking for pure-feedback

    systems is, in general, not global, even when is known.

    Unknown virtual control coefficients.

    xi = bixi+1 + i(x1, . . . ,xi)T, i = 1, . . . ,n 1

    T

  • 7/29/2019 Krstic _talk.pdf

    82/90

    xn = bn(x)u+ n(x1, . . . ,xn) ,where, in addition to the unknown vector , the constant coefficients bi are also unknown.

    The unknown bi-coefficients are frequent in applications ranging from electric motors to

    flight dynamics. The signs of bi, i = 1, . . . ,n, are assumed to be known. In the tuningfunctions design, in addition to estimating bi, we also estimate its inverse i = 1/bi. In the

    modular design we assume that in addition to sgnbi, a positive constant i is known such

    that

    |bi

    | i. Then, instead of estimating i = 1/bi, we use the inverse of the estimate bi,

    i.e., 1/bi, where bi(t) is kept away from zero by using parameter projection.

    Multi-input systems.

    Xi = Bi( Xi)Xi+1 + i( Xi)T, i = 1, . . . ,n 1

    T

  • 7/29/2019 Krstic _talk.pdf

    83/90

    Xn = Bn(X)u+ n(X) ,

    where Xi is a i-vector, 1 2 n, Xi =XT1 , . . . ,X

    Ti

    T, X= Xn, and the matrices

    Bi( Xi) have full rank for all Xi IRij=1j. The input u is a n-vector.

    The matrices Bi can be allowed to be unknown provided they are constant and positive

    definite.

    Block strict-feedback systems.

    xi = xi+1 + i(x1, . . . ,xi, 1, . . . ,i)T, i = 1, . . . , 1

    T

  • 7/29/2019 Krstic _talk.pdf

    84/90

    x = (x, )u+ (x, ) i = i,0( xi, i) + i( xi, i)

    T, i= 1, . . . ,

    with the following notation: xi = [x1, . . . ,xi]T, i =

    T1 , . . . , Ti

    T, x = x, and = .

    Each i-subsystem is assumed to be bounded-input bounded-state (BIBS) stable with

    respect to the input ( xi, i1). For this class of systems it is quite simple to modify theprocedure in the tables. Because of the dependence of i on i, the stabilizing function

    i is augmented by the term + i1k=1 i1k k,0, and the regressor wi is augmented by

    i1k=1 i

    i1k

    T.

    Partial state-feedback systems. In many physical systems there are unmeasured states

    as in the output-feedback form, but there are also states other than the output y = x1 that

    are measured. An example of such a system is

  • 7/29/2019 Krstic _talk.pdf

    85/90

    x1 = x2 + 1(x1)T

    x2 = x3 + 2(x1,x2)T

    x3 = x4 + 3(x1,x2)T

    x4 = x5 + 4(x1,x2)T

    x5 = u+ 5(x1,x2,x5)T .

    The states x3 and x4 are assumed not to be measured. To apply the adaptive backsteppingdesigns presented in this chapter, we combine the state-feedback techniques with the

    output-feedback techniques. The subsystem (x2,x3,x4) is in the output-feedback form

    with x2 as a measured output, so we employ a state estimator for (x2,x3,x4) using the

    filters introduced in the section on output feedback.

    Example of Adaptive Stabilization in the Presence of a Stochastic Disturbance

  • 7/29/2019 Krstic _talk.pdf

    86/90

    dx = udt+xdw

    w: Wiener process with Edw2

    = (t)2dt, no a priori bound for

    Control laws:

    Disturbance Attenuation: u = xx3Adaptive Stabilization: u = x x, = x2

    Disturbance Attenuation Adaptive Stabilization

    6

    7

  • 7/29/2019 Krstic _talk.pdf

    87/90

    0 0.5 1 1.5 2 2.50

    0.5

    1

    1.5

    2

    2.5

    3

    3.5

    4

    4.5

    t

    x

    dd

    0 0.5 1 1.5 2 2.50

    1

    2

    3

    4

    5

    x

    t

    0 0.5 1 1.5 2 2.50

    0.5

    1

    1.5

    2

    2.5

    3

    t

    Major Applications of Adaptive Nonlinear Control

    Electric Motors Actuating Robotic Loads

  • 7/29/2019 Krstic _talk.pdf

    88/90

    Nonlinear Control of Electric Machinery, Dawson, Hu, Burg, 1998. Marine Vehicles (ships, UUVs; dynamic positioning, way point tracking, maneu-

    vering)

    Marine Control Systems, Fossen, 2002

    Automotive Vehicles (lateral and longitudinal control, traction, overall dynamics)The groups of Tomizuka and Kanellakopoulos.

    Dozens of other occasional applications, including: aircraft wing rock, compressor stall and

    surge, satellite attitude control.

    Other Books on Adaptive NL Control Theory Inspired by [KKK]

    1. Marino and Tomei (1995),

    Nonlinear Control Design: Geometric, Adaptive, and Robust

  • 7/29/2019 Krstic _talk.pdf

    89/90

    2. Freeman and Kokotovic (1996),

    Robust Nonlinear Control Design: State Space and Lyapunov Techniques

    3. Qu (1998),

    Robust Control of Nonlinear Uncertain Systems

    4. Krstic and Deng (1998),

    Stabilization of Nonlinear Uncertain Systems

    5. Ge, Hang, Lee, Zhang (2001),

    Stable Adaptive Neural Network Control

    6. Spooner, Maggiore, Ordonez, and Passino (2002),

    Stable Adaptive Control and Estimation for Nonlinear Systems: Neural and Fuzzy Approximation Tech-

    niques

    7. French, Szepesvari, Rogers (2003),

    Performance of Nonlinear Approximate Adaptive Controllers

    Adaptive NL Control/Backstepping Coverage in Major Texts

    1 Khalil (1995/2002)

  • 7/29/2019 Krstic _talk.pdf

    90/90

    1. Khalil (1995/2002),Nonlinear Systems

    2. Isidori (1995),

    Nonlinear Control Systems

    3. Sastry (1999),

    Nonlinear Systems: Analysis, Stability, and Control

    4. Astrom and Wittenmark (1995),

    Adaptive Control