You are on page 1of 64

EE 3CL4, 3

1/1
Tim Davidson

EE3CL4:
Introduction to Linear Control Systems
Section 3: Fundamentals of Feedback
Tim Davidson
McMaster University

Winter 2016

EE 3CL4, 3
2/1
Tim Davidson

Outline

EE 3CL4, 3
4/1

Transfer function

Tim Davidson

Y (s) = G(s)U(s)
Stability (more details later):

the output y (t) is bounded for all bounded inputs u(t)


if and only if
the poles of G(s) are in the open left half plane
Note that in this setting u(t) is an arbitrary input, not

necessarily the unit step function

EE 3CL4, 3
6/1

Open loop control

Tim Davidson

Somewhat of an oxymoron, but this is conventional terminology

Denote input to process by U(s)


Y (s) = G(s)U(s) = G(s)Gc (s)R(s)
If G(s) =

nG (s)
dG (s)

and Gc (s) =

nC (s)
dC (s) ,

Y (s)
nC (s)nG (s)
= Gc (s)G(s) =
R(s)
dC (s)dG (s)
Key quantity, error: E(s) = R(s) Y (s)

EE 3CL4, 3
7/1

Stability & Performance

Tim Davidson

E(s) = 1 Gc (s)G(s) R(s) G(s)Td (s)


1
For good tracking want Gc (s) G(s)

One design strategy: with G(s) = ndG (s)


, Gc (s) = ndC (s)
G (s)
C (s)
Put poles of Gc (s) near zeros of G(s), and
put zeros of Gc (s) near poles of G(s)
Known as pole-zero cancellation
That strategy very sensitive to knowledge of G(s)
Problematic if G(s) has zeros in the right half plane

EE 3CL4, 3
8/1
Tim Davidson

Stability & Performance



E(s) = 1 Gc (s)G(s) R(s) G(s)Td (s)
Controller cannot mitigate effect of Td (s)
No capability for disturbance rejection

If G(s) and Gc (s) are stable, so is the open loop.


What if G(s) is not stable?
In theory, controller can stabilize

Y (s)
R(s)

by pole-zero
cancellation
but difficult to implement to sufficient accuracy
cannot stabilize TY (s)
d (s)

EE 3CL4, 3
9/1

Stability & Performance

Tim Davidson

In practice, we rarely model G(s) accurately, and it may


change with age, temperature and many other effects
What if G(s) not perfectly known?
Let T (s) =

Y (s)
R(s)

(when Td (s) = 0)

Let actual process transfer function be G(s) + G(s)


What is the ratio of relative error in T (s) due to relative

error in G(s) for small errors?


That is, what is limG(s)0

T (s)/T (s)
G(s)/G(s)

Can show (prove for yourself) that this sensitivity = 1


That means that for small errors the relative error in

T (s) is the same as the relative error in G(s);


we cant design Gc (s) to make it smaller

EE 3CL4, 3
11 / 1
Tim Davidson

Closed loop control

Error: E(s) = R(s) Y (s)

Measured error: Ea (s) = R(s) H(s) Y (s) + N(s) .


In the general case, Ea (s) 6= E(s).
When H(s) = 1 and N(s) = 0, Ea (s) = E(s).

EE 3CL4, 3
12 / 1

The output signal

Tim Davidson

What is the output Y (s)? (Calculate yourself for practice)


Y (s) =

Gc (s)G(s)
R(s)
1 + H(s)Gc (s)G(s)
G(s)
+
Td (s)
1 + H(s)Gc (s)G(s)
H(s)Gc (s)G(s)

N(s)
1 + H(s)Gc (s)G(s)

EE 3CL4, 3
13 / 1

The error signal, H(s) = 1

Tim Davidson

What is the error E(s) = R(s) Y (s)?


To simplify things, consider the case where H(s) = 1

E(s) =

1
R(s)
1 + Gc (s)G(s)
G(s)

Td (s)
1 + Gc (s)G(s)
+

Gc (s)G(s)
N(s)
1 + Gc (s)G(s)

Recall, Ea (s) = E(s) only if H(s) = 1 and N(s) = 0.

EE 3CL4, 3
14 / 1

Loop gain, H(s) = 1

Tim Davidson

Define loop gain: L(s) = Gc (s)G(s)

E(s) =

1
G(s)
L(s)
R(s)
Td (s) +
N(s)
1 + L(s)
1 + L(s)
1 + L(s)

What do we want?

EE 3CL4, 3
15 / 1

Stability, H(s) = 1

Tim Davidson

E(s) =

G(s)
L(s)
1
R(s)
Td (s) +
N(s)
1 + L(s)
1 + L(s)
1 + L(s)

