Professional Documents
Culture Documents
Lecture 9
Instructor: G R Jayanth
Department of Instrumentation and Applied Physics
Ph: 22933197
E-mail: jayanth@isu.iisc.ernet.in
Thus far, we laid out the general guidelines for designing control systems. The emphasis was on describing what each
kind of control technique can accomplish, rather than on providing formulas with which the controllers could be
designed. This is because there is generally no such thing as a unique design that exactly fits the specifications, and
more often than not, designs developed with a sound understanding of the requirements and constraints, with
controllers skillfully employed to dodge the constraints, fares far better than cook-book recipes.
This lecture continues the discussion of control system design in the same spirit as the previous one and illustrates
them through numerical examples.
10
Example: Consider a plant whose transfer function is given by P(s) (s 10 1)( s 50 1)( s 300 1) . Although the nominal
gain of the plant is 10, this could change by a factor of 2, i.e., it could drift (very slowly of course) to any value between
5 and 20. The plant is forced by an input r(t)=sin(0.1t) and experiences a disturbance d(t)=sin(0.2t) (Note that
disturbances are not generally known this precisely. Here, for the sake of calculation, we pretend to have the
knowledge). It is required to track the input and to suppress the disturbance at the output to about 2% of its value.
Solution: The problem, as stated above, is generally how control problems present themselves to control engineers:
there is no specification even about what kind of control to employ, let alone adequate data that will help identify the
parameters for a particular kind.
The goal of control is to achieve x(t)=r(t) even in the presence of disturbances. The simplest way to achieve this is to
cancel the plant dynamics using open-loop control. For example, an open-loop controller of the kind
1 ( s 10 1)( s 50 1)( s 300 1) would do admirably well in canceling all the existing nominal characteristics of the
C ( s)
10
( s 1000 1)3
1
plant, so that the overall input-output transfer function would be C (s) P(s)
which will do a very good job of
( s 1000 1)3
tracking r(t)=sin(0.1t).
However there are a couple of issues: firstly, the disturbance may not be separately measurable for us to cancel its
effect. Secondly, since the gain of the plant changes, the controller will track the input well only when the gain is close
to the nominal value. Otherwise, the actual output will be dramatically different from what is desired.
Thus, it is seen that open-loop control, although desirable, is not adequate to solve this specific problem.
C ( j)
P( j)
1
1
1
C ( j) P( j)
Input
Disturbance
Bode Diagram
20
0
Magnitude (dB)
GM=13dB
-20
-40
-60
-80
-100
-120
0
-45
Phase (deg)
-90
-135
PM=37
-180
-225
-270
-1
10
10
10
10
Frequency (rad/sec)
10
C ( s)
C ( s ) P( s )
Input
Disturbance
1
s
Bode Diagram
50
Bode Diagram
Magnitude (dB)
Magnitude (dB)
5
0
-5
-10
-15
C ( j) P( j)
-100
-150
-20
-89
-200
0
-89.5
-90
-90.5
-91
0
10
10
Frequency (rad/sec)
Phase (deg)
Phase (deg)
P( j)
-50
-90
-180
PM=41
-270
-360
-1
10
10
10
10
Frequency (rad/sec)
10
10
Amplitude
The response of the closed-loop system to a unit step input is shown on the right. We see
that the steady-state error goes to zero and the system does not demonstrate highly under
damped response. However, what we get paid is not for producing a satisfactory step
response. Our goal was to track the specified input and reject a specific kind of disturbance.
These are shown below. We see that the input is tracked quite well even in the face of plant
uncertainty. The nominal disturbance rejection is adequate (at 98%) but can vary from 96%
to 99%.
Why plot the step response?: When we look at the input and disturbance to our system and
notice that both are slow varying signals that do not contain any step-like character, it is a
bit baffling that we should take step responses so seriously. Indeed, what deserves attention
is what we get paid for, namely tracking of the specified reference an rejecting the existing
disturbance. However, there is one reason why a step response may be relevant even for the
current system apart from the fact that a step is a standard input: if for some unintended
reason such as electronic malfunction, r(t) suddenly drops to zero, the closed-loop system
would experience a step input. We want to ensure that for such a worst case scenario, the
system does not oscillate wildly (and thus damage some component) before settling down.
Thus, except as a preparation for the worst case, we see that phase margin itself is of
secondary importance for the specified input/disturbance and we shall be a bit tolerant if
our design were to transgress the specified margin a bit.
1.5
1
0.5
0.5
-0.5
-0.5
-1
-1
-1.5
1.2
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
Time (sec)
Input
tracking with plant uncertainty
1.5
Input
K=10
K=5
K=20
Step Response
1.4
disturbance
Output
0.5
-0.5
-1.5
20
Time(s) 40
60
-1
0
10
20
30
40
Time(s)
50
60
70
20
Time(s) 40
60
1.2
1.4
1.6
2
Disturbance
Output
-1
-2
Time(s)
1
disturbance
output
0.5
-0.5
-1
0.5
1.5
Time(s)
2.5
Step Response
1.4
1.2
1
Amplitude
0.8
0.6
0.4
0.2
0
0.5
1.5
Time (sec)
2.5
s 1
C (s)
s
Disturbance
Bode Diagram
50
Magnitude (dB)
Magnitude (dB)
50
40
30
20
10
-50
-100
-150
0
0
-200
0
10
10
Frequency (rad/sec)
-90
PM=36
-180
-270
-360
-2
10
-1
10
10
10
10
Comparison of Bode plots of [CP](j) (in blue) and P(j) (in red)
Bode Diagram
100
Disturbance
50
0
-50
-100
-150
0
-45
-90
-135
-180
-225
-270
-2
10
10
10
10
10
Frequency (rad/sec)
Magnitude (dB)
-90
-2
10
Phase (deg)
-45
Phase (deg)
Phase (deg)
C ( j) P( j)
10
1
Disturbance
Output
0.5
-0.5
-1
0.5
1.5
Time(s)
2.5
Step Response
1.5
Amplitude
0.5
0.02
0.04
0.06
Time (sec)
0.08
0.1
0.12
s 1 ( s /170 1)
][
]
s ( s /1700 1)
Bode Diagram
Magnitude (dB)
50
40
30
Bode Diagram
Disturbance
50
20
C ( j) P( j)
-50
-100
10
0
90
-150
0
45
-45
0
-45
-90
-2
10
10
Phase (deg)
Phase (deg)
C ( s ) P( s )
100
Magnitude (dB)
C ( s) 6[
Input
10
10
Frequency (rad/sec)
-90
-135
PM=30
-180
-225
-270
-2
10
-1
10
10
10
10
10
10
Frequency (rad/sec)
Step Response
Amplitude
1.5
0.5
0.5
Time(s)
Time (sec)
1.5
10
Although the design is practically complete, we can try to improve the phase margin a bit
more. If, instead of adding just a single zero at 170 rad/s, we add two zeros at 170 rad/s (as
Magnitude
shown by the schematic on the right) , we can add potentially twice the phase without
adding any gain. Thus, we stand a chance of improving the phase margin even more. (This
0dB
Log()
was originally suggested by one of the students, Ms. Priyadarshini).
158 rad/s
+90 170 rad/s
Of course we cannot add too many zeros because for each zero added, we reduce the gain
+45
Phase
margin and at one point, our gain margin will become negative and result in instability.
For the present problem however, adding another zero results in a phase margin of 68 and
a gain margin still remains healthy, at 20dB (Bode plot, below right).The resulting controller
is given by C (s) 6[ s 1][ ( s /170 1)2 ]
( s /1700 1)2
The step response, shown below is much better and significantly faster than before. This
extension of the design was meant to underscore the fact that there is room for
improvement even of PID. Our previous design was a bit simpler but involved trade-off on
the transient response. The current design is a bit more complex, but achieves excellent
overall response. Which one to choose is an decision that the engineer has to make by
considering other factors such as cost of controllers, fragility of components etc
Bode plot of [CP](j)
Bode Diagram
100
Step Response
1.5
Previous
1
Present
Amplitude
50
0
GM=20dB
-50
-100
-150
0
-45
Phase (deg)
Magnitude (dB)
0.5
-90
-135
PM=68
-180
-225
0.02
0.04
0.06
Time (sec)
0.08
0.1
0.12
-270
-2
10
10
10
10
(2) To define a transfer function that is factored into its roots and is of the form G(s) K0 (s z1 )(s z2 )..(s zm )
( s p1 )( s p2 )..( s pn )
Z=[ -z1 -z2 ..-zm]; (define the vector of roots for numerator polynomial)
P=[ -p1 -p2 ..-pn]; (define the vector of roots for denominator polynomial)
K=K0; (define the constant in the expression of G)
G=ZPK(Z,P,K); (the command ZPK is used to define a transfer function given the values of the
zeros (through the vector Z), poles(through the vector P) and the constant K).
(3) Command to draw bode plot of a given open-loop transfer function G: bode(G) or margin (G)
(4) Command to draw Nyquist plot of a given open-loop transfer function G: nyquist(G)
(5) Command to draw step response of a given transfer function G: step(G) (note that the
command step does not assume that the system is closed-loop. If you want to plot the step
response of a closed loop system whose open-loop transfer function is G, you need to define
the closed-loop transfer function (say, Gcl=G/(1+G)) and use step(Gcl)