EE5103/ME5403 Lecture Four Pole-Placement Problem State-Space Approach
EE5103/ME5403 Lecture Four Pole-Placement Problem State-Space Approach
Pole-Placement Problem
State-Space Approach
Xiang Cheng
Associate Professor
Department of Electrical & Computer Engineering
The National University of Singapore
+
u y
Controller System to be controlled
+ +
–
Objective: Since the feedback control can change the property of the system, we just
need to make the closed loop model follow the reference model as close as possible.
If the reference model can meet all the performance requirements, then the
closed loop system can do it too!
Consider the following block diagram with a standard 2nd order system under
unit step
1
R( s) = Y(s)
s H (s) = ωn2
r (t ) = 1 s 2
+ 2ζω n s + ω 2
n
4
Settling time, overshoot and rise time — time domain specifications
overshoot
±1%
1
0.9
M p
1.8 πζ 4.6
tr ≅
−
1−ζ 2 ts ≅
ωn Mp =e ζωn
5
Design Example: speed control system
Consider the vehicle, which has a weight m = 1000 kg. Assuming the average
friction coefficient b= 100, design a speed control system such that the vehicle
can reach 100 km/h from 0 km/h in 8 s with an overshoot less than 5%.
mass Engine
friction force m force u
speed control
– displacement
– speed x
– acceleration
– engine force
position control
6
Y (s) 1
speed =
U ( s ) ms + b
Design the continuous-time reference model first:
Overshoot: 5%
Settling Time: 8s
1−ζ 2
R( s) =
1 M p = e −πζ /
s ωn2
H (s) = 2
r (t ) = 1 s + 2ζωn s + ωn2
ζ ≥ 0.6901 ⇒ ζ =
0.7
4.6 4.6
ts ≅ ⇒ ωn ≅
ζωn tsζ
4.6
⇒ ω=
n = 0.82
8 × 0.7
0.67
Desired CLTF ⇒ H d (s) =
s 2 + 1.15s + 0.67
7
Reference Model
0.67
H d (s) =
s 2 + 1.15s + 0.67
Is this the reference model we try to follow for the computer control system?
We need to convert the desired reference model from continuous time to
discrete-time.
You can use the conversion Table 2.1. or the MATLAB command c2d.
0.003223 z + 0.003102
H m ( z) = 2
z − 1.885 z + 0.8914
8
uc Bm ( z )
yr
Reference Model Am ( z )
y
Bcl ( z )
Closed loop
Acl ( z )
Can we use feedback control to change the original system into the
reference model?
Bcl ( z ) Bm ( z )
•Ideal case: perfect match =
Acl ( z ) Am ( z )
Perfect match means that both the poles and zeros match each other!
We will try to match them in two steps:
Acl ( z ) ⇒ Am ( z ) Pole Placement - Match the Poles
When you do research, it is always a good strategy to attack the simplest case 10
first, then build it up.
What’s the simplest feedback-controller you have learned in the past?
Proportional Control
Similarly, we will try the simplest one first:
r = 0+ u x
L Process
–
Pole placement: can we design the controller gain L such that all the poles are
placed to the desired position?
The desired poles are given by the reference model
11
•Simple example: Double-integrator: Real World Examples
Zero-order hold
1 h h 2
x( k + 1) = Φx( k ) + Γu (k ) = x( k ) + 2 u ( k )
0 1 h
y (k ) = [1 0]x(k )
l1h 2
2 l1h 2 13
| zI − (Φ − ΓL) |= z + ( + l2 h − 2) z + ( − l2 h + 1)
2 2
Characteristic Polynomial (C.P.) of the closed loop:
2 l1h 2 l1h 2
| zI − (Φ − ΓL) |= z + ( + l2 h − 2) z + ( − l2 h + 1)
2 2
Compare it with the desired C.P. (from the reference model):
Am ( z ) = z 2 + p1 z + p 2
Let’s try to match them: l1 h 2
( + l 2 h − 2) = p1
2
l1 h 2
( − l 2 h + 1) = p 2
2
Is it possible to solve L from above equations?
1 + p1 + p 2
l1 =
h2
3 + p1 − p 2
l2 =
2h
Is it possible to design the controller to place the poles at any desired locations?
Yes. The poles can be placed anywhere you like,
thanks to the power of feedback!
14
Can we do this for any other linear systems?
•Controllable Canonical Form:
What is the C.P. of the canonical form? Take the first row (the non-trivial row)!
State-Feedback Controller:
15
State-Feedback Controller:
16
Yes.
State-Feedback Controller:
The gains are just the differences between the coefficients of the C.P.s
17
So we have obtained a simple solution for controllable canonical form!
•How about systems in other forms? x(k + 1) = Φx(k ) + Γu (k )
Can we transform any linear system into controllable canonical form?
What is the condition?
•If the system is controllable:
x(k + 1) = Φx(k ) + Γu (k ) z (k ) = Tx (k )
y (k ) = cx(k )
Design the state-feedback controller for the controllable canonical form first:
z (k ) = Tx (k )
It can be shown by Cayley-Hamilton Theorem:
u (k ) = − Lx (k )
Ackermann’s formula
18
Algebraic problem:
Given pair {Ф, Г}, find L, such that (Ф- ГL) has any desired eigenvalues.
Choose L such that the C.P. of (Ф- ГL) is any desired one: Am (z )
Example: double-integrator 1 h h 2
x(k + 1) = x(k ) + 2 u (k )
0 1 h
h2 3h 2
Wc = 2
h 2 Is it controllable? Yes.
h
1 1.5
− h 2 1 + p1 + p 2 2h + p1 h
h Am (Φ ) = Φ 2 + p1Φ + p 2 I =
Wc−1 =
1 − 0.5 0 1 + p1 + p 2
2
h h
1 + p1 + p 2 3 + p1 − p 2
L = [0 1]Wc−1 Am (Φ ) =
h2 2h
19
•The special case: Deadbeat control
Can we drive the state to zero in n steps?
System: x(k + 1) = Φx(k ) + Γu (k )
State Feedback Control: u (k ) = − Lx(k )
Closed Loop System: x(k + 1) = Φx(k ) + Γu (k ) = (Φ − ΓL) x(k )
The C.P. of the closed loop matrix: Φ − ΓL
x ( k + n ) = ( Φ − ΓL ) n x ( k ) = 0
Deadbeat!
But there is no free lunch! Deadbeat controller is rarely used in practice 20
because the energy consumption is too high.
•But what if the system is not controllable?
a 1 1
•Example: x(k + 1) = x ( k ) + u (k )
0 b 0
The controllability matrix 1 a
Wc =
0 0
Can we use Ackermann’s Formula? No.
Can we still use Proportional (state-feedback) control? Of course.
Let’s see what would happen if we use state-feedback control
u (k ) = −l1 x1 (k ) − l 2 x 2 (k )
a − l1 1 − l2
x(k + 1) = x(k )
0 b
What are the poles of the closed loop? a − l1 and b.
What are the poles of the original system? a and b.
Can you design L such that the poles can be placed at any desired positions?
No. The pole z=a can be changed, but the pole z=b can not be changed!
If |b|<1, this uncontrollable mode is stable, we call such kind of system stabilizable.
If |b|>1, since this mode is unstable, there’s nothing we can do to control this system
21
unless we make major changes to the systems.
Proportional Control --- State Feedback Control
u x
r = 0+ L Process
–
23
r =0 + u x
L Process
–
u (k ) = − Lx(k )
In many practical problems, we have only one sensor to measure the outputs. Only
y(k) is available, not all the state variables, x(k). How to solve the control problem?
•If we still want to use the proportional controller, then how to get the missing x(k)?
Observer
Correct
K
Given pair {Ф, c}, can we chose K such that (Ф- Kc) has any desired C.P. Ao (z ) ?
But we have already solved a very similar problem:
Given pair {Ф, Г}, find L, such that (Ф- ГL) has any desired C.P. Am (z )
Ackemann’s formula
It is possible to apply this formula again. But there is one more obstacle to clear!
( Φ − Kc ) ⇔ ( Φ − ΓL )
27
The system has to be observable!
•Is it possible to make the estimation perfect in finite steps?
Ao ( z ) = z n (Φ − Kc) n = 0
Dead-beat Observer!
But again there is no free lunch. The Dead-beat observer is rarely used in
28
practice either because it is sensitive to noise!
Output-Feedback Controller
•Step 1: Controller Design: u (k ) = − Lx(k )
r =0 u y x
+
L Process
–
x̂
Observer
Choose L such that the closed loop matrix (Ф- ГL) has desired C.P. Am (z )
L can be calculated by Ackermann’s formula
L can also be calculated by matching | zI − (Φ − ΓL) |= Am ( z )
•Step 2: Design observer to estimate x(k)
e(k + 1) = (Φ − Kc)e(k )
Choose K such that the observer matrix (Ф- Kc) has desired C.P. Ao (z )
•K can be calculated by Ackermann’s formula
29
Step 3: Output feedback control
So far, we did not consider the effect of the disturbance in our model.
x(k + 1) = Φx(k ) + Γu (k )
y (k ) = cx(k )
But disturbance may occur at any moment and everywhere!
Simple models:
•Would the state x(k) decrease to zero when the disturbance is present?
x(k + 1) Φ Φ xω Γ
z (k + 1) = = z ( k ) + u (k )
ω (k + 1) 0 Φ ω 0
y (k ) = [c 0]z (k )
32
Is it in the standard form of state space model now? Yes!
•Step 1: Assume the state vector z(k) is available, design state-feedback controller
-Lw + u ω
∑ Process
-L + x
u (k ) = − Lc z (k ) = − Lx (k ) − Lωω (k )
We assume that the disturbance is accessible, is this assumption realistic?
No.
When you try to solve a complicated problem, you always start with the simplest case,
even if it is unreal! This is the most important trick in doing good research work!
The closed loop system becomes
x(k + 1) Φ Φ xω x(k ) Γ x(k ) Φ − ΓL Φ xω − ΓLω x(k )
= −
ω (k + 1) 0 Φ ω (k ) 0 [L L ]
ω = ω (k )
ω ω (k ) 0 Φω
y (k ) = [c 0]z (k )
How to choose L?
Choose L such that Φ − ΓL has desired poles of Am(z) as before. 33
x(k + 1) = (Φ − ΓL) x(k ) + (Φ xω − ΓLω )ω (k )
ω (k + 1) = Φ ωω (k )
y (k ) = cx(k )
•But how to choose Lω ?
Choose Lw to reduce the effect of the disturbance.
Ideal Case: Choose Lw such that Φ xω − ΓLω = 0
the disturbance can be completely cancelled out.
What if it is impossible to make Φ xω − ΓLω = 0 ?
We need to analyze the transfer function from the disturbance to the output
zX ( z ) = (Φ − ΓL) X ( z ) + (Φ xω − ΓLω )ω ( z ) X ( z ) = ( zI − (Φ − ΓL)) −1 (Φ xω − ΓLω )ω ( z )
Y ( z ) = cX ( z ) = c( zI − (Φ − ΓL)) −1 (Φ xω − ΓLω )ω ( z ) = H ω ( z )ω ( z )
ω (z ) H ω (z ) Y(z)
If the disturbance is constant, is it possible to to make its output ZERO?
H ω (1) = 0
34
+ u
-Lw ω
∑ Process y
-L + x
x̂
Observer
Now we can make the realistic assumption: both x and w are unknown!
What should we do? Have we already solved the case when x is not accessible?
Step 2: Design the observer to estimate both the state x and disturbance as
disturbance can be treated as part of the state!
x(k + 1) Φ Φ xω Γ
z (k + 1) = = z ( k ) + u (k )
ω (k + 1) 0 Φ ω 0
y (k ) = [c 0]z (k )
Φ Φ xω
K can be chosen such that the C.P. of ( − K [c 0]) matches any desired one.
0 Φ
ω
Step 3: 35
h 2
•Example: Double integrator 1 h
x(k + 1) =
0 1 x(k ) + 2 (u (k ) + ω (k ))
h
ω (k + 1) = ω (k )
y (k ) = [1 0]x(k )
•Step 1: u (k ) = − Lx (k ) − Lwω (k ) •How to choose L? Choose L to place the poles.
•How to choose Lw? Lw = 1 u (k ) = − Lx (k ) − ω (k )
x(k )
•Step 2: Observer z (k ) =
ω (k )
h2 h2
1 h
x( k + 1) 2 x(k ) 2
ω ( k + 1) = 0 1 h ω (k ) + h u (k )
0 0 1 0
x(k )
y (k ) = [1 0 0]
ω (k )
What is the steady state output when the closed loop is stable?
The purpose of feedback is to change the internal property of the system, like the poles.
If the objective is to make the output follow command signal rather than
zero, we need to add feedforward control signal to the system:
u(k ) =
− Lx ( k ) + u ff ( k )
37
Pole Placement (Stabilization) Tracking (following the reference model)
uc Bm ( z )
yr
Reference Model
Am ( z )
+
u y
Controller System to be controlled
+ +
–
Once the poles are matched, we need to consider how to match the zeros!
u = u fb + u ff
But can we solve the tracking problem completely for any linear system?
What are the conditions?
Controllable? Yes.
Observable? Yes.
Is the open loop (original system) required to be stable? poles of A(z) No.
Let’s check whether all the signals are bounded.
Observer
B m ( z)
How to choose the Feedforward T.F.? H ff =
B( z )
Zero Placement
43
Q & A…
44
b1 z + b2
H ( z) = 2
z + a1 z + a2
45
b1 z + b2
H ( z) = 2
z + a1 z + a2
return
46