feedback control systems mit (complete)

Upload: mario-a-qui

Post on 14-Apr-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    1/608

    Syllabus

    The 'Information' section of the course syllabus contains a list of questions each student was asked to answer about

    their background. The information provided would have been used to create a class e-mail list and to adjust the paceof the course.

    Instructor

    z Professor Jonathan P. How

    Feedback Control

    z Introduction to the state-space approach of analysis and control synthesis.

    z State-space representation of dynamic systems; controllability and observability.

    z State-space realizations of transfer functions and canonical forms.

    z Design of state-space controllers, including pole-placement and optimal control.

    z

    Introduction to the Kalman filter.z Limitations on performance of control systems.

    z Introduction to the robustness of multivariable systems.

    Homework

    z Weekly problem sets will be handed out on Fridays (due the following week).

    There will be approximately two labs that will be graded as part of the homework.

    z Midterm: Between Lecture 27 and 28, in class.

    z

    Final Exam: After Lecture 37.z Course Grades: Homework 30%, Midterm 20%, Final 50%.

    Textbooks

    Required:

    z Pierre Belanger. Control Engineering: A Modern Approach. Oxford University, 1995.

    NUMBER OF

    LECTURESTOPICS

    5Review of Classical Synthesis

    Techniques

    8 State Space - Linear Systems

    7 Full State Feedback

    3 State Estimation

    4 Output Feedback

    7 Robustness

    Page 1 of 3MIT OpenCourseWare | Aeronautics and Astronautics | 16.31 Feedback Control Systems,...

    8/12/2005http://ocw.mit.edu/OcwWeb/Aeronautics-and-Astronautics/16-31Feedback-Control-Syste...

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    2/608

    Goal

    To teach the fundamentals of control design and analysis using state-space methods. This includes both thepractical and theoretical aspects of the topic. By the end of the course, you should be able to designcontrollers using state-space methods and evaluate whether these controllers are robust.

    z Review classical control design techniques.z Explore new control design techniques using state-space tools.

    z Investigate analysis of robustness.

    Prerequisites

    z Basic understanding of how to develop system equations of motion.

    z Classical analysis and synthesis techniques (root locus, Bode). There will be a brief review during the

    first 2 weeks.

    z Course assumes a working knowledge of MATLAB.

    Policies

    z You are encouraged to discuss the homework and problem sets. However, your submitted work

    must be your own.

    z Homework will be handed out Fridays, due back the following Friday at 5PM. Late homework will not

    be accepted unless prior approval is obtained from Professor How. The grade on all late homework willbe reduced 25% per day. No homework will be accepted for credit after the solutions have beenhanded out.

    z There will hopefully be 2 Labs later in the semester that will be blended in with the homework. This

    will be group work, depending on the class size.

    z For feedback and/or questions, contact me through email for the best results.

    Supplemental Textbooks

    There are many others, but these are the ones on my shelf. All pretty much have the same content, but eachauthor focuses on different aspects.

    Mo d e l i n g a n d C o n t r o l

    z Palm. Modeling, Analysis, and Control of Dynamic Systems. Wiley.

    B a s i c Co n t r o l

    z Franklin and Powell. Feedback Control of Dynamics Systems. Addison-Wesley.

    z Van de Vegte. Feedback Control Systems. Prentice Hall.

    z Di Stefano. Feedback Control Systems. Schaums outline.

    z Luenberger. Introduction to Dynamic Systems. Wiley.

    Page 2 of 3MIT OpenCourseWare | Aeronautics and Astronautics | 16.31 Feedback Control Systems,...

    8/12/2005http://ocw.mit.edu/OcwWeb/Aeronautics-and-Astronautics/16-31Feedback-Control-Syste...

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    3/608

    z Ogata. Modern Control Engineering. Prentice Hall.

    L i n e a r Sy s t e m s

    z Chen. Linear Systems Theory and Design. Prentice Hall.

    z Aplevich. The Essentials of Linear State-Space Systems. Wiley.

    S t a t e S p a c e Co n t r o l

    z Brogan. Modern Control Theory. Quantum Books.

    z Burl. Linear Optimal Control. Prentice Hall.

    z Kwakernaak and Sivan. Linear Optimal Control Systems. Wiley Interscience.

    Page 3 of 3MIT OpenCourseWare | Aeronautics and Astronautics | 16.31 Feedback Control Systems,...

    8/12/2005http://ocw.mit.edu/OcwWeb/Aeronautics-and-Astronautics/16-31Feedback-Control-Syste...

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    4/608

    This course calendar incorporates the lecture schedule and assignment schedule for the semester. Some lecture topicswere taught over several class sessions.

    LEC # TOPICS HOMEWORK OUT HOMEWORK IN

    1 Introduction HW1

    2 Introduction

    3 Root Locus Analysis

    4 Root Locus Synthesis

    5 Bode-Very Brief Discussion HW2 HW1

    6 State Space (SS) Introduction

    7 Stace Space (SS) to Transfer Function (TF) HW3 HW2

    8 Transfer Function (TF) to State Space (SS)

    9 Time Domain

    10 Observability HW4 HW3

    11 Controllability

    12 Pole/Zero (P/Z) Cancellation

    13 Observability, Residues HW5 HW4

    14 Pole Placement

    15 Pole Placement HW6 HW5

    16 Performance

    17 Performance

    18 Pole Locations HW7 HW6

    19 Pole Locations

    20 Pole Locations

    21 State Estimators HW8 HW7

    22 State Estimators

    23 State Estimators

    24 Dynamic Output Feedback HW8

    25 Dynamic Output Feedback

    26 Dynamic Output Feedback

    27 Sensitivity of LQG HW9

    Quiz

    28 Sensitivity of LQG HW9

    29 Bounded Gain Theorem HW10

    30 Error Models

    31 MIMO Systems

    Page 1 of 2MIT OpenCourseWare | Aeronautics and Astronautics | 16.31 Feedback Control Systems,...

    8/12/2005http://ocw.mit.edu/OcwWeb/Aeronautics-and-Astronautics/16-31Feedback-Control-Syste...

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    5/608

    32 MIMO Systems HW10

    33 MIMO Systems

    34 LQR Optimal

    35 LQR Optimal

    36 Reference Cmds II

    37 LDOC-Review

    Final Exam

    Page 2 of 2MIT OpenCourseWare | Aeronautics and Astronautics | 16.31 Feedback Control Systems,...

    8/12/2005http://ocw.mit.edu/OcwWeb/Aeronautics-and-Astronautics/16-31Feedback-Control-Syste...

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    6/608

    Lecture #1

    16.31 Feedback Control

    Copyright2001byJonathanHow.

    1

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    7/608

    Fall 2001 16.31 11

    Introduction

    K(s) G(s) -6

    ?

    u(t)

    y(t)e(t)r(t)

    d(t)

    Goal: Design a controller K(s) so that the systemhas some desired

    characteristics. Typical objectives:

    Stabilize the system (Stabilization)

    Regulate the system about some design point (Regulation)

    Follow a given class of command signals (Tracking)

    Reduce the response to disturbances. (Disturbance Rejection)

    Typically think of closed-loop control so we would analyze theclosed-loop dynamics.

    Open-loop control also possible (called feedforward) more

    prone to modeling errors since inputs not changed as a result of

    measured error.

    Note that a typical control system includes the sensors, actuators,

    and the control law.

    The sensors and actuators need not always be physical devices

    (e.g., economic systems).

    A good selection of the sensor and actuator can greatly simplify

    the control design process.

    Course concentrates on the design of the control law given the

    rest of the system (although we will need to model the system).

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    8/608

    Fall 2001 16.31 12

    Why Control?

    Easy question to answer for aerospace because many vehicles (space-

    craft, aircraft, rockets) and aerospace processes (propulsion) need to

    be controlled just to function

    Example: the F-117 does not even fly without computer control,

    and the X-29 is unstable

    OPERATION IRAQI FREEDOM -- An F-117 from the 8th Expeditionary Fighter Squadron out of Holloman Air Force

    Base, N.M., flies over the Persian Gulf on April 14, 2003. The 8th EFS has begun returning to Hollomann A.F.B. after having been deployed to the Middle East in support of Operation Iraqi Freedom. (U.S. Air Force photo by Staff Sgt. Derrick C. Goode). http://www.af.mil/photos.html.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    9/608

    Fall 2001 16.31 13

    Feedback Control Approach

    Establish control objectives

    Qualitative dont use too much fuel

    Quantitative settling time of step response

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    10/608

    Fall 2001 16.31 14

    Example: Blimp Control

    Control objective

    Stabilization

    Red blimp tracks the motion of the green blimp

    Sensors

    GPS for positioning

    Compass for heading

    Gyros/GPS for roll attitude

    Actuators electric motors (propellers) are very nonlinear.

    Dynamics

    rigid body with strong apparent mass effect. Roll modes.

    Modeling

    Analytic models with parameter identification to determine mass.

    Disturbances wind

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    11/608

    Fall 2001 16.31 15

    State-Space Approach

    Basic questions that we will address about the state-space approach:

    What are state-space models?

    Why should we use them?

    How are they related to the transfer functions used in classical

    control design?

    How do we develop a state-space model?

    How do we design a controller using a state-space model?

    Bottom line:

    1. What: representation of the dynamics of an nth-order system

    using n first-order differential equations:

    mq+ cq+ kq = u

    qq

    = 0 1k/m c/m q

    q

    + 01/m

    u x = Ax + Bu

    2. Why:

    State variable form convenient way to work with complex dy-

    namics. Matrix format easy to use on computers.

    Transfer functions only deal with input/output behavior, butstate-space form provides easy access to the internal fea-

    tures/response of the system.

    Allows us to explore new analysis and synthesis tools.

    Great for multiple-input multiple-output systems (MIMO),

    which are very hard to work with using transfer functions.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    12/608

    Fall 2001 16.31 16

    3. How: There are a variety of ways to develop these state-space

    models. We will explore this process in detail.

    Linear systems theory

    4. Control design: Split into 3 main parts

    Full-state feedbackficticious since requires more information

    than typically (ever?) available

    Observer/estimator designprocess of estimating the sys-

    tem state from the measurements that are available. Dynamic output feedback combines these two parts with

    provable guarantees on stability (and performance).

    Fortunately there are very simple numerical tools available

    to perform each of these steps

    Removes much of the art and/or magic required in classi-

    cal control design design process more systematic.

    Word of caution: Linear systems theory involves extensive use

    of linear algebra.

    Will not focus on the theorems/proofs in class details will be

    handed out as necessary, but these are in the textbooks.

    Will focus on using the linear algebra to understand the behav-

    ior of the system dynamics so that we can modify them using

    control. Linear algebra in action

    Even so, this will require more algebra that most math courses

    that you have taken . . . .

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    13/608

    Fall 2001 16.31 17

    My reasons for the review of classical design:

    State-space techniques are just another to design a controller

    But it is essential that you understand the basics of the control

    design process

    Otherwise these are just a bunch of numerical tools

    To truly understand the output of the state-space control design

    process, I think it is important that you be able to analyze it

    from a classical perspective.

    Try to answer why did it do that? Not always possible, but always a good goal.

    Feedback: muddy cards and office hours.

    Help me to know whether my assumptions about your back-

    grounds is correct and whether there are any questions about

    the material.

    Matlab will be required extensively. If you have not used it before,

    then start practicing.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    14/608

    Fall 2001 16.31 18

    System Modeling

    Investigate the model of a simple system to explore the basics of

    system dynamics. Provide insight on the connection between the system response

    and the pole locations.

    Consider the simple mechanical system (2MSS) derive the system

    model

    1. Start with a free body diagram2. Develop the 2 equations of motion

    m1x1 = k(x2 x1)m2x2 = k(x1 x2) + F

    3. How determine the relationships between x1, x2 and F?

    Numerical integration - good for simulation, but not analysis Use Laplace transform to get transfer functions

    Fast/easy/lots of tables Provides lots of information (poles and zeros)

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    15/608

    Fall 2001 16.31 19

    Laplace transform

    L{f(t)}

    0f(t)estdt

    Key point: IfL{x(t)} = X(s), then L{x(t)} = sX(s) assuming

    that the initial conditions are zero.

    Apply to the model

    L{m1x1 k(x2 x1)} = (m1s2 + k)X1(s) kX2(s) = 0

    L{m2x2 k(x1 x2) F} = (m2s2 + k)X2(s) kX1(s) F(s) =

    m1s

    2 + k kk m2s2 + k

    X1(s)

    X2(s)

    =

    0

    F(s)

    Perform some algebra to get

    X2(s)

    F(s)=

    m1s2 + k

    m1m2s2(s2 + k(1/m1 + 1/m2)) G2(s)

    G2(s) is the transfer function between the input F and the

    system response x2

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    16/608

    Fall 2001 16.31 110

    Given that F G2(s) x2. IfF(t) known, how find x2(t)?1. Find G2(s)

    2. Let F(s) = L{F(t)}

    3. Set Xs(s) = G2(s) F(s)

    4. Compute x2(t) = L1{X2(s)}

    Step 4 involves an inverse Laplace transform, which requires an ugly

    contour integral that is hardly ever used.

    x2(t) =1

    2i

    c+ici

    X2(s)estds

    where c is a value selected to be to the right of all singularities of

    F(s) in the s-plane.

    Partial fraction expansion and inversion using tables is mucheasier for problems that we will be dealing with.

    Example with F(t) = 1(t) F(s) = 1/s

    X2(s) =m1s

    2 + k

    m1m2s3(s2 + k(1/m1 + 1/m2))

    = c1s

    + c2s2

    + c3s3

    + c4s + c5s2 + k(1/m1 + 1/m2)

    Solve for the coefficients ci

    Then inverse transform each term to get x2(t).

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    17/608

    Fall 2001 16.31 111

    Note that there are 2 special entries in the tables

    1. 1(s+a)

    eat which corresponds to a pole at s+a = 0, or s =

    a

    2. 2n

    (s2+2ns+2n) ent sin(n

    1 2 t)

    Corresponds to a damped sinusoidal response

    is the damping ratio

    n is the natural frequency

    d = n

    1 2 is the damped frequency.

    These results point out that there is a very strong connection be-

    tween the pole locations and the time response of the system

    But there are other factors that come into play, as we shall see.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    18/608

    Fall 2001 16.31 112

    For a second order system, we can be more explicit and relate the

    main features of the step response (time) and the pole locations

    (frequency domain).

    G(s) =2n

    (s2 + 2ns + 2n)

    with u(t) a step, so that u(s) = 1/s

    Then y(s) = G(s)u(s) = 2n

    s(s2+2ns+2n)which gives ( = n)

    y(t) = 1 et

    cos(dt) +

    d sin(dt)

    Several key time domain features:

    Rise time tr (how long to get close to the final value?)

    Settling time ts (how long for the transients to decay?)

    Peak overhsoot Mp, tp (how far beyond the final value does the

    system respond, and when?) Can analyze the system response to determine that:

    1. tr 2.2/wh

    wh = wn

    1 22 +

    2 42 + 441/2

    or can use tr 1.8/wn

    2. ts(1%) = 4.6/(

    n)3. Mp = e

    12 and tp = /d

    Formulas relate time response to pole locations. Can easily evalute

    if the closed-loop system will respond as desired.

    Use to determine acceptable locations for closed-loop poles.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    19/608

    Fall 2001 16.31 113

    Examples:

    Max rise time - min n

    Max settling time min = n

    Max overshoot min

    Usually assume that the response of more complex systems (i.e.

    ones that have more than 2 poles) is dominated by the lowest

    frequency pole pair.

    Then the response is approximately second order, but we

    must check this

    These give us a good idea of where we would like the closed-loop

    poles to be so that we can meet the design goals.

    Feedback control is all about changing the location of the system

    poles from the open-loop locations to the closed-loop ones.

    This course is about a new way to do these control designs

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    20/608

    Please refer to the Design Aids section of:

    Franklin, Gene F., Powell, J. David and Abbas Emami-Naeini. 1994. Feedback Control

    of Dynamic Systems 3rd

    Ed. Addison-Wesley

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    21/608

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    22/608

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    23/608

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    24/608

    Slow dominant polenum=5;den=conv([1 1],[1 5]);step(num,den,6)

    Amplitude

    Time (sec.)

    Step Response

    0 1 2 3 4 5 6

    0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    Fast dominant polenum=5.5*[1 0.91];den=conv([1 1],[1 5]);step(num,den,6)

    Amplitude

    Time (sec.)

    Step Response

    0 1 2 3 4 5 6

    0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    25/608

    Similar example, but with second order dynamics combined with a simple real pole.

    z=.15;wn=1;plist=[wn/2:1:10*wn]; nd=wn^2;dd=[1 2*z*wn wn^2];t=[0:.25:20]';sys=tf(nd,dd);[y]=step(sys,t);for p=plist;

    num=nd;den=conv([1/p 1],dd);sys=tf(num,den);[ytemp]=step(sys,t); y=[y ytemp];

    endplot(t,y(:,1),'d',t,y(:,2),'+',t,y(:,4),'+',t,y(:,8),'v');ylabel('step response');xlabel('time (sec)')legend('2

    nd',num2str(plist(1)),num2str(plist(3)),num2str(plist(7)))

    0 5 10 15 200

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    1.6

    1.8

    stepre

    sponse

    time (sec)

    2nd0.52.56.5

    For values of p=2.5 and 6.5, the response is very similar to the second order system. The

    response with p=0.5 is clearly no longer dominated by the second-order dynamics

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    26/608

    2

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    27/608

    2

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    28/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    29/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    30/608

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    31/608

    2 - 1

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    32/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    33/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    34/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    35/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    36/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    37/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    38/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    39/608

    EX1 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    40/608

    EX1

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    41/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    42/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    43/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    44/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    45/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    46/608

    2 - 23

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    47/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    48/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    49/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    50/608

    2 - 27

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    51/608

    2 - 28

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    52/608

    2 - 29

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    53/608

    Example: G(s)=1/2^2Design Gc(s) to put the clp poles at 1 + 2jz=roots([-20 49 -10]);z=max(z),k=25/(5-2*z),alpha=5*z/(5-2*z),num=1;den=[1 0 0];knum=k*[1 z];kden=[1 10*z];rlocus(conv(num,knum),conv(den,kden)); hold;plot(-alpha+eps*j,'d');plot([-1+2*j,-1-2*j],'d');hold offr=rlocus(conv(num,knum),conv(den,kden),1)' z = 2.2253k = 45.5062alpha = 20.2531These are the actual roots that I found from the locus using a gain of1 (recall that the K gain is already in the compensator)r =-20.2531-1.0000 - 2.0000i-1.0000 + 2.0000i

    -20 -15 -10 -5 0 5-20

    -15

    -10

    -5

    0

    5

    10

    15

    20

    Real Axis

    ImagAxis

    2 - 30

    MATLAB is a trademark of The MathWorks Inc.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    54/608

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    55/608

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    56/608

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    57/608

    Slow dominant polenum=5;den=conv([1 1],[1 5]);step(num,den,6)

    Amplitude

    Time (sec.)

    Step Response

    0 1 2 3 4 5 6

    0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    Fast dominant polenum=5.5*[1 0.91];den=conv([1 1],[1 5]);step(num,den,6)

    Amplitude

    Time (sec.)

    Step Response

    0 1 2 3 4 5 6

    0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    58/608

    Similar example, but with second order dynamics combined with a simple real pole.

    z=.15;wn=1;plist=[wn/2:1:10*wn]; nd=wn^2;dd=[1 2*z*wn wn^2];t=[0:.25:20]';sys=tf(nd,dd);[y]=step(sys,t);for p=plist;

    num=nd;den=conv([1/p 1],dd);sys=tf(num,den);[ytemp]=step(sys,t); y=[y ytemp];

    endplot(t,y(:,1),'d',t,y(:,2),'+',t,y(:,4),'+',t,y(:,8),'v');ylabel('step response');xlabel('time (sec)')legend('2

    nd',num2str(plist(1)),num2str(plist(3)),num2str(plist(7)))

    0 5 10 15 200

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    1.6

    1.8

    stepre

    sponse

    time (sec)

    2nd0.52.56.5

    For values of p=2.5 and 6.5, the response is very similar to the second order system. The

    response with p=0.5 is clearly no longer dominated by the second-order dynamics

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    59/608

    2

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    60/608

    2

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    61/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    62/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    63/608

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    64/608

    2 - 1

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    65/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    66/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    67/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    68/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    69/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    70/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    71/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    72/608

    EX1 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    73/608

    EX1

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    74/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    75/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    76/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    77/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    78/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    79/608

    2 - 23

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    80/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    81/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    82/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    83/608

    2 - 27

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    84/608

    2 - 28

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    85/608

    2 - 29

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    86/608

    Example: G(s)=1/2^2Design Gc(s) to put the clp poles at 1 + 2jz=roots([-20 49 -10]);z=max(z),k=25/(5-2*z),alpha=5*z/(5-2*z),num=1;den=[1 0 0];knum=k*[1 z];kden=[1 10*z];rlocus(conv(num,knum),conv(den,kden)); hold;plot(-alpha+eps*j,'d');plot([-1+2*j,-1-2*j],'d');hold offr=rlocus(conv(num,knum),conv(den,kden),1)' z = 2.2253k = 45.5062alpha = 20.2531These are the actual roots that I found from the locus using a gain of1 (recall that the K gain is already in the compensator)r =-20.2531-1.0000 - 2.0000i-1.0000 + 2.0000i

    -20 -15 -10 -5 0 5-20

    -15

    -10

    -5

    0

    5

    10

    15

    20

    Real Axis

    ImagAxis

    2 - 30

    MATLAB is a trademark of The MathWorks Inc.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    87/608

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    88/608

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    89/608

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    90/608

    Slow dominant polenum=5;den=conv([1 1],[1 5]);step(num,den,6)

    Amplitude

    Time (sec.)

    Step Response

    0 1 2 3 4 5 6

    0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    Fast dominant polenum=5.5*[1 0.91];den=conv([1 1],[1 5]);step(num,den,6)

    Amplitude

    Time (sec.)

    Step Response

    0 1 2 3 4 5 6

    0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    91/608

    Similar example, but with second order dynamics combined with a simple real pole.

    z=.15;wn=1;plist=[wn/2:1:10*wn]; nd=wn^2;dd=[1 2*z*wn wn^2];t=[0:.25:20]';sys=tf(nd,dd);[y]=step(sys,t);for p=plist;

    num=nd;den=conv([1/p 1],dd);sys=tf(num,den);[ytemp]=step(sys,t); y=[y ytemp];

    endplot(t,y(:,1),'d',t,y(:,2),'+',t,y(:,4),'+',t,y(:,8),'v');ylabel('step response');xlabel('time (sec)')legend('2

    nd',num2str(plist(1)),num2str(plist(3)),num2str(plist(7)))

    0 5 10 15 200

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    1.6

    1.8

    stepre

    sponse

    time (sec)

    2nd0.52.56.5

    For values of p=2.5 and 6.5, the response is very similar to the second order system. The

    response with p=0.5 is clearly no longer dominated by the second-order dynamics

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    92/608

    2

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    93/608

    2

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    94/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    95/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    96/608

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    97/608

    2 - 1

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    98/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    99/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    100/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    101/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    102/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    103/608

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    104/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    105/608

    EX1 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    106/608

    EX1

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    107/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    108/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    109/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    110/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    111/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    112/608

    2 - 23

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    113/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    114/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    115/608

    2 -

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    116/608

    2 - 27

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    117/608

    2 - 28

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    118/608

    2 - 29

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    119/608

    Example: G(s)=1/2^2Design Gc(s) to put the clp poles at 1 + 2jz=roots([-20 49 -10]);z=max(z),k=25/(5-2*z),alpha=5*z/(5-2*z),num=1;den=[1 0 0];knum=k*[1 z];kden=[1 10*z];rlocus(conv(num,knum),conv(den,kden)); hold;plot(-alpha+eps*j,'d');plot([-1+2*j,-1-2*j],'d');hold offr=rlocus(conv(num,knum),conv(den,kden),1)' z = 2.2253k = 45.5062alpha = 20.2531These are the actual roots that I found from the locus using a gain of1 (recall that the K gain is already in the compensator)r =-20.2531-1.0000 - 2.0000i-1.0000 + 2.0000i

    -20 -15 -10 -5 0 5-20

    -15

    -10

    -5

    0

    5

    10

    15

    20

    Real Axis

    ImagAxis

    2 - 30

    MATLAB is a trademark of The MathWorks Inc.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    120/608

    Topic #3

    16.31 Feedback Control

    Frequency response methods

    Analysis

    Synthesis

    Performance

    Stability

    Copy right 2001 by Jon at h an H ow.

    1

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    121/608

    Fall 2001 16.31 31

    Introduction

    Root locus methods have:

    Advantages:

    Good indicator if transient response;

    Explicity shows location of all closed-loop poles;

    Trade-offs in the design are fairly clear.

    Disadvantages:

    Requires a transfer function model (poles and zeros);

    Difficult to infer all performance metrics; Hard to determine response to steady-state (sinusoids)

    Frequency response methods are a good complement to the rootlocus techniques:

    Can infer performance and stability from the same plot

    Can use measured data rather than a transfer function model

    The design process can be independent of the system order

    Time delays are handled correctly

    Graphical techniques (analysis and synthesis) are quite simple.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    122/608

    Fall 2001 16.31 32

    Frequency response Function

    Given a system with a transfer function G(s), we call the G(j),

    [0,) the frequency response function (FRF)G(j) = |G(j)| arg G(j)

    The FRF can be used to find the steady-state response of a

    system to a sinusoidal input. If

    e(t) G(s) y(t)

    and e(t) = s in2t, |G(2j)| = 0.3, arg G(2j) = 80

    , then thesteady-state output is

    y(t) = 0.3 sin(2t 80)

    The FRF clearly shows the magnitude (and phase) of the

    response of a system to sinusoidal input

    A variety of ways to display this:

    1. Polar (Nyquist) plot Re vs. Im ofG(j) in complex plane.

    Hard to visualize, not useful for synthesis, but gives definitive

    tests for stability and is the basis of the robustness analysis.

    2. Nichols Plot |G(j)| vs. arg G(j), which is very handy for

    systems with lightly damped poles.3. Bode Plot Log |G(j)| and arg G(j) vs. Log frequency.

    Simplest tool for visualization and synthesis

    Typically plot 20log |G| which is given the symbol dB

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    123/608

    Fall 2001 16.31 33

    Use logarithmic since if

    log |G(s)| =

    (s + 1)(s + 2)

    (s + 3)(s + 4)

    = log |s + 1| + log |s + 2| log |s + 3| log |s + 4|

    and each of these factors can be calculated separately and then

    added to get the total FRF.

    Can also split the phase plot since

    arg(s + 1)(s + 2)

    (s + 3)(s + 4)= arg(s + 1) + arg(s + 2)

    arg(s + 3) arg(s + 4)

    The keypoint in the sketching of the plots is that good straightline

    approximations exist and can be used to obtain a good prediction

    of the system response.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    124/608

    Fall 2001 16.31 34

    Example

    Draw Bode for

    G(s) =s + 1

    s/10 + 1

    |G(j)| =|j + 1|

    |j/10 + 1|

    log |G(j)| = log[1 + (/1)2]1/2 log[1 + (/10)2]1/2

    Approximation

    log[1 + (/i)2]1/2

    0 ilog[/i] i

    Two straightline approximations that intersect at i

    Error at i obvious, but not huge and the straightline approxima-

    tions are very easy to work with.

    102

    101

    100

    101

    102

    100

    101

    102

    Freq

    |G|

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    125/608

    Fall 2001 16.31 35

    To form the composite sketch,

    Arrange representation of transfer function so that DC gain of

    each element is unity (except for parts that have poles or zerosat the origin) absorb the gain into the overall plant gain.

    Draw all component sketches

    Start at low frequency (DC) with the component that has the

    lowest frequency pole or zero (i.e. s=0)

    Use this component to draw the sketch up to the frequency of

    the next pole/zero. Change the slope of the sketch at this point to account for the

    new dynamics: -1 for pole, +1 for zero, -2 for double poles, . . .

    Scale by overall DC gain

    102

    101

    100

    101

    102

    103

    101

    100

    101

    102

    Freq

    |G|

    Figure 1: G(s) = 10(s + 1)/(s + 10) which is a lead.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    126/608

    Fall 2001 16.31 36

    Since arg G(j) = arg(1 + j) arg(1 + j/10), we can construct

    phase plot for complete system in a similar fashion

    Know that arg(1 + j/i) = tan1(/i)

    Can use straightline approximations

    arg(1 + j/i)

    0 /i 0.1

    90 /i 10

    45 /i = 1

    Draw the components using breakpoints that are at i/10 and 10i

    102

    101

    100

    101

    102

    103

    0

    10

    20

    30

    40

    50

    60

    70

    80

    90

    100

    Freq

    ArgG

    Figure 2: Phase plot for (s + 1)

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    127/608

    Fall 2001 16.31 37

    Then add them up starting from zero frequency and changing the

    slope as

    102

    101

    100

    101

    102

    103

    80

    60

    40

    20

    0

    20

    40

    60

    80

    Freq

    ArgG

    Figure 3: Phase plot G(s) = 10(s + 1)/(s + 10) which is a lead.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    128/608

    Fall 2001 16.31 38

    104

    103

    102

    101

    100

    101

    103

    102

    101

    100

    Freq (Hz)

    Magnitude

    ActualLFMFHF

    +1

    0

    2

    2

    +1

    1

    104

    103

    102

    101

    100

    101

    102

    180

    160

    140

    120

    100

    80

    60

    40

    20

    0

    20

    Freq (Hz)

    Phase(deg)

    ActualLFMFHF

    Bode for G(s) =4.54s

    s3 + 0.1818s2 31.1818s 4.4545.

    The poles are at (-0.892, 0.886, -0.0227)

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    129/608

    Fall 2001

    Non-minimum Phase Systems

    Bode plots are particularly complicated when we have non-minimumphase systems

    A system that has a pole/zero in the RHP is called non-minimum

    phase.

    The reason is clearer once you have studied the Bode Gain-

    Phase relationship

    Key point: We can construct two (and many more) systems

    that have identical magnitude plots, but very different phase

    diagrams.

    Consider G1(s) =s+1s+2

    and G2(s) =s1s+2

    101

    100

    101

    102

    101

    100

    Freq

    |G| MP

    NMP

    101

    100

    101

    102

    0

    50

    100

    150

    200

    Freq

    ArgG

    MPNMP

    Figure 4: Magnitude plots are identical, but the phase plots are dramatically different. NMP has a 180 degphase loss over this frequency range.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    130/608

    Topic #7

    16.31 Feedback Control

    State-Space Systems

    What are state-space models?

    Why should we use them?

    How are they related to the transfer functions used in classical control designand how do we develop a state-space model?

    What are the basic properties of a state-space model, and how do we analyzethese?

    Copyright2001byJonathanHow.

    1

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    131/608

    Fall 2001 16.31 71

    Introduction

    State space model: a representation of the dynamics of an Nth order

    system as a first order differential equation in an N-vector, whichis called the state.

    Convert the Nth order differential equation that governs the dy-

    namics into N first-order differential equations

    Classic example: second order mass-spring system

    mp + c p + kp = F

    Let x1 = p, then x2 = p = x1, and

    x2 = p = (F c p kp)/m= (F cx2 kx1)/m

    p

    p

    =

    0 1k/m c/m

    p

    p

    +

    01/m

    u

    Let u = F and introduce the state

    x =

    x1

    x2

    =

    p

    p

    x = Ax + Bu

    If the measured output of the system is the position, then we

    have that

    y = p =1 0

    pp

    =

    1 0

    x1x2

    = cx

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    132/608

    Fall 2001 16.31 72

    The most general continuous-time linear dynamical system has form

    x(t) = A(t)x(t) + B(t)u(t)

    y(t) = C(t)x(t) + D(t)u(t)

    where:

    t R denotes time x(t) Rn is the state (vector) u(t) Rm is the input or control

    y(t) Rp

    is the output

    A(t) Rnn is the dynamics matrix B(t) Rnm is the input matrix C(t) Rpn is the output or sensor matrix D(t)

    Rpm is the feedthrough matrix

    Note that the plant dynamics can be time-varying.

    Also note that this is a MIMO system.

    We will typically deal with the time-invariant case

    Linear Time-Invariant (LTI) state dynamics

    x(t) = Ax(t) + Bu(t)

    y(t) = Cx(t) + Du(t)

    so that now A,B,C,D are constant and do not depend on t.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    133/608

    Fall 2001 16.31 73

    Basic Definitions

    Linearity What is a linear dynamical system? A system G is

    linear with respect to its inputs and output

    u(t) G(s) y(t)ifsuperposition holds:

    G(1u1 + 2u2) = 1Gu1 + 2Gu2

    So if y1 is the response of G to u1 (y1 = Gu1), and y2 is the

    response ofG to u2 (y2 = Gu2), then the response to 1u1 + 2u2is 1y1 + 2y2

    A system is said to be time-invariant if the relationship between

    the input and output is independent of time. So if the response to

    u(t) is y(t), then the response to u(t t0) is y(t t0)

    x(t) is called the state of the system at t because:

    Future output depends only on current state and future input

    Future output depends on past input only through current state

    State summarizes effect of past inputs on future output like

    the memory of the system

    Example: Rechargeable flashlight the state is the current state ofcharge of the battery. If you know that state, then you do not need

    to know how that level of charge was achieved (assuming a perfect

    battery) to predict the future performance of the flashlight.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    134/608

    Fall 2001 16.31 74

    Creating Linear State-Space Models

    Most easily created from Nth order differential equations that de-

    scribe the dynamics This was the case done before.

    Only issue is which set of states to use there are many choices.

    Can be developed from transfer function model as well.

    Much more on this later

    Problem is that we have restricted ourselves here to linear statespace models, and almost all systems are nonlinear in real-life.

    Can develop linear models from nonlinear system dynamics

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    135/608

    Fall 2001 16.31 75

    Linearization

    Often have a nonlinear set of dynamics given by

    x = f(x, u)

    where x is once gain the state vector, u is the vector of inputs, and

    f(, ) is a nonlinear vector function that describes the dynamics

    Example: simple spring. With a mass at the end of a linear spring

    (rate k) we have the dynamics

    mx = kxbut with a leaf spring as is used on car suspensions, we have a

    nonlinear spring the more it deflects, the stiffer it gets. Good

    model now is

    mx = (k1x + k2x3)

    which is a cubic spring.

    Restoring force depends on the deflection x in a nonlinear way.

    0 2 4 6 8 10 122

    1

    0

    1

    2

    X

    Time

    Nonlinear

    Linear

    0 2 4 6 8 10 123

    2

    1

    0

    1

    2

    3

    V

    Time

    Nonlinear

    Linear

    Figure 1: Response to linear k and nonlinear (k1 = 0, k2 = k) springs (code at the end)

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    136/608

    Fall 2001 16.31 76

    Typically assume that the system is operating about some nominal

    state solution x0(t) (possibly requires a nominal input u0(t))

    Then write the actual state as x(t) = x0(t) + x(t)and the actual inputs as u(t) = u0(t) + u(t)

    The is included to denote the fact that we expect the varia-

    tions about the nominal to be small

    Can then develop the linearized equations by using the Taylor

    series expansion off(, ) about x0

    (t) and u0

    (t).

    Recall the vector equation x = f(x, u), each equation of which

    xi = fi(x, u)

    can be expanded as

    d

    dt(x0

    i + xi) = fi(x0

    + x, u0

    + u)

    fi(x0, u0) +fix

    0

    x +fiu

    0

    u

    wherefix

    =

    fix1

    fixn

    and |0 means that we should evaluate the function at the nominal

    values of x0

    and u0

    .

    The meaning of small deviations now clear the variations in x

    and u must be small enough that we can ignore the higher order

    terms in the Taylor expansion of f(x, u).

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    137/608

    Fall 2001 16.31 77

    Since ddtx0i = fi(x

    0, u0), we thus have that

    d

    dt(xi) fix

    0 x +

    fiu

    0 u

    Combining for all n state equations, gives (note that we also set

    =) that

    ddtx =

    f1x

    0

    f2

    x

    0

    ...

    fnx

    0

    x +

    f1u

    0

    f2

    u

    0

    ...

    fnu

    0

    u

    = A(t)x + B(t)u

    where

    A(t)

    f1x1

    f1x2

    f1xn

    f2x1

    f2x2

    f2xn

    ...fnx1

    fnx2

    fnxn

    0

    and

    B(t)

    f1u1f1u2 f1um

    f2u1

    f2u2

    f2um

    ...fnu1

    fnu2

    fnum

    0

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    138/608

    Fall 2001 16.31 78

    Similarly, if the nonlinear measurement equation is y = g(x, u), can

    show that, if y(t) = y0 + y, then

    y =

    g1x

    0

    g2x

    0

    ...

    gp

    x

    0

    x +

    g1u

    0

    g2u

    0

    ...

    gp

    u

    0

    u

    = C(t)x + D(t)u

    Typically think of these nominal conditions x0, u0 as set points

    or operating points for the nonlinear system. The equations

    d

    dt

    x = A(t)x + B(t)u

    y = C(t)x + D(t)u

    then give us a linearized model of the system dynamic behavior

    about these operating/set points.

    Note that if x0, u0 are constants, then the partial fractions in the

    expressions for AD are all constant LTI linearized model.

    One particularly important set of operating points are the equilib-rium points of the system. Defined as the states & control input

    combinations for which

    x = f(x0, u0) 0provides n algebraic equations to find the equilibrium points.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    139/608

    Fall 2001 16.31 79

    Example

    Consider the nonlinear spring with (set m = 1)

    y = k1y + k2y3

    gives us the nonlinear model (x1 = y and x2 = y)

    d

    dt

    y

    y

    =

    y

    k1y + k2y3

    x = f(x)

    Find the equilibrium points and then make a state space model

    For the equilibrium points, we must solve

    f(x) =

    y

    k1y + k2y3

    = 0

    which givesy0 = 0 and k1y

    0 + k2(y0)3 = 0

    Second condition corresponds to y0 = 0 or y0 = rk1/k2,

    which is only real if k1 and k2 are opposite signs.

    For the state space model,

    A =

    f1x1

    f1x2

    f2x1

    f2x2

    0

    =

    0 1

    k1 + 3k2(y)2 0

    0

    =

    0 1

    k1 + 3k2(y0)2 0

    and the linearized model is x = Ax

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    140/608

    Fall 2001 16.31 710

    For the equilibrium point y = 0, y = 0

    A0 =

    0 1

    k1 0

    which are the standard dynamics of a system with just a linear

    spring of stiffness k1

    Stable motion about y = 0 ifk1 < 0

    Assume that k1 = 1, k2 =1/2, then we should get an equilibrium

    point at y = 0, y = 2, and since k1 + k2(y0)2 = 0

    A1 =

    0 1

    2k1 0

    =

    0 1

    2 0

    are the dynamics of a stable oscillator about the equilibrium point

    Will explore this in detail later

    0 5 10 15 20 25 30 351.3

    1.35

    1.4

    1.45

    1.5

    y

    Time

    0 5 10 15 20 25 30 350.1

    0.05

    0

    0.05

    0.1

    dy/dt

    Time

    1.34 1.36 1.38 1.4 1.42 1.44 1.46 1.48 1.50.1

    0.08

    0.06

    0.04

    0.02

    0

    0.02

    0.04

    0.06

    0.08

    0.1

    y

    dy/dt

    Figure 2: Nonlinear response (k1 = 1, k2 = .5). The figure on the right shows the oscillation about theequilibrium point.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    141/608

    Fall 2001 16.31 711

    Linearized Nonlinear Dynamics

    Usually in practice we drop the as they are rather cumbersome,

    and (abusing notation) we write the state equations as:

    x(t) = A(t)x(t) + B(t)u(t)

    y(t) = C(t)x(t) + D(t)u(t)

    which is of the same form as the previous linear models

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    142/608

    Fall 2001 16.31 712

    Example: Aircraft Dynamics

    Assumptions:

    1. Earth is an inertial reference frame2. A/C is a rigid body3. Body frame B fixed to the aircraft (~i,~j, ~k)

    The basic dynamics are:

    ~F = m~vcI

    and ~T = ~HI

    1m

    ~F = ~vcB

    + BI~ ~vc Transport Thm.

    ~T =

    ~H

    B

    + BI~ ~H

    Instantaneous mapping of~vc and BI~ into the body frame is given

    byBI~ = P~i + Q~j + R~k ~vc = U~i + V~j + W~k

    BIB =

    P

    Q

    R

    (vc)B =

    U

    V

    W

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    143/608

    Fall 2001 16.31 713

    The overall equations of motion are then:

    1

    m~F =

    ~vc

    B

    +

    BI

    ~ ~vc

    1m

    FxFyFz

    =

    U

    V

    W

    +

    0 R QR 0 P

    Q P 0

    U

    V

    W

    =

    U + QWRVV + RU P WW + P VQU

    These are clearly nonlinear need to linearize about the equilibrium

    states.

    To find suitable equilibrium conditions, must solve

    1

    m

    FxFy

    Fz

    +QWRV+RU P W

    +P VQU

    = 0

    Assume steady state flight conditions with P = Q = R = 0

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    144/608

    Fall 2001 16.31 714

    Define the trim angular rates, velocities, and Forces

    BIoB =

    P

    QR

    (vc)

    oB =

    Uo

    00

    F

    oB =

    FoxFoyFoz

    that are associated with the flight condition (they define the type

    of equilibrium motion that we analyze about).

    Note:

    W0 = 0 since we are using the stability axes, and

    V0 = 0 because we are assuming symmetric flight

    Can now linearize the equations about this flight mode. To proceed,

    defi

    neVelocities U0, U = U0 + u U = u

    W0 = 0, W = w W = wV0 = 0, V = v V = v

    Angular Rates P0 = 0, P = p P = pQ0 = 0, Q = q

    Q = q

    R0 = 0, R = r R = r

    Angles 0, = 0 + = 0 = 0, = = 0 = 0, = =

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    145/608

    Fall 2001 16.31 715

    Linearization for symmetric flight

    U = U0 + u, V0 = W0 = 0, P0 = Q0 = R0 = 0.

    Note that the forces and moments are also perturbed.

    1

    m

    F0x + Fx

    = U + QW RV u + qw rv u

    1

    m

    F0y + Fy

    = V + RU P W v + r(U0 + u)pw v + rU0

    1

    m

    F0z + Fz

    = W + P VQU w +pv q(U0 + u)

    w

    qU0

    1m

    FxFyFz

    =

    u

    v + rU0w qU0

    Which gives the linearized dynamics for the aircraft motion about

    the steady-state flight condition.

    Need to analyze the perturbations to the forces and moments to

    fully understand the linearized dynamics take 16.61

    Can do same thing for the rotational dynamics.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    146/608

    Fall 2001 16.31 716

    % save this entire code as plant.m

    %function [xdot] = plant(t,x)

    global nxdot(1) = x(2);

    xdot(2) = -3*(x(1))^n;

    xdot = xdot;

    return

    % the use this part of the code in Matlab

    % to call_plant.mglobal n

    n=3; %nonlinearx0 = [-1 2]; % initial condition

    [T,x]=ode23(plant, [0 12], x0); %simulate NL equations for 12 secn=1; % linear

    [T1,x1]=ode23(plant, [0 12], x0);

    subplot(211)

    plot(T,x(:,1),T1,x1(:,1),--);

    legend(Nonlinear,Linear)

    ylabel(X)xlabel(Time)

    subplot(212)

    plot(T,x(:,2),T1,x1(:,2),--);

    legend(Nonlinear,Linear)ylabel(V)xlabel(Time)

    MATLAB is a trademark of The MathWorks Inc.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    147/608

    Topic #8

    16.31 Feedback Control

    State-Space Systems

    What are state-space models?

    Why should we use them?

    How are they related to the transfer functions used in

    classical control design and how do we develop a state-

    space model?

    What are the basic properties of a state-space model, and how do

    we analyze these?

    Copyright 2001 by Jonathan How.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    148/608

    Fall 2001 16.31 81

    TFs to State-Space Models

    The goal is to develop a state-space model given a transfer function

    for a system G(s).

    There are many, many ways to do this.

    But there are three primary cases to consider:

    1. Simple numerator

    y

    u= G(s) =

    1

    s3 + a1s2 + a2s + a3

    2. Numerator order less than denominator order

    y

    u = G(s) =

    b1s2 + b2s + b3

    s3 + a1s2 + a2s + a3 =

    N(s)

    D(s)

    3. Numerator equal to denominator order

    y

    u= G(s) =

    b0s3 + b1s

    2 + b2s + b3s3 + a1s2 + a2s + a3

    These 3 cover all cases of interest

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    149/608

    Fall 2001 16.31 82

    Consider case 1 (specific example of third order, but the extension

    to nth follows easily)

    yu

    = G(s) = 1s3 + a1s2 + a2s + a3

    can be rewritten as the differential equation

    y(3) + a1y + a2y + a3y = u

    choose the output y and its derivatives as the state vector

    x = yyy

    then the state equations are

    x =

    y(3)

    y

    y

    =

    a1 a2 a3

    1 0 0

    0 1 0

    y

    y

    y

    +

    1

    0

    0

    u

    y =

    0 0 1y

    y

    y

    + [0]u

    This is typically called the controller form for reasons that willbecome obvious later on.

    There are four classic (called canonical) forms oberver, con-

    troller, controllability, and observability. They are all useful in

    their own way.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    150/608

    Fall 2001 16.31 83

    Consider case 2

    y

    u= G(s) =

    b1s2 + b2s + b3

    s3 + a1s2 + a2s + a3=N(s)

    D(s)

    Lety

    u=y

    vv

    uwhere y/v = N(s) and v/u = 1/D(s)

    Then the representation ofv/u = 1/D(s) is the same as case 1

    v(3)

    + a1v + a2v + a3v = uuse the state vector

    x =

    v

    v

    v

    to get

    x = A2x + B2u

    where

    A2 =

    a1 a2 a3

    1 0 0

    0 1 0

    and B2 =

    1

    0

    0

    Then consider y/v = N(s), which implies that

    y = b1v + b2v + b3v

    =b1 b2 b3

    vvv

    = C2x + [0]u

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    151/608

    Fall 2001 16.31 84

    Consider case 3 with

    y

    u= G(s) =

    b0s3 + b1s

    2 + b2s + b3

    s3 + a1s2 + a2s + a3

    =1s

    2 + 2s + 3s3 + a1s2 + a2s + a3

    + D

    = G1(s) + D

    whereD( s3 +a1s

    2 +a2s +a3 )

    +( +1s2 +2s +3 )

    = b0s3 +b1s

    2 +b2s +b3

    so that, given the bi, we can easily find the i

    D = b01 = b1 Da1

    ...

    Given the i, can find G1(s)

    Can make a state-space model for G1(s) as described in case 2

    Then we just add the feed-through term Du to the output equa-tion from the model for G1(s)

    Will see that there is a lot of freedom in making a state-space model

    because we are free to pick the x as we want

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    152/608

    Fall 2001 16.31 85

    Modal Form

    One particular useful canonical form is called the Modal Form

    It is a diagonal representation of the state-space model.

    Assume for now that the transfer function has distinct real poles pi(but this easily extends to the case with complex poles)

    G(s) =N(s)

    D(s)=

    N(s)

    (sp1)(sp2) (spn)

    =r1

    sp1+

    r2

    sp2+ +

    rn

    spn Now define a collection of first order systems, each with state xi

    X1U(s)

    =r1

    sp1 x1 = p1x1 + r1u

    X2U(s)

    =r2

    sp2 x2 = p2x2 + r2u

    ...XnU(s)

    = rn

    spn xn = pnxn + rnu

    Which can be written as

    x(t) = Ax(t) + Bu(t)

    y(t) = Cx(t) + Du(t)

    with

    A =

    p1

    . . .

    pn

    B =

    r1...

    rn

    C=

    1...

    1

    T

    Good representation to use for numerical robustness reasons.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    153/608

    Fall 2001 16.31 86

    State-Space Models to TFs

    Given the Linear Time-Invariant (LTI) state dynamics

    x(t) = Ax(t) + Bu(t)

    y(t) = Cx(t) + Du(t)

    what is the corresponding transfer function?

    Start by taking the Laplace Transform of these equations

    L{x(t) = Ax(t) + Bu(t)}

    sX(s) x(0) = AX(s) + BU(s)

    L{y(t) = Cx(t) + Du(t)}

    Y(s) = CX(s) + DU(s)

    which gives

    (sI A)X(s) = BU(s) + x(0

    ) X(s) = (sI A)1BU(s) + (sI A)1x(0)

    and

    Y(s) =C(sIA)1B + D

    U(s) + C(sIA)1x(0)

    By definition G(s) = C(sI A)1B + D is called theTransfer Function of the system.

    And C(sI A)1x(0) is the initial condition response. It is partof the response, but not part of the transfer function.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    154/608

    Fall 2001 16.31 87

    State-Space Transformations

    State space representations are not unique because we have a lot of

    freedom in choosing the state vector.

    Selection of the state is quite arbitrary, and not that important.

    In fact, given one model, we can transformit to another model thatis equivalent in terms of its input-output properties.

    To see this, define Model 1 ofG(s) as

    x(t) = Ax(t) + Bu(t)y(t) = Cx(t) + Du(t)

    Now introduce the new state vector z related to the first state x

    through the transformation x = Tz

    T is an invertible (similarity) transform matrix

    z= T

    1

    x = T

    1

    (Ax + Bu)= T1(ATz+ Bu)

    = (T1AT)z+ T1Bu = Az+ Bu

    and

    y = Cx + Du = CTz+ Du = Cz+ Du

    So the new model is

    z = Az+ Bu

    y = Cz+ Du

    Are these going to give the same transfer function? They must if

    these really are equivalent models.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    155/608

    Fall 2001 16.31 88

    Consider the two transfer functions:

    G1(s) = C(sIA)1B + D

    G2(s) = C(sI A)1B + D

    Does G1(s) G2(s) ?

    G1(s) = C(sI A)1B + D

    = C(TT1)(sIA)1(TT1)B + D

    = (CT)T1(sIA)1T

    (T1B) + D

    = (C)T1(sIA)T

    1(B) + D

    = C(sI A)1B + D = G2(s)

    So the transfer function is not changed by putting the state-space

    model through a similarity transformation.

    Note that in the transfer function

    G(s) =

    b1s2 + b2s + b3

    s3 + a1s2 + a2s + a3

    we have 6 parameters to choose

    But in the related state-space model, we have A 3 3, B 3 1,C 1 3 for a total of 15 parameters.

    Is there a contradiction here because we have more degrees of free-dom in the state-space model?

    No. In choosing a representation of the model, we are effectively

    choosing a T, which is also 3 3, and thus has the remaining 9degrees of freedom in the state-space model.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    156/608

    Fall 2001 16.31 91

    Topic #9

    16.31 Feedback Control

    State-Space Systems

    What are the basic properties of a state-space model,and how do we analyze these?

    SS to TF

    Copyright 2001 by Jonathan How.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    157/608

    Fall 2001 16.31 91

    SS TF In going from the state space model

    x(t) = Ax(t) + Bu(t)y(t) = Cx(t) + Du(t)

    to the transfer function G(s) = C(sIA)1B + D need to form the inverseof the matrix (sI A) a symbolic inverse not easy at all.

    For simple cases, we can use the following:a1 a2a3 a4

    1=

    1

    a1a4 a2a3

    a4 a2a3 a1

    For larger problems, we can also use Cramers Rule

    Turns out that an equivalent method is to form:

    G(s) = C(sI A)1B + D =

    det

    sIA B

    C D

    det(sI A)

    Reason for this will become more apparent later when we talk about

    how to compute the zeros of a state-space model (which are the rootsof the numerator)

    Example from before:

    A =

    a1 a2 a31 0 0

    0 1 0

    , B =

    10

    0

    , C = b1 b2 b3 T

    then

    G(s) =1

    det(sIA)

    s + a1 a2 a3 11 s 0 0

    0 1 s 0

    b1 b2 b3 0

    = b3 + b2s + b1s2

    det(sI A)

    and det(sI A) = s3 + a1s2 + a2s + s3

    Key point: Characteristic equation of this system given by det(sIA)

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    158/608

    Fall 2001 16.31 92

    Time Response

    Can develop a lot of insight into the system response and how it is modeledby computing the time response x(t)

    Homogeneous part

    Forced solution

    Homogeneous Partx = Ax, x(0) known

    Take Laplace transform

    X(s) = (sI A)1x(0)

    so thatx(t) = L1

    (sI A)1

    x(0)

    But can show

    (sIA)1 =I

    s+

    A

    s2+

    A2

    s3+ . . .

    so L1

    (sI A)1

    = I + At +1

    2!(At)2 + . . .

    = eAt

    Sox(t) = eAtx(0)

    eAt is a special matrix that we will use many times in this course

    Transition matrix

    Matrix Exponential

    Calculate in MATLAB

    r

    using expm.m and not exp.m1

    Note that e(A+B)t = eAteBt iff AB = BA

    We will say more about eAt when we have said more about A (eigenvaluesand eigenvectors)

    Computation ofeAt = L1{(sIA)1} straightforward for a 2-state system

    1MATLABr is a trademark of the Mathworks Inc.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    159/608

    Fall 2001 16.31 93

    Example: x = Ax, with

    A =

    0 1

    2 3

    (sI A)1 =

    s 1

    2 s + 3

    1

    =

    s + 3 1

    2 s

    1

    (s + 2)(s + 1)

    =

    2

    s + 1

    1

    s + 2

    1

    s + 1

    1

    s + 2

    2

    s + 1+

    2

    s + 2

    1

    s + 1+

    2

    s + 2

    eAt = 2et e2t et e2t

    2et + 2e2t et + 2e2t

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    160/608

    Fall 2001 16.31 101

    Topic #10

    16.31 Feedback Control

    State-Space Systems

    What are the basic properties of a state-space model, and how dowe analyze these?

    Time Domain Interpretations

    System Modes

    Copyright 2001 by Jonathan How.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    161/608

    Fall 2001 16.31 101

    Forced Solution

    Consider a scalar case:

    x = ax + bu, x(0) given

    x(t) = eatx(0) +

    t0

    ea(t)bu()d

    where did this come from?

    1. x ax = bu

    2. eat [x ax] = ddt

    (eatx(t)) = eatbu(t)

    3.

    t0

    dd

    eax()d = eatx(t) x(0) =

    t0

    eabu()d

    Forced Solution Matrix case:

    x = Ax + Bu

    where x is an n-vector and u is a m-vector

    Just follow the same steps as above to get

    x(t) = eAtx(0) +

    t0

    eA(t)Bu()d

    and if y = Cx + Du, then

    y(t) = CeAtx(0) + t

    0

    CeA(t)Bu()d + Du(t)

    CeAtx(0) is the initial response

    CeA(t)B is the impulse response of the system.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    162/608

    Fall 2001 16.31 102

    Have seen the key role of eAt in the solution for x(t)

    Determines the system time response

    But would like to get more insight!

    Consider what happens if the matrix A is diagonalizable, i.e. there exists aT such that

    T1AT = which is diagonal =

    1 . . .

    n

    TheneAt = T etT1

    where

    et =

    e

    1t

    . . .

    ent

    Follows since eAt = I + At + 12!(At)2 + . . . and that A = TT1, so we canshow that

    eAt = I + At +1

    2!(At)2 + . . .

    = I + TT1t +1

    2!(TT1t)2 + . . .

    = T etT1

    This is a simpler way to get the matrix exponential, but how find T and ?

    Eigenvalues and Eigenvectors

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    163/608

    Fall 2001 16.31 103

    Eigenvalues and Eigenvectors

    Recall that the eigenvalues ofA are the same as the roots of the characteristic

    equation (page 91) is an eigenvalue of A if

    det(I A) = 0

    which is true iff there exists a nonzero v (eigenvector) for which

    (I A)v = 0 Av = v

    Repeat the process to find all of the eigenvectors. Assuming that the n

    eigenvectors are linearly independent

    Avi = ivi i = 1, . . . , n

    A

    v1 vn

    =

    v1 vn 1 . . .

    n

    AT = T T1AT =

    One word of caution: Not all matrices are diagonalizable

    A =

    0 10 0

    det(sI A) = s2

    only one eigenvalue s = 0 (repeated twice). The eigenvectors solve0 10 0

    r1r2

    = 0

    eigenvectors are of the form r10, r

    1= 0 would only be one.

    Need the Jordan Normal Form to handle this case (section 3.7.3)

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    164/608

    Fall 2001 16.31 104Mechanics

    Consider A =

    1 1

    8 5

    (sI A) =

    s + 1 1

    8 s 5

    det(sI A) = (s + 1)(s 5) + 8 = s2 4s + 3 = 0

    so the eigenvalues are s1 = 1 and s2 = 3

    Eigenvectors (sI A)v = 0

    (s1I A)v1 =

    s + 1 1

    8 s 5

    s=1

    v11v21

    = 0

    2 1

    8 4

    v11v21

    = 0 2v11 v21 = 0, v21 = 2v11

    v11 is then arbitrary (= 0), so set v11 = 1

    v1 =

    12

    (s2I A)v2 =

    4 1

    8 2

    v12v22

    = 0 4v12 v22 = 0, v22 = 4v12

    v2 = 1

    4

    Confirm that Avi = ivi

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    165/608

    Fall 2001 16.31 105

    Dynamic Interpretation

    Since A = TT1, then

    eAt = T etT1 =

    | |v1 vn

    | |

    e

    1t

    . . .

    ent

    w

    T1 ...

    wTn

    where we have written

    T1 =

    w

    T1

    ... wTn

    which is a column of rows.

    Multiply this expression out and we get that

    eAt =

    ni=1

    eitviwTi

    Assume A diagonalizable, then x = Ax, x(0) given, has solution

    x(t) = eAtx(0) = T etT1x(0)

    =n

    i=1

    eitvi{wTi x(0)}

    =n

    i=1

    eitvii

    State solution is a linear combination of the system modes viei

    eit Determines the nature of the time response

    vi Determines extent to which each state contributes to that mode

    i Determines extent to which the initial condition excites the mode

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    166/608

    Fall 2001 16.31 106

    Note that the vi give the relative sizing of the response of each part of thestate vector to the response.

    v1(t) =

    10

    et mode 1

    v2(t) =

    0.50.5

    e3t mode 2

    Clearly eit gives the time modulation

    i real growing/decaying exponential response

    i complex growing/decaying exponential damped sinusoidal

    Bottom line: The locations of the eigenvalues determine the pole locations

    for the system, thus:

    They determine the stability and/or performance & transient behaviorof the system.

    It is their locations that we will want to modify when we start

    the control work

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    167/608

    Fall 2001 16.31 107

    Zeros in State Space Models

    Roots of the transfer function numerator are called the system zeros.

    Need to develop a similar way of defining/computing them using a statespace model.

    Zero: is a generalized frequency s0 for which the system can have a non-zeroinput u(t) = u0e

    s0t, but exactly zero output y(t) 0 t

    Note that there is a specific initial condition associated with this response

    x0, so the state response is of the form x(t) = x0es0t

    u(t) = u0es0t x(t) = x0e

    s0t y(t) 0

    Given x = Ax + Bu, substitute the above to get:

    x0s0es0t = Ax0e

    s0t + Bu0es0t s0I A B

    x0u0

    = 0

    Also have that y = Cx + Du = 0 which gives:

    Cx0es0t + Du0e

    s0t = 0

    C D x0

    u0

    = 0

    So we must solve for the s0 that solves: ors0I A B

    C D

    x0u0

    = 0

    This is a generalized eigenvalue problem that can be solved inMATLAB r using eig.m or tzero.m 2

    2MATLABr is a trademark of the Mathworks Inc.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    168/608

    Fall 2001 16.31 108

    Is a zero at the frequency s0 if there exists a non-trivial solution of

    det s0I A B

    C D = 0

    Compare with equation on page 91

    Key Point: Zeros have both a direction

    x0u0

    and a frequency s0

    Just as we would associate a direction (eigenvector) with each pole (fre-quency i)

    Example: G(s) = s+2s2+7s+12

    A =

    7 12

    1 0

    B = 1

    0 C = 1 2 D = 0

    det

    s0I A B

    C D

    = det

    s0 + 7 12 11 s0 0

    1 2 0

    = (s0 + 7)(0) + 1(2) + 1(s0) = s0 + 2 = 0

    so there is clearly a zero at s0 = 2, as we expected. For the directions,solve:

    s0 + 7 12 11 s0 0

    1 2 0

    s0=2

    x01x02

    u0

    =

    5 12 11 2 0

    1 2 0

    x01x02

    u0

    = 0?

    gives x01 = 2x02 and u0 = 2x02 so that with x02 = 1

    x0 =

    2

    1

    and u = 2e2t

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    169/608

    Fall 2001 16.31 109

    Further observations: apply the specified control input in the frequencydomain, so that

    Y1(s) = G(s)U(s)

    where u = 2e2t, so that U(s) = 2s+2

    Y1(s) =s + 2

    s2 + 7s + 12

    2

    s + 2=

    2

    s2 + 7s + 12

    Say that s = 2 is a blocking zero or a transmission zero.

    The response Y(s) is clearly non-zero, but it does not contain a componentat the input frequency s = 2. That input has been blocked.

    Note that the output response left in Y1(s) is of a very special form itcorresponds to the (negative of the) response you would see from the system

    with u(t) = 0 and x0 =

    2 1T

    Y2(s) = C(sI A)1x0

    =

    1 2 s + 7 12

    1 s

    1 21

    =

    1 2 s 12

    1 s + 7

    21

    1

    s2 + 7s + 12

    =2

    s

    2

    + 7s + 12

    So then the total output is Y(s) = Y1(s) + Y2(s) showing that Y(s) = 0 y(t) = 0, as expected.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    170/608

    Fall 2001 16.31 1010

    Summary of Zeros: Great feature of solving for zeros using the generalizedeigenvalue matrix condition is that it can be used to find MIMO zeros ofa system with multiple inputs/outputs.

    det

    s0I A B

    C D

    = 0

    Need to be very careful when we find MIMO zeros that have the same fre-quency as the poles of the system, because it is not obvious that a pole/zerocancellation will occur (for MIMO systems).

    The zeros have a directionality associated with them, and that mustagree as well, or else you do not get cancellation

    More on this topic later.

    Relationship to transfer function matrix:

    If z is a zero with (right) direction [T , uT ]T, thenzI A B

    C D

    u

    = 0

    If z not an eigenvalue of A, then = (zI A)1Bu, which givesC(zI A)1B + D

    u = G(z)u = 0

    Which implies that G(s) loses rank at s = z

    If G(s) is square, can test: det G(s) = 0

    If any of the resulting roots are also eigenvalues of A, need to re-checkthe generalized eigenvalue matrix condition.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    171/608

    Fall 2001 16.31 1011

    Note that the transfer function matrix (TFM) notion is a MIMO general-ization of the SISO transfer function

    It is a matrix of transfer functions

    G(s) =

    g11(s) g1m(s). . .

    gp1(s) gpm(s)

    where gij(s) relates the input of actuator j to the output of sensor i.

    Example:

    G(s) =

    1

    s + 10

    1

    s 2

    s 2

    s + 2

    It is relatively easy to go from a state-space model to a TFM, but notobvious how to go back the other way.

    Note: we have to be careful how to analyze these TFMs.

    Just looking at the individual transfer functions is not useful.

    Need to look at the system as a whole will develop a new tool basedon the singular values of G(s)

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    172/608

    Topic #11

    16.31 Feedback Control

    State-Space Systems

    State-space model features

    Observability

    Controllability

    Minimal Realizations

    Copyright2001byJonathanHow.

    1

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    173/608

    Fall 2001 16.31 111

    State-Space Model Features

    There are some key characteristics of a state-space model that we

    need to identify.

    Will see that these are very closely associated with the concepts

    of pole/zero cancellation in transfer functions.

    Example: Consider a simple system

    G(s) =6

    s + 2

    for which we develop the state-space model

    Model # 1 x = 2x + 2u

    y = 3x

    But now consider the new state space model x = [x x2]T

    Model # 2x =

    2 00 1

    x +

    21

    u

    y =

    3 0

    x

    which is clearly different than the first model.

    But lets looks at the transfer function of the new model:

    G(s) = C(sI A)1B + D

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    174/608

    Fall 2001 16.31 112

    This is a bit strange, because previously our figure of merit when

    comparing one state-space model to another (page 8-8) was whether

    they reproduced the same same transfer function Now we have two very different models that result in the same

    transfer function

    Note that I showed the second model as having 1 extra state,

    but I could easily have done it with 99 extra states!!

    So what is going on? The clue is that the dynamics associated with the second state

    of the model x2 were eliminated when we formed the product

    G(s) =

    3 0 " 2s+2

    1s+1

    #

    because the A is decoupled and there is a zero in the C matrix

    Which is exactly the same as saying that there is a pole-zerocancellation in the transfer function G(s)

    6

    s + 2=

    6(s + 1)

    (s + 2)(s + 1), G(s)

    Note that model #2 is one possible state-space model of G(s)

    (has 2 poles)

    For this system we say that the dynamics associated with the second

    state are unobservable using this sensor (defines the C matrix).

    There could be a lot motion associated with x2, but we would

    be unware of it using this sensor.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    175/608

    Fall 2001 16.31 113

    There is an analogous problem on the input side as well. Consider:

    Model # 1 x = 2x + 2u

    y = 3x

    with x = [ x x2]T

    Model # 3 x =

    2 0

    0 1

    x +

    2

    0

    u

    y = 3 2 xwhich is also clearly different than model #1, and has a different

    form from the second model.

    G(s) =

    3 2sI

    2 0

    0 1

    1

    2

    0

    = 3

    s+2

    2

    s+1 2

    0

    =

    6

    s + 2 !!

    Once again the dynamics associated with the pole at s = 1 are

    cancelled out of the transfer function.

    But in this case it occurred because there is a 0 in the B matrix

    So in this case we can see the state x2 in the output C =

    3 2

    ,

    but we cannot influence that state with the input since B = 2

    0

    So we say that the dynamics associated with the second state are

    uncontrollable using this actuator (defines the B matrix).

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    176/608

    Fall 2001 16.31 114

    Of course it can get even worse because we could have

    x = 2 0

    0 1

    x + 20 uy =

    3 0

    x

    So now we have

    ]G(s) = 3 0 sI

    2 0

    0 1

    1

    2

    0

    =

    3s+2

    0s+1

    20

    =

    6

    s + 2!!

    Get same result for the transfer function, but now the dynamics

    associated with x2 are both unobservable and uncontrollable.

    Summary:Dynamics in the state-space model that are uncontrollable, un-

    observable, or both do not show up in the transfer function.

    Would like to develop models that only have dynamics that are

    both controllable and observable

    V called a minimal realization

    It is has the lowest possible order for the given transfer function.

    But first need to develop tests to determine if the models are ob-

    servable and/or controllable

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    177/608

    Fall 2001 16.31 115

    Observability

    Definition: An LTI system is observable if the initial state

    x(0) can be uniquely deduced from the knowledge of the input u(t)and output y(t) for all t between 0 and any T > 0.

    If x(0) can be deduced, then we can reconstruct x(t) exactly

    because we know u(t) V we can find x(t) t.

    Thus we need only consider the zero-input (homogeneous) solu-

    tion to study observability.

    y(t) = CeAtx(0)

    This definition of observability is consistent with the notion we used

    before of being able to see all the states in the output of the

    decoupled examples

    ROT: For those decoupled examples, if part of the state cannot

    be seen in y(t), then it would be impossible to deduce that

    part ofx(0) from the outputs y(t).

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    178/608

    Fall 2001 16.31 116

    Definition: A state x? 6= 0 is said to be unobservable if the

    zero-input solution y(t), with x(0) = x?, is zero for all t 0

    Equivalent to saying that x? is an unobservable state if

    CeAtx? = 0 t 0

    For the problem we were just looking at, consider Model #2 with

    x?

    = [ 0 1 ]

    T

    6= 0, then

    x =

    2 0

    0 1

    x +

    2

    1

    u

    y =

    3 0

    x

    so

    CeAtx? =

    3 0

    e

    2t

    00 et

    01

    =

    3e2t 0 0

    1

    = 0 t

    So, x? = [ 0 1 ]T is an unobservable state for this system.

    But that is as expected, because we knew there was a problem with

    the state x2 from the previous analysis

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    179/608

    Fall 2001 16.31 117

    Theorem: An LTI system is observable iff it has no

    unobservable states.

    We normally just say that the pair (A,C) is observable.

    Pseudo-Proof: Let x? 6= 0 be an unobservable state and compute

    the outputs from the initial conditions x1(0) and x2(0) = x1(0)+ x?

    Then

    y1(t) = CeAtx1(0) and y2(t) = Ce

    Atx2(0)

    but

    Thus 2 different initial conditions give the same output y(t), so it

    would be impossible for us to deduce the actual initial condition

    of the system x1(t) or x2(t) given y1(t)

    Testing system observability by searching for a vector x(0) such thatCeAtx(0) = 0 t is feasible, but very hard in general.

    Better tests are available.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    180/608

    Fall 2001 16.31 118

    Theorem: The vector x? is an unobservable state if

    C

    CACA2

    ...

    CAn1

    x? = 0

    Pseudo-Proof: Ifx? is an unobservable state, then by definition,

    CeAtx? = 0 t 0

    But all the derivatives of CeAt exist and for this condition to hold,

    all derivatives must be zero at t = 0. Then

    CeAtx?

    t=0= 0 Cx? = 0

    d

    dtCeAt

    x?

    t=0= 0

    d2

    dt2CeAtx?

    t=0

    = 0

    ...

    d

    k

    dtkCeAtx?

    t=0

    = 0

    We only need retain up to the n 1th derivative because of the

    Cayley-Hamiltontheorem.

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    181/608

    Fall 2001 16.31 119

    Simple test: Necessary and sufficient condition for observability

    is that

    rank Mo , rank

    CCA

    CA2

    ...

    CAn1

    = n

    Why does this make sense?

    The requirement for an unobservable state is that for x? 6= 0

    Mox? = 0

    Which is equivalent to saying that x? is orthogonal to each row

    ofMo.

    But if the rows ofMo are considered to be vectors and thesespan the full n-dimensional space, then it is not possible

    to find an n-vector x? that is orthogonal to each of these.

    To determine if the n rows ofMo span the full n-dimensional

    space, we need to test their linear independence, which is

    equivalent to the rank test1.

    1Let M be a mp matrix, then the rank of M satisfies:

    1. rank M number of linearly independent columns of M

    2. rank M number of linearly independent rows of M

    3. rank M min{m, p}

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    182/608

    Topic#1216.31FeedbackControl

    State-SpaceSystems State-spacemodel features Controllability

    Copyright2001byJonathanHow.

    1

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    183/608

    Fall2001 16.31121Controllability

    Definition: AnLTIsystem iscontrollable if, foreveryx?(t)andeveryT > 0,thereexistsan input functionu(t),0< t T,suchthatthesystemstategoesfromx(0)=0tox(T) = x?.Startingat 0 is nota special case if wecanget toany state

    infinitetime fromtheorigin, thenwecanget fromany initialconditiontothatstateinfinitetimeaswell.

    Needonlyconsidertheforcedsolutiontostudycontrollability.x(t) =

    Z t0 e

    A(t)Bu()d

    Changeofvariables2 =t,d =d2 givesx(t) =

    Z t0 e

    A2Bu(t2)d2

    Thisdefinitionofobservabilityisconsistentwiththenotionweusedbeforeofbeingabletoinfluenceallthestatesinthesysteminthedecoupledexampleswelookedatbefore.ROT:Forthosedecoupledexamples,ifpartofthestatecannot

    be influenced by u(t), then it would be impossible to movethatpartofthestatefrom0tox?

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    184/608

    Fall2001 16.31122 Definition: Astatex? 6=0issaidtobeuncontrollableifthe

    forcedstateresponsex(t)isorthogonaltox?t > 0andallinputfunctions.Youcannotgettherefromhere

    Thisisequivalenttosayingthatx? isanuncontrollablestateif(x?)T

    Z t0 e

    A2Bu(t2)d2

    =Z t

    0 (x?)TeA2Bu(t2)d2 = 0

    Sincethisidentitymustholdforallinputfunctionsu(t2),thiscanonlybetrueif

    (x?)TeAtB0 t0

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    185/608

    Fall2001 16.31123 Fortheproblemwewerejust lookingat,considerModel#3with

    x? = [ 0 1 ]T 6= 0,then 2 0Model#3 x = x +

    0

    2u

    0 13 2 xy =

    so

    e2t 0

    0 et

    02

    0 1

    et (x?)TeAtB =

    20

    = 0 t0=

    Sox? = [ 0 1 ]T isanuncontrollablestateforthissystem.

    Butthatisasexpected,becauseweknewtherewasaproblemwiththestatex2 fromthepreviousanalysis

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    186/608

    Fall2001 16.31124 Theorem: An LTI system is controllable iff it has no

    uncontrollablestates.Wenormallyjustsaythatthepair(A,B) iscontrollable.

    Pseudo-Proof: Thetheoremessentiallyfollowsbythedefinitionofanuncontrollablestate.Ifyouhadanuncontrollablestatex?,thenitisorthogonaltothe

    forcedresponsestatex(t),whichmeansthatthesystemcannotreachitinfinitetime;thesystemwouldbeuncontrollable.

    Theorem: Thevector x? isanuncontrollablestate iff(x?)T

    B A B A2B An1B

    = 0

    Seepage81.

    Simpletest: Necessaryandsufficientconditionforcontrollabilityis

    that

    rankMc,rank B A B A2B An1B=n

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    187/608

    Fall2001 Examples 16.31125 2 0

    WithModel#2: x =

    x +1

    2u

    0

    1y = 3 0 x

    C 3 0 M0 =

    CA

    =6 0

    Mc =B AB= 2 41 1

    rank

    M0 = 1 andrankMc = 2 Sothismodelofthesystemiscontrollable,butnotobservable.

    2 0WithModel#3: x = x +

    0

    2u

    0 1

    y = 3 2 x C 3 2M0 =

    CA

    =6 2

    Mc =B AB=

    2

    0 40

    rankM0 = 2 andrankMc = 1

    So

    this

    model

    of

    the

    system

    is

    observable,

    but

    not

    controllable.

    Notethatcontrollability/observabilityarenot intrinsicproperties

    ofasystem. Whetherthemodelhasthemornotdependsontherepresentationthatyouchoose.Buttheyindicatethatsomethingelsemorefundamentaliswrong...

  • 7/27/2019 Feedback Control Systems Mit (Complete)

    188/608

    Fall2001 16.31126Example: LossofObservability

    Typicalscenario:

    consider

    system

    G(s) of the

    form

    1

    s+ax1s+as+ 1 x2u y

    sothats+as+ 1

    1s+aG(s) =

    Clearlyapole-zerocancelationinthissystem(poles=a) Thestatespacemodelforthesystemis:

    x1 = ax1+ux2 = x2+ (a1)x2

    y = x1+x2