Topic #15
16.31 Feedback Control
State-Space Systems
Full-state Feedback Control
How do we change the poles of the state-space system?
Or,evenifwecanchangethepolelocations.
Where do we put the poles?
— Linear Quadratic Regulator
— Symmetric Root Locus
How well does this approach work?
Copyright 2001 by Jonathan How.
1
Fall 2001 16.31 15—1
Pole Placement
SofarwehavelookedathowtopickK to get the dynamics to have
some nice properties (i.e. stabilize A)
λ
i
(A);λ
i
(A?BK)
Classic Question: whereshouldweputtheseclosed-looppoles?
Of course we can use the time-domain specifications to locate the
dominantpoles—rootsof:
s
2
+2ζω
n
s + ω
2
n
=0
Then place rest of the poles so they are “much faster” than the
dominant behavior. For example:
— Could keep the same damped frequency w
d
andthenmovethe
real part to be 2—3 times faster than real part of dominant poles
ζω
n
Just be careful moving the poles too far to the left because it takes
a lot of control e?ort
Fall 2001 16.31 15—2
Could also choose the closed-loop poles to mimic a system that has
similar performance to what you would like to achieve:
— Just set pole locations equal to those of the prototype system.
— Various options exist
Bessel Polynomial Systems of order k → G
p
(s)=
1
B
k
(s)
All scaled to give settling times of 1 second, which you can change
to t
s
by dividing the poles by t
s
.
Fall 2001 16.31 15—3
Procedure for an n
th
order system:
— Determine the desired settling time t
s
— Find the k = n polynomial from the table.
— Divide pole locations by t
s
— FormdesiredcharacteristicpolynomialΦ
d
(s)and useacker/place
to determine the feedback gains.
— Simulate to check performance and control e?ort.
Example:
G(s)=
1
s(s +4)(s +1)
with
A =
?
?
?5 ?40
1 00
0 1 0
?
?
B =
?
?
1
0
0
?
?
so that n = k =3.
— Want t
s
= 2 sec. So there are 3 poles at:
?5.0093/2=?2.5047 and
(?3.9668 ± 3.7845i)/2=?1.9834 ±1.8922i
— Use these to form Φ
d
(s)andfind the gains using acker
The Bessel approach is fine, but the step response is a bit slow.
Fall 2001 16.31 15—4
Another approach is to select the poles to match the n
th
polyno-
mial that was designed to minimize the ITAE “integral of the time
multiplied by the absolute value of the error”
J
ITAE
=
Z
∞
0
t |e(t)| dt
in response to a step function.
Both Bessel and ITAE are tabulated in FPE-508.
— Comparison for k =3(Givenforω
0
= 1 rad/sec, so slightly
di?erent than numbers given on previous page)
φ
B
d
=(s +0.9420)(s +0.7465 ± 0.7112i)
φ
ITAE
d
=(s +0.7081)(s +0.5210 ±1.068i)
So the ITAE poles are not as heavily damped.
— Some overshoot
— Faster rise-times.
Problem with both of these approaches is that they completely ig-
nore the control e?ort required — the designer must iterate.
Fall 2001 16.31 15—5
Linear Quadratic Regulator
An alternative approach is to place the pole locations so that the
closed-loop (SISO) system optimizes the cost function:
J
LQR
=
Z
∞
0
£
x
T
(t)(C
T
C)x(t)+ru(t)
2
¤
dt
Where:
— y
T
y = x
T
(C
T
C)x {assuming D =0} is called the State Cost
— u
2
is called the Control Cost,and
— r is the Control Penalty
— Simple form of the Linear Quadratic Regulator Problem.
Can show that the optimal control is a linear state feedback:
u(t)=?K
lqr
x(t)
— K
lqr
foundbysolvinganAlgebraic RiccatiEquation(ARE).
We will look at the details of this solution procedure later. For now,
let’s just look at the optimal closed-loop pole locations.
Fall 2001 16.31 15—6
Consider a SISO system with a minimal model
˙x = Ax + Bu , y = Cx
where
a(s)=det(sI ?A)andC(sI ?A)
?1
B ≡
b(s)
a(s)
Then
1
with u(t)=?K
lqr
x(t), closed-loop dynamics are:
det(sI ?A + BK
lqr
)=
n
Y
i=1
(s?p
i
)
where the p
i
={ the left-hand-plane roots of ?(s)},with
?(s)=a(s)a(?s)+r
?1
b(s)b(?s)
Use this to find the optimal pole locations, and then use
those to find the feedback gains required using acker.
The pole locations can be found using standard root-locus tools.
?(s)=a(s)a(?s)+r
?1
b(s)b(?s)=0
? 1+ r
?1
G(s)G(?s)=0
— The plot is symmetric about the real and imaginary axes.
? Symmetric Root Locus
— 2n poles are plotted as a function of r
— The poles we pick are always the n in the LHP.
1
Several leaps made here for now. We will come back to this LQR problem later.
Fall 2001 16.31 15—7
LQR Notes
1. The state cost was written using the output y
T
y, but that does not
need to be the case.
Wearefreetodefine a new system output z = C
z
x that is not
based on a physical sensor measurement.
? J
LQR
=
Z
∞
0
£
x
T
(t)(C
T
z
C
z
)x(t)+ru(t)
2
¤
dt
Selection of z used to isolate the system states you are most
concerned about, and thus would like to be regulated to “zero”.
2. Note what happens as r;∞ — high control cost case
a(s)a(?s)+r
?1
b(s)b(?s)=0 ? a(s)a(?s)=0
So the n closed-loop poles are:
— Stable roots of the open-loop system (already in the LHP.)
— Reflectionaboutthe jω-axisoftheunstableopen-looppoles.
3. Note what happens as r;0—low control cost case
a(s)a(?s)+r
?1
b(s)b(?s)=0 ? b(s)b(?s)=0
Assume order of b(s)b(?s)is2m<2n
So the n closed-loop poles go to:
— The m finite zeros of the system that are in the LHP (or the
reflections of the systems zeros in the RHP).
— The system zeros at infinity (there are n?m of these).
Fall 2001 16.31 15—8
Note that the poles tending to infinity do so along very specificpaths
so that they form a Butterworth Pattern:
— At high frequency we can ignore all but the highest powers of s
in the expression for ?(s)=0
?(s)=0 ; (?1)
n
s
2n
+ r
?1
(?1)
m
(b
o
s
m
)
2
=0
? s
2(n?m)
=(?1)
n?m+1
b
2
o
r
The 2(n?m) solutions of this expression lie on a circle of radius
(b
2
0
/r)
1/2(n?m)
at the intersection of the radial lines with phase from the neg-
ative real axis:
±
lπ
n?m
,l=0,1,...,
n?m?1
2
, (n?m) odd
±
(l +1/2)π
n?m
,l=0,1,...,
n?m
2
?1 , (n?m) even
Examples:
n?m Phase
1 0
2 ±π/4
3 0, ±π/3
4 ±π/8, ±3π/8
Note: Plot the SRL using the 180
o
rules (normal) if n?m is even
and the 0
o
rules if n?m is odd.
Fall 2001 16.31 15—9
Figure 1:Example#1: G(s)=
8·14·20
(s+8)(s+14)(s+20)
?30 ?20 ?10 0 10 20 30
?50
?40
?30
?20
?10
0
10
20
30
40
50
Real Axis
Imag Axis
Symmetric root locus
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0.2
0.4
0.6
0.8
1
1.2
time (sec)
Y output
Step Response
2.042 2.9408 5.0676
3.3166
u=r?Kx
u=Nbar r?Kx
10
?1
10
0
10
1
10
2
10
?3
10
?2
10
?1
10
0
Freq (rad/sec)
G
cl
Closed?loop Freq Response
u=r?Kx
u=Nbar r?Kx
Fall 2001 16.31 15—10
Figure 2: Example #2: G(s)=
0.94
s
2
?0.0297
?1 ?0.8 ?0.6 ?0.4 ?0.2 0 0.2 0.4 0.6 0.8 1
?1
?0.8
?0.6
?0.4
?0.2
0
0.2
0.4
0.6
0.8
1
Real Axis
Imag Axis
Symmetric root locus
0 5 10 15 20 25 30
0
0.2
0.4
0.6
0.8
1
1.2
time (sec)
Y output
Step Response
1.6489 1.3594
1.4146
u=r?Kx
u=Nbar r?Kx
10
?3
10
?2
10
?1
10
0
10
1
10
?3
10
?2
10
?1
10
0
Freq (rad/sec)
G
cl
Closed?loop Freq Response
u=r?Kx
u=Nbar r?Kx
Fall 2001 16.31 15—11
Figure 3: Example #3: G(s)=
8·14·20
(s?8)(s?14)(s?20)
?30 ?20 ?10 0 10 20 30
?50
?40
?30
?20
?10
0
10
20
30
40
50
Real Axis
Imag Axis
Symmetric root locus
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0.2
0.4
0.6
0.8
1
1.2
time (sec)
Y output
Step Response
23.042 2.94079 9.44262
3.3166
u=r?Kx
u=Nbar r?Kx
10
?1
10
0
10
1
10
2
10
?3
10
?2
10
?1
10
0
Freq (rad/sec)
G
cl
Closed?loop Freq Response
u=r?Kx
u=Nbar r?Kx
Fall 2001 16.31 15—12
Figure 4: Example #4: G(s)=
(s?1)
(s+1)(s?3)
?5 ?4 ?3 ?2 ?1 0 1 2 3 4 5
?1
?0.8
?0.6
?0.4
?0.2
0
0.2
0.4
0.6
0.8
1
Real Axis
Imag Axis
Symmetric root locus
0 1 2 3 4 5 6 7 8 9 10
?1
?0.8
?0.6
?0.4
?0.2
0
0.2
0.4
0.6
0.8
1
time (sec)
Y output
Unstable, NMP system Step Response
7.3589 3.6794
?4.3589
u=r?Kx
u=Nbar r?Kx
10
?2
10
?1
10
0
10
1
10
2
10
?2
10
?1
10
0
Freq (rad/sec)
G
cl
Closed?loop Freq Response
u=r?Kx
u=Nbar r?Kx
Fall 2001 16.31 15—13
Figure 5: Example #5: G(s)=
(s?2)(s?4)
(s?1)(s?3)(s
2
+0.8s+4)s
2
?6 ?4 ?2 0 2 4 6
?8
?6
?4
?2
0
2
4
6
8
Real Axis
Imag Axis
Symmetric root locus
0 1 2 3 4 5 6 7 8 9 10
?1
?0.8
?0.6
?0.4
?0.2
0
0.2
0.4
0.6
0.8
1
time (sec)
Y output
Unstable, NMP system Step Response
10.0869 4.64874 8.01734 3.81
3.1623
u=r?Kx
u=Nbar r?Kx
10
?2
10
?1
10
0
10
1
10
2
10
?8
10
?7
10
?6
10
?5
10
?4
10
?3
10
?2
10
?1
10
0
Freq (rad/sec)
G
cl
Closed?loop Freq Response
u=r?Kx
u=Nbar r?Kx
Fall 2001 16.31 15—14
As noted previously, we are free to pick the state weighting matrices
C
z
to penalize the parts of the motion we are most concerned with.
Simple example — oscillator with x =[p, v]
T
A =
?
0 1
?2 ?0.5
?
,B=
?
0
1
?
but we choose two cases for z
z = p =
£
1 0
¤
x and z = v =
£
0 1
¤
x
?1 ?0.8 ?0.6 ?0.4 ?0.2 0 0.2 0.4 0.6 0.8 1
?2
?1.5
?1
?0.5
0
0.5
1
1.5
2
Real Axis
Imag Axis
SRL with Position Penalty
?2 ?1.5 ?1 ?0.5 0 0.5 1 1.5 2
?1.5
?1
?0.5
0
0.5
1
1.5
Real Axis
Imag Axis
SRL with Velocity Penalty
Figure 6: SRL with position (left) and velocity penalties (right)
Clearly,choosingadi?erent C
z
impacts the SRL because it com-
pletely changes the zero-structure for the system.
Fall 2001 16.31 15—15
Summary
Dominantsecondandprototypedesignapproaches(BesselandITAE)
place the closed-loop pole locations with no regard to the
amount of control e?ort required.
— Designer must iterate on the selected bandwidth (ω
n
) to ensure
that the control e?ort is reasonable.
LQR/SRLapproachselectsclosed-looppolesthatbalancebetween
system errors and the control e?ort.
— Easy design iteration using r — poles move along the SRL.
— Sometimes di?cult to relate the desired transient response to the
LQR cost function.
Nice thing about the LQR approach is that the designer is focused
on system performance issues
— The pole locations are then supplied using the SRL.