0% found this document useful (0 votes)
144 views46 pages

EE5103/ME5403 Lecture Four Pole-Placement Problem State-Space Approach

This document summarizes a lecture on pole-placement control system design using a state-space approach. It discusses using a reference model to specify desired performance characteristics like settling time and overshoot. It then presents an example of designing a speed control system for a vehicle to reach 100 km/h in 8 seconds with less than 5% overshoot. The document converts the desired continuous-time reference model to discrete-time and discusses using feedback control and pole placement to modify the system dynamics and match the reference model dynamics. The goal is to change the closed-loop system poles to match the desired reference model poles in order to meet the specified performance requirements.

Uploaded by

Fei
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
144 views46 pages

EE5103/ME5403 Lecture Four Pole-Placement Problem State-Space Approach

This document summarizes a lecture on pole-placement control system design using a state-space approach. It discusses using a reference model to specify desired performance characteristics like settling time and overshoot. It then presents an example of designing a speed control system for a vehicle to reach 100 km/h in 8 seconds with less than 5% overshoot. The document converts the desired continuous-time reference model to discrete-time and discusses using feedback control and pole placement to modify the system dynamics and match the reference model dynamics. The goal is to change the closed-loop system poles to match the desired reference model poles in order to meet the specified performance requirements.

Uploaded by

Fei
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 46

EE5103/ME5403 Lecture Four

Pole-Placement Problem
State-Space Approach
Xiang Cheng
Associate Professor
Department of Electrical & Computer Engineering
The National University of Singapore

Phone: 65166210 Office: Block E4-08-07


Email: [email protected]
1
Now we are ready to discuss controller design—the core of this module

aircraft, missiles, Information


Desired INPUT
economic systems, about the
Difference: to the
performance: cars, etc system:
ERROR system
REFERENCE OUTPUT

Controller System to be controlled


+
Compare –
Correct
Measure

•Feedback: Measure —Compare –-Correct


Objective: To make the system OUTPUT and the desired REFERENCE as close
as possible, i.e., to make the ERROR as small as possible.
How to specify the reference signal, or the desired output?
•Can we make the output follow arbitrary command signal?
Impossible! We cannot make the car run faster than the rocket!
2
•The performance requirements have to be realistic!
How to meet the performance requirements?
One approach is to build a reference model first!
Model-reference control: yr
uc Reference Model

+
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!

How to specify the appropriate reference model in practice?


3
It depends upon the design specifications.
One typical way to build a reference model is to build a second order
system since its behaviors are well studied.
Transient behavior of 2nd order systems

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

The behavior of the system is as follows:

The system behavior is


fully characterized by 2
factors: the damping
ratio ζ , and the natural
frequency ωn .

4
Settling time, overshoot and rise time — time domain specifications

overshoot
±1%
1
0.9
M p

rise time 1% settling time


0.1
tr
ts

1.8 πζ 4.6
tr ≅

1−ζ 2 ts ≅
ωn Mp =e ζωn

(ts, M p, tr) ⇔ (ζ , ωn ) ⇔ Reference Model

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.

With sampling period h=0.1s

0.003223 z + 0.003102
H m ( z) = 2
z − 1.885 z + 0.8914

Remember that the reference model in discrete time depends


upon the sampling period.

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

Bcl ( z ) ⇒ Bm ( z ) Zero Placement  Match the zeros

Which one is more important? And Why?


9
Pole placement since stability is the primary requirement!
Pole Placement: Change the poles of the system to desired ones.
The desired poles are designed by the performance requirements: Am(z)
Feedback Control
Open loop: A(z) Closed loop: Acl ( z ) ⇒ Am ( z )
u y
r =0 +
Controller System to be controlled

• What is available for the controller design?


• The model ----state-space model v.s. input-output model
• The measurements (sensors):
State variables vs. outputs
We will start with the simplest case:
1. The state-space model is available.
2. All the state variables can be measured by various sensors.

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

The objective of pole placement is stabilization, so r=0.


u(k ) =
Le( k ) =
L(0 − x ( k )) =
− Lx (k )
Is L a vector or scalar?
Since x is a vector, L has to be a row vector such that the product is a scalar!
L corresponds to the gains for each state variable and the input is the weighted sum.

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 )

Is the system stable?

The system has two repeated pole at 1, not stable!


We need to build a feedback controller to change the behavior!

Controller: u (k ) = − Lx(k ) = −l1 x1 (k ) − l 2 x 2 (k )


The closed-loop system: x(k + 1) = Φx(k ) + Γu (k ) = (Φ − ΓL) x(k )
Φ ⇒ (Φ − ΓL)
The system matrix has been changed by the feedback!
Therefore, the poles have been changed! 12
This is the whole point of feedback: change the property of the system!
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 )

Controller: u (k ) = − Lx(k ) = −l1 x1 (k ) − l 2 x 2 (k )

The closed-loop system: x(k + 1) = Φx(k ) + Γu (k ) = (Φ − ΓL) x(k )

