567 This is often referred to as Þnite settling time or deadbeat design because the dynamics will settle in a Þnite number of sample periods. This estimator always drives the error to zero in time 2T or less as veriÞed below. The estimator-error equation : · ¸· ¸ 1 − T1 x̃1 (k) x̃(k + 1) = (Φ − LH)x̃(k) = x̃2 (k) T −1 For k = 0, 1, 2, 3, ... · x̃1 (0) − T1 x̃2 (0) x̃(1) = T x̃1 (0) − x̃2 (0) · ¸ 0 x̃(2) = 0 · ¸ 0 x̃(3) = 0 .. . ¸ (c) Yes, since one state element is measured directly, one can estimate the other element with a Þrst-order estimator following the development for reduced order estimators for contintuous systems in Section 7.5.2. From the discrete state-space representation, x2 (k + 1) = T x1 (k) + x2 (k) + T2 u(k) 2 · ¸ 1 T2 =⇒ x1 (k) = x2 (k + 1) − x2 (k) − u(k) T 2 {z } | known measurement and input For K = 0, · ¸ 1 T2 x2 (1) − x2 (0) − u(0) T 2 · ¸ 2 1 T = y(1) − y(0) − u(0) T 2 x̄2 (0) = x2 (0) = y(0) x̄1 (0) = 14. Single-axis Satellite Attitude Control: Satellites often require attitude control for proper orientation of antennas and sensors with respect to Earth. 568 CHAPTER 8. DIGITAL CONTROL Figure 8.23: Satellite control schematic for Problem 14 Figure 2.6 shows a communication satellite with a three-axis attitudecontrol system. To gain insight into the three-axis problem we often consider one axis at a time. Figure 8.23 depicts this case where motion is only allowed about an axis perpendicular to the page. The equations of motion of the system are given by I θ̈ = MC + MD , where I = moment of inertia of the satellite about its mass center, MC =control torque applied by the thrusters, MD =disturbance torques, θ =angle of the satellite axis with respect to an inertial reference with no angular acceleration. We normalize the equations of motion by deÞning u= MC , I wd = MD , I and obtain θ̈ = u + wd . Taking the Laplace transform yields θ(s) = 1 [u(s) + wd (s)], s2 which with no disturbance becomes θ(s) 1 = 2 = G1 (s). u(s) s 569 In the discrete case where u is applied through a ZOH, we can use the methods described in this chapter to obtain the discrete transfer function G1 (z) = ¸ · θ(z) T2 z+1 . = u(z) 2 (z − 1)2 (a) Sketch the root locus of this system by hand assuming proportional control. (b) Draw the root locus using MATLAB to verify the hand sketch. (c) Add a lead network to your controller so that the dominant poles correspond to ζ = 0.5 and ω n = 3π/(10T ). (d) What is the feedback gain if T = 1 sec? If T = 2 sec. (e) Plot the closed-loop step response and the associated control time history for T = 1 sec. Solution (a) The hand sketch will show that the loci branches depart vertically from z = 1; therefore, the system is marginally stable or unstable for any value of gain. (b) The Matlab version below conÞrms the situation. G1 (z) = (z + 1) T 2 (z + 1) = K0 2 2 (z − 1) (z − 1)2 (c) To obtain the desired damping and frequency, Fig. 8.4 shows that a root locus branch should go through the desired poles at 570 CHAPTER 8. DIGITAL CONTROL z = 0.44 ± 0.44j. After some trial and error, you can Þnd that this can be accomplished with the lead compensation : D(z) = K (z − 0.63) (z + 0.44) The speciÞc value of K that yields the closed-loop poles are at : z = 0.44 ± 0.44j, −0.113 is K = 0.692 K0 . The second-order pair give : ωn ζ 0.917 rad/sec T = 0.519 = which is close enough to the desired speciÞcations. locus for the compensated design is: (d) K = = 0.692 ½ T2 2 1.383 for T = 1 sec 0.3458 for T = 2 sec ¾ The root 571 (e) Closed-loop step response : Closed-Loop Step Response (T=1s) 1.5 theta 1 0.5 0 0 2 4 6 8 10 12 14 Time (sec) Time History of Control Effort (T=1s) 1.5 1 u 0.5 0 -0.5 -1 -1.5 0 2 4 6 8 10 12 Time (sec) 15. In this problem you will show how to compute Φ by changing states so 14 573 (c) Let T = · a b c d ¸ , TA = FT =⇒ 2a = c, b = d =⇒ Choosing c = d = 1, then a = 0.5, b = c = d = 1 · ¸ 0.5 1 =⇒ T = 1 1 This T satisÞes £TAT−1 =¤F. Note : Let T = v1 v2 , TFT−1 £ ¤−1 £ A =⇒ v1 v2 F v1 ½ ¾ Fv1 = (−1)v1 =⇒ Fv2 = (−2)v2 = v2 ¤ = · −1 0 0 −2 Thus, the columns v1 and v2 are the eigenvectors of F. (d) eFT = TeAT T−1 · ¸ · −T 0.5 1 e = 1 1 0 · −T −2T −e + 2e = −2e−T + 2e−2T ¸· −2 2 2 −1 e−2T ¸ −T −2T e −e 2e−T − e−2T 0 ¸ 16. It is possible to suspend a mass of magnetic material by means of an electromagnet whose current is controlled by the position of the mass (Woodson and Melcher, 1968). The schematic of a possible setup is shown in Fig. 8.24, and a photo of a working system at Stanford University is shown in Fig. 2.35. The equations of motion are mẍ = −mg + f (x, I), where the force on the ball due to the electromagnet is given by f (x, I). At equilibrium the magnet force balances the gravity force. Suppose we let I0 represent the current at equilibrium. If we write I = I0 + i, expand f about x = 0 and I = I0 , and neglect higher-order terms, we obtain the linearized equation mẍ = k1 x + k2 i. (1) Reasonable values for the constants in Eq. (1) are m = 0.02 kg, k1 = 20 N/m, and k2 = 0.4 N/A. (a) Compute the transfer function from I to x, and draw the (continuous) root locus for the simple feedback i = −Kx. ¸ 574 CHAPTER 8. DIGITAL CONTROL Figure 8.24: Schematic of magnetic levitation device for Problems16 and 17 (b) Assume the input is passed through a ZOH, and let the sampling period be 0.02 sec. Compute the transfer function of the equivalent discrete-time plant. (c) Design a digital control for the magnetic levitation device so that the closed-loop system meets the following speciÞcations: tr ≤ 0.1 sec, ts ≤ 0.4 sec, and overshoot ≤ 20%. (d) Plot a root locus with respect to k1 for your design, and discuss the possibility of using your closed-loop system to balance balls of various masses. (e) Plot the step response of your design to an initial disturbance displacement on the ball, and show both x and the control current i. If the sensor can measure x only over a range of ±1/4cm and the ampliÞer can only provide a current of 1 A, what is the maximum displacement possible for control, neglecting the nonlinear terms in f (x, I)? Solution: (a) G(s) = = X(s) k2 /m = 2 I(s) s − k1 /m 20 s2 − 1000 (2) 575 (b) T = 0.02 sec, G(z) = (1 − z −1 )Z = 0.004135 ½ G(s) s ¾ z+1 (z − 0.5313)(z − 1.8822) (c) The speciÞcations imply that : tr ts Mp 1.8 = 18 rad/sec 0.1 4.6 ≤ 0.4 sec =⇒ σ ≥ = 11.5 rad/sec 0.4 =⇒ r = |z| ≤ e−11.5×0.02 = 0.7945 (←− z = esT ) ≤ 20% =⇒ ζ ≥ 0.48 ≤ 0.1 sec =⇒ ω n ≥ Thus, the closed-loop poles must be pulled into the unit circle near r = 0.8 and ζ = 0.5. Using the template of Fig. 8.4, we experiment with lead compensation and select, D(z) = 116 The closed-loop poles are : z − 0.5313 z − 0.093 z = 0.75 ± 0.39j, 0.53 Performance : tr ts Mp = 0.072 = 0.397 = 18.3% which meet all the speciÞcations. The root locus is below. 576 CHAPTER 8. DIGITAL CONTROL The step response shows Mp Closed-Loop Step Response 8 7 6 x [m] 5 4 3 2 1 0 0 0.1 0.2 0.3 0.4 Time (sec) 0.5 0.6 0.7 0.8 577 Time History of Control Effort 200 100 i [A] 0 -100 -200 -300 -400 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 Time (sec) (d) As can be seen from Eq. (2), the loop gain and the open loop pole locations depend on the mass of the ball. Changing the mass will therefore affect the dynamic characteristics of the system and may render it unstable. A root locus of the closed-loop poles versus k1 shows how the locus changes as a function of the mass: The closed-loop system becomes unstable for k1 ≥ 24. Since a small increase in k1 makes the system unstable and a decrease 0.8 578 CHAPTER 8. DIGITAL CONTROL in m has the same effect on the system, it is difficult to balance balls of smaller masses. (e) The response to an initial x displacement is shown : Closed-Loop Initial Response 1 0.5 x [m] 0 -0.5 -1 -1.5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 Time (sec) Time History of Control Effort 100 i [A] 50 0 -50 -100 0 0.1 0.2 0.3 0.4 Time (sec) 0.5 0.6 0.7 0.8 579 The assumption here is that an allowable transient must stay in the range of the sensor and not require more than the limit of the current. From I(z) = D(z)(0 − X(z)), we have a difference equation : i(k) − 0.093i(k − 1) = −116{x(k) − 0.5313x(k − 1)} For k = 0, i(0) = −116x(0). We see that if x(0) = 1 then i(0) = −116. Note that i(0) = −D(∞)x(0). Thus, if i is to be kept below 1A then x(0) must be kept below 1/116 = 0.00862 m = 0.862 cm = 0.339 inch, which is greater than the sensor range. The current control can handle any displacement in the range of ±0.25 inch. 17. In Problem 16 we described an experiment in magnetic levitation described by Eq. (1) which reduces to ẍ = 1000x + 20i. Let the sampling time be 0.01 sec. (a) Use pole placement to design a controller for the magnetic levitator so that the closed-loop system meets the following speciÞcations: settling time, ts ≤ 0.25 sec, and overshoot to an initial offset in x that is less than 20%. (b) Plot the step response of x, x̃, and i to an initial displacement in x. (c) Plot the root locus for changes in the plant gain, and mark the pole locations of your design. (d) Introduce a command reference input r (as discussed in Section 7.8) that does not excite the estimate of x. Measure or compute the frequency response from r to the system error r − x and give the highest frequency for which the error amplitude is less than 20% of the command amplitude. Solution (Note: part (d) of this problem is a stretch for the students. The text doesn’t cover the relevant discrete development and the student would be helped by referring to Digital Control of Dynamic Systems, by Franklin, Powell, and Workman.) (a) State-space representation of the plant : ¸ · ¸ · x x1 = , y = x, u = i x= xú x2 d dt · x1 x2 ¸ · 0 1 1000 0 = Fx + Gu = ¸· x1 x2 ¸ + · 0 20 ¸ u 606 CHAPTER 8. DIGITAL CONTROL Step Response (T=0.1) 1.2 1 0.8 y ______ continuous 0.6 - - - tustin and MPZ 0.4 0.2 0 0 1 2 3 4 5 time (sec) 6 7 8 9 10 7 8 9 10 Step Response (T=0.01) 1.5 y 1 ______ Continuous 0.5 - - - Tustin and MPZ 0 0 1 2 3 4 5 time (sec) 6 22. Repeat Problem 5.29 by constructing discrete root loci and performing the designs directly in the z-plane. Assume that the output y is sampled, 607 the input u is passed through a ZOH as it enters the plant, and the sample rate is 15 Hz. Solution (a) The most effective discrete design method is to start with some idea what the continuous design looks like, then adjust that as necessary with the discrete model of the plant and compensation. We refer to the solution for Probelm 5.29 for the starting point. It shows that the specs can be met with a lead compensation, D1 (s) = K (s + 1) (s + 60) and a lag compensation, D2 (s) = (s + 0.4) . (s + 0.032) Although it is stated in the solution to Problem 5.29 that a gain, K = 240 will satisfy the constraints, in fact, a gain of about K = 270 is actually required to meet the rise time constraint of tr ≤ 0.4 sec. So we will assume here that our reference continuous design is D1 (s) = 270 (s + 1) (s + 0.4) (s + 60) (s + 0.032) 1 0.4 It yields a rise time, tr ∼ )( 0.32 )= = 0.38, Mp ∼ = 15%, and Kv = (270)( 60 56. So all specs are met. For interest, use of the damp function shows that ω n = 6.4 rad/sec for the dominant roots, and those roots have a damping ratio, ζ ∼ = 0.7. For the discrete case with T = 15 Hz, we should expect some degradation in performance, especially the damping, because the sample rate is approximately 15×ω n . The discrete transfer function for the plant described by G(s) and preceeded by a ZOH is: ½ ¾ G(s) G(z) = (1 − z −1 )Z s ½ ¾ z−1 10 = Z z s(s + 1)(s + 10) This is most easily determined via Matlab, sysC = tf([10],[1 11 10 0]); T=1/15; sysD = c2d(sysC,T,’zoh’); which produces: 608 CHAPTER 8. DIGITAL CONTROL G(z) = 0.00041424 (z + 3.136)(z + 0.2211) (z − 1)(z − 0.9355)(z − 0.5134 The essential elements of the compensation are that the lead provides velocity feedback with a TD = 1 and the lag provides some high frequency gain. The discrete equivalent of the proportional plus lead would be (see Eq. 8.42): D1 (z) = K(1 + TD (1 + TD /T )z − TD /T (1 − z −1 )) = K T z which for T = 1/15 = 0.0667 and TD = 1 reduces to D1 (z) = 270 16z − 15z −1 z − 0.9375 = 4320 . z z The lag equivalent is best introduced by use of one of the approximation techniques, such as the matched pole-zero: D2 (z) = z − e−0.4T z − .9737 = −0.032T z−e z − .9979 as its whole function is to raise the gain at very low frequencies for error reduction. Examining the resulting discrete root locus and picking roots with rlocfind to yield the required damping shows that the gain, K = 60. While the use of damp indicates that the frequency and damping are acceptable, the time response shows an overshoot of about 20% and the rise time is slightly below spec. We therefore need to increase the lead (move the lead zero closer to z = +1) to decrease the overshoot and increase gain to speed up the rise time. Several iterations on these two quantities indicates that moving the lead zero from z = 0.9375 to z = 0.96 and increasing the gain from K = 60 to K = 65 meets both specs. The velocity coefficient is found from and is also satisÞed. Kv = lim (z − 1)D(z)G(z) z→1 Tz The time response of the Þnal design below shows that all specs are met. 609 Step Response 1.2 1 y 0.8 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 time (sec) 1.2 1.4 1.6 1.8 2 23. Design a digital controller for the antenna servo system shown in Figs. 3.63 and 3.64 and described in Problem 3.30. The design should provide a step response with an overshoot of less than 10% and a rise time of less than 80 sec. (a) What should the sample rate be? (b) Use emulation design with the matched pole-zero method. (c) Use discrete design and the z-plane root locus. Solution (a) The equation of motion is : J θ̈ + Bθ = Tc where J = 600000 kg.m2 , B = 20000 N.m.sec If we deÞne : a= B 1 Tc = , U= J 30 B after Laplace transform, we obtain : G(s) = θ(s) 1 = u(s) s(30s + 1) 609 Step Response 1.2 1 y 0.8 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 time (sec) 1.2 1.4 1.6 1.8 2 23. Design a digital controller for the antenna servo system shown in Figs. 3.63 and 3.64 and described in Problem 3.30. The design should provide a step response with an overshoot of less than 10% and a rise time of less than 80 sec. (a) What should the sample rate be? (b) Use emulation design with the matched pole-zero method. (c) Use discrete design and the z-plane root locus. Solution (a) The equation of motion is : J θ̈ + Bθ = Tc where J = 600000 kg.m2 , B = 20000 N.m.sec If we deÞne : a= B 1 Tc = , U= J 30 B after Laplace transform, we obtain : G(s) = θ(s) 1 = u(s) s(30s + 1) 610 CHAPTER 8. DIGITAL CONTROL From the speciÞcations, Mp tr µ ¶ ζ 1− 100 =⇒ ζ > 0.54 0.6 1.8 ∼ ω BW > 0.0225 < 80 sec =⇒ tr ∼ < 80 =⇒ ω n = = ωn < 10% =⇒ MP ∼ = Note that ω pn ∼ = 1/30 < ω n . If designing by emulation, a sample rate of 20 times the bandwidth is recommended. If using discrete design, the sample rate can be lowered somewhat to perhaps as slow as 10 times the bandwidth. However, to reject random disturbances, best results are obtained by sampling at 20 times the closed-loop bandwidth or faster. Thus, for both design methods, we choose : T ωs = 10 sec = 0.628 rad/sec, which is > 20ω n = 0.45 rad/sec (b) Continuous design : Use a proportional controller : u(s) = D(s)(θr (s) − θ(s)) = K(θr (s) − θ(s)) Root locus : Choose K = 0.210. The closed-loop pole location in s-plane : s = −0.0167 ± 0.0205j The corresponding natural frequency and damping : ω n = 0.0265, ζ = 0.6299 611 Digitized the continuous controller with matched pole-zero method : D(z) = 0.0210 Tc (z) = Bu(z) = 420(θr (z) − θ(z)) Performance : Mp tr = 0.119 = 67.3 sec (c) With u(k) applied through a ZOH, the transfer function for an equivalent discrete-time system is : G(z) = K z+b (z − 1)(z − eaT ) where K aT − 1 + e−aT 1 − e−aT − aT e−aT , b= a aT − 1 + e−aT z + 0.8949 =⇒ G(z) = 1.4959 (z − 1)(z − 0.7165) = Use a proportional control of the form : D(z) = K Root locus : 612 CHAPTER 8. DIGITAL CONTROL The speciÞcation can be achieved with the proportional control. However, we try to achieve the same closed-loop poles as the emulation design (part (b)) for comparison. These closed-loop pole locations are denoted by ” + ” in the root locus. Use a PD control of the form : D(z) = K z−α z Root locus : Choose K = 0.0294, α = 0.3. The resulting z-plane roots : z = 0.8280 ± 0.1725j, 0.0165 This corresponds to the s-plane roots : s = −0.0167±0.0205j (the design point of emulation design), −0.4104 which satisfy the speciÞcation : ωn ζ = 0.0265, 0.4104 = 0.6321, 1.000 The control law : z − 0.3 z z − 0.3 Tc (z) = Bu(z) = 588 z D(z) = 0.0294 613 Performance : = 0.079 = 71.3 sec Mp tr Step response : Step Response 1.2 emulation design 1 discrete design x (m) 0.8 0.6 0.4 0.2 0 0 50 100 150 200 250 300 time (sec) Time History of Control Effort 0.04 0.03 discrete design u (Tc/B) 0.02 emulation design 0.01 0 -0.01 0 50 100 150 time (sec) 24. The system G(s) = 1 (s + 0.1)(s + 3) 200 250 300 614 CHAPTER 8. DIGITAL CONTROL is to be controlled with a digital controller having a sampling period of T = 0.1 sec. Using a z-plane root locus, design compensation that will respond to a step with a rise time tr ≤ 1 sec and an overshoot Mp ≤ 5%. What can be done to reduce the steady-state error? Solution (a) Continuous plant : G(s) = 1 , Type 0 system (s + 0.1)(s + 3) Discrete model of G(s) preceeded by a ZOH (T = 0.1 sec) : G(z) = 0.0045 z + 0.9019 (z − 0.7408)(z − 0.99) SpeciÞcations : tr Mp ≤ 1 sec −→ ω n ≥ 1.8 rad/sec ≤ 5% −→ ζ ≥ 0.7 Discrete design : A simple proportional feedback, D(z) = K = 4.0, will bring the closed-loop poles to : z = 0.8564 ± 0.1278j which are inside the specs region. ω n = 2.07 rad/sec, ζ = 0.70 Root locus : 615 Step response : Closed-Loop Step Response 1 0.9 0.8 0.7 y 0.6 0.5 0.4 0.3 0.2 0.1 0 0 1 2 3 4 5 6 7 8 6 7 8 Time (sec) Time History of Control Effort 4 u 3 2 1 0 0 1 2 3 4 5 Time (sec) The step response shows that : tr Mp ∼ = 1.02 sec ∼ = 4.7% However, since the system is type 0, steady-state error exists and is 7% in this case. An integral control of the form, D(z) = K Tz TI z − 1 616 CHAPTER 8. DIGITAL CONTROL can be added to the proportional control to reduce the steady-state error, but this typically occurs at the cost of reduced stability. 25. The transfer function for pure derivative control is D(z) = KTD z−1 , Tz where the pole at z = 0 adds some destabilizing phase lag. Can this phase lag be removed by using derivative control of the form D(z) = KTD (z − 1) ? T Support your answer with the difference equation that would be required, and discuss the requirements to implement it. Solution: (8-25) (a) No, we cannot use derivative control of the form : D(z) = KTD z−1 T to remove the phase lag. The difference equation corresponding to D(z) = Kp TD is u(k) = Kp TD z−1 U (z) = T E(z) e(k + 1) − e(k) T This is not a causal system since it needs the future error signal to compute the current control. In real time applications, it is not possible to implement a non-causal system.