Module 2: Feedback PropertiesThis article is contained in Scilab Control Engineering Basics study module, which is used as course material for International Undergraduate Program in Electrical-Mechanical Manufacturing Engineering, Department of Mechanical Engineering, Kasetsart University.
Module Key Study Points
- The benefiets of feedback
- Step response and tracking performance
- Stability judgment from transfer function pole locations
- Root-locus plot
- Disturbance attenuation performance
which gives the plot in Figure 2.
-->plot(r.time,r.values,y1.time,y1.values,y2.time,y2.values, ... y3.time,y3.values); -->xlabel('time (sec)'); -->ylabel('angle'); -->legend('Command','Gain=0.001','Gain=0.01','Gain=0.1');
Tracking PerformanceFrom the comparison in Figure 2, we observe in the lowest gain case that the step response gradually rises to the command level of 1. When the gain increases, the response is faster, but exceeds 1 further before settling more in an oscillating fashion. The step responses from most dynamical systems behave quite the same. So we can formulate time-domain parameters that can be used as control specifications like shown in Figure 3. Consult an undergrad control text for definition of these parameters, some of them may have slight variants among authors. For example, some may define rise time tr as the period the response goes from 0.1 to 0.9 of the command value, while the settling time could be specified as the time the response stays within 0.05 or 0.02 of the command value.
(1)Our control design job is to select the control parameters , , , to achieve a good tracking response. Note that z and p are called the zero and pole of . In general, zeros and poles of a transfer function correspond to the roots of its numerator and denominator, respectively. Certain feedback properties can be determined from their locations. We will get back to this later. At this point, let us do some trial and error design with the lead-lag compensator feedback diagram in Figure 4. Download leadlag_feedback.zcos, adjust the parameters , , to achieve the best step response possible. Actually, there exists some design procedure for a lead-lag feedback system discussed in a standard undergrad control textbook. At this point, consult one if you are hopeless. We will gradually learn about control design after a few basics are made clear to the reader.
(2)that yields the step response in Figure 5. Obviously, tracking performance is vastly improved, since now the step response settles within 0.2 second, compared to 800 seconds when using only proportional gain.
(3)Running the simulation with this compensator yields the response in Figure 6. This is an example of unstable response, as the output oscillates out of bound. So, in the next section, we study in more detail this important feedback property.
Closed-Loop StabilityWe should have put this statement before anything else: a feedback system must be stable. An unstable closed-loop system is not only useless, it can also cause harm to the operator and/or environment. Imagine an output such as in Figure 6 would cause the robot arm to swing wildly and hit anything in the area. As already well-known, for an SISO system like our DC motor robot joint, feedback stability can be checked from the poles of a closed-loop transfer function. For a stable system, all such poles must lie in the left half of complex plane. A system with pole(s) on the axis, which gives oscillatory response may be called marginally stable. For example, in the diagram of Figure 4, the transfer function from to with unity feedback can be computed as
(4)To form in Scilab is straightforward
Its poles can then be observed graphically by issuing command
-->s=poly(0,'s'); -->P=syslin('c',1/(10*s^2+0.1*s)); -->C=syslin('c',20000*(s+0.01)/(s+100)); -->Tyr=C*P/(1+C*P) Tyr = 2000 -------------- 2 2000 + 100s + s
which gives the plot shown in Figure 7. The poles are indicated by x symbol. (The round symbol marks the origin of complex plane, not a zero, since this transfer function has none.) We conclude that the closed-loop system is stable since all poles lie within the left half plane.
Stability versus Gain AdjustmentIn practice, a controller gain might be the easiest parameter to adjust, since it leaves the dynamic part intact. Sometimes we are interested to visualize the closed-loop pole locations as a function of gain value. This is known in the control literature as the root-locus method. To richen the problem a little more, suppose another pole at is added to the lead-lag compensator (2) to become
(5)Then form a so-called loop transfer function
(6)This transfer function is normally used in a few control design schemes such as classical method and QFT. It is also used in the root-locus method. So we construct it in Scilab as before
The Scilab command for root-locus method is evans
-->C=syslin('c',20000*(s+0.01)/(s+100)^2); -->L = C*P L = 2000 ---------------- 2 3 10000s + 200s + s
gives the plot in Figure 8. This is simply the plot of . We see that as the gain increases, two of the poles travel towards the right half complex plane, resulting in closed-loop instability.
The maximum value of moves the closed-loop poles to the location on the axis. The reader should download leadlag2_feedback.zcos and verify that the output oscillates at this gain value. Increasing the gain more should destabilize the system.
-->[kmax,s]=kpure(L) s = 100.i kmax = 1000.
Disturbance Attenuation PerformanceIn the exercise at the end of last module, we simulate the situation that the plant output is contaminated by some exogenous signal. For the open-loop case, using an LPF can improve the signal measured by a sensor, but actually does not suppress the effect of that signal on the plant output. Feedback control, on the other hand, can effectively attenuate a disturbance signal, whether it is injected at the input or output of the plant, provided that the controller is properly crafted for the type and spectrum of the disturbance. To experiment with disturbance attenuation, construct an Xcos model like in Figure 9, or download feedback_wdist.zcos.
The Sensitivity Transfer FunctionGenerally speaking, the response at any measured point to an input injected at any point in the feedback loop is dictated by , the closed-loop transfer function from to . Let’s denote the disturbance signal and plant output by d and y, respectively. So to compute attenuation level for the feedback model in Figure 9, we need to derive the transfer function from the output disturbance to the plant output. With simple block diagram manipulation, it can be shown this transfer function equals
(7)This closed-loop transfer function is well-studied in control literature. It bears a specific name the sensitivity transfer function, and is often denoted by capital letter ; i.e.,
(8)So, to compute in Figure 8, and display Bode magnitude plot, issue the following commands
This yields Figure 12. The phase of sensitivity function has no useful information so no need to plot it. Take a note on the shape of sensitivity frequency system, which always looks more or less like this for a typical system that has nonzero DC gain. Attenuation is good in the low frequency range, then the response goes to 0 dB as frequency increases. We will study how to formulate this curve as control specifications in later module.
-->s=poly(0,'s'); -->P=syslin('c',1/(10*s^2+0.1*s)); -->C=syslin('c',20000*(s+0.01)/(s+100)); -->L = C*P L = 2000 -------- 2 100s + s -->S=1/(1+L) S = 2 100s + s -------------- 2 2000 + 100s + s -->gainplot(S)
SummaryIn this study module, we examine some important feedback properties, starting from step response in time-domain, which can be used to tune a commercial controller such as PID, or as specifications for custom control design. The most important property of a feedback system is stability. We show how to determine whether a system is stable by checking the poles of closed-loop transfer function. Root-locus is a technique to observe how pole locations change as controller gain is adjusted. In the last section, we discuss disturbance attenuation performance of a feedback system. In the discussion, we explicitly give definitions for 2 important transfer functions, namely the loop transfer function in (6), and the sensitivity transfer function in (8). To anticipate the development in later module, we have to mention that (4), often denoted simply as , is referred to as complementary sensitivity transfer function. This is due to the fact that
(9)(9) is called an algebraic constraint. We will see in the next module how this relationship could make feedback system design a challenge.