Stability: bounded inputs lead to bounded errors


For simplicity, let Td (s) = 0, N(s) = 0
G(s) =

nG (s)
dG (s) ;

Gc (s) =

nC (s)
dC (s) ;

L(s) =

nC (s) nG (s)
dC (s) dG (s)

Hence,
1
dC (s)dG (s)
=
1 + L(s)
dC (s)dG (s) + nC (s)nG (s)
= closed loop poles are roots of dC (s)dG (s) + nC (s)nG (s)
These can be in left half plane even if G(s) is unstable,
but they can also be in the right half plane if G(s) is stable

EE 3CL4, 3
16 / 1

Performance: s-domain,
H(s) = 1

Tim Davidson

E(s) =

G(s)
L(s)
1
R(s)
Td (s) +
N(s)
1 + L(s)
1 + L(s)
1 + L(s)

What else do we want, in addition to stability?


Good tracking: E(s) does depend only weakly on R(s)

= L(s) large where R(s) large


Good disturbance rejection:

= L(s) large where Td (s) large


Good noise suppression:

= L(s) small where N(s) large

EE 3CL4, 3
17 / 1
Tim Davidson

A taste of loop shaping,


H(s) = 1
Possibly easier to understand in pure freq. domain, s = j
Recall that L(s) = Gc (s)G(s),
G(s): fixed; Gc (s): controller to be designed
Good tracking: = L(s) large where R(s) large
|L(j)| large in the important frequency bands of r (t)
Good dist. rejection: = L(s) large where Td (s) large
|L(j)| large in the important frequency bands of td (t)
Good noise suppr.: = L(s) small where N(s) large
|L(j)| small in the important frequency bands of n(t)
Typically, L(j) is a low-pass function. How big should |L(j)| be?
Any constraints? Stability! Any others?

EE 3CL4, 3
18 / 1
Tim Davidson

Inherent constraints, H(s) = 1

Define sensitivity: S(s) =

1
1 + L(s)

Define complementary sensitivity: C(s) =

L(s)
1 + L(s)

E(s) = S(s)R(s) S(s)G(s)Td (s) + C(s)N(s)


Note that S(s) + C(s) = 1.
Trading S(s) against C(s), with stability,
is a key part of the art of control design

EE 3CL4, 3
19 / 1
Tim Davidson

Performance: time-domain
Difficult for arbitrary inputs
In classical control techniques, typically assessed via
nature of transient component of step response
how fast does system respond?
how long does it take to settle to new operating point
steady-state error for constant changes in position, or

velocity or acceleration; that is steady-state error for


step input; ramp input, parabolic input

EE 3CL4, 3
20 / 1

Trade-off example

Tim Davidson

Disk drive system

Y (s) =

s3

5000Ka
R(s)
+ 20000s + 5000Ka
s + 1000
+ 3
Td (s)
2
s + 1020s + 20000s + 5000Ka

1020s2

Coarsely design Ka to balance properties of step response


and response to step disturbance

EE 3CL4, 3
21 / 1

Responses for Ka = 10

Tim Davidson

Disturbance step response and step response

Low gain:
steady-state disturbance might not be negligible
slow transient response for step input

EE 3CL4, 3
22 / 1

Responses for Ka = 10, 100

Tim Davidson

Disturbance step response and step response

Medium gain:
steady-state disturbance much reduced
faster transient response for step input,

but now some overshoot

EE 3CL4, 3
23 / 1
Tim Davidson

Responses for
Ka = 10, 100, 1000
Disturbance step response and step response

High gain:
steady-state disturbance almost completely rejected
fast transient response for step input,
but now significant overshoot
Actually can show by Routh Hurwitz technique (later)
that loop is unstable for Ka 4080

EE 3CL4, 3
24 / 1

Robustness

Tim Davidson

What if G(s) is not perfectly known?


How does T (s) =

Y (s)
R(s)

change as G(s) changes?

As in open loop case, look at ratio of relative error in T (s)


due to a relative error in G(s), for small errors,
T (s)/T (s)
limG(s)0 G(s)/G(s)
For an open loop system this sensitivity is 1
For the closed loop system, with H(s) = 1,
1
this sensitivity is S(s) = 1+Gc (s)G(s)
Now can design controller to manage sensitivity

EE 3CL4, 3
26 / 1

Open loop vs closed loop

Tim Davidson

Error: E(s) = R(s) Y (s); Loop gain: L(s) = Gc (s)G(s),


Open loop, with process input Gc (s)R(s) + Td (s)


Eol (s) = 1 L(s) R(s) G(s)Td (s)
Closed loop, with H(s) = 1,
Ecl (s) =

