Problem Solving Task - Time Response and Controller Design
Please provide your solutions to the below questions. Show all work and present your work logically, justifying all assumptions. The questions marked with an asterisk (*) include a MATLAB component.
Exercise 1: Reduction of subsystems
Find the transfer function T (s) = C(S)/C(R) of the block diagram in Figure given that:
G1 = 2/(s+2), G2 = 1/s, G3 = 5
G4 = ((s+5)/(s+3)(s+10)), G5 = 2, G6 = s, G7 = 5/s
Also, write a MATLAB script using feedback, series and parallel commands and confirm that your handwritten answer and MATLAB agree.
Exercise 2: What's the damping?
Consider the motor/load feedback control system shown in Figure 2 below. The load damping DL is unknown, but when R(s) is a step, the response of θL has an overshoot of 20%. Do the following:
a) Find the transfer function θL(s)/R(s) (you'll have a DL in your equation since you don't know it yet)
b) Calculate the damping ratio that corresponds to 20% overshoot
c) Find DL using the information from a and b).
Exercise 3: A proportional controller
For the velocity control system in Figure 3:
a) Find the closed-loop transfer function T(s) = c(s)/R(s).
b) Find a value of Kp that will yield less than 10% overshoot for the closed-loop system. (Note: ignore the zero dynamics to calculate Kp initially).
c) Is the second order component of the closed-loop system dominant?
d) What is the magnitude of step input that will give a steady-state velocity of c(∞) = 50 m/s?
e) Using your Kp from part b), write a MATLAB script that calculates the closed-loop transfer function, T(s) = c(s)/R(s).
f) Simulate the step response of T(s). Is the overshoot 10% as you designed? Discuss.
Exercise 4: Linearization of a vehicle moving through air
Consider the simple model of a vehicle moving through air
mv· = F - kv2
where v is the velocity of the vehicle, F is the forward traction force, and k is a drag parameter that depends on the properties of the air and the geometry of the vehicle. The parameters are m = 1000kg and k = 10N·s2/m2. Do the following:
a) Linearize the model about the steady-state F- = 1000N.
b) Find the transfer function v'(s)/F'(s) for the linearized system in a)
c) Consider a vehicle that is at the steady-state you found in a). A step change in the traction force is introduced, F'(s) = 200/s. Use your transfer function model to predict time response of the velocity v(t).
Exercise 5: Stability
Consider a unity feedback (H(s) = 1) configuration Figure 4. For the following systems, determine the range of K that will maintain stability.
(a) Gc(s) = K, Ga(s) = 1/s(s2+1), and Gp(s) = 1/(s2+s+1)
(b) Gc(s) = Ks, Ga(s) = 1/(s+1), and Gp(s) = 1/((s+2)(s+5))
Exercise 6: Disc drive problem
Recall the disc drive problem introduced in tutorial. Last time we developed the transfer functions seen in Figure 5. Do the following:
a) Find the transfer function Gd(s) = Po(s)/Td(s) when Gc(s) = Kc.
b) For Gc(s) = Kp, find the range of Kp for which the closed-loop system is stable.
c) Write a MATLAB script using feedback, series and parallel commands to obtain Po(s)/Pt(s) and Po(s)/Td(s) when Kc = 12.14.
Exercise 7: Disc drive controller
Recall the disc drive problem from Tutorials, where we demonstrated that the open-loop system can be written as
a) Consider the controller that we designed in tutorial:
Gc(s) = Kc = 12.14
Find the steady-state error to a ramp input with this controller. If we wish to reduce this error to 0.005, can we do it with a different Kc? (Hint: consider your stability limits!)
b) Well try a more complex controller of the form
Gc(s) = Kc(s + a)
which is sometimes called a proportional-derivative controller. Find the closed-loop transfer function, T(s) = Po(s)/Pt(s).
c) Find the conditions (inequalities) on Kc and a such that the closed-loop system is stable. Use MATLAB to plot the stability boundaries (again, inequalities) on a Kc vs a plot.
d) Find values of Kc and a such that the steady-state error to a ramp is less than 0.005.
Exercise 8: Using Root Locus
Consider the feedback control system in Figure 7. In this exercise, we'll walk through designing Gc(s) with different levels of complexity.
To this ends, do the following by hand (unless otherwise stated):
a) Sketch (by hand) the root locus and find the dosed loop poles when Gc(s) = Kc = 1. Also: find the steady-state error to a step and ramp inputs, ζ and the settling time.
b) In order to improve the transient response, a PD controller of the form
Gc(s) = Kc(s + a)
is being considered. Determine the values of K and a so that the closed loop system has an overshoot of 1.6 and a settling time of 2s for a step input. (Hint: use a to ensure that the poles are on the root locus). You may ignore the effect of the zero dynamics for this part.
c) What is the steady-state error to a ramp?
d) We now require that steady-state error to a ramp is eliminated. Your boss has told you to "just add an integrator" to the controller to eliminate the steady-state error. Sketch the root locus and use it to tell your boss why this won't work.
e) A smarter way to eliminate the steady-state error is to use a RID controller of the form
Gc(s) = (Kc(s + a)(s + b)/s)
where a is the same as in b) and b is close to the origin. Select a suitable value for b so that the desired poles from b) are on the root locus. If necessary (it may or may not be!), adjust the value of Kc to ensure that the desired closed-loop poles are achieved. You may use MATIAB to check the location of the closed-loop poles.
f) Simulate the closed-loop step response in MATLAB using the PID controller from e). Twiddle Kc a and b (if necessary) to achieve your targets (i.e. 16% overshoot and a settling time of 2s).
Exercise 9: Lead-Lag design using Root Locus
Recall the disc drive problem from Tutorials, where we demonstrated that the open-loop system can be written as
We will now try to design a lead-lag compensator with the requirements that
- Overshoot ≤ 10
- Ts ≤ 75MS
- eramp(∞)≤ 0.001
Do the following (you may use MATLAB at your leisure, but be sure to explain your logic for your design choices):
a) Use MATLAB to draw the root locus when Gc = Kc.
b) Use MATLAB to draw the region where the dominant closed-loop poles must be to satisfy the transient requirements. Comment on your ability to achieve these requirements with a gain-only controller.
c) Design a lead compensator(s) to meet the transient requirements (i.e. overshoot and settling time).
d) Design a lag compensator to achieve the steady-state tracking requirement.
e) Use MATLAB to compute the resulting closed-loop poles and discuss second order dominance.
Some Hints:
- You may need to place more than one lead compensator for part c)
- When assessing second order dominance of the closed-loop system, be sure to cancel poles and zeros (i.e. use minreal).