ME 422 Control Systems Steady-State Error Notes Above is shown a standard feedback control loop. Let’s look at how the controller GC works in the system. It takes error E(s) in and produces a command signal U (s), which commands the actuator GA to exert some “force” F (s) on the plant. In a mechanical system the “force” may be an actual force. But in a rotational system it could be a torque. In a liquid level system, the actuator is a valve and the “force” is actually a flow rate. So the quotation marks signify that the word “force” is used very abstractly here. What the “force” does is to move some variable C(s) in the plant GP toward its desired value R(s). If the controller does its job, B = R, so E = 0. The controller tells the actuator to do nothing, and no “force” is sent to the plant. So the purpose of the controller is to drive its input, E(s), to 0. If the order of the system is not great enough, it may not be possible to drive E to 0. That is, ess may not go to 0 after we input some R and let the system settle to a new steady state. A good example of this is a liquid level system. At its design steady state operating point, the system runs with a steady level, steady input and output flows, and a steady position on the inlet (control) valve. At this design steady state operating point, all the steady operating values (H, Q, inlet valve position) are taken as reference values. In the control loop, these values are considered 0 and all variables in the loop are calculated as deviations from these values. If we want to operate at a higher tank level, we will change R so that it is no longer at the steady state operating value. Making this change will cause R to be greater than C, so a positive E will develop. This will cause the controller to command the valve (actuator) to open. The greater flow will cause the height to rise. Eventually the system will come to a new steady state. The tank level will be higher, and the flow through the system will be greater than it was at the design steady state. If we assume that the inlet pressure to the control valve is constant, the control valve would have to operate with a greater valve opening than it did at the design steady state. The only way for this valve to have this greater opening is for there to be a residual error that commands it to maintain a greater opening. If the tank level were to rise exactly to the new level commanded, E would again be 0 and the control valve would return to its steady state operating point. But at that point, the inlet valve will not pass enough flow to maintain the new, higher demanded level. So some residual error is needed to keep the inlet valve open far enough above its design steady state position to support the flow needed for the new, higher tank level. Chapter 7 covers dealing with steady state error. We only spend one day on this topic. We will use it in designing controllers twice more later in the quarter. Here’s the topic in a nutshell. The core tool for you to use is Table 7.2 on page 382. The table is for use with unity feedback systems, i.e. In the above system, the feedback gain H(s) = 1. If you have a non-unity feedback system, there is an easy way to convert into an equivalent unity feedback system. Section 7.6 in the textbook iscusses how to do this. The error value ess depends on the “type” of G(s). To get the “type” of a transfer function count the number of free s’s in its denominator; free s’s are s’s that are not part of a first or second order component. For example, 18 G(s) = s(s + 3) is a type 1 system because there is one free integrator (the s by itself) in the denominator; 18 G(s) = (s + 3) is a type 0 system; and 18(s + 6) s4 + 7s3 + 12s2 is a type 2 system. Two things help us to determine the type of this last example: first, an s2 can be factored out of the terms in the denominator; and second, the (s + 6) in the numerator (the zero) has absolutely no effect on determining the system type. Note also that to determine system type, we use the open-loop transfer function in a unity feedback system. Do not use the closed-loop transfer function nor G(s) in a system where the feedback gain H(s) is not equal to 1. Besides system type, the input function type is needed to determine steady state error. The three input types covered in Table 7.2 are step u(t), ramp tu(t), and parabola 0.5t2 u(t). The system type and the input function type are used in Table 7.2 to get the proper static error constant. There are three of these: Kp (position error constant), Kv (velocity error constant), and Ka (acceleration error constant). Once you have the proper static error constant, you can find the steady state error ess . The static error constants are found from the following formulae: G(s) = Kp = lim G(s) s→0 Kv = lim sG(s) s→0 Ka = lim s2 G(s) s→0 Now we can use Table 7.2 to find the steady-state error. The table is reproduced below. Input Steady state error Type 0 Static Error error constant Type 1 Static Error error constant Type 2 Static Error error constant Step u(t) 1 1+Kp Kp = con. 1 1+Kp Kp = ∞ 0 Kp = ∞ 0 Ramp tu(t) 1 Kv Kv = 0 ∞ Kv = con. 1 Kv Kv = ∞ 0 Parabolic (1/2)t2 u(t) 1 Ka Ka = 0 ∞ Ka = 0 ∞ Ka = con. 1 Ka Note that ess has one of three values: 0, a constant, and infinity. Notice how these values are distributed in the table. Also note the aberration in the formula for ess using the position error constant. ess is not equal to 1/Kp . Example The system above is a tank level system with a proportional controller (a simple gain of K). The actuator is a valve, represented here by a constant transfer function Kvlv . The system is subjected to a unit step input, which is equivalent to raising the desired level by 1 unit. Determine the tank level’s steady state error. Here we already have a unity-feedback system. From the block diagram the open-loop transfer function is G(s) = K Kvlv Kss Ts + 1 also Kp = lim G(s) = K Kvlv Kss s→0 Therefore, ess = 1 1 + K Kvlv Kss