1
G(s)
L(s)
R(s)
Td (s) +
N(s)
1 + L(s)
1 + L(s)
1 + L(s)

EE 3CL4, 3
27 / 1
Tim Davidson

Advantages of feedback

Can mitigate disturbances


Can stabilize (most) unstable processes
Can mitigate errors in the model of process

EE 3CL4, 3
28 / 1
Tim Davidson

Price of feedback

more components than open loop


introduces noise, but can shape the response
Gc (s)G(s)
less gain: 1+G
instead of Gc (s)G(s)
c (s)G(s)

potential for instability even when G(s) is stable

More complicated to analyze and design,


but often advantages are worth the price

EE 3CL4, 3
30 / 1

A second-order system

Tim Davidson

Now examine, in detail, a particular class of second order


systems

Y (s) =

n2
G(s)
R(s)
R(s) = 2
1 + G(s)
s + 2n s + n2

EE 3CL4, 3
31 / 1

Step response

Tim Davidson

What is the step response?


Set R(s) = 1/s; take inverse Laplace transform of Y (s)
Y (s) =

n2
s s2 +2n s+n2

For the case of 0 < < 1,


y (t) = 1
where =

1 n t
e
sin(n t + )

1 2 and = cos1 .

Recall pole positions of

G(s)
1+G(s)

(ignore the zero):

EE 3CL4, 3
32 / 1
Tim Davidson

Typical step responses, fixed n

EE 3CL4, 3
33 / 1
Tim Davidson

Typical step responses, fixed

EE 3CL4, 3
34 / 1

Key parameters of
(under-damped) step response

Tim Davidson

With =

p
1 2 and = cos1 ,
y (t) = 1

1 n t
e
sin(n t + )

EE 3CL4, 3
35 / 1

Peak time and peak value

Tim Davidson

y (t) = 1

1 n t
e
sin(n t + )

Peak time: first time dy (t)/dt = 0


Can show that this corresponds to n Tp =
Hence, Tp =

p
n 1 2

Hence, peak value, Mpt = 1 + e

1 2

EE 3CL4, 3
36 / 1
Tim Davidson

Percentage overshoot

Let fv denote the final value of the step response.


Percentage overshoot defined as:
P.O. = 100

Mpt fv
fv

In our example, fv = 1, and hence


P.O. = 100 e

1 2

EE 3CL4, 3
37 / 1
Tim Davidson

Overshoot vs Peak Time


This is one of the classic trade-offs in control

EE 3CL4, 3
38 / 1

Steady-state error, ess

Tim Davidson

In general this is not zero. (See Steady-state error section)


However, for our second-order system,
y (t) = 1

Hence ess = 0

1 n t
e
sin(n t + )

EE 3CL4, 3
39 / 1

Settling time

Tim Davidson

y (t) = 1

1 n t
e
sin(n t + )

How long does it take to get (and stay) within x% of

final value?
Tricky.
Instead, approximate by time constants of envelopes:

1 n t
e

EE 3CL4, 3
40 / 1
Tim Davidson

5% settling time

After 3 time consts, env. error reduced by factor 1/e3 ;

becomes 5% of envelope error at t = 0


In figure, = 0.5, n = 1, error bounds at 0.05:

Time constant, 1 n = 2.
After t = 6, envelopes are almost within 5%
Response is within 5%
3
Hence, Ts,5
; approx. good for . 0.9
n

EE 3CL4, 3
41 / 1
Tim Davidson

2% settling time

After 4 time consts, env. error reduced by a factor 1/e4 ;

becomes 2% of envelope error at t = 0


In figure, = 0.5, n = 1, error bounds at 0.02:
After t = 8, envelopes are almost within 2%
Response is also almost within 2%
4
Hence, Ts,2
; approx. good for . 0.9
n

EE 3CL4, 3
42 / 1
Tim Davidson

Rise time (under-damped)

y (t) = 1

1 n t
e
sin(n t + )

How long to get to the target (for first time)?


Tr , the smallest t such that y (t) = 1

EE 3CL4, 3
43 / 1
Tim Davidson

10%90% Rise time

What is Tr in over-damped case?


Hence, typically use Tr 1 , the 10%90% rise time

EE 3CL4, 3
44 / 1
Tim Davidson

10%90% Rise time

Difficult to get an accurate formula


Linear approx. for 0.3 0.8 (under-damped),

EE 3CL4, 3
45 / 1

Design problem

Tim Davidson

For what values of K and p is


the settling time 4 secs, and
the percentage overshoot 4.3%?

K
n2
G(s)
= 2
= 2
,
1 + G(s)
s + ps + K
s + 2n s + n2

