Linear Systems Control and Vibrations for Mechanical Engineers Dr. Robert L. Williams II Mechanical Engineering, Ohio University NotesBook Supplement for ME 3012 Linear System Analysis, Control, and Vibrations © 2015 Dr. Bob Productions williar4@ohio.edu people.ohio.edu/williar4 These notes supplement the ME 3012 NotesBook by Dr. Bob This document presents supplemental notes to accompany the ME 3012 NotesBook. The outline given in the Table of Contents on the next page dovetails with and augments the ME 3012 NotesBook outline and hence is incomplete here. 2 ME 3012 Supplement Table of Contents 2. LINEAR SYSTEM SIMULATION ................................................................................................... 3 2.1 SOLUTION OF ORDINARY DIFFERENTIAL EQUATIONS ........................................................................ 3 2.1.1 First-Order ODEs ....................................................................................................................... 3 2.1.2 Second-Order ODEs ................................................................................................................... 6 4. TRANSIENT RESPONSE ................................................................................................................ 10 4.5 SYSTEM TYPE .................................................................................................................................. 10 5. CONTROLLER DESIGN ................................................................................................................. 17 5.12 DISTURBANCE EVALUATION AFTER CONTROLLER DESIGN ............................................................ 17 5.13 WHOLE T(S) MATCHING CONTROLLER DESIGN – THE J-METHOD................................................. 19 5.14 TERM EXAMPLE CONTROLLER DESIGN .......................................................................................... 34 5.15 TERM EXAMPLE DISTURBANCES AND STEADY-STATE ERROR ....................................................... 46 6. VIBRATIONAL RESPONSES......................................................................................................... 51 6.1 FREE VIBRATIONAL RESPONSES ...................................................................................................... 51 6.1.1 Undamped Second-Order System Free Responses: Simple Harmonic Motion ....................... 51 6.1.2 Underdamped Second-Order System Free Responses ............................................................. 54 6.2 FORCED VIBRATIONAL RESPONSES .................................................................................................. 56 6.2.2 Damped Second-Order System Harmonically-Forced Responses ........................................... 59 6.2.3 General Forcing Functions ...................................................................................................... 73 7. HARDWARE CONTROL IN THE OHIO UNIVERSITY ROBOTICS LAB ............................ 82 7.1 QUANSER/SIMULINK CONTROLLER ARCHITECTURE ........................................................................ 82 7.2 PROGRAMMABLE LOGIC CONTROLLER (PLC) ARCHITECTURE ........................................................ 88 3 2. Linear System Simulation 2.1 Solution of Ordinary Differential Equations 2.1.1 First-Order ODEs First-Order System Example 2 Same ck system and initial condition, but f (t ) 5sin2t Solve x(t ) 50x(t ) 5sin 2t subject to x(0) = 0 Solution x(t ) 5 e50t 25sin 2t cos 2t 1252 Equivalent alternate solution form 5 x(t ) e50t 25.02sin 2t 0.04 1252 using sin(a b) sin a cos b cos a sin b -5/1252 cos(2 t)+125/1252 sin(2 t)+5/1252 exp(-50 t) 0.1 0.08 0.06 0.04 x(t) (m) 0.02 0 -0.02 -0.04 -0.06 -0.08 -0.1 0 1 2 3 4 t (sec) 5 6 The response x(t) starts at zero as specified by the initial condition. The transient solution goes to zero by about t = 0.10 sec. Steady-state solution is xss (t ) 25.02 sin 2t 0.04 m. = 2 rad/s = 2 f f = 1/ = 1/T 7 T = sec 8 4 Alternate form for particular solution (Example 2) Sum-of-angles formulae cos( a b) cos a cos b sin a sin b sin( a b) sin a cos b c cos a sin b 25sin 2t cos 2t C sin(2t ) C sin 2t cos cos 2t sin sin 2t 25 C cos cos 2t 1 C sin C2 cos2 sin2 252 12 C 626 25.02 sin 1 cos 25 1 0.04 rad 25 tan 1 25 sin 2t cos 2t 25.02 sin 2t 0.04 In general: C B12 B22 B2 B1 tan 1 when xP (t ) B1 sin 2t B2 cos 2t C sin 2t 5 A Final First-Order ODE example R, C series electrical circuit (voltage v(t) input, current i(t) output) R v(t) Model (from KVL and electrical circuit element table) i(t )dt q(t ) substitute charge q(t) i (t ) q (t ) Rq (t ) Ri(t ) + - i(t) C 1 i(t )dt v(t ) C 1 q(t ) v(t ) C Given R = 50 and C = 0.2 mF, solve 50q(t) 5000q(t) 1 subject to q(0) 0 and a unit step voltage input v(t). Solution 1 1 1 e 100t q (t ) i (t ) q (t ) e 100t 5000 50 2 x 10 -4 q(t) 1.5 1 0.5 0 0 0.01 0.02 0.03 0.04 0.05 0.06 0.01 0.02 0.03 t (sec) 0.04 0.05 0.06 0.02 i(t) 0.015 0.01 0.005 0 0 As expected from the circuit dynamics, the charge q(t) in the capacitor builds up to a constant given a constant voltage input. Also as expected, the capacitor current i(t) goes to zero at steady-state. The steady state charge value is qSS = 1/5000. The time constant is = RC = 0.01, so at 3 time constants (t = 0.03 sec) both the q(t) and i(t) values have approached 95% of their respective final values. 6 2.1.2 Second-Order ODEs Second-Order System Example 1 m = 1 kg, c = 7 Ns/m, k = 12 N/m x(t ) 7x(t) 12x(t ) f (t ) 3u(t) Solve subject to This system is overdamped Real distinct roots, relatively slower response, no overshoot This solution is left to the interested reader. x (0) 0.10m x (0) 0.05m / s 7 Second-Order System Example 2 m = 1 kg, c = 6 Ns/m, k = 9 N/m x(t) 6x(t) 9x(t) f (t) 3u(t) Solve Subject to 1. Homogeneous Solution x (0) 0.10m x (0) 0.05m / s xH (t ) 6 x H (t ) 9 xH (t ) 0 (s2 6s 9) Aest 0 x H (t ) Ae st Assume s2 6s 9 (s 3)2 0 Characteristic polynomial s1,2 3, 3 Real, repeated roots Homogeneous solution form x H ( t ) A1e 3 t A2 te 3 t xP (t ) 6 x P (t ) 9 xP (t ) 3 2. Particular Solution xP (t ) B 0 6(0) 9B 3 so xP (t ) B 1/ 3 3. Total Solution x(t ) xH (t ) xP (t ) A1e3t A2te3t 1/ 3 x (t ) 3 A1e 3t A2e 3t 3 A2te3t Now apply initial conditions x(0) 0.10 A1 A2 (0) 0.33 x(0) 0.05 3A1 A2 A1 0.233 A2 0.65 x (t ) (0.233 0.65t ) e 3 t 0.33 This system is critically-damped Real, repeated roots – fastest response without overshoot Check solution Plug answer x(t) plus its two derivatives into the original ODE. Also check the initial conditions. Plot – check transient and steady state solutions, plus total solution. 8 Second-Order System Example 2 – Forced m-c-k System Model mx(t) cx(t) kx(t) f (t) x(0) 0.10m x(0) 0.05m / s x(t) 6x(t) 9x(t) 3u(t) s2 6s 9 (s 3)2 0 Solution x(t ) (0.233 0.65t )e3t 1 3 Plot of x(t) vs. t 0.4 0.3 0.2 x(t) 0.1 0 -0.1 -0.2 0 1 2 t (sec) 3 The total solution x(t) starts at 0.1 m, x (t ) is non-zero, as specified by the initial conditions. Transient approaches zero after t = 2.5 sec Critically damped; –3 root goes to zero slightly faster alone than with t Steady-state value is xSS = 1/3 m. 4 9 Second-Order System Example 4: Forced m-k System Model mx(t) kx(t) f (t) x(t) 9x(t) 3u(t) (no damping) x(0) 0.10m x (0) 0.05m / s s 2 9 ( s 3i )( s 3i) 0 Solution x(t) (7 30)cos3t (1 60)sin3t 1 3 Plot of x(t) vs. t x(t) starts at 0.1 m, x (t ) is non-zero, as specified by the initial conditions. Simple harmonic motion Undamped; zero viscous damping coefficient Transient solution oscillates forever about the particular solution 1/3 = 3 rad/s = 2f f = 3/2 = 1/T T = 2/3 = 2.09 sec This system is undamped Complex-conjugate roots with 0 real part, simple harmonic motion, no damping, theoretically never stops vibrating. 10 4. Transient Response 4.5 System Type Analytical ODE Solutions Since only two of these ODEs are familiar in our previous analytical ODE solutions in ME 3012 (the stable first- and stable underdamped second-order systems), let us perform an analytical solution for one example: the second-order Type I system from above. Solve y(t) y(t) u(t) for y(t), given that input u(t) is a unit step function and subject to given zero initial conditions y(0) 0 and y(0) 0 . For fun let us solve this problem in three ways, two alternate methods using the slow ME Way and also using the Laplace Transform approach. Since this is a linear ODE, all methods must yield the one correct answer, stated earlier in the Analytical Unit Step Response Solutions table. 1a. Slow ME Way – second-order solution 1. Homogeneous Solution yH (t) yH (t) 0 Assume: y H ( t ) Ae st so that y H (t ) sAest yH (t ) s 2 Aest yH (t ) yH (t ) s2 Aest sAest A(s2 s)est 0 The system characteristic polynomial is s2 s , leading to a system characteristic equation s2 s s(s 1) 0 , whose two roots are s1 0 and s2 1 . The general homogeneous solution form is then: y H ( t ) A1 e s1t A2 e s 2 t A1 e ( 0 ) t A2 e ( 1) t A1 A2 e t We must leave the homogeneous coefficients Ai unknown for now. 11 2. Particular Solution yP (t) yP (t) u(t) 1 Our standard particular solution assumption of yP (t) B will not work in this case so we immediately try: yP (t) B where B is an unknown constant, which must be determined in this step. Clearly yP (t) 0 and so: yP (t) yP (t) 0 B 1 And so the particular solution for velocity is yP (t) B 1. However, we need the particular solution for y(t), not its first derivative, and so we must integrate: t t 0 0 yP (t) yP (t)dt dt t c where c is a constant of integration, in this case left unknown until Step 3. 3. Total Solution y ( t ) y H ( t ) y P ( t ) A1 A2 e t t c An alert student may ask, how can we solve for three constants A1, A2, and c with only two initial conditions? The solution to this little dilemma is quite easy, recognizing that A1 c is simply a single constant, call it A3 A1 c . Then the total solution is expressed by: y ( t ) A3 A2 e t t to which we apply the two given initial conditions y(0) 0 and y(0) 0 in order to solve for the unknown constants A1 and A3. y (0) 0 y(0) 0 0 A3 A2e(0) (0) y ( t ) A2 e t 1 A2 A3 0 0 A2e(0) 1 1 A2 0 A2 1 And since A2 A3 0 , we then have A3 A2 1 12 and the total solution is: y (t ) e t t 1 The transient part of this solution is e t and the steady-state part of this solution is t 1 . To demonstrate the transient and steady-state components of this solution better, it is instructive to plot this response, both its components and the total solution (which was shown previously, the center Type I case). Detailed Plot for Center Type I System Example Unit Step Response Transient, Steady-State, and Total Responses 13 In order to check this solution, we can first check the resulting initial conditions. From the solution y (t ) e t t 1 we clearly see that y (0) e0 0 1 1 0 1 0 as required. Also, for the first derivative of the solution y (t ) e t 1 , we have y (0) e0 1 1 1 0 as required. A more complete solution check involves substituting the solution y(t) and its two time derivatives into the original ODE and prove than an equality results. y (t ) et t 1 y(t) y(t) ? u(t) 1 y (t ) et 1 y (t ) et et et 11 Since an equality results, 1 = 1, this proves that the solution is the correct one. 14 1b. Slow ME Way – first-order solution A clever alternate solution method arises (either the Slow ME Way or using Laplace Transforms) when we use the equivalence v(t) y(t) in the original ODE to be solved. Solve v(t) v(t) u(t) for v(t), given that input u(t) is a unit step function and subject to given zero initial condition v(0) y(0) 0 . Then find y(t) by integration, using the second given initial condition y(0) 0 . 1. Homogeneous Solution vH (t) vH (t) 0 Assume: v H ( t ) Ae st so that vH (t ) sAe st vH (t ) vH (t) sAest Aest A(s 1)est 0 The system characteristic polynomial is s1, leading to a system characteristic equation s1 0, whose one root is s1 1 . The homogeneous solution form is then: v H ( t ) A1 e s1t A1 e t We must leave the homogeneous coefficient A1 unknown for now. 2. Particular Solution vP (t) vP (t) u(t) 1 Assume vP (t) B , where B is an unknown constant which must be determined in this step. Clearly vP (t) 0 and so: vP (t) vP (t) 0 B 1 And so the particular solution for velocity is vP (t) B 1. 3. Total Solution v ( t ) v H ( t ) v P ( t ) A1e t 1 Applying the given initial condition v(0) y(0) 0 in order to solve for the unknown constant A1: 15 v(0) 0 (0) 1 0 Ae 1 A1 1 the total solution for v(t) is then: v (t ) 1 e t However, we need the total solution for y(t), not its first derivative v(t), and so we must integrate: t t 0 0 y(t) v(t)dt (1 et )dt t et c where c is a constant of integration, that is found by applying the remaining initial condition y(0) 0 . y(0) 0 (0) e(0) c 1 c c 1 and so the total solution is: y (t ) e t t 1 which agrees with the Slow ME Way second-order solution. 16 2. Laplace Transforms solution Take the Laplace transform of both sides, with initial conditions. y(t ) y (t ) u(t ) 1 2 s Y (s) s(0) (0) sY (s) (0) s Combine Y(s) terms on the left. ( s 2 s )Y ( s ) s ( s 1)Y ( s ) 1 s Solve for the variable of interest, Y(s) – the Laplace transform of the answer, y(t). 1 Y (s) 2 s ( s 1) The partial fraction expansion for this Y(s) is given below, where the constants C1,2,3 are the residues. C C sC 1 1 2 2 3 Y (s) 2 s ( s 1) s s 1 Express the partial fraction form over a common denominator. C (C s C 2 )( s 1) C3 s 2 (C1 C3 ) s 2 (C1 C 2 ) s C 2 1 C sC Y (s) 2 1 2 2 3 1 s ( s 1) s s 1 s 2 ( s 1) s 2 ( s 1) Equate like powers of s in the numerator to get 3 equations to solve for the residues C1,2,3. C1 1 s 2 0 C1 C3 s1 0 C1 C2 C2 1 C3 1 s 0 1 C2 Solution by inverse Laplace transform C C s C 1 1 1 y (t ) 1 Y ( s ) 1 1 2 2 3 1 1 2 1 s 1 s s s 1 s y (t ) 1 t e t which agrees with the solutions we previously derived, but as expected is a more-direct one-stage process and faster to obtain. 17 5. Controller Design 5.12 Disturbance Evaluation after Controller Design General disturbance diagrams (open- and closed-loop) D(s) UD (s) U(s) Y(s) G(s) D(s) UD (s) U(s) E(s) R(s) GC (s) Y(s) G(s) YSENS (s) Y(s) H(s) Disturbance diagram with zero reference input This is called a regulator, where the desired output (reference input) is R(s) = 0. D(s) U(s) E(s) UD (s) GC (s) Y(s) G(s) -1 YSENS (s) H(s) Y(s) Change this into a diagram that looks more similar to the standard closed-loop feedback diagram. D(s) Y(s) UD (s) + G(s) + U(s) E(s) GC (s) -1 YSENS (s) H(s) Y(s) 18 The closed loop transfer function between the disturbance input D(s) and Y(s) output is: TD ( s ) Y (s) G (s) D ( s ) 1 GC ( s ) G ( s ) H ( s ) This is for MATLAB implementation, to simulate the effects of the disturbance input separately. Then use linear superposition in MATLAB to find the total solution as the sum of the reference input response (with zero disturbance) plus the disturbance input (with zero reference input). 19 5.13 Whole T(s) Matching Controller Design – The J-Method Standard negative feedback closed-loop block diagram U(s) E(s) R(s) Y(s) G(s) GC (s) YSENS (s) H(s) Y(s) Summary of controller design via parameter matching Step 1. Analyze the as-given open-loop system behavior. Step 2. Specify and evaluate the desired behavior for the closed-loop system. This step yields a numerical desired characteristic polynomial for the T(s) denominator, called DES(s). Step 3. Specify the form for the controller transfer function. Assume a standard form for your controller GC(s). Step 4. State the controller design problem to be solved. Step 5. Solve for the unknown gains to achieve the desired behavior for the closed-loop system. Derive closed-loop transfer function as a function of controller gains and parameters: GC ( s )G ( s ) T (s) 1 GC ( s )G ( s ) H ( s ) Match the symbolic parameters in the denominator of T(s) with your numerical desired characteristic polynomial – term-by-term according to s powers (make sure both polynomials have the same leading coefficient for the highest s power). Solve for the controller unknowns, determine the correction factor (if necessary), determine the pre-filter transfer function GP(s) (if necessary), and simulate the resulting performance. Step 6. Evaluate the controller performance in simulation. Step 7. Include an output attenuation correction factor if necessary. Step 8. Include a pre-filter transfer function GP(s) if necessary. Repeat Step 6. Step 9. Re-design and re-evaluate the controller if necessary, if the performance specs are not met. There are possible drawbacks with this method, the biggest being: the order of the closed-loop system must match the number of controller unknowns. If the number of unknowns is less, there is no solution (overconstrained) and if the number of unknowns is greater, there are infinite solutions (underconstrained). In either of the mismatch cases we can use trial-and-error controller design. This can be frustrating and ineffective since there are n solutions, where n is the number of controller unknowns. See Section 5.10 in this ME 3012 NotesBook. Further drawbacks include the need for most standard controllers to add a correction factor for output attenuation and a pre-filter transfer function GP(s) to cancel the unwanted introduced zero(s). There is a potentially better method, here called the whole T(s) Matching Controller Design, or simply the J-Method. This is named after ME student Jason Denhart who, in Spring 2008, posed the question “Why can’t we just specify the entire numerical T(s) and solve for the exact GC(s) necessary to provide that T(s)?” 20 The J-Method Step 1. Analyze the as-given open-loop system behavior. Step 2. Specify and evaluate the desired behavior for the closed-loop system. This step yields a numerical desired characteristic polynomial for the T(s) denominator (see Note 1 below), plus the desired T(s) numerator. Step 3. State the controller design problem to be solved. The former Step 3 is skipped, i.e. the J-Method determines the controller form in the solution procedure so there is no need to assume a standard controller form for GC(s). Given Find The plant and sensor transfer functions G(s) and H(s) in the context of our standard closed-loop negative feedback diagram. The desired closed-loop behavior, expressed by a whole numerical T(s) (as opposed to the desired closed-loop characteristic polynomial only as before). The form and the unknowns (gains) of the controller transfer function GC(s). Step 4. Solve for the unknown controller form including the unknown gains. Use the standard equation GC ( s )G ( s ) T (s) 1 GC ( s )G ( s ) H ( s ) Substitute your whole numerical desired T(s), plus the known numerical plant and sensor transfer functions G(s) and H(s), and solve for the unknown controller transfer function GC(s), without the need to assume a certain controller form. T (s) GC ( s ) G ( s )(1 H ( s )T ( s )) Step 5. Simulate the resulting closed-loop system performance. Step 6. Re-design and re-evaluate if necessary, if the performance specs are not met. Notes 1. The order of the denominator of your desired T(s) must be equal or greater than the order of the denominator of G(s). If the G(s) denominator is of higher order than the T(s) denominator, your resulting GC(s) will have a higher order in the numerator than the denominator, which is impossible to implement in MATLAB or Simulink, unless it happens to boil down to a PID form. 2. You do not need a correction factor – this is loaded into your desired T(s). 3. You do not need a pre-filter transfer function GP(s) since we are matching the entire desired T(s). 4. The resulting controller GC(s) will not necessarily be of any recognizable classical controller form. 5. MATLAB was used to help with the algebra (either symbolically or numerically). This should work; however, problems were encountered with large integers and excessive controller numerator and denominator orders. 6. If you follow the requirement for T(s) denominator order and make no algebra mistakes, the performance you obtain will be theoretically identical to a good classical controller with appropriate prefilter and correction factor. 7. There are three major drawbacks of the J-Method The J-Method does not handle disturbances well, as most other controllers do (presented later). The J-Method requires perfect knowledge of the open-loop plant, which is impossible. Thus, it is less robust to modeling uncertainties than other controllers. The J-Method cannot handle unstable open-loop plants (this is no problem for other controllers). 21 Controller Design Example 1 – The J-Method Step 1. Analyze the as-given open-loop system behavior. This step is the same as in Controller Example 1, with G ( s ) 10 . s s 10 2 Step 2. Specify and evaluate the desired behavior for the closed-loop system, to achieve 5% overshoot and 1.5 sec settling time. We have used these performance specifications before; the associated desired whole closed-loop transfer function is (assuming a final value of 1 is desired from a unit step input): 14.93 T ( s) 2 s 5.33s 14.93 Step 3. State the controller design problem to be solved. 10 14.93 Given G ( s ) 2 , H(s) = 1, and T (s) 2 s s 10 s 5.33s 14.93 Solve for GC(s) via whole T(s) matching. Step 4. Solve for the unknown controller form including the unknown gains. The result is GC ( s ) 1.493( s 2 s 10) s ( s 5.33) What type of controller is this? How does the J-Method controller work? 22 Step 5. Simulate the resulting closed-loop system performance. Simulink Evaluation for the J-Method Controller Design Example 1 10 s2 +s+10 Step Plant1 Step1 1.493*[1 1 10] s2 +5.33s 10 s2 +s+10 Gc Plant2 Scope Simulink simulation results Open-Loop Closed-Loop J-Method There is no need for a correction factor or pre-filter. 23 Examples To rigorously test the J-Method, the following three open-loop transfer functions G(s) and the following three desired whole closed-loop transfer functions T(s) were chosen, to be mixed-and-matched for a total of 9 examples. G(s) T(s) 1 2 1. a. s 1 s2 10 15 2. 2 b. 2 s s 10 s 6 s 15 10 450 3. c. 3 2 2 ( s 1)( s s 10) s 36 s 195s 450 The whole desired T(s) in a. is based on a time constant of = 0.5 sec. The whole desired T(s) in b. started from our familiar specification of 5% overshoot and 1.5 sec settling time (leading to a dominant second-order desired denominator of s 2 5.33s 14.93 ). But I wanted nice integers for the multiple example combinations, so this one corresponds to 2.13% overshoot and 1.38 sec settling time ( = 0.78, n = 3.87 rad/s, and s1,2 3 2.45i ). The whole desired T(s) in c. started from b., augmenting the denominator with a third pole s3 30 , so approximately the same dominant second-order behavior will result (2.13% overshoot and 1.38 sec settling time). All whole desired T(s) in a., b., and c. artificially obtain a steady state value of 1 give a unit step input function, with selection of the numerator constant to match the denominator ‘spring’. Let’s do a few of these examples now. Assume unity negative feedback for all examples. Example 1a Given open-loop plant G ( s ) T ( s) 1 , ideal sensor transfer function H(s) = 1, and desired whole s 1 2 , determine GC(s) via whole T(s) matching: s2 Answer GC ( s ) 2( s 1) s (what kind of controller is this?) 24 Simulink simulation results Open-Loop Closed-Loop J-Method The open-loop time constant of = 1 sec is halved to the closed-loop time constant of = 0.5 sec, which doubles the speed of the closed-loop system to reach 95% of the final value of 1. 25 Example 1b Given open-loop plant G ( s ) T ( s) 1 , ideal sensor transfer function H(s) = 1, and desired whole s 1 15 , determine GC(s) via whole T(s) matching: s 6s 15 Answer 2 GC ( s) 15( s 1) s( s 6) (what kind of controller is this?) 26 Simulink simulation results Open-Loop Closed-Loop J-Method The open-loop time constant was = 1 sec and the desired closed-loop performance specs of 2.13% overshoot and 1.38 sec settling time are met in simulation. 27 Example 2a Given open-loop plant G ( s ) T ( s) 10 , ideal sensor transfer function H(s) = 1, and desired whole s s 10 2 2 , determine GC(s) via whole T(s) matching. s2 s 2 s 10 (what kind of controller is this?) 5s This is an exception to the rule that the T(s) denominator must of order equal or greater than the order of the G(s) denominator, since it is a PID controller. Answer GC ( s) 28 Simulink simulation results Open-Loop Closed-Loop J-Method The open-loop behavior is the familiar stable underdamped system and the closed-loop time constant is = 0.5 sec which allows closed-loop system to reach 95% of the final value of 1 in 1.5 sec, thus meeting the design goals in simulation. 29 Examples Summary Table For the combinations of examples considered, the table below summarizes the numerator and denominator orders using the J-Method. Also given is the resulting form of the controller transfer function GC(s) (n.r.f. stands for ‘no recognizable form’). 1st G(s) 2nd 3rd T(s) b. 2nd-order 1st , Lead/I 2nd 2nd , n.r.f. 2nd 3rd , n.r.f. 2 2nd a. 1st-order 1st , PI 1st 2nd , PID 1 st 1 3rd , n.r.f. 2 1st c. 3rd-order 1st , n.r.f. 3rd 2nd , n.r.f. 3rd 3rd , n.r.f. 3rd Examples GC(s) Summary For the nine example combinations considered, the table below summarizes the resulting controller transfer functions GC(s) using the J-Method. a. 1 -order T(s) b. 2nd-order c. 3rd-order 2( s 1) s 15( s 1) s ( s 6) 450( s 1) s ( s 36s 195) 1.5( s 2 s 10) s ( s 6) 45( s 2 s 10) s ( s 2 36s 195) st 1st G(s) nd s 2 s 10 5s rd s 3 2s 2 11s 10 5s 2 3 1 1 2 1.5( s 3 2 s 2 11s 10) s ( s 6) 2 2 45( s 3 2 s 2 11s 10) s ( s 2 36 s 195) Exception to the rule that the order of the denominator of your desired T(s) must be equal or greater than the order of the denominator of G(s). 2 Impossible to implement. 30 In addition to this set of nine examples, the J-Method has been successfully tested with the following (where the a-c cases represent the same desired closed-loop transfer functions as above). Integrating open-loop transfer function G(s) (an s can be factored out in the denominator, i.e. there is no ‘spring’). This is called a Type I system since there is one integrator in the denominator of G(s), as explained in Section 4.5 of the ME 3012 NotesBook. 10 10 G(s) 2 s s s ( s 1) a. GC ( s ) PD 1.5( s 1) ( s 6) Lead c. GC ( s) for G ( s ) 45( s 1) s 36s 195 n.r.f. 2 1 s 1 2( s 2 5s 4) 15( s 2 5s 4) 450( s 2 5s 4) G ( s ) G ( s ) b. c. C C s 2 6s 6 s 3 10s 2 39 s 45 s 4 40 s 3 339 s 2 1230 s 1350 Open-loop transfer function G(s) with a zero 10( s 1) G(s) 2 s s 10 a. GC ( s ) b. GC ( s ) Non-ideal sensor transfer function H ( s) 1 1 H ( s) s4 a. GC ( s ) s 1 5 s 2 s 10 1.5( s 2 s 10) 45( s 2 s 10) b. GC ( s ) c. G ( s ) C 5s ( s 1) s ( s 2 7 s 6) s ( s 3 37 s 2 231s 195) Unstable open-loop transfer function G(s), e.g. Controller Design Example 2 10 G(s) 2 s s 10 a. GC ( s) s 2 s 10 45( s 2 s 10) 1.5( s 2 s 10) b. GC ( s ) c. GC ( s ) 5s s ( s 2 36 s 195) s ( s 6) Try all of these in Simulink simulation to evaluate their performance. All examples work as desired – except for the unstable cases which all have numerical instability problems, with the negative KP gains – the unstable poles cannot be cancelled perfectly. So we CANNOT use the J-Method for unstable open-loop systems. 31 Note that the full-T(s)-matching J-Method does not experience any problems with handling open-loop G(s) models with zeroes or higher-order systems. The J-Method controller includes its own internal pre-filter, identical to the one presented in Section 5.9. Also, problems of denominator parameter matching with higher-order and lower-order systems as exposed in Section 5.10 of the ME 3012 NotesBook are not a problem for the J-Method. J-Method Controller Input Effort For Controller Design Example 1, we first present the output unit step response, followed by the input effort plot, both in comparison to the open-loop case. Output Unit Step Responses Open-loop, J-Method Controller 32 J-Controller Input Effort Open-loop (1), J-Method Controller (1.5) The J-Method requires no pre-filter – its maximum input effort requirement is 1.5 actuator input units. The J-Method controller does not require a steep rate of change for the actuator input effort. 33 J-Method Controller Disturbance Evaluation Again for Controller Design Example 1, we now present how well the J-Method rejects disturbances. J-Method, disturbed J-Method A unit step disturbance was turned on at t = 1 sec. Clearly the J-Method controller is very poor at rejecting the disturbance in this example. The disturbed J-Method controller overshoots relatively high, with poor transient dynamics. This disturbed response is heading towards zero steady-state error, however, given enough time. The PID controller disturbance rejection presented in Section 5.12 of the ME 3012 NotesBook is much better than that of the Lead or J-Method controllers in this example. The PID controller was not designed for disturbance rejection, it just handles the disturbances better. 34 5.14 Term Example Controller Design Open-loop system physical diagram L n R cL v A (t) + + v B (t) - - J L (t) cM L (t) L (t) L (t) JM M (t) M (t) M (t) i A (t) We will design a controller to control the load angular velocity L(t). Assume a perfect tachometer sensor, H(s) = Kt = 1, so there is negative unity feedback. Note that G2(s) = KT, the motor torque constant, is different from H(s) = Kt, the feedback sensor (tachometer) constant. Here are the open- and closed-loop feedback control system diagrams. VA (s) G1 (s) I A(s) TM (s) G2 (s) M (s) G3 (s) L (s) 1/n KB Term Example Open-Loop Diagram LDES (s) VA (s) - G1 (s) I A(s) G2 (s) TM (s) M (s) G3 (s) L (s) 1/n KB Kt Term Example Closed-Loop Diagram where G1 ( s ) 1 Ls R G2 ( s ) K T G3 ( s ) 1 J E s cE H(s) = Kt = 1 35 Step 1. Analyze the as-given open-loop system behavior. Earlier the open-loop transfer function was derived and the real-world parameters for the NASA ARMII robot shoulder joint were substituted. KT L (s) 5 n G ( s ) 2 V A ( s ) Ls R J E s cE K T K B s 11s 1010 OL s s 2 2 n s n2 s 2 11s 1010 n 1010 31.8 rad/sec tR = 0.04 sec 11 11 0.173 2 n 2 1010 tP = 0.10 sec PO = 57.6% s1,2 5.5 31.3i tS = 0.71 sec This open-loop system has a different time scale than Controller Design Example 1; its output L(t) rises much faster in response to a unit step input vA(t). Also, the steady-state value is 5/1010, whereas it was 1.0 for Controller Design Example 1. 36 First, take a look at the root-locus plots and unit step responses, for the proportional controller GC(s) = K, first for angular velocity output. Root Locus L 50 40 30 20 Im 10 0 -10 -20 -30 -40 -50 -50 0 Re Step Response 1.6 1.6 1.4 1.4 1.4 1.2 1.2 1.2 1 1 1 Amplitude 0.8 0.8 0.8 0.6 0.6 0.6 0.4 0.4 0.4 0.2 0.2 0.2 0 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 Time (sec) 0.5 0.6 0.7 0.8 0.9 0 1 1.4 1.4 1.2 1.2 1.2 1 1 0.8 0.8 0.6 0.6 0.4 0.4 0.4 0.2 0.2 0.2 0 0 0.5 0.6 0.7 0.8 0.9 Time (sec) 1 0.5 0.6 0.7 0.8 0.9 1 0.7 0.8 0.9 1 0.8 0.6 0.4 0.4 1 Amplitude Amplitude 1.4 0.3 0.3 Step Response 1.6 0.2 0.2 Step Response 1.6 0.1 0.1 Time (sec) 1.6 0 0 Time (sec) Step Response Amplitude Step Response 1.6 Amplitude Amplitude Step Response 50 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0 0.1 Time (sec) 0.2 0.3 0.4 0.5 Time (sec) Term Example, L(t) control, unit step responses as K increases from 0. K values legend 0 52 96 179 334 622 0.6 37 Here are the root-locus plot and unit step responses, for the proportional controller GC(s) = K, for angle. L Root Locus 50 40 30 20 Im 10 0 -10 -20 -30 -40 -50 -50 0 Re Step Response Step Response Amplitude 0.5 0 Step Response 0.1 0.5 0.08 0.4 0.06 0.3 Amplitude 1 Amplitude 50 0.04 0.2 -0.5 0.02 -1 0 0.2 0.4 0.6 0.8 0 1 0.1 0 0.2 Time (sec) 0.4 0.6 0.8 0 1 0 0.2 Time (sec) Step Response 0.6 0.8 1 0.8 1 0.8 1 Time (sec) Step Response 1 0.4 Step Response 2 10 1.5 5 0.4 1 0.5 0.2 0 Amplitude 0.6 Amplitude Amplitude 0.8 0 0.2 0.4 0.6 0.8 0 1 -5 0 0.2 Time (sec) 4 1 0.4 0.6 0.8 -10 1 0 0.2 Time (sec) 11 Step Response x 10 0 2 0.6 Time (sec) Step Response x 10 0.4 1 x 10 20 Step Response 1.5 0.5 1 0.5 0 -0.5 Amplitude Amplitude Amplitude 0.5 0 -0.5 -1 0 -0.5 -1.5 -1 0 0.2 0.4 0.6 Time (sec) 0.8 1 -2 0 0.2 0.4 0.6 Time (sec) 0.8 1 -1 0 0.2 0.4 0.6 Time (sec) Term Example, L(t) control, unit step responses as K increases from 0. K values legend 0 20 117 681 2220 3955 9529 55309 220190 The closed-loop system becomes unstable for K 2222 ! Clearly the simple proportional controller will not work, since the angular velocity root-locus plot shows that the closed-loop dimensionless damping ratio must decrease as K increases. 38 Step 2. Specify and evaluate the desired behavior for the closed-loop system. To determine the numerical desired characteristic polynomial, let’s try something different: ITAE third-order. Arbitrarily let n = 5. DES ( s ) s 3 1.75 n s 2 2.15 n2 s n3 s 3 8.75 s 2 53.75 s 125 The associated desired closed-loop poles from third-order ITAE are 2.60 5.34i , 3.54 . Step 3. Specify the form for the controller transfer function. K K s2 KP s KI PID Controller GC ( s ) K P I K D s D s s Step 4. State the controller design problem to be solved. 5 CLDES ( s ) s 3 8.75 s 2 53.75 s 125 , and G (s) 2 Given , H(s) = 1, s 11s 1010 K GC ( s ) K P I K D s , Solve for the PID controller gains KP, KI, and KD. Then evaluate the PID s controller performance. Step 5. Solve for the unknown gains to achieve the desired behavior for the closed-loop system. Derive the closed-loop transfer function as a function of the PID controller gains. 5 KD s2 KP s KI 5 KD s2 KP s KI T ( s) T ( s) T ( s) GC ( s )G ( s ) 1 GC ( s )G ( s ) s s 2 11s 1010 1 5 KD s2 KP s KI s s 2 11s 1010 s s 2 11s 1010 s s 2 11s 1010 5 K D s 2 K P s K I s s 2 11s 1010 5 KD s2 KP s KI s s 2 11s 1010 5 K D s 2 K P s K I 5 KD s2 K P s K I s 3 11 5 K D s 2 1010 5 K P s 5 K I Match the symbolic form (function of KP, KI, KD) with the numerical ITAE desired characteristic polynomial. Denominator parameter matching (fully-decoupled solution) s3 1 1 K D 0.45 s 2 11 5 K D 8.75 K P 191.25 s1 1010 5 K P 53.75 K I 25 s 0 5 K I 125 KP and KD are negative! 39 4 0.02 2 0.01 0 0 -2 -0.01 -4 -0.02 L(t) L(t) Step 6. Evaluate the PID controller performance in simulation. Open- vs. Closed-Loop unit step responses -0.03 -6 -8 -0.04 -10 -0.05 -12 -0.06 -14 -0.07 -16 0 0.5 1 1.5 t (sec) 2 2.5 3 -0.08 0 Open-Loop Closed-Loop PID 0.5 1 1.5 t (sec) 2 2.5 3 Open-Loop Closed-Loop PID, corrected Step 7. Include an output attenuation correction factor if necessary. Here the KI term forces the steady-state output to 1.0 (zero steady-state error for unit step input); however, the original system output was not 1.0 (it was 5/1010, we can’t even see it on the graph), so we need a correction factor to drive the closed-loop system to the same steady-state value (right plot). Rcorr ( s ) R ( s )( corr ) R ( s ) Corrected closed-loop PID transfer function y sso 5 1010 R(s) 0.00495 R ( s ) y ssc 1 T (s) 5 2.25 s 2 956.25 s 125 1010 s 3 8.75 s 2 53.75 s 125 Again: Controller design can easily make matters worse, if not done properly! With negative KP, the closed-loop step response initially goes down while open-loop goes up. The is a huge (negative) overshoot, and the transient response is slower than the open-loop case. Step 9. Re-design and re-evaluate the controller. Perform design iteration until the closed-loop performance specifications are met in simulation. We have no pre-filter yet (Step 8), but we have a bigger problem in the negative KP and KD. Step 2. Specify and evaluate the desired behavior for the closed-loop system. So let’s choose a higher n in the third-order ITAE desired closed-loop numerical characteristic polynomial for faster response and positive KP, KD. KP is the limiting case, i.e. if we force it to be positive, KD will be positive also. 11 5K D 1.75n @ KD = 0, n = 6.29, but then KP will still be negative (KP = –185); therefore let us instead set n so that KP will be positive. @ KP = 0, n = 21.7 1010 5 K P 2.15 n2 So try n = 30 DES ( s ) s 3 52.5 s 2 1935 s 27000 40 The new associated desired closed-loop poles from third-order ITAE are 15.63 32.04 i , 21.24 Step 5. Solve for the unknown gains to achieve the desired behavior for the closed-loop system. Denominator parameter matching (fully-decoupled) 3 s 1 1 K D 8.3 s 2 11 5K D 52.5 K P 185 KP and KD are both positive as planned! s1 1010 5 K P 1935 K I 5400 s 0 5 K I 27000 Step 6. Evaluate the PID controller performance in simulation. Open- vs. Closed-Loop unit step responses Open- vs. PID Closed-Loop -3 8 x 10 L Response, Corrected 7 6 L(t) 5 4 3 2 1 0 0 0.1 0.2 0.3 0.4 0.5 t (sec) 0.6 0.7 0.8 0.9 1 Open-Loop Closed-Loop PID Closed-loop transfer function T (s) 5 42 s 2 925 s 27000 3 2 1010 s 52.5 s 1935 s 27000 Step 7. Include an output attenuation correction factor if necessary. We include the same correction factor as above. The controller response is much better with the positive KP and KD, but the third-order bend in the closed-loop response is not as desired. The desired ITAE response is different, i.e. it doesn’t look like this closed-loop response. Therefore, we need a pre-filter. 41 Step 8. Include a pre-filter transfer function if necessary. Two unwanted zeroes were introduced by the PID controller; these can be cancelled by a prefilter. GP ( s ) Pre-filter transfer function 27000 42 s 925 s 27000 2 Note we specify the 27000 pre-filter transfer function numerator since the pre-filter shouldn’t attenuate the output. When we plot the resulting unit step responses we see in the left plot below that the controller design is now successful. Open-, PID Closed-, and Pre-filtered -3 8 x 10 L Response Open-, PID Closed-, and Pre-filtered -3 5 7 x 10 L Response 4.5 4 6 3.5 5 L(t) L(t) 3 4 2.5 2 3 1.5 2 1 1 0 0 0.5 0.1 0.2 0.3 0.4 0.5 t (sec) 0.6 0.7 0.8 0.9 1 0 0 0.1 0.2 0.3 0.4 0.5 t (sec) 0.6 0.7 0.8 0.9 1 Open-Loop Closed-Loop PID Closed-Loop PID with Pre-Filter The pre-filtered closed-loop transfer function is: T (s) 5 27000 3 2 1010 s 52.5s 1935s 27000 The final closed-loop unit step response is now theoretically identical to the specified third-order ITAE behavior. Note with the ITAE specification we didn’t need to specify percent overshoot, settling time, or peak time. For this controller, the angle L(t) unit step response in time is given in the right plot above (note the steady-state error since the closed-loop PID lags the open-loop and the closed-loop PID with prefilter lags even further). We just integrated the L(t) response to get these results, i.e. we included another s factor in the closed-loop system denominator. 42 Step 6. Evaluate the PID controller performance in simulation. Simulink Model 1 s V Integrator2 Plant OmegaL -KReference OmegaL Corr 27000 PID Controller Pre-filter ThetaL 1 s PID 42s2 +925s+27000 Integrator Plant The Plant blocks above are Simulink masks for the (identical) open-loop plant shown below. tau dist 1 1 1 100 s+10 in_1 RL Circuit -K- 1 0.1s+0.1 Km 1/n Jc rotational dynamics 1 Kb out_1 43 J-Method Controller Alternate design method for Term Example L(t) controller design. Step 2. Specify the desired behavior for the closed-loop system We specify the entire desired closedloop T(s), not just the denominator. To determine the numerical desired entire closed-loop T(s) transfer function, let’s try something different: ITAE second-order. DES ( s) s 2 1.4n s n2 n = 30 (from successful PID controller design) DES ( s) s 2 42s 900 The associated desired closed-loop poles from third-order ITAE are 2 1 2 1 .4 i . 5(900) T ( s ) 2 1010 s 42 s 900 Step 4. Solve for the unknown controller form including the unknown gains. GC ( s ) with G (s) T (s) G ( s ) 1 H ( s )T ( s ) 5 s 11s 1010 2 and H(s) = 1 5(900) 1010 2 s 42 s 900 GC ( s ) 5(900) 5 1010 2 1 (1) 2 s 42 s 900 s 11s 1010 450 s 2 11s 1010 101 2 5 s 42 s 900 GC ( s ) 450 2 s 42s 900 101 s 2 42 s 900 90 2 s 11s 1010 101 GC ( s ) 1 s 2 42 s 450 2 101 J-Method 44 Step 5. Simulate the resulting closed-loop system performance. Simulink Evaluation for the J-Method Term Example Controller Design, Angular Velocity 5 s2 +11s+1010 Plant Step Open-Loop 90/101*[1 11 1010] 5 s2 +42s+450*(2-1/101) s2 +11s+1010 Gc Plant Closed-Loop J-Method Scope 45 Open-Loop Closed-Loop J-Method Disturbed Closed-Loop J-Method There is no need for a correction factor or a pre-filter transfer function. This J-Method controller for the Term Example load shaft angular velocity L(t) control was successful as shown in the left plot above. But how does this controller handle disturbances? As we have seen before, the J-Method controller is very poor at handling disturbances, in this case a unit step disturbance in voltage, subtracted at t = 1 sec. The disturbed J-Method controller output response, shown in the right figure above, has unacceptable transient response and unacceptable steadystate error. 46 5.15 Term Example Disturbances and Steady-State Error L n R cL v A (t) + + v B (t) - - J L (t) cM JM M (t) M (t) M (t) i A (t) L (t) L (t) L (t) Though we have not presented it, it is possible to design controllers specifically to reject disturbances. This last example, the conclusion of the Term Example, discusses controller design to reject disturbances, specifically for achieving lower steady-state error. Term Example open-loop diagram with disturbance D(s) VA (s) G1 (s) I A(s) G2 (s) M (s) TM (s) G3 (s) L (s) 1/n KB where VA(s) is the armature voltage input, L(s) is the load shaft angular velocity output, and D(s) is the disturbance modeled at the actuator input level (disturbance in torque, Nm). where G1 ( s ) 1 Ls R G2 (s) KT G3 ( s ) 1 J E s cE Let VA(s) = 0 and monitor changes in L(s) given a disturbance input. Since VA(s) = 0, any L(s) is the steady-state error, that is, we wish as low an output as possible for the open-loop system. Derive the open-loop disturbance transfer function GD ( s ) L (s) . D(s) M (s) 1 TM ( s ) D ( s ) J E s cE 47 TM ( s ) KT K B M ( s ) Ls R Since V(s) = 0 nL (s) 1 KT KB nL (s) D(s) J E s cE Ls R M ( s) n L ( s ) n L ( s ) J E s cE KT K B n L ( s ) Ls R D ( s ) Ls R n J E s cE Ls R nKT K B L (s) Ls R D(s) GD ( s) Ls R L (s) D( s) n J E s cE Ls R KT K B Open-loop steady-state error for a step disturbance of magnitude D, D( s) EOL ( s) LDES ( s) L ( s) L ( s) D s Ls R D( s ) n J E s cE Ls R KT K B Ls R D essOL lim eOL (t ) lim sEOL ( s) lim s t s0 s0 n J E s cE Ls R KT K B s essOL RD n RCE KT K B Closed-loop diagram with disturbance, tachometer, and P controller D(s) LDES (s) VA (s) - G1 (s) I A(s) G2 (s) TM (s) M (s) G3 (s) L (s) 1/n KB Kt where LDES(s) is the desired load shaft angular velocity output, and the other terms have been previously defined. 48 Let LDES(s) = 0 and check changes in L(s) given a disturbance input. Since LDES(s) = 0, any L(s) is the steady-state error, that is, we wish as low an output as possible for the closed-loop system. Derive the closed-loop disturbance transfer function TD ( s ) M (s) 1 TM ( s ) TD ( s ) J E s cE L ( s) . LDES ( s ) TM ( s) KT A( s) Ls R M ( s) n L ( s ) A(s) VA (s) K B M (s) VA (s) KECL (s) K LDES ( s) Kt L ( s) KKt L (s) A(s) KKt L (s) nK B L ( s) KKt nK B L (s) TM ( s) KT KKt nK B L (s) Ls R n L ( s ) 1 K T KK t nK B L ( s ) J E s cE D(s) Ls R n L ( s) J E s cE KT KKt nK B L ( s) Ls R D( s ) Ls R n J E s cE Ls R KT KKt nK B L (s) Ls R D(s) TD ( s) Ls R L ( s) LDES ( s) n J E s cE Ls R KT KKt nK B Closed-loop steady-state error for a step disturbance of magnitude D, D( s) ECL ( s) LDES ( s) L ( s ) L ( s ) ECL ( s) Ls R D( s ) n J E s cE Ls R KT KKt nK B essCL lim eCL (t ) lim sECL ( s) t s0 Ls R D essCL lim s s0 n J E s cE Ls R KT KKt nK B s D s 49 essCL RD nRcE K T KK t nK B For disturbance-rejecting controller design, ensure the closed-loop steady-state error is less than the open-loop steady-state error. n RcE KT K B essCL RD essOL nRcE KT KK t nK B RD n RcE KT K B essCL essOL nRcE KT KK t nK B Design so essCL 1 essOL 50 Numerical example from Term Example essOL RD n RcE KT K B essCL 10 D 200 1 100 10 D 200 100 KK t 200 10 D 20200 10 D 20200 100 KK t essCL 10 D 20200 essOL 20200 100 KK t 10 D RD nRcE KT KK t nK B essCL 20200 1 essOL 20200 100 KK t 20200 20200 100 KK t 20200 100 KKt 20200 100 KKt 0 KKt 0 Kt K tachometer selection proportional controller gain Assume the tachometer gain is fixed. Then the only way to reduce the closed-loop steady-state error is to increase proportional controller gain K as much as possible. Now, this proportional controller for disturbance rejection is not very satisfying – we know from the root-locus plot that the higher we make K, the worse the transient response will be (stable but more highly underdamped as K increases). So this demonstrates another tradeoff in controller design – to ensure lower steady-state errors due to unknown, unwanted disturbances, we must accept worse transient response performance. 51 6. Vibrational Responses 6.1 Free Vibrational Responses 6.1.1 Undamped Second-Order System Free Responses: Simple Harmonic Motion 6.1.1.1 Analytical Undamped Second-Order System Free ODE Solutions Analytical Solution via the Laplace Transform Method Let us solve the same general unforced Harmonic Oscillator second-order IVP ODE using an alternative method: Laplace Transforms. Since we are solving a linear ODE, there is a unique solution, which we have found using the Slow ME Way and validated by direct substitution. The Problem Statement is the same: x(t ) a0 x(t ) 0 for x(t) given a2, a0, and values for the initial conditions: Solve a2 x(0) x0 x(0) v0 In contrast to the Slow ME Way, ODE solution via Laplace Transforms is accomplished algebraically in the Laplace frequency domain, in a single step, including the initial conditions. The first step is to take the Laplace Transform of both sides of the ODE, including the initial conditions, and solving algebraically for the unknown in the Laplace domain, X (s) L{x(t)}. L a2 x(t ) a0 x(t ) 0 a2 ( s 2 X ( s ) sx(0) x (0)) a0 X ( s ) 0 (a2 s 2 a0 ) X ( s ) a2 ( x0 s v0 ) X (s) a2 ( x0 s v0 ) a2 s 2 a0 Note that the system characteristic polynomial a2 s 2 a0 appears when using the Laplace Transform method. To find the solution in the time domain, x(t), we must take the inverse Laplace Transform of X(s). 52 x(t ) L1 X ( s) a ( x s v0 ) 1 x0 s v0 x(t ) L1 2 02 L a2 s a0 s 2 a0 a2 x s v s 1 1 x(t ) L1 0 L1 0 x0 L1 v0 L a a a s2 0 s2 0 s2 0 s 2 a0 a2 a2 a2 a2 Consulting a table of Laplace Transforms, such as in Appendix B, we find two applicable entries. s sin t cost 2 2 2 s s 2 The left term in x(t) above is ready to go and will yield a cosine term; the right term must be a a0 ) and rearranging. manipulated algebraically, multiplying by a ‘1’ ( 0 a2 a2 s x(t ) x0 L1 s 2 a0 a2 a0 v a 1 0 2 L a 2 0 s a0 a2 a2 Now let us use our earlier definition for natural frequency: n a0 a2 to yield s v0 1 n2 2L 2 x(t ) x0 L 2 2 2 s n n s n 1 With one more algebraic manipulation (distributing the product n2 n n ) s v0n 1 n 2 L 2 x(t ) x0 L1 2 2 2 n s n s n s v0 1 n L 2 x(t ) x0 L1 2 2 2 s n n s n We can finally take the two inverse Laplace Transforms to yield the solution x(t) 53 x (t ) x0 cos n t v0 n sin n t As predicted, this solution agrees with the solution derived via the Slow ME Way – we have validated this solution, presented some equivalent alternative solution forms, and presented a numerical example so we needn’t repeat this work since it is the same. 54 6.1.2 Underdamped Second-Order System Free Responses 6.1.2.4 Damped Second-Order System Free Response Numerical ODE Solutions Numerical Plots with All Three Derivatives For a more complete graphical result in this numerical example, we next separately plot on the next four graphs, the same displacements x(t) as above, along with two derivatives. The first one, for undamped free SHM using MATLAB file SHM.m, has been presented previously. x (t ) 0.0100 cos t 0.0095sin t x (t ) 0.0314 sin t 0.0300 cos t x (t ) 0.0987 cos t 0.0942 sin t Undamped SHM Numerical Example x(t) and Time Derivatives Time Response 55 Underdamped SHM Numerical Example x(t) and Time Derivatives Time Response Critically-damped SHM Numerical Example x(t) and Time Derivatives Time Response Overdamped SHM Numerical Example x(t) and Time Derivatives Time Response Note that if n > 1 then the magnitude of the acceleration is greater than the magnitude of the velocity, which is greater than the magnitude of the position, in all four cases. The previous three plots were generated by MATLAB file DO.m. 56 6.2 Forced Vibrational Responses Analytical Solution via the Laplace Transform Method Let us solve the same general harmonically-forced undamped second-order IVP ODE using an alternative method: Laplace Transforms. Since we are solving a linear ODE, there is a unique solution, which we have found using the Slow ME Way and validated by direct substitution. The Problem Statement is the same: Solve a2 x (t ) a0 x (t ) u (t ) for x(t) given a2, a0, u(t) U sint , and zero initial conditions x(0) x0 0 x(0) v0 0 In contrast to the Slow ME Way, ODE solution via Laplace Transforms is accomplished algebraically in the Laplace frequency domain, in a single step, including the forcing function and initial conditions. The first step is to take the Laplace Transform of both sides of the ODE, including the initial conditions and forcing function, and solving algebraically for the unknown in the Laplace domain, X (s) L{x(t)}. L a2 x(t ) a0 x(t ) U sin t s 2 (a2 s 2 a0 ) X ( s ) U 2 s 2 a2 ( s 2 X ( s ) sx(0) x (0)) a0 X ( s ) U X ( s) 2 U (a2 s a0 )( s 2 2 ) 2 Note that the system characteristic polynomial a2s2 a0 appears when using the Laplace Transform method. To find the solution in the time domain, x(t), we must take the inverse Laplace Transform of X(s). x(t ) L1 X ( s) U x(t ) L1 2 2 2 (a2 s a0 )( s ) We find no Laplace Transform entries matching this X(s), so we must first perform the Heaviside Partial Fraction Expansion on X(s) to break it into manageable pieces that are found in the Laplace Transform Table. 57 X (s) C1s C2 C3s C4 U (a2s2 a0 )(s2 2 ) (a2s2 a0 ) (s2 2 ) Where the Heaviside Partial Fraction unknown constants C1, C2, C3, C4 are called the residues. Note that we break X(s) into a sum of terms each with a single denominator factor from the original. Also note that the order of each numerator polynomial in s must be one less that the order of its denominator. If you can factor a denominator into real factors, do so – if they are imaginary, do not factor. Immediately upon breaking apart X(s) into the partial fraction expansion, we express it again over a common denominator, and equate it to the original X(s). (C1s C2 )(s2 2 ) (a2s2 a0 )(C3s C4 ) U X (s) 2 2 2 2 (a2s a0 )(s ) (a2s a0 )(s2 2 ) Equating the numerators we have: (C1s C2 )(s 2 2 ) (a2 s 2 a0 )(C3 s C4 ) U (C1s3 C2 s 2 ) (C1 2 s C2 2 ) (a2C3 s3 a0C3 s) (a2C4 s 2 a0C4 ) U (C1 a2C3 )s3 (C2 a2C4 )s 2 (C1 2 a0C3 )s (C2 2 a0C4 ) U Balancing the powers of s coefficients on the left- and right-hand-sides of the above equation yields four linear equations in four unknowns. s3 C1 a2C3 0 s 2 C2 a2C4 0 1 2 s1 C1 2 a0C3 0 a2 C1 0 a0 C3 0 1 a2 C2 0 2 a C U 0 4 s 0 C2 2 a0C4 U The solution to the Heaviside Partial Fraction unknown constants C1, C2, C3 (the residues) is: C1 0 C2 And substituting into X(s) yields a2U a0 a22 C3 0 C4 U a0 a22 58 X ( s) C s C4 C1s C2 32 2 (a2 s a0 ) (s 2 ) X ( s) C2 C a U 1 1 U 2 4 2 2 2 2 2 2 2 (a2 s a0 ) (s ) a0 a2 (a2 s a0 ) a0 a2 (s 2 ) 1 U U X ( s) 2 2 2 a0 a2 2 a0 (s ) a0 a2 2 s a2 a0 a2 a0 2 a0 (s 2 2 ) s a2 a2 Consulting a table of Laplace Transforms, such as in Appendix B, we find an applicable entry. sin t s 2 2 a0 a2 U x (t ) L1 X ( s ) L1 2 a0 a2 a0 2 a0 s a2 a2 U sin n t sin t x (t ) 2 a0 a2 n 2 2 (s ) where n a0 a2 As predicted, this solution agrees with the solution derived via the Slow ME Way – we have validated this solution and presented a numerical example so we needn’t repeat this work since it is the same. 59 6.2.2 Damped Second-Order System Harmonically-Forced Responses 6.2.2.2 Damped Second-Order System Harmonically-Forced Numerical Examples a. Critically-damped Solution 1 characteristic polynomial s2 2 s 2 c 62.83 1 2 km 2 100 2 roots , x(t ) (0.0000192 0.002t )e t 0.0000779sin(8 t 2.89) T 2 2 1 sec 8 4 As seen in the time response plot below for the total x(t), one steady-state mode of vibration is superimposed onto the non-oscillatory critically-damped transient response. We see that the transient response disappears (the total solution approaches the steady-state solution) by around 3 sec. The particular solution remains for as long as the input harmonic forcing function is applied. At t = 0, the initial value is 0 m and the slope is also zero, as specified by the zero initial conditions. Harmonically-Forced Critically-Damped Numerical Example x(t) Time Response 60 Below we plot the same x(t) response for the same example as the above plot, along with its first and second derivatives. These three are arranged separately on a subplot since their magnitudes are greatly different; the acceleration is the largest, then the velocity, and the position magnitudes are the smallest. We see that the acceleration reaches steady-state before the velocity, which reaches steadystate before the position. We see both initial conditions, i.e. zero initial position and velocity. It also turns out that the initial acceleration is zero, though this is not specified since it is only a second-order problem. What are the relationships amongst these plots, from Calculus? Same Critically-Damped Numerical Example with Position Velocity, and Acceleration 61 Now we plot the same response for the same example as the above two plots, this time showing the x(t) vs. x(t) phase plot. To emphasize the steady-state behavior (vibratory response to the harmonic forcing function), the plot below includes time up to 20 sec, instead of 6 sec as before. How do we interpret this complicated graph? Where is time on this graph? Same Critically-Damped Numerical Example, Phase Plot 62 Let us repeat the above critically-damped numerical example, only changing the driving frequency , with associated driven time period T 16x longer. 2 2 f (t ) F sin t 0.5sin t 4 sec T 2 2 The new time response is plotted below. Harmonically-Forced Critically-Damped Example x(t) Time Response with Lower The natural frequency n is unchanged and the new second-order response x(t) is: n 10 2 rad 10 sec x(t ) (0.0032 0.0064t )e t 0.0041sin( t 0.93) 2 Again in the total time response x(t), one steady-state mode of vibration is superimposed onto the non-oscillatory critically-damped transient response. We see that the transient response again disappears (the total solution approaches the steady-state solution) by around 3 sec. The particular solution remains for as long as the input harmonic forcing function is applied. At t = 0, the initial value is 0 m and the slope is also zero, as specified by the zero initial conditions. The two plots below show the same second critically-damped system harmonically-forced example, first the position, velocity, and acceleration and second the phase plot. 63 Second Critically-Damped Numerical Example with Position Velocity, and Acceleration Second Critically-Damped Numerical Example, Phase Plot (t = 40 sec) 64 b. Overdamped Solution 1 characteristic polynomial s2 12.57s 2 c 125.66 2 2 km 2 100 2 roots –0.84, –11.73 x(t ) 0.000183e 0.84t 0.000150e 11.72t 0.000072sin(8 t 2.67) T 2 2 1 sec 8 4 As seen in the time response plot below for the total x(t), one steady-state mode of vibration is superimposed onto the non-oscillatory overdamped transient response. We see that the transient response disappears (the total solution approaches the steady-state solution) by around 6 sec, slower than the critically-damped case. The particular solution remains for as long as the input harmonic forcing function is applied. At t = 0, the initial value is 0 m and the slope is also zero, as specified by the zero initial conditions. Harmonically-Forced Overdamped Numerical Example x(t) Time Response 65 Below we plot the same x(t) response for the same example as the above plot, along with its first and second derivatives. These three are arranged separately on a subplot since their magnitudes are greatly different; the acceleration is the largest, then the velocity, and the position magnitudes are the smallest. We see that the acceleration reaches steady-state before the velocity, which reaches steadystate before the position. We see both initial conditions, i.e. zero initial position and velocity. What are the relationships amongst these plots, from Calculus? Same Overdamped Numerical Example with Position Velocity, and Acceleration 66 Now we plot the same response for the same example as the above two plots, this time showing the x(t) vs. x(t) phase plot. To emphasize the steady-state behavior (vibratory response to the harmonic forcing function), the plot below includes time up to 20 sec, instead of 6 sec as before. How do we interpret this complicated graph? Where is time on this graph? Same Overdamped Numerical Example, Phase Plot 67 Let us repeat the above critically-damped numerical example, only changing the driving frequency , with associated driven time period T 16x longer. 2 2 f (t ) F sin t 0.5sin t 4 sec T 2 2 The new time response is plotted below. Harmonically-Forced Overdamped Example x(t) Time Response with Lower The natural frequency n is unchanged and the new second-order response x(t) is: n 10 2 10 rad sec x (t ) 0.000183e 0.84 t 0.000150e 11.72 t 0.000072sin(8 t 2.67) Again in the total time response x(t), one steady-state mode of vibration is superimposed onto the non-oscillatory critically-damped transient response. We see that the transient response again disappears (the total solution approaches the steady-state solution) by around 7 sec. The particular solution remains for as long as the input harmonic forcing function is applied. At t = 0, the initial value is 0 m and the slope is also zero, as specified by the zero initial conditions. The two plots below show the same second critically-damped system harmonically-forced example, first the position, velocity, and acceleration and second the phase plot. 68 Second Overdamped Numerical Example with Position Velocity, and Acceleration Second Overdamped Numerical Example, Phase Plot (t = 40 sec) 69 6.2.2.5 Transmissibility An important topic in vibrations and machine design is vibration isolation. For a given machine, designers specify the mountings (combinations of springs and dashpots) to reduce the shaking forces and moments on the ground as much as possible. Passive vibration isolation indicates using fixed components for isolation. Active vibration isolation requires sensors, a processor, actuation, and control theory, which is much more complicated, but with potential improvements in vibration isolation compared to the passive case. Transmissibility is defined as the ratio of the maximum force transmitted to the base over the maximum input force magnitude and is thus unitless or can be expressed as a percentage. In a good vibration isolation system, the transmissibility should be low, much less than 1. Consider the standard forced m-c-k system. Recall from the ME 3012 NotesBook section on resonance that the maximum normalized amplitude M is: M A 1 Fk (1 r 2 )2 (2 r)2 r n where A is the amplitude of vibration, F is the input sinusoidal force magnitude, and k is the spring constant. In this system the ground force is transmitted through the spring and dashpot elements. Recall that the spring and dashpot forces are f S kx(t ) and f D cx (t ) . Further recall that the velocity x (t ) always leads the position x(t) by 90 . Therefore the total maximum transmitted force Ft is: 2 2 2 c Ft (kA) (cA) kA 1 kA 1 kA 1 2 r k n 2 2 2 And the transmissibility TR is the ratio of Ft over F. kA 1 2 r F TR t F kA (1 r 2 )2 (2 r )2 2 TR 1 (2 r )2 (1 r 2 )2 (2 r )2 Note that this TR result has the same denominator as the M ratio from the resonance discussion, but a different numerator. Below we plot TR vs. frequency ratio r, for various values. 70 Transmissibility vs. r We see all curves pass through the same ratio point of 1 at r = 0 and r 2 . From these graphical results we see that the designer must keep the frequency ratio r as large as possible and the damping as small as possible to achieve low transmissibility TR 1 . MATLAB file Transmiss.m was used to generate the above curves. The vibrational model for a second-order m-c-k system with input displacement u(t) instead of input external force f(t) is: m x ( t ) cx ( t ) kx ( t ) cu ( t ) ku ( t ) Due to the similarity of these models, the transmissibility TR X is identical to the transmissibility U Ft and so the above plot covers the displacement input case also, with the same design F conclusions. TR 71 6.2.2.6 Rotating Imbalance The model for a machine with a rotating imbalance is shown below. m1 x(t) e t m2 x(t ) cx(t ) kx(t ) m1e 2 sin t m2 k c where the unbalanced mass is m1, the total machine mass is m2, e is the effective offset length of the imbalance, and the equivalent spring and damping coefficients connecting the machine to ground are k and c, respectively. Following the same method we used for deriving the resonance plots we obtain the dimensionless ratio E expressing the machine motion relative to the unbalanced motion. mA r2 E 2 m1e (1 r 2 )2 (2 r )2 This E relationship is plotted below vs. frequency ratio r, for various values. Unbalanced motion ratio vs. r 72 At first this series of plots resembles the resonance plots from before. Two main differences are that the peaks in E ratios for the various values are to the right of r = 1, rather than to the left, and the final value asymptote is 1 rather than 0. This means that the machine vibration approaches that of the rotating imbalance as r increases. Again, r values near resonance are to be avoided due to high output motion. The transmissibility results for this rotating imbalance case are different than for the two cases presented previously in the last section. The transmissibility in this case is defined as the force transmitted to ground through the springs and dashpots, relative to the normalized unbalanced mass. r 2 1 (2 r )2 Ft k TRU m1e m2 (1 r 2 ) 2 (2 r )2 This TRU relationship is plotted below vs. frequency ratio r, for various values. Unbalanced transmissibility TRU vs. r We see all curves pass through the same transmissibility point of 2 at r 2 . Again, we desire very low values of transmissibility in the rotating unbalance case, that is we want TRU 1 . In the TRU plots above we see that all cases will yield T RU 1 , some even yield TRU 1 . For all r values greater than 1, (and for many r values less than 1), higher damping causes higher transmissibility, which is undesirable. The best way to limit transmissibility in this case is to minimize the rotating imbalance m 1 e by balancing the rotating shaft. MATLAB file Transmiss.m was used to generate the above two plots. 73 6.2.3 General Forcing Functions In forced vibrations analysis we considered only periodic harmonic input forcing of the form f (t) F sint We could have equally considered periodic harmonic input forcing of the form f (t) F cost . All derived results would be very similar so we needn’t repeat our derivations for the cosine input function. This section discusses more general input functions for forced vibrations of dynamic systems. We consider both periodic and non-periodic general input forcing functions. These topics used to be central in learning classical vibrations, but, with the advent of MATLAB/Simulink, these types of general input functions are easy to represent using computer simulation. These simulations are much more accurate and far easier to perform than earlier in history. 6.2.3.1 Periodic Forcing Functions Periodic forcing functions used as external inputs to vibratory systems have classically been represented by the Fourier series. Any periodic forcing function f(t) with a time period of T 2 can be represented by an infinite Fourier series. f (t ) a0 a p cos p t b p sin p t 2 p 1 p 1 where ap 2 T f (t )cos ptdt T 0 p 0,1,2, bp 2 T f (t )sin ptdt T 0 p 1,2, It is up to the engineer to decide how many p terms to include in the series to obtain the desired fidelity and accuracy. An alternate form for the Fourier series, suitable for the frequency response, is obtained by using a familiar transformation (sine sum-of-angles formula); the result is: f (t ) A0 Ap sin p t p p 1 where A0 a0 2 Ap a2p bp2 ap b p p tan 1 74 Fourier Series Examples 1. Square Wave. Represent the f(t) square wave below by using a Fourier series. The time period in this example is T 2 sec (thus 2 T 1 rad/sec) and this input repeats periodically as long as desired. The discontinuous square wave function f(t) is: f (t) 1 0t f (t) 1 t 2 Solution. Evaluating the Fourier series coefficients for this given square-wave and given time period T, we find the following coefficients. p 0,1,2, ap 0 bp 4 p p 1,3,5, p 2,4,6, bp 0 Therefore, the square-wave solution is: f (t ) 4 sin t sin 3t sin 5t 3 5 1 The fundamental frequency of a periodic function such as this result is: 2 2 rad 1 T 2 sec and the harmonic frequencies of a periodic function, the components contributing to the Fourier series, are: p p2 p2 rad p 2 sec T p 1,3,5, Any guitar player knows that harmonic frequencies are integer multiples of the fundamental frequency for each string. As shown above, only the odd sine terms are non-zero in the Fourier series for the square wave. The subplots below show the Fourier series approximation for the given square wave, for p = 1, 7, 13, 19. 75 Fourier Series Approximation of a Square Wave We see that higher p values represent the discontinuous square wave more faithfully. However, the harmonic frequencies increase, though with relatively low amplitude, as p increases. Also, the amount of overshoot shown for p = 19 is no longer decreasing for higher p. It is pretty cool to animate this in MATLAB – demonstrate this using MATLAB file FourierSeries.m. 2. Saw-Tooth Wave. Represent the f(t) saw-tooth wave below by using a Fourier series. The time period in this example is again T 2 sec (thus 2 T 1 rad/sec) and this input repeats periodically as long as desired. The discontinuous saw-tooth wave function f(t) is: f (t) t 0t f (t) t 2 t 2 Solution Evaluating the Fourier series coefficients for this given saw-tooth wave and given time period T, we find the following coefficients. 76 p 0,1,2, ap 0 bp 2( 1) p 1 p p 1,2,3,4, Therefore, the saw-tooth wave solution is: sin t sin 2t sin 3t sin 4t f (t ) 2 2 3 4 1 The fundamental and harmonic frequencies for this example are: 2 2 rad 1 T 2 sec p p2 p2 rad p T 2 sec p 1,2,3,4, As shown above, only the sine terms are non-zero in the Fourier series for the saw-tooth wave, in this case, all p terms (not just the odds as in the square wave). The subplots below show the Fourier series approximation for the given saw-tooth wave, for p = 1, 4, 7, 10. Fourier Series Approximation of a Saw-Tooth Wave 77 We see again that higher p values represent the discontinuous saw-tooth wave more faithfully. However, the harmonic frequencies increase as p increases. Also, the amount of overshoot increases for increasing p. These plots were generated using MATLAB file FourierSeriesSaw.m. Fourier Series Frequency Spectrum We can also represent Fourier Series example results using a frequency spectrum. That is, we can plot the amplitude A of each Fourier Series component vs. p, the frequency counter for each term. Remember p = 1 is associated with the fundamental frequency , and p > 1 are the harmonic frequencies, where p is always an integer. The frequency spectrum plots are given below for the squareand saw-tooth wave examples from before. Amplitude A(p) vs. Frequency Counter p for the Square Wave Remember for the square wave that only the odd sine terms were active. The plot above shows the Fourier Series amplitude for each component in the square wave approximation, up to p = 19. The curve gives the amplitude formula, 4 p , but it is only in effect for the odd integer p values. 78 Amplitude A(p) vs. Frequency Counter p for the Saw-Tooth Wave Remember for the saw-tooth wave that only the sine terms were active, this time odds and evens for p. The plot above shows the Fourier Series amplitude for each component in the saw-tooth wave approximation, up to p = 10. The curve gives the amplitude formula, 2 p , but it is only in effect for the integer p values. Note that the amplitudes A(p) above are shown to be positive only; in the saw-tooth Fourier Series approximation, all the even terms are negative. These two plots were generated using MATLAB files FourierSeries.m. and FourierSeriesSaw.m, respectively. The 3D plot below shows a diagram to better explain the relationships amongst amplitude, time, and frequency in sinusoidal functions. Amplitude A vs. time t vs. frequency diagram 79 Fourier Series Forcing Function The model for a standard m-c-k system with a general input periodic forcing function is: mx(t ) cx (t ) kx (t ) f (t ) a0 a p cos p t b p sin p t 2 p 1 p 1 Classically, this problem can be solved by utilizing linear superposition, i.e. solving this linear secondorder ODE separately for each of the three forcing terms above, and then adding the three solutions to obtain the overall solution. In this section, instead, we will use MATLAB/Simulink to solve some example numerical problems with periodic forcing functions. Example 1 Solve the following ODEs given that u(t) is a periodic square pulse wave of time period 4 sec, with a value of 1 for half the cycle and a value of zero for the second half of the cycle (see the yellow curve below). b. x(t) x(t) u(t) a. x(t) 5x(t) 5u(t) As presented earlier, to communicate a system to MATLAB’s Simulink, we must use state space matrices. For a first order system, all state-space matrices are scalars: a. A 5 B 5 C 1 D 0 b. A 1 B 1 C 1 D 0 The Simulink model SquareInput.mdl to simulate the time responses of these two systems to the given square wave pulse is shown below. The Simulink time response plots are shown next. Simulink model for first-order systems square pulse time responses 80 Input Square Wave First-order Response a. First-order Response b. For case a. the time constant is = 0.2 sec and we see the square wave pulse response does have time to reach its steady-state value of 1 before the pulse magnitude switches. For case b. the time constant is = 1 sec and we see the square wave pulse response does not have sufficient time to reach its steady-state value of 1 before the pulse magnitude switches. Example 2 Re-solve the case a. ODE from Example 1, given that u(t) is a periodic triangular saw wave of time period 4 sec, with a value of u(t) = t for the cycle and a discontinuity leading to the next cycle (see the yellow curve below). The Simulink model SawInput.mdl to simulate the time responses of this first-order system a. to the given saw-tooth wave is shown below. The Simulink time response plots are shown next. Simulink model for first-order system saw-tooth wave time response 81 Input Saw Wave First-order Response a. We see that now case a. cannot keep up with the input triangular wave. There is time lag in the response and the magnitudes do not reach the desired values either at the maximum or minimum saw-tooth points. 6.2.3.2 Non-periodic Forcing Functions Non-periodic (aperiodic) input forcing function inputs can readily be handled in MATLAB/Simulink simulation and hence are not covered here. Standard aperiodic input functions such as the unit impulse (Dirac delta), unit step, and unit ramp inputs are a major focus of the Controls we presented in the first part of this semester. 82 7. Hardware Control in the Ohio University Robotics Lab 7.1 Quanser/Simulink Controller Architecture Quanser/Simulink Controller Diagram Quanser/Simulink Controller Hardware External I/O Board Power Supply 83 Controlled via Quanser/Simulink Inverted Pendulum 84 Controlled via Quanser/Simulink (continued) 8-axis NASA ARMII (Advanced Research Manipulator II) SPAM (SPherically-Actuated platform Manipulator) 85 Controlled via Quanser/Simulink (continued) 4-dof GPS/IMU Calibration Platform 3-dof Planar 3-RPR Parallel Robot 86 Controlled via Quanser/Simulink (continued) 6-dof Spatial 6-PSU Platform RoboCup Player Cable-Suspended Haptic Interface 87 Controlled via Quanser/Simulink (concluded) 7-Cable Robot with Amplifiers Quanser/Simulink Split Diagram Here the Simulink closed-loop feedback diagram for the 7-cable robot appears to be open (split) and incomplete; the plant is missing. However, the real-world machine under control serves as the plant and no model of this plant is required since the real-world behaves as it will, much better than any model we can construct. So the gap (split) in this diagram is where the real-world plant is (motors outputs to and sensors readings (stringpots in this example) from the real-world). The seventh motor is controlled in a different way for tensioning the cables and entire endeffector. 88 7.2 Programmable Logic Controller (PLC) Architecture PLC Controller Diagrams Desired Position + Error Robot Controller Chassis Software Routine PLC Analog Output Module P DC Motor Axis 1 PWM Servo Amp. - PLC Analog Input Module 20-80 cm Calibration Function Actual Position 1-10 VDC IR Sensor Closed-Loop Position Control of Axis 1 L1 L2 GND 115 VAC On Off E-Stop Fuse MCR1 MCR1 MCR2 Suppresser Suppresser Fuse PLC MCR1 PWM Servo Amp. Axis 1-5 + 24 VDC MCR2 Fuse DC Power Supply Unregulated + 40VDC - DC Power Supply Regulated Outputs To Sensors Switches and Indicators Outputs To Digital Encoders +5 VDC MCR2 COM Schematic of Controller Layout and Power Distribution 89 PC Programming Terminal Power Supply + 24 VDC 5 VDC + Serial Port Interface PLC PLC Power Supply 0 1 2 3 4 5 6 Space For Expansion (Slot) Module Type (0) Processor (1) Servo Card Axis 2 & 3 (2) Servo Card Axis 4 & 5 (3) Analog Output (4) Analog Input (5) Digital Output (6) Digital Input Limit & Control Switches LED Indicators Ultrasonic Sensors (0-10 V) (1-10 V) IR Sensor (+/- 10 VDC) PWM Servo Amp. DC Motor PWM Servo Amp. DC Motor & Encoder Axis 2 Axis 1 (+/- 10 VDC) Encoder Feedback (+/- 10 VDC) PWM Servo Amp. DC Motor & Encoder Axis 5 Encoder Feedback PLC Control System Hardware: Ladder Logic - + - 90 Controlled via PLC Stewart-Glapat Pallet Handling Device (PHD) PLC Cabinet PLC Interface