Module 3: Classical Loopshaping DesignThis 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
- Understand the tradeoffs in feedback control design
- Learn how to formulate design specs as bounds on frequency responses
- Relationships between open-loop and closed-loop frequency responses
- Perform basic frequency response shaping of loop transfer function
Complementary Sensitivity :
(3)that become the key players, especially for an approach of feedback control design commonly known as “classical control,” since it originated from the ’40 during WWII. This study module focuses on such approach. In essence, we will perform frequency response shaping on the loop transfer function to yield the desired control specifications, often referred to as loopshaping*. * We have to make a remark though, that this term is also used in some modern design scheme to shape the closed-loop frequency responses directly. In this module we focus on shaping the open-loop transfer function . Before getting into the design procedure, we need to formulate the stability and performance requirements from last module to a general SISO feedback diagram with exogenous signals injected at various points in the loop, as shown in Figure 1.
Performance CriteriaThe following closed-loop responses can be easily derived
(6)Together with the plant, the transfer functions that play the roles in these expressions are the sensitivity and complementary sensitivity . Note that these two closed-loop transfer functions are functions of the controller, so design criteria can be casted on them. For example, good tracking performance requires that approaches zero. From (5), it implies that should be made small. Now, suppose that measurement noise is prevalent in this system. We do not want this unwanted signal to affect the plant output . From (4), this noise rejection requirement implies that should be made small. So, we must design a controller to yield small and . But this requirement violates the algebraic constraint
(7)i.e., when approaches 0, goes to 1, and vice versa. This conflict suggests that some tradeoffs have to be made in the control design specifications. Fortunately, in normal situation the exogenous signals entering the feedback loop in Figure 1 have different frequency spectrum that could ease off the problem considerably. We summarize them as follows:
- (command input): common command signal is smooth and varies gradually with time, so it naturally lies in low-frequency region.
- (disturbance): a typical disturbance signal entering at the input or output of the plant also has low-frequency spectrum, such as mechanical vibration, resonance, or in the robot joint case, the dynamic force exerting from adjacent links.
- (measurement noise): most sensors become noisy when frequency increases. So the measurement noise generally lies in high-frequency region.
Note: in the discussion that follows, we assume a stable, minimum-phase plant, such as the DC motor robot joint used as our example. Some statements may not be valid for an unstable or non-minimum phase plant.Stability requirement for classical control design can be explained clearly using relationship between the magnitude of sensitivity and Nyquist plot of as shown in Figure 2. It can be shown that the distance from curve to the critical point -1 is inversely proportional to . The shorter this distance, the poorer stability margin of the system. The circle in Figure 2 represents the magnitude . Hence, when , the curve of is inside the circle. As a result, control design spec for stability can be made as a bound on the peak of sensitivity frequency response. Note that this peak occurs at some mid frequency region before converges to 1 and roll-off.
Design Criteria Imposed on Loop Transfer Function
In some postmodern control strategy such as synthesis, the stability and performance bounds discussed above can be formulated into weighting functions on and directly. That strategy is also called loopshaping (on closed-loop transfer functions). For the classical control design scheme, however, the frequency response shaping is performed on the loop transfer function . Hence, all the criteria must be converted to bounds on .
To summarize the stability and performance criteria on the closed-loop transfer functions, we separate them to 3 frequency regions LOW, MID, and HIGH. From the above discussion, we have the following design specs
- LOW: for good tracking and disturbance attenuation
- MID: since indicates poor stability. An upper bound on is needed. Note from the algebraic constraint that implies .
- HIGH: for measurement noise rejection performance.
- LOW: for small , we have . Hence implies ; i.e., the bound on is created by inverting the bound on .
- MID: By means of Figure 2, the bound on is translated to stability margins criteria on . For a stable, non-minimum phase plant, Bode gain-phase relationship is normally used in shaping in MID frequency to have sufficient phase margin. More on this later.
- HIGH: for small , we have . Hence implies ; i.e., the bound on is the same as the bound on .
Bode Gain-Phase RelationshipThe stability requirement on in Figure 4 may need more explanation. Suppose there is no stability requirement in terms of phase margin, we could make the magnitude of L to have its slope as steep as we want to easily satisfy both the low and high frequency bounds. Such simplicity is not feasible due to a constraint at the crossover frequency known as the Bode gain-phase relationship, which states that For a stable, minimum-phase system, the phase of any transfer function has a unique relationship with its magnitude. On a log-log plot, if the slope of magnitude plot has a constant slope n over a decade of frequency, then
(8)This suggests a basic rule for stability of classical control design. For the closed loop system to have sufficient phase margin, within some frequency region around crossover, the slope of must be approximately -1, or -20 dB/decade. This is depicted in Figure 4. may have higher slope in low and high frequency regions to satisfy the performance bounds, but at crossover it should try to maintain -20 dB/decade for some frequency band. Now I hope the reader could grab the concept. No better way to understand classical control design than experimenting with a problem set.
Example: let us design a controller for our same old robot joint driven by DC motor developed since the first module
with the following design specs
- steady state error is eliminated
- low frequency disturbance is attenuated at least 0.01 below 1 Hz
- high frequency measurement noise is attenuated 0.1 above 100 Hz
- closed-loop stable, with phase margin at least 40 degrees
- has an integrator. Note that already has one
- below 1 Hz
- above 100 Hz
- has at least 40 degrees phase margin, or *
(10)that yields closed-loop stability and quite good tracking performance. This controller is the default when you first download the script. So we start our experiment with it. Run the script from Scilab command prompt
(11)Uncomment the lines that create this controller, and run the script to see Figure 9 and 10. The responses versus all stability and performance bounds confirm that this controller meets all the specs. The system has phase margin equal 55 degrees. The bandwidth is about 25 Hz.
Problems1. Show that the relationship between phase margin and the maximum peak of is given by
2. Use lshape.sce to design a controller to achieve disturbance attenuation performance of 0.001 (-60 dB). Other specs remain the same. 3. Design a controller to achieve disturbance attenuation of 0.01 (-40 dB) for frequency below 10 Hz. Other specs remain the same. Explain if you are unable to get a controller that meets these requirements.
- Control design using Bode plots – MIT OpenCourseWare
- Scilab tips: we have not discussed some commands in the CACSD group that may be helpful, such as g_margin and p_margin , which are quite convenient for computing gain and phase margins, respectively. Read Scilab help for usage of such commands.
- Scilab/files used in this module