where n = K and = p/(2 K )


T (s) =

EE 3CL4, 3
46 / 1

Pole positions

Tim Davidson

Ts

4
n

P.O. = 100 e

For Ts 4, n 1

For P.O. 4.3%, 1/ 2

Where should we put the poles of T (s)?

1 2

EE 3CL4, 3
47 / 1

Pole positions

Tim Davidson

n 1
s1 , s2 = n jn
where = cos1 ().

1/ 2

p
1 2 = n cos() jn sin()

EE 3CL4, 3
48 / 1
Tim Davidson

Final design constraints


n 1

p2

1/ 2

2K

EE 3CL4, 3
49 / 1

Caveat

Tim Davidson

Our work on transient response has been for systems

with
T (s) =

n2
s2 + 2n s + n2

What about other systems?

EE 3CL4, 3
50 / 1

Poles, zeros and transient


response

Tim Davidson

(s)
Consider a general transfer function T (s) = Y
R(s)

Step response: Y (s) = T (s) 1s


Consider case with DC gain = 1; no repeated poles
Partial fraction expansion

Y (s) =

X
1 X Ai
Bk s + Ck
+
+
2
s
s + i
s + 2k s + (k2 + k2 )
i

Step response

y (t) = 1 +

X
i

Ai ei t +

X
k

Dk ek t sin(k t + k )

EE 3CL4, 3
51 / 1
Tim Davidson

EE 3CL4, 3
53 / 1

Steady-state error

Tim Davidson

E(s) = R(s) Y (s) =

1
R(s)
1 + Gc (s)G(s)

If the the conditions are satisfied, the final value theorem


gives steady-state tracking error:
ess = lim e(t) = lim s
t

s0

1
R(s)
1 + Gc (s)G(s)

One of the fundamental reasons for using feedback, despite


the cost of the extra components, is to reduce this error.
We will examine this error for the step, ramp and parabolic
inputs

EE 3CL4, 3
54 / 1
Tim Davidson

Step, ramp, parabolic

EE 3CL4, 3
55 / 1

Step input

Tim Davidson

ess = lim e(t) = lim s


t

s0

1
R(s)
1 + Gc (s)G(s)

Step input: R(s) = As


ess = lims0 1+GsA/s
= 1+lims0AGc (s)G(s)
c (s)G(s)
Now lets examine Gc (s)G(s). Factorize num., den.

Gc (s)G(s) =

K
s

QM

i=1 (s

QQ
N

k =1 (s

+ zi )
+ pk )

where zi 6= 0 and pk 6= 0.
Limit as s 0 depends strongly on N.
If N > 0, lims0 Gc (s)G(s) and ess = 0
If N = 0,

ess =

A
1 + Gc (0)G(0)

EE 3CL4, 3
56 / 1

System types

Tim Davidson

Since N plays such a key role,

it has been given a name


It is called the type number
Hence, for systems of type N 1,

ess for a step input is zero


A
For systems of type 0, ess = 1+G (0)G(0)
c

EE 3CL4, 3
57 / 1
Tim Davidson

Position error constant


A
For type-0 systems, ess = 1+G (0)G(0)
c
A
Sometimes written as ess = 1+K
p

where Kp is the position error constant


Recall Gc (s)G(s) =

Q
K M
i=1 (s+zi )
Q
sN Q
k =1 (s+pk )

Therefore, for a type-0 system

Q
K M (zi )
Kp = lim Gc (s)G(s) = QQ i=1
s0
k =1 (pk )
Note that this can be computed from positions of the

non-zero poles and zeros

EE 3CL4, 3
58 / 1

Ramp input

Tim Davidson

The ramp input, which represents a step change in

velocity is r (t) = At.


Therefore R(s) = sA2
Assuming conditions of final value theorem are

satisfied,
s(A/s2 )
A
= lim
s0 1 + Gc (s)G(s)
s0 s + sGc (s)G(s)
A
= lim
s0 sGc (s)G(s)

ess = lim

Again, type number will play a key role.

EE 3CL4, 3
59 / 1
Tim Davidson

Velocity error constant


For a ramp input ess = lims0
Recall Gc (s)G(s) =

A
sGc (s)G(s)

Q
K M
i=1 (s+zi )
Q
sN Q
k =1 (s+pk )

For type-0 systems, Gc (s)G(s) has no poles at origin.


Hence, ess
For type-1 systems, Gc (s)G(s) has
one pole at the origin.
Q
K
z
Hence, ess = KAv , where Kv = Q pi k i
k

Note Kv can be computed from non-zero poles and zeros