How to design the control gain L?

h2   h 2 l1 h 2l2   h 2l1 h 2l2 


ΓL =  2 [l1 l2 ] = 2  Φ − ΓL = 1 − 2 h−
2 

h  hl 2   − hl
   1 hl 2   1 1 − hl2 

Characteristic Polynomial (C.P.) of the closed loop:


 h 2 l1 h 2l2  h 2
l h 2
l2
| zI − (Φ − ΓL) |=  z − 1 + 2 −h+
2 
 = (z −1 + 1
)( z − 1 + hl 2 ) − ( − h + )hl1
 2 2
 hl1 z − 1 + hl 2 

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:

The closed-loop system:

15
State-Feedback Controller:

The closed-loop system:

Let’s take a closer look at the system matrix after feedback.

Look at the first row, the non-trivial row.


Does feedback controller change the non-trivial row?
Yes. Every element of non-trivial row can be tuned independently!
How about the trivial rows? Does feedback affect them?
No! The trivial rows keep the same!
The input does not change other state variables directly,
which simplifies the controller design!

16
Yes.
State-Feedback Controller:

The closed-loop system:

Take the non-trivial row!

Compare it with the desired C.P.:

Can you match them by designing the control gains?

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 

Applying Ackermann’s formula

 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

Let all the poles be placed at the origin: Acl ( z ) = z n


What is the value of Acl ( z ) |z =Φ−ΓL = (Φ − ΓL) n = ???
Cayley-Hamilton theorem ( Φ − ΓL ) n = 0

If the controller is implemented at time k:


x(k + 1) = (Φ − ΓL) x(k )
x(k + 2) = (Φ − ΓL) x(k + 1) = (Φ − ΓL) 2 x(k )

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

A very simple controller: u (k ) = − Lx(k )


Closed Loop System: x(k + 1) = Φx(k ) + Γu (k ) = (Φ − ΓL) x(k )
If the system is controllable, the poles can be placed anywhere:

• If the system is uncontrollable, then some of the poles cannot be moved!


•If the uncontrollable poles are stable, then we can still control the system to
some degree.
•If the uncontrollable poles are unstable, then we have to make major changes to the
original system such that the system becomes controllable!
Can you suggest a simple way to change the controllability?
Think out of the box, and choose another more effective way to control!
•But there is one serious limitation of this type of controller in terms of
22
implementation. How many sensors does it need for a n-th order system? n!
Break

Robotic car control systems

Honda ASIMO and others


story

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?

We either build a new control system, or modify the existing technology!

Which way is simpler?

•If we still want to use the proportional controller, then how to get the missing x(k)?

•Is it possible to estimate x(k)?


If yes, then we just replace the state vector with its estimate,

•How to estimate x(k) using the inputs and outputs?


•We need to build observer to estimate the state variables. 24
u y
Process

Observer

•Since the state-space model is known: x(k + 1) = Φx(k ) + Γu (k )


y (k ) = cx(k )
A natural (naïve) observer:
(an exact copy of the original model) :

Would the estimation error go to zero?


e(k + 1) = Φe(k )
The matrix describing the error dynamics is the same as that of the system.
When will the estimation error go to zero? Only if the system is stable.
•Does this naïve observer depend upon the actual outputs of the system?
25
•Are there any feedbacks to the naïve observer? No!
u y
Process
Measure
+

Observer
Compare

Correct
K

•What is the desired output of the observer?


•Can we use feedback mechanism to improve the observer?
•Feedback: Measure —Compare –-Correct
x(k + 1) = Φx(k ) + Γu (k )
y (k ) = cx(k )

e(k + 1) = Φe(k ) − Kce(k ) = (Φ − Kc )e(k )


The feedback has changed the error dynamics! Φ ⇒ (Φ − Kc )
26
Can we design K such that Ф- Kc is stable?
e(k + 1) = Φe(k ) − Kce(k ) = (Φ − Kc )e(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 )

Is it possible to make the design parameter K to appear on the right side?


(Φ − Kc)T = ΦT − cT K T Are the eigenvalues the same for A and AT?
Yes.
Φ ⇒ ΦT
Γ ⇒ cT
L ⇒ KT

27
The system has to be observable!
•Is it possible to make the estimation perfect in finite steps?

•From the error dynamics: e(k + 1) = Φe(k ) − Kce(k ) = (Φ − Kc )e(k )


e(k + 2) = (Φ − Kc )e(k + 1) = (Φ − Kc) 2 e(k )
e(k + n) = (Φ − Kc) n e(k )
•Can we make (Φ − Kc) n = 0 ?

How to choose the desired C.P. , Ao (z ) for (Φ − Kc ) ?

Ao ( z ) = z n (Φ − Kc) n = 0

Then the observation error goes to zero at most n steps.

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


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!

Wind gusts on an antenna


Load Disturbances:
Waves on a ship
Most often encountered
Load on a motor
Variations in temperature
Measurement noises, errors

Simple models:

Real world examples:


Ship hit by bomb.
Ship hit by wave. 30
Disturbance Rejection Problem
ω
x
Process
-L u

x(k + 1) = Φx(k ) + Γu (k ) x(k + 1) = Φx(k ) + Φ xω ω (k ) + Γu (k )


y (k ) = cx(k ) ω (k + 1) = Φ ω ω (k )
y (k ) = cx(k )

Can we just simply ignore the disturbance?


u (k ) = − Lx(k )

x(k + 1) = Φx(k ) + Φ xω ω (k ) + Γu (k ) = (Φ − ΓL) x(k ) + Φ xω ω (k )

•Would the state x(k) decrease to zero when the disturbance is present?

•The disturbance cannot be ignored. 31


x(k + 1) = Φx(k ) + Φ xωω (k ) + Γu (k )
ω (k + 1) = Φ ωω (k ) What’s the state of the system?
y (k ) = cx(k )
If we know x(k) and u(k), can we predict x(k+1)?
No.
What do we need to predict the future value of x, x(k+1)?
x(k ), ω (k ), u (k )

Should we include the disturbance term, ω (k )


as a part of the complete state, if we do not consider it as input? Yes!

Augmented state vector,  x(k ) 


z (k ) =  
ω (k )

 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

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 )

choose K to place the poles for


observer error dynamics:
e(k + 1) = (Φ − Kc)e(k )
36
•Step 3:
Limitation of the pure state feedback control system
Open Loop System x ( k + 1) = Φ x ( k ) + Γu( k )
(original system) y(k) = cx(k)
Pure state feedback controller: u (k ) = − Lx(k )
Closed Loop System: x ( k + 1) = Φ x ( k ) + Γu( k ) = (Φ − ΓL) x ( k )
y(k) = cx(k)

What is the steady state output when the closed loop is stable?

The output will go to zero if only feedback control is used!

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!

In the output feedback control


The controller is purely feedback without any information from the command signal, uc
Now it is time to add the influence of uc
such that we can make the T.F. from uc to the output y match the reference model
38
Feedback+Feedforward
A Naive (simple) Approach:
(Proportional Control)

The closed-loop system:

x(k + 1) = (Φ − ΓL) x(k ) + ΓLe(k ) + ΓLcuc (k )


e(k + 1) = (Φ − Kc )e(k )
y (k ) = cx(k )

Let’s derive the transfer function from uc to y


zX ( z ) = (Φ − ΓL) X ( z ) + ΓLcU c ( z ) X ( z ) = ( zI − (Φ − ΓL)) −1 ΓLcU c ( z )
B( z )
Y ( z ) = cX ( z ) = c( zI − (Φ − ΓL)) −1 ΓLcU c ( z ) H cl ( z ) = c( zI − Φ + ΓL) −1 ΓL c = Lc
Am ( z )
39
B( z ) Bm ( z )
U c (z ) Lc
Am ( z )
Y(z) U c (z )
Am ( z )
Yr (z )

Now let’s try to choose Lc such that


B ( z ) Bm ( z ) Bm ( z )
Lc =
Am ( z ) Am ( z ) Lc =
B( z )
But Lc is assumed to be only a proportional gain in the controller!
What should we do?

We have to increase the freedom of the controller.

Where to find the extra freedom?


Can we change the feedback controller?
No, we do not want to change
the poles any more!
• Therefore, we have to design Lc with a
dynamic system rather than a constant gain.
Bm ( z )
• Just let Lc = 40
B( z )
Two-Degree-of-Freedom Controller

u = u fb + u ff

Pole placement Zero placement


Bm ( z )
H ff = Lc =
B( z )
Y ( z) B ( z ) Bm ( z ) B ( z ) Bm ( z )
= H cl ( z ) = Lc = = = H m ( z)
U c ( z) Am ( z ) B ( z ) Am ( z ) Am ( z )
Why should we cancel out B(z) in this case? Both B(z) are operating on uff!

So finally we can match the reference model perfectly! 41


Bm ( z )
U (z ) B( z )
Y(z)
U c (z )
Am ( z )
Y(z)
A( z )

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.

Is the output y bounded? Y B Yes.


= m
U c Am
Is the input u bounded? We need to get T.F. from command signal to u.
Y B Y B
= m = U B A
U c Am U A = m
U c Am B
What is the condition to assure the input is also bounded?
The system is required to have a stable inverse B(z) for perfect tracking!
42
Is this condition required for pole placement (stabilization) only? No.
uc Bm ( z ) yr
Reference Model
Am ( z )
H ff
+ u
-Lw + B( z ) ω
∑ Process y
-L + A( z ) x

Observer

How to choose L? Pole Placement for the controller: | zI − (Φ − ΓL) |= Am ( z )

How to choose Lw? Problem Dependent

How to design the observer? Pole Placement for observer: | zI − (Φ − Kc) |= Ao ( z )

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

You might also like