See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/225075468 Feedback Control Of Dynamic Systems Chapter · January 1994 CITATIONS READS 2,979 90,332 3 authors, including: J.D. Powell Abbas Emami-Naeini Stanford University SC Solutions Inc. 162 PUBLICATIONS 11,998 CITATIONS 47 PUBLICATIONS 3,658 CITATIONS SEE PROFILE All content following this page was uploaded by J.D. Powell on 10 July 2014. The user has requested enhancement of the downloaded file. SEE PROFILE 控制系統(二) PME 3208 教師:彭明輝 辦公室:工一館 625 室 助教:工一館 403 室 課本: Feedback Control of Dynamic Systems. by G. F. Franklin, J. D. Powell, & A. Emami-Naeini 參考書: B. C. Kuo, Automatic Control Systems, 7th Ed.Prentice-Hall Inc., 1995. 1 Key issues in this course Control (I) considers the design of a controller K(s) for a given plant P(s) using three approaches (A) PID controller (B) Root locus (C) Bode plot r(t) K(s) u(t) P(s) y(t) Yet, before we can really solve real problems, some other issues have to be addressed z What if there is plant uncertainty or model uncertainty, in terms of robust stability and robust performance? r(t) K(s) P0(s) Δ(s) where P( s ) = P0 ( s) + Δ( s ) 2 y(t) z What if there are disturbances and/or sensor noise? d(t) r(t) K(s) P0(s) y(t) n(t) Indeed, in a real control system, at least three inputs and two outputs should be carefully examined, i.e., y ( s) = TYR ( s )r ( s ) + TYD ( s )d ( s ) + TYN ( s )n( s ) And u ( s ) = TUR ( s )r ( s ) + TUD ( s )d ( s ) + TUN ( s )n( s ) = P ( s ) −1 {TYR ( s )r ( s ) + TYD ( s )d ( s ) + TYN ( s )n( s )} To achieve the required performance, it requires a sufficient control action (control effort) u(t) to regulate the plant. For instance, to achieved the required command following, a control effort uR ( s ) = TUR ( s )r ( s) is required. Similarly, uD ( s ) = TUD ( s)d ( s ) is required to achieve the required disturbance rejection, while u N ( s ) = TUN ( s )n( s ) will be consumed by the noise. If the required total control effort exceeds the 3 saturation limit of the plant, the performance will be deteriorated. r(t) K(s) u uC P(s) y(t) y u z What if there is nonlinearity in the plant? Will the linear theory fail and become useless? Or is there a way to accommodate the difference between linear theory and nonlinear reality? 4 z What if it is difficult to find a controller that stabilize the given plant? Neither using root locus, nor Bode plot/Nyquist stability criterion? Is there a new way to design a controller that ensures stability, such as the ‘modern controller’? This course addresses the above questions, and bridges the gap between linear control theory and real industrial problems. 5 Overview of the Course (1) Review of root locus and design on Bode plot (2) Feedback properties and feedback designs (3) Nonlinear system and Robust design on Bode plot 第一個期中報告(1/6) (4) State space representation of a system 第一次期中考(1/3) (5) Analysis of state equation (6) Controllability and observability (7) Pole assignment of control system design (8) State estimator design 第二次期中考(1/3) (9) Smith filter and nonlinear systems 第二個期中報告(1/6) Credit: ◎ Two mid term tests, each accounts for 1/3 of the credit, two term report, each accounts for 1/6 of the credit 6 Chapter 1. Review 1.1:Objective of feedback control r(t) K(s) u(t) P(s) y(t) Fig. 1 Given a plant P(s), design a controller K(s) such that the overall transfer function y( s ) r (s) T (s ) meet design requirements such as rising time tr, settling time ts, maximum percentage overshoot PO, phase margin θm and gain margin, etc. Where, the overall transfer function of the system is given by T ( s) Y (s) P( s ) K ( s) = R( s ) 1 + P( s ) K ( s ) The above equation reveals the fact that each controller is specifically design for a given plant to yield a satisfactory performance. To maintain the same performance requirements, the controller has to change with respect to 7 the change in plant dynamics. That is, if the plant model is not obtained with sufficient accuracy, it is impossible to acutely meet the required performance requirement. However, the above block diagram is a representative of a wider class of feedback systems, such as the one shown below r(t) H K(s) P(s) y(t) H Fig. 2 using block diagram reduction, it can be shown that its overall transfer function is y( s ) P(s )K (s ) r (s ) T (s ) = H 1 + P(s )K (s )H P(s )K (s ) H =H H 1 + P(s )K (s )H 1 P(s )K (s )H =H H 1 + P(s )K (s )H That is, the system shown in Fig. 2 has an overall transfer function between r(t) and y(t) equivalent to the following 8 r(t) K(s) P(s) H y (t) Fig. 3 with an ‘augmented plant’ P(s)H. We shall come back to this issue with more details later on. The first issue to be addressed is: how is it possible to obtain an accurate model of the plant? In general, we have three types of plant models: ODE, transfer function and Bode plot. They are closely related. First we shall examined modeling by using O.D.E 1.2:Modeling a dynamic system 9 Consider a car driven by a torque of the engine. It can be modeled as a mass m and an equivalent force u(t) where u − bx = mx or or x+ b u x = m m Example 2: Consider a more complicated example m2 tire ks/2 m1 ks/2 10 b( y − x ) + k s ( y − x) − k w ( x − r ) = m1 x −b( y − x ) − ks ( y − x) = m2 y⇒ x+ k k k b ( y − x ) + s ( y − x) + w x = w r m1 m1 m1 m1 y+ k b ( y − x ) + s ( y − x) = 0 m2 m2 Example 2.4 Flexible R/W for a Disk Driver 11 I1θ1 + b(θ1 − θ2 ) + k (θ1 − θ 2 ) = M c + M d I θ + b(θ − θ ) + k (θ − θ ) = 0 2 2 2 1 2 1 Example 2.14:電樞驅動式直流馬達 z In this type of motors, the magnetic field is held at constant by applying a constant voltage, while the voltage applied to the armature circuit (電樞電路) varies to drive the motor. Mechanical dynamic: Jθ + bθ = T = K i t Circuit dynamic: L di + Ri = va − e = va − K eθ dt input: va 12 Taking Laplace transform of the above equation, it gives ( Js 2 + bs ) Θ( s) = Kt I ( s) ( Ls + R ) I (s) = va (s) − KeΘ(s) That is 1 1 I ( s) = [va (s) − KeΘ(s)] = ( Js2 + bs ) Θ(s) Kt ( Ls + R ) or ⎡ Js2 + bs Ke ⎤ 1 + va (s) = ⎢ ⎥ Θ(s) ( Ls + R ) ( Ls + R ) ⎦ ⎣ Kt Hence −1 Ke ⎤ Θ(s) ⎡ Js2 + bs 1 =⎢ + ⎥ Ls R va (s) ⎣ Kt + ( ) ⎦ ( Ls + R ) Kt ( Ls + R ) 1 2 ( Js + bs ) ( Ls + R) + Kt Ke ( Ls + R) Kt = 2 ( Js + bs ) ( Ls + R) + Kt Ke z There are three approaches to determine the model 13 parameters J, b, L, R, Kt, Ke (1) A series of direct measurements of model parameters. For instance, J can be estimated from its geometric shape, b can be measured from quasi-static experiment, and so on. (2) Curve fitting to the step responses (or other response in the time domain) of the motor z In the other type of motors (magnetic field driven motors), the magnetic field varies by applying a varying voltage to drive the motor, while the voltage applied to the armature circuit(電樞電路)is held at a constant. In such cases, the dynamic model becomes Kt Θ(s) = 2 va (s) ( Js + bs ) ( Lf s + R f ) 14 █ In such cases the plant is of type I, and the step response will be unbounded because Kt Θ(s) Θ(s) = 2 =∞ because va (s) ( Js + bs) ( Ls + R) va (s) S=0 Hence model parameters have to be estimated in closed-loop as shown below r(t) K u(t) P(s) y(t) where the constant gain K is adjusted to stabilize the plant, while input u(t) and y(t) are measured for curve fitting in the time domain (i.e., using system parameter identification techniques). █ This approach has two major drawback: (1) plant models with significant differences in model parameters may have very close step responses. Therefore, this approach may leads to poor estimation of model parameters. (2)S/N ratio is worse than frequency response method using Bode 15 plot (3) Curve fitting to the Bode plot of the motor ωC █ In this approach, phase plot usually results in a larger error, corresponding to model inaccuracy. █ In theory, to obtain the Bode plot, u(t) and y(t) can be any time function, which can be decomposed into a series of harmonic functions u (t ) = N N ∑ u sin (ω t + φ ) i =0 i y (t ) = P(s) i ∑ y sin (ω t + ϕ ) i i =0 i i i However, such a treatment will lead to poor S/N ratio. 16 z Handling higher order dynamics on Bode plot ωC Higher order dynamics and close pole-zero pairs can be neglected as long as the gain-phase plot the plant model shows good agreement with experimental data near the specified crossover frequency ω C . 17 z It is inevitable that model inaccuracy exists due to sensor noises, neglected higher order dynamics and nonlinearities, hence it is essential that a feedback control system must be able to handle model inaccuracy/uncertainty in terms of robust stability and robust performance. z Uncertainty/model inaccuracy can be estimated from the Bode plot, but NOT from time domain parameter estimation. Gain uncertainty ωC phase uncertainty 18 z Handling model uncertainty for robust stability Unit circle z However, there has no effective techniques to model plant inaccuracy in time domain approaches (root locus, modern control) 19 1.3:Design Requirement/performance specifications Some of the primary design requirements can be transcribed into properties of the dominant poles of T(z) in the time domain, such as (A-1) Transient performance tr, ts, PO (i.e.,ζ and ωN) (B) Stability margin (in terms of ζ) (C) Steady state error (KP, KV, Ka) (D) Noise attenuation (E) Disturbance rejection/ sensitivity reduction (often equivalent to tracking) z Transient performances can be transcribed into (1) overshoot: ζ ≥ 0.6(1 − PO /100) (2) Rise time tr: ωN ≥ 1.8 tr (3) settling time tS: ζ wn ≥ 4.6 / ts That is, the locations of the pair of dominant poles are allowed to appear only in the following region 20 ς jω ωn σ = ζ wn σ = ζ wn with the step responses of a second order system (dominant poles) shown below 21 where z Stability margin measured by ζ ς=0 jω 1>ς>0 ς<0 ζ ≥1 σ = ζ wn 22 z Steady state error (KP, KV, Ka) KP measures the capability of a system to follow a constant step command (polynomial of zero degree), and the steady state error following a step command is eSS ≈ 1 KP For system type zero, K P=L( s) S =0 = P( s) K ( S ) H S =0 For system type I, there is a pure integrator in L(s), hence 1l K P=L( s) S =0 = L (s) = ∞ eSS ≈ 1 = 0 , s KP S =0 For system type II, there are 2 pure integrators, hence K P=L( s) S =0 = 1 l L( s) = ∞ eSS ≈ 1 = 0 2 , s KP S =0 KV measures the capability of a system to follow a ramp command (polynomial of first degree), and the steady state error following a ramp command is eSS = 23 1 KV For system type zero, 1 e = =∞ KV=0 hence SS KV For system type I, there is a pure integrator in L(s), and K V=sL( s) S =0 = sP( s) K ( S ) H S =0 For system type II, there are 2 pure integrators, hence K P=sL( s) S =0 = s l L( s) = ∞ eSS ≈ 1 = 0 2 , s KP S =0 Ka measures the capability of a system to follow a parabolic command (polynomial of 2nd degree), and the steady state error following a ramp command is eSS = 1 Ka For system type zero and , system type I 1 e = =∞ K a=0 hence SS Ka For system type II, there are 2 pure integrators, hence 2 K a=s L( s) S =0 s2 l = 2 L( s) = constant , s S =0 24 eSS ≈ 1 = limited > 0 Ka Steady state error system Type 0 Type I Type II 0 0 Step command 1 Ramp command ∞ 1 Parabolic commnad ∞ ∞ KP KV 0 1 Ka z Unfortunately, there is no quantitative rules to measure noise attenuation and disturbance rejection in the time domain except a rough concept that the larger the input control effort u(t) (or the larger the dc gain of the controller), the larger the noise amplification rate. Therefore it has been taken as a rule that the dc gain of the controller should be kept as small as possible. 25 1.4:Classifications of systems and ODE y(t)+ a2(y , y )y(t)+ a1(y , y )y(t)= u(t) (1.1) is nonlinear ODE (system) y (t)+ a2(t)y(t)+ a1(t)y(t)= u(t) (1.2) is a linear, time varying ODE (system) y (t)+ a2y(t)+ a1y (t)= b1u (t)+ u(t) (1.3) is a linear, time invariant ODE (system) Superposition principle:Let u(t)= αu (t)+ β u (t) , y1(t) 1 2 and y2(t) be responses due to u1(t) & u2(t), respectively, then y(t)= αy1(t)+β y2(t) (1.4) ◎ In a linear system output is proportional to input. ◎ Superposition fails for nonlinear systems Transfer function Applying Laplace transform to Eq. (1), it gives ⎡ ⎢ ⎢ ⎢ ⎣ ⎤ ⎡ ⎤ s3Y(s)−s2y(0)−sy (0)− y(0)⎥⎥ + a2 ⎢⎢s2Y(s)−sy(0)− y (0)⎥⎥ ⎥ ⎢ ⎥ ⎦ ⎣ ⎦ ⎡ ⎤ ⎡ ⎤ ⎢⎣ ⎥⎦ ⎢⎣ ⎥⎦ + a1 ⎢⎢sY(s)− y(0)⎥⎥ = b1 ⎢⎢sU(s)−u(0)⎥⎥ +U(s) 26 Assuming zero initial condition y(0)= y (0)= y(0)= u(0)= 0 , one obtained ⎡ ⎢ ⎢ ⎢ ⎣ ⎤ ⎡ ⎤ ⎥ 3 2 ⎢ s + a2s + a1s⎥Y(s)= ⎢b1s+ 1⎥⎥U(s) ⎥ ⎢⎣ ⎦⎥ ⎦ That is b s+ 1 P(s) = Y(s) = 3 1 2 U(s) s + a2s + a1s (1.5) Zero polynomial (1.6) Pole polyno. ※ A transfer function description can be obtained from the ODE by assuming zero initial conditions ※ Zero polynomial represents differential operators on the input, while pole polynomial represents differential operators on the output ※ To obtain an ODE from a transfer function, convert (6) into (5), then convert (5) into (3). ※ However, a transfer function does not exist for a linear time varying system since Laplace transform is not applicable. 27 1.5:Transfer function and ODE Consider a general linear, time-invariant ODE y(n)(t)+ a1y(n−1)(t)+ a2y(n−2)(t)+...+ any(t)= b0u(m)(t)+ b1u(m−1)(t)+ b2u(m−2)(t)+...+ bmu(t) (1.7) Applying Laplace transform to the ODE, one obtains ⎡ ⎢ ⎢ ⎢ ⎢⎣ ⎤ snY(s)−sn−1y(0)−sn−2y (0)−...−sy(n−2)(0)− y(n−1)(0)⎥⎥ ⎥ ⎥⎦ ⎡ ⎢ ⎢ 1 ⎢⎢ ⎣ +a ⎤ sn−1Y(s)−sn−2 y(0)−...−sy(n−3)(0)− y(n−2)(0)⎥⎥ ⎥ ⎥⎦ ⎡ ⎢ ⎢ 2 ⎢⎢ ⎣ +a ⎤ sn−2Y(s)−sn−3y(0)−...−sy(n−4)(0)− y(n−5)(0)⎥⎥ ⎥ ⎥⎦ ⎡ ⎤ ⎡ ⎤ ⎢⎣ ⎥⎦ ⎢⎣ ⎥⎦ +a3 ⎡⎢⎣...⎤⎥⎦ + a4 ⎡⎢⎣...⎤⎥⎦ +...+ an−1 ⎢⎢sY(s)− y(0)⎥⎥ + an ⎢⎢Y(s)⎥⎥ ⎡ ⎢ ⎢ 0 ⎢⎢ ⎣ =b ⎡ ⎢ ⎢ 1 ⎢⎢ ⎣ +b ⎤ smU(s)−sm−1u(0)−...−su(m−2)(0)−u(m−1)(0)⎥⎥ (8) ⎥ ⎥⎦ ⎤ sm−1U(s)−sm−2u(0)−...−su(m−3)(0)−u(m−2)(0)⎥⎥ ⎡ ⎢ ⎢ 2 ⎢⎢ ⎣ +b ⎥ ⎥⎦ ⎤ sm−2U(s)−sm−3u(0)−...−su(m−4)(0)−u(m−5)(0)⎥⎥ ⎥ ⎥⎦ ⎡ ⎢ m−1 ⎢⎣⎢ +b ... + b ... +...+ b ⎡ 3 ⎢⎣ ⎤ ⎥⎦ ⎡ 4 ⎢⎣ ⎤ ⎥⎦ ⎤ ⎥ ⎥ ⎥⎦ ⎡ ⎢ m ⎢⎢ ⎣ ⎤ ⎥ ⎥ ⎥⎦ sU(s)−u(0) + b U(s) Collecting similar terms 28 snY(s)+ a1sn−1Y(s)+ a2sn−2Y(s)+...+ an−1sY(s)+ anY(s) +C(ai , y(i)(0), si ) (10) = b0smU(s)+b1sm−1U(s)+...+bm−1sU(s)+bmU(s) +D(bi , u( j)(0), s j ) Under zero initial conditions, (8) and (9) reduces to ⎡ ⎢ ⎢ ⎣ sn + a1sn−1 + a2sn−2 +...+ an−1s+ an ⎤⎥⎥Y(s) ⎦ +0 ⎡ ⎤ = ⎢⎢⎢b0sm + b1sm−1 +...+ bm−1s+ bm ⎥⎥⎥U(s) ⎣ (1.11) ⎦ +0 Therefore, b0sm +b1sm−1 +...+bm−1s+bm Y ( s ) P(s)= = n [ 0, 1] (1.12) n − 1 U(s) s + a s +...+ a s+ an 1 n−1 ※ To solve for the non-zero initial response, (i) Convert (12) into (11), (ii) then convert (11) into (7) (iii) Solve for (7) with non-zero initial conditions ※ Transfer function description = ODE description. 29 1.6: Multivariable (MIMO) system z A system is called a ‘Multiple-Input-Multiple-Output’ if consists of more than one inputs and/or more than one outputs. z For instance, consider a mill plant rolling papers or steels as depicted below u2 = P u1 = T y1 = t y2 = v where u1 = T:pulling force, 1st input u2 = P:rolling pressure, 2nd input y1 = t:production speed, 1st output y2 = v:thickness of the plate or paper, 2nd output Let the dynamics between u1 and y1 be captured by the 30 transfer function P11(s) so that P11 ( s ) Y1 ( s ) U1 ( s ) or Y1 ( s ) = P11 ( s )U1 ( s ) (1.25) Y2 ( s ) U 2 ( s) or Y2 ( s ) = P22 ( s )U 2 ( s ) (1.26) Similarly, P22 ( s ) However, when the pulling force u1 = T increases to speed up the process, it inevitably leads to a reduction in the thickness y2 = t as a side effect. That is, the 2nd output is also affected by the 1st input. This is called the ‘coupling effect’. Similarly, when the rolling pressure u2 = P increase to reduce the thickness y2 = t, it also increases the friction force between the rollers and the plate and thereby slow down the process (i.e., decreases production speed y1 = v). That is, the 1st output is also affected by the 2nd input. Let the coupling effect be captured by P12 ( s ) Y1 ( s ) U 2 ( s) or Y1 ( s ) = P12 ( s )U 2 ( s ) 31 (1.27) P21 ( s ) Y2 ( s ) U1 ( s ) or Y2 ( s ) = P21 ( s )U1 ( s ) (1.28) Then the complete dynamical relationships between the inputs and outputs described by Eqs. (1.25)~(1.28) can be rewritten in a matrix form as shown below ⎡Y1 ( s ) ⎤ ⎡ P11 ( s ) P12 ( s ) ⎤ ⎡U1 ( s ) ⎤ ⎢Y ( s ) ⎥ = ⎢ P ( s ) P ( s ) ⎥ ⎢U ( s ) ⎥ 22 ⎣ 2 ⎦ ⎣ 21 ⎦⎣ 2 ⎦ ⎡U 1 ( s ) ⎤ P( s) ⎢ ⎥ U ( s ) ⎣ 2 ⎦ (1.29) where P(s) is called the ‘transfer function matrix’ of the multivariable process. z Other multivariable processes: ★ Space vehicles ★ Control-configured flights ★ High purity chemical process 32 View publication stats