Suggests formal definition of velocity error constant
Kv = lim sGc (s)G(s)
s0

For type-N systems with N 2, for a ramp input ess = 0

EE 3CL4, 3
60 / 1

Parabolic input

Tim Davidson

The parabolic input, which represents a step change in

acceleration is r (t) = At 2 /2.


Therefore R(s) = sA3
Assuming conditions of final value theorem are

satisfied,
s(A/s3 )
A
= lim 2
s0 1 + Gc (s)G(s)
s0 s Gc (s)G(s)

ess = lim

Again, type number will play a key role.

EE 3CL4, 3
61 / 1
Tim Davidson

Acceleration error constant


For a parabolic input ess = lims0
Recall Gc (s)G(s) =

A
s2 Gc (s)G(s)

Q
K M
i=1 (s+zi )
Q
sN Q
k =1 (s+pk )

For type-0 and type-1 systems, Gc (s)G(s) has at most one


pole at origin. Hence, ess
For type-2 systems, Gc (s)G(s) has
two poles at the origin.
Q
K
z
Hence, ess = KAa , where Ka = Q pi k i
k

Again, Ka can be computed from non-zero poles and zeros


Suggests formal definition of acceleration error constant
Ka = lim s2 Gc (s)G(s)
s0

For type-N systems with N 3, for a parabolic input ess = 0

EE 3CL4, 3
62 / 1
Tim Davidson

Summary of steady-state errors

EE 3CL4, 3
63 / 1
Tim Davidson

Robot steering system,


P control

Lets examine a proportional controller:


Gc (s) = K1

Gc (s)G(s) = K1 K /( s + 1)
Hence, Gc (s)G(s) is a type-0 system.
Hence, for a step input,

ess =
where Kp = K1 K .

A
1 + Kp

EE 3CL4, 3
64 / 1

Robot steering system,


P control example

Tim Davidson

1
0.5
Let G(s) = s+2
= 0.5s+1
.

Proportional control, Gc (s) = K1 . Choose K1 = 18.


Since Gc (s)G(s) is type-0:
finite steady-state error for a step,
unbounded steady-state error for a ramp
In this example, Kp = KK1 = 9
The steady-state error for a step input will be
1
1+Kp

= 10% of the height of the step.

For a unit step the steady-state error will be 0.1.

EE 3CL4, 3
65 / 1
Tim Davidson

Robot steering system,


P control example

EE 3CL4, 3
66 / 1
Tim Davidson

Robot steering system,


PI control

Lets examine a proportional-plus-integral controller:


Gc (s) = K1 +

K1 s + K2
K2
=
s
s

(K1 s+K2 )
When K2 6= 0, Gc (s)G(s) = K s(
s+1)
Hence, Gc (s)G(s) is a type-1 system.
Hence, for a step input, ess = 0
For ramp input,

A
,
Kv
where Kv = lims0 sGc (s)G(s) = KK2
ess =

EE 3CL4, 3
67 / 1

Robot steering system,


PI control example

Tim Davidson

1
0.5
Same system: G(s) = s+2
= 0.5s+1
.
2
Prop. + Int. control, Gc (s) = K1 + Kss = K1 s+K
.
s

Choose K1 = 18 and K2 = 20.


Now since Gc (s)G(s) is type-1:
zero steady-state error for a step
finite-steady state error for a ramp
In this example Kv = KK2 = 10
The steady-state error for a ramp input will be
1
Kv

= 10% of the slope of the ramp.

For a unit ramp the steady-state error will be 0.1.

EE 3CL4, 3
68 / 1
Tim Davidson

Robot steering system,


PI control example

EE 3CL4, 3
70 / 1
Tim Davidson

Summary: Desirable properties

With H(s) = 1, E(s) = R(s) Y (s), L(s) = Gc (s)G(s),


E(s) =

G(s)
L(s)
1
R(s)
Td (s) +
N(s)
1 + L(s)
1 + L(s)
1 + L(s)

Stability
Good tracking in the steady state
Good tracking in the transient
Good disturbance rejection (good regulation)
Good noise suppression
Robustness to model mismatch

EE 3CL4, 3
71 / 1
Tim Davidson

Plan: Analysis and design


techniques
Rest of course: about developing analysis and design
techniques to address these goals
Routh-Hurwitz:
Enables us to determine stability without having to find
the poles of the denominator of a transfer function
Root locus
Enables us to show how the poles move as a single
design parameter (such as an amplifier gain) changes
Bode diagrams
There is often enough information in the Bode diagram
of the plant/process to construct a highly effective
design technique
Nyquist diagram
More advanced analysis of the frequency response that
enables stability to be assessed even for complicated
systems

You might also like