0% found this document useful (0 votes)
166 views44 pages

Disturbance Rejection & Control Systems

This document summarizes a lecture on pole-placement control using the input-output model approach. It discusses model reference control where the objective is to make the closed-loop system follow a specified reference model. It describes how to use state feedback, observers, and feedforward controllers to perform pole and zero placement to match the reference model dynamics. It also discusses how to treat disturbances as additional states and how to ensure bounded inputs and outputs for perfect tracking when only an input-output model is available rather than a state-space model.

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)
166 views44 pages

Disturbance Rejection & Control Systems

This document summarizes a lecture on pole-placement control using the input-output model approach. It discusses model reference control where the objective is to make the closed-loop system follow a specified reference model. It describes how to use state feedback, observers, and feedforward controllers to perform pole and zero placement to match the reference model dynamics. It also discusses how to treat disturbances as additional states and how to ensure bounded inputs and outputs for perfect tracking when only an input-output model is available rather than a state-space model.

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/ 44

EE5103/ME5403 Lecture Five

Pole-Placement Problem
Input-output Model 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
•What is a control system?

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.
•Can we make the output follow arbitrary bounded signal? Certainly not.
How to specify the reference signal, or the desired output?
2
•The reference signal is specified by a well-behaved reference model.
•Model-reference control:

uc yr
Reference Model

+
u y
Controller System to be controlled
+ +

Objective: To make the closed loop model follow the reference model as close as
possible.

3
Two-Degree-of-Freedom Controller
uc Bm ( z ) yr
Reference Model
Am ( z )

Feedforward
controller
y
u ff
u fb + u
Feedback System to be controlled
+ controller
– +

u = u fb + u ff

Pole placement Zero placement

Match Am (z ) Match Bm (z ) 4
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
Separation Property! 5
Step One: 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:

•Ackermann’s formula

Can you solve the problem without using Ackermann’s formula?


Use direct comparison
Am (z )
| zI − (Φ − ΓL) |
6
Step One: 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 uncontrollable, can we still place the poles anywhere?

Some of the poles cannot be changed!

•If the uncontrollable poles are stable, then we can still control the system to
some degree.

•Stabilizable.

•If the uncontrollable poles are unstable, then we have to make big changes to
the original system such that the system becomes controllable!
7
u y
Step 2: observer
Process
Measure
+

Observer
ŷ Compare

Correct
K

x(k + 1) = Φx(k ) + Γu (k )
y (k ) = cx(k )
e(k + 1) = (Φ − Kc )e(k )
How to choose K?
•Ackermann’s formula
Use direct comparison
| zI − (Φ − Kc) | Ao (z )

Step 3: Output-feedback controller 8


Disturbance Rejection: What is the trick? Treat disturbance as another state variable!

-Lw + u ω
∑ Process
-L + x

u (k ) = − Lc z (k ) = − Lx (k ) − Lωω (k )

 x(k + 1)  Φ Φ xω   x(k )  Γ   x(k )  Φ − ΓL Φ xω − ΓLω   x(k ) 


ω (k + 1) =  0 Φ  ω (k ) −  0 [L Lω ]ω (k ) =  0 Φ  ω (k )
   ω        ω  
y (k ) = [c 0]z (k )

•How to choose Lw? Try to make Φ xω − ΓLω = 0


What if it is impossible to make Φ xω − ΓLω = 0 ?
You need to get the TF from the disturbance to the output.

ω (z ) H ω (z ) Y(z)
If the disturbance is constant, is it possible to to make its output ZERO?
Make the steady-state gain H ω (1) = 0 9
Tracking Problem: how to match the reference model?

Y ( z) B( z ) Bm ( z )
= H ff ( z ) →
U c ( z) Am ( z ) Am ( z )
Bm ( z )
•How to design the feed-forward controller? H ff ( z ) =
B( z )
•Under what conditions is perfect tracking attainable? How to make sure that the
inputs and outputs are bounded?
Y ( z ) Bm ( z )
=
U c ( z ) Am ( z )
B(z) is stable!
U ( z ) A( z ) Bm ( z )
=
U c ( z ) B ( z ) Am ( z )

Do we need the condition of stable inverse B(z) for pole-placement or stabilization?


10
No. We need it only for perfect tracking (zero-placement).
One big problem: what if the state-space model is not available?

We can either find the realization of the input-output model


and use the state-space model approach.

Or we just work with the input-output model directly.

There are advantages in using the input output model directly!

11
•So we need a new approach to deal with input-output model directly.
Open Loop Control:
uc B ( z) yr
Reference Model m
Am ( z )
A( z ) Bm ( z )
B ( z ) Am ( z )
u y
B( z )
What is the simplest controller?
A( z )
Let’s derive the T.F. from command signal uc to output y
B( z ) A( z ) Bm ( z )
Y ( z) = U c ( z)
A( z ) B( z ) Am ( z )
Should we cancel out A(z)? No. One A(z) is operating on u c , the other A is on y.
Should we cancel out B(z)? Yes. Both of them are operating on the input u.
Bm ( z ) A( z ) A( z ) Bm ( z )
Y ( z) = U c ( z) U ( z) = U c ( z)
Am ( z ) A( z ) B( z ) Am ( z )
What is the condition to assure the output is bounded? A(z) is stable
What is the condition to assure the input is bounded? B(z) is stable
12
Both the system and its inverse have to be stable!
Two-Degree-of-Freedom Controller
uc Bm ( z ) yr
Reference Model
Am ( z )
T ( z)
R( z )
y
u ff
S ( z)
u fb + u B( z )
+ System
– R( z ) + A( z )

What’s the closed loop transfer function from command signal Uc to y?


Let’s first get the T.F. from uff to y:
B( z )
What is the feed-forward T.F.?
A( z )
What is the open-loop T.F.? B( z ) S ( z) B( z ) S ( z )
(−1) (−1) =
A( z ) R( z ) A( z ) R( z )
B( z )
Y ( z) A( z ) Y ( z) B( z ) R( z )
= =
U ff ( z ) B( z ) S ( z ) U ff ( z ) A( z ) R ( z ) + B ( z ) S ( z )
1+ 13
A( z ) R ( z )
Two-Degree-of-Freedom Controller
uc Bm ( z ) yr
Reference Model Am ( z )
T ( z)
R( z )
y
u ff
u fb
S ( z) +u B( z )
+ R( z ) System A( z )
– +

Y ( z) B( z ) R( z ) U ff ( z ) T ( z )
= =
U ff ( z ) A( z ) R ( z ) + B ( z ) S ( z ) U c ( z ) R( z )
Y ( z) Y ( z ) U ff ( z ) B( z ) R( z ) T ( z)
= =
U c ( z ) U ff ( z ) U c ( z ) A( z ) R ( z ) + B ( z ) S ( z ) R ( z )
Should we cancel out R(z)? Yes. Both of them are operating on uff.
Y ( z) T ( z ) B( z )
=
U c ( z ) A( z ) R ( z ) + B ( z ) S ( z )
S ( z)
How to design the feedback controller ? Match the poles or zeros?
R( z )
Choose R(z) and S(z) such that Acl ( z ) = A( z ) R ( z ) + B ( z ) S ( z ) = Am ( z ) Ao ( z )
14
Why not directly match Am (z ) ? The order of Am (z ) may be lower than the closed loop
Y ( z)
=
T ( z ) B( z )
=
T ( z ) B( z ) Bm ( z )
U c ( z ) A( z ) R( z ) + B( z ) S ( z ) Am ( z ) Ao ( z ) Am ( z )
T ( z)
How to design the feedforward controller ? R(z) is already fixed!
R( z )
•How to choose T(z)?

Compare it to the reference model, one simple way to choose T(z) is T ( z ) = t o Ao ( z )

So the closed loop system becomes: Y ( z) T ( z ) B( z ) t B( z )


= = o
U c ( z ) Am ( z ) Ao ( z ) Am ( z )

At least the poles match those of the reference model!

to B( z ) to B(1)
What is the steady state gain of ?
Am ( z ) Am (1)
to B(1) A (1)
How to choose to to make the static gain unity? Am (1)
1 →
= to = m
B (1)
•Is perfect tracking attainable? Can we match the zeros?
Y ( z ) Bm ( z ) B( z )
T ( z ) = Ao ( z ) Bm ( z ) =
U c ( z) Am ( z )
15
• Is it possible to get rid of B(z ) ? Yes. Under certain conditions!
Can we add more freedom?
uc Bm ( z ) yr
Reference Model
Am ( z )
T ( z)
H ff (z )
R( z )
y
u ff
S ( z)
u fb + u B( z )
+ System
– R( z ) + A( z )

What’s the closed loop transfer function from command signal Uc to y?


U ff ( z )
Y ( z) B( z ) R( z ) = H ff ( z ) Y ( z) B( z ) R( z )
= U c ( z) = H ff ( z )
U ff ( z ) A( z ) R ( z ) + B ( z ) S ( z ) U c ( z) A( z ) R( z ) + B( z ) S ( z )

Choose R(z) and S(z) such that Acl ( z ) = A( z ) R ( z ) + B ( z ) S ( z ) = Am ( z ) Ao ( z )


Y ( z) B( z ) R( z ) Bm ( z )
= H ff ( z ) Design H ff (z ) to match
U c ( z) Am ( z ) Ao ( z ) Am ( z )
B( z ) R( z ) B ( z) Ao ( z ) Bm ( z ) 16
H ff ( z ) = m H ff =
Am ( z ) Ao ( z ) Am ( z ) B( z ) R( z )
•This is the overall picture of the design of the two degree of freedom controller.

•Is it simpler than the state space approach?

Yes! We do not need an observer!

But how to solve the equation: Acl ( z ) = A( z ) R( z ) + B( z ) S ( z ) ?

Diophantine Equation

17
Break

Self-Driving Car

18
As in the state-space approach, let’s try to design the feedback controller first.
u y
r +
Controller S ( z ) System
B( z )
– R( z ) A( z )

S ( z ) B( z )
Y R( z ) A( z ) S ( z ) B( z ) R( z ) A( z ) + S ( z ) B ( z ) → Acl ( z ) = Am ( z ) Ao ( z )
= =
R 1 + S ( z ) B( z ) R( z ) A( z ) + S ( z ) B( z )
R ( z ) A( z ) A( z ) y = B( z )u
h2
Example: the double integrator ( z + 1) A( z ) = ( z − 1) 2
Y ( z) = 2 U ( z)
( z − 1) 2
h2
B( z ) = ( z + 1)
2
Let’s try the simplest controller, the proportional controller, R = 1, S = s0
2 h2 2 h2 h2
RA + SB = ( z − 1) + s0 ( z + 1) = z + ( s0 − 2) z + s0 + 1 Acl = z 2 + p1 z + p 2
2 2 2
Can we match them?
Two equations with one parameter s0----mission impossible!

So we have to give extra freedom to the controller! 19


R = z + r1
Then try the first-order controller,
S = s 0 z + s1
Compare it to the P controller, how many extra control parameters? Two more!
Increase the order of the controller by ONE Design parameters jump by TWO
2 h2
AR + BS = ( z − 1) ( z + r 1 ) + ( z + 1)( s 0 z + s1 )
2
3 h2 2 h2 h2
= z + (r1 + s 0 − 2) z + (1 − 2r1 + ( s 0 + s1 )) z + r1 + s1
2 2 2
•If the desired C.P. is Acl = z 3 + p1 z 2 + p 2 z + p3

Match the coefficients: •How many equations? •How many design parameters?

So we can easily compute the design parameters by solving the three equations.
•What if the desired C.P. of the reference model is Am = z 2 + p1 z + p2 ?
•Can we match Am direcly? No!
Let’s introduce Ao such that Acl = Am Ao
One simple choice: Ao = z Acl = z 3 + p1 z 2 + p2 z
Can we match Acl now? Yes!
20
What is the lesson? The controller must have sufficient degree of freedom!
Now let’s consider the following question:
Given polynomials A(z) and B(z), and a third polynomial , Acl (z )
can we find R(z) and S(z) such that
A( z ) R ( z ) + B ( z ) S ( z ) = Acl ( z ) Diophantine equation

•Let’s consider second order system A( z ) = a 0 z 2 + a1 z + a 2


B( z ) = b0 z 2 + b1 z + b2
Acl ( z ) = p 0 z 3 + p1 z 2 + p 2 z + p3

•Design a first order controller R( z ) = r0 z + r1


S ( z ) = s 0 z + s1

•From A( z ) R ( z ) + B ( z ) S ( z ) = Acl ( z )

z3 : p0 a 0 r0 + b0 s 0
compare the coefficients
z2 : p1 a1 r0 + a 0 r1 + b1 s 0 + b0 s1
z: p2 a 2 r0 + a1 r1 + b2 s 0 + b1 s1
1: p3 a 2 r1 + b2 s1
•How many equations? •How many design parameters? 21
Four Four
Rewrite it in a compact matrix form, a0 0 b0 0   r0   p 0 
a
 1 a0 b1 b0   r1   p1 
=
•Sylvester matrix a 2 a1 b2 
b1 s 0    p2 
    
0 a2 0 b2   s1   p3 
•What is the condition on the Sylvester matrix for getting the solution?
The solution exists as long as the Sylvester matrix is non-singular!
•What is the condition for non-singularity of Sylvester matrix?
Let’s take a look at a simple example:
Y ( z) ( z + 1) A( z ) = ( z + 2)( z + 1)
=
U ( z ) ( z + 2)( z + 1) B( z ) = z + 1
A( z ) R( z ) + B( z ) S ( z ) = ( z + 2)( z + 1) R ( z ) + ( z + 1) S ( z )
= ( z + 1)[( z + 2) R( z ) + S ( z )]
Is it possible to choose R and S such that AR+BS matches any Acl?
Can you design R(z) and S(z) such that
z3
( z + 1)[( z + 2) R( z ) + S ( z )] =
It is impossible! Unless Acl contains the same factor (z+1).
So one condition to assure Sylvester matrix is nonsingular: 22
A(z) and B(z) should not have any common factors.
Sylvester matrix is 2nx2n matrix:

•Sylvester Theorem:

The Sylvester matrix is nonsingular if and only if the two polynomials A(z) and
B(z) have no common factors.

23
The basic solution for pole placement:
u y
r +
Controller S ( z ) System
B( z )
– R( z ) A( z )

Assumptions: the order of the system is n: Deg A=n, Deg B <= n


The order of controller is n-1

How many design parameters? 2n


The order of the closed loop: 2n-1
Then if A and B have no common factors, R and S can be uniquely determined
from

A( z ) R ( z ) + B ( z ) S ( z ) = Acl ( z )

24
Why is the order of the controller n-1? Can we use lower-order controller?
Assume the order of the controller is m, how many design parameters?

2(m+1)

What is the order of the closed loop AR+SB?


m+n
How many equations can you get by matching AR+SB with Acl (z ) ?

m+n+1
The number of design parameters should be at least the number of the matching eqns.

2(m + 1) ≥ m + n + 1 m ≥ n −1

What would happen if the order of the controller is larger than n-1?
The number of design parameters exceeds the number of equations!

How many solutions?


Infinity. The extra freedom can be used to satisfy other design specifications. 25
What are the other considerations: 1. Reduce the order of the whole system.
2. Disturbance rejection
Reduce the order----the motivation:
It is preferable sometimes to keep the order of the closed loop system as low as
possible such that the design of controller is simpler and the dynamics of the
system is also simpler.
uc Bm ( z ) yr
Reference Model
Am ( z )
T ( z)
R( z )
y
u ff
S ( z) u fb +u B( z )
+ System
– R( z ) + A( z )

What’s the closed loop transfer function from command signal Uc to y?


U ff ( z ) T ( z)
=
Y ( z) B( z ) R( z ) U c ( z) R( z ) Y ( z) T ( z ) B( z ) T ( z ) B( z )
= = =
U ff ( z ) A( z ) R ( z ) + B ( z ) S ( z ) 26
U c ( z ) A( z ) R ( z ) + B ( z ) S ( z ) Acl ( z )
Y ( z ) T ( z ) B( z )
=
U c ( z) Acl ( z )
How to reduce the order? Reduce the order by pole-zero cancellation!
If B(z) is stable, can we cancel out B(z) by designing Acl (z ) properly?

If B(z) contains both stable and unstable factors: B = B+ B−

Can we cancel out the unstable factor B − ? No!


If A(z) has stable poles A = A+ A− can we cancel out the stable factor A+ ?

where to find the factors to cancel A+ ?


•Can we cancel out the stable factors of A(z) and B(z) at the same time?
 A = A+ A−
Let  + −
B = B B

But how does this pole-zero cancellation affect the controller design, R(z) and S(z)?
27
•The corresponding Diophantine equation
A( z ) R ( z ) + B ( z ) S ( z ) = Acl ( z )
becomes

Both terms on the left side have to contain A+ ( z ) B + ( z )

How to make the first term A+ ( z ) A− ( z ) R ( z ) contain A+ ( z ) B + ( z ) ?

Where to find B + (z ) ?

How to make the second term B + ( z ) B − ( z ) S ( z ) contain A+ ( z ) B + ( z ) ?

Where to find A+ (z ) ?

Is the order of this Diophantine equation lower than the original one? •Yes

So the controller design is also simplified!


28
Example: H ( z ) = ( z − b) |b|<1 and a>1 Reference model: H m ( z ) = z (21 + p1 + p2 )
( z − 1)( z − a ) z + p1 z + p2
Z=b is a stable zero, which may be cancelled out.
Let’s try the first order controller first. R( z ) = ( z − b), S ( z ) = s0 z + s1

The closed loop:


R( z ) A( z ) + S ( z ) B( z ) = ( z − b)( z − 1)( z − a) + ( s0 z + s1 )( z − b) = ( z − b)( z 2 + ( s0 − a − 1) z + a + s1 )
The desired closed loop: Acl ( z ) = ( z − b)( z 2 + p1 z + p2 )
( s0 − a − 1) = p1 s0 = p1 + a + 1
Match the polynomials:
a + s1 = p2 s1 = p2 − a

The closed loop T.F. from the command signal to the output:
Y ( z) ( z − b)T ( z ) T ( z)
= ≈
U c ( z ) ( z − b)( z 2 + p1 z + p 2 ) ( z 2 + p1 z + p 2 )

How to choose T(z) to match the reference model?

T ( z ) = z (1 + p1 + p2 )

29
The resulting controller is
S ( z) T( z )
U ( z) =
− Y ( z) + Uc ( z)
R( z ) R( z )

Put it in the time-domain, we have


R(q)u (k ) = T (q )uc (k ) − S (q ) y (k )

(q − b)u (k ) = q (1 + p1 + p2 )uc (k ) − ( s0 q + s1 ) y (k )

How to implement it by computer?

Do it by a loop!

u (k ) = bu (k − 1) + (1 + p1 + p2 )uc (k ) − s0 y (k ) − s1 y (k − 1)

30
Disturbance Rejection Problem

uc Bm ( z ) yr
Reference Model
Am ( z )
T ( z)
R( z )
y
u ff
S ( z) u fb + u B( z )
+
System
– R( z ) + + A( z )

Disturbance v

The simplest case: A( z )Y ( z ) B ( z )(U ( z ) + V ( z ))


=
Let’s find the transfer function from disturbance v to output y for the closed loop:
B( z )
What’s the feed-forward transfer function from v to y?
A( z )
What’s the open-loop transfer function from v to y? B( z )
(−1)
S ( z)
(−1) =
B( z ) S ( z )
B( z ) A( z ) R( z ) A( z ) R ( z )
Y ( z) A( z ) B( z ) R( z ) B( z ) R( z )
= = =
V ( z ) 1 + B ( z ) S ( z ) A( z ) R ( z ) + B ( z ) S ( z ) Acl ( z ) 31
A( z ) R ( z )
So overall, the output is affected by both the disturbance and the command signal
BRV BTU c
= Y +
( RA + BS ) ( RA + BS )
Let’s consider the simple case that the disturbance is an unknown constant.
Then the corresponding steady state output subjected to this constant input
is simplly the disturbance constant multiplied by the DC gain.

How do we compute the DC gain of a discrete-time transfer function G(z) ?


G ( z ) |z =1 = G (1)

What is the DC gain from the disturbance to the output?

B( z ) R( z ) B(1) R(1)
=
Acl ( z ) z =1
Acl (1)

How to design R(z) such that the DC gain is 0, i.e. R(1)=0?


R = ( z − 1) R ' ( z )

It means that there is an integrator in the controller!


32
Example: y (k + 1) = 3 y (k ) + u (k ) + v(k ) A(q)y(k)=B(q)(u(k)+v(k))
where v(k) is a constant disturbance:

How to design R(z)? R = ( z − 1) R ' ( z )

What is A(z) and B(z)?


A(z)=z-3 B(z)=1
R ( z ) = ( z − 1)
The simplest controller is the first order controller
S ( z ) = s 0 z + s1
The closed loop: AR + BS = ( z − 3)( z − 1) + s 0 z + s 1 = z 2 + ( s 0 − 4) z + s 1 +3
If the desired C.P. is Acl = z 2 + p1 z + p2
Can you match them? Of course!
Y ( z) BT T
= = 2
U c ( z ) ( RA + BS ) z + p1 z + p2
How to choose T?

To satisfy other requirements like zero placement. 33


Tracking Problem: How to match the reference model?
yr
uc Bm ( z )
Reference Model
Am ( z )
T ( z)
R( z )
y
u ff
S ( z) u fb + u B( z )
+ System
– R( z ) + A( z )

What’s the closed loop transfer function from command signal Uc to y?


U ff ( z ) T ( z)
Y ( z) B( z ) R( z ) = Y ( z) T ( z ) B( z )
= U c ( z) R( z ) =
U ff ( z ) A( z ) R ( z ) + B ( z ) S ( z ) U c ( z ) A( z ) R ( z ) + B ( z ) S ( z )

Can we cancel out B(z)? Yes if B(z) is stable! And let R(z) contain B(z)
Choose R(z) and S(z) such that Acl ( z ) = A( z ) R ( z ) + B ( z ) S ( z ) = Am ( z ) Ao ( z ) B ( z )
How to choose T(z) to match the reference model? T ( z ) = Bm ( z ) Ao ( z )
Y ( z) T ( z ) B( z ) B ( z ) Ao ( z ) B ( z ) Bm ( z ) 34
= = m =
U c ( z ) A( z ) R ( z ) + B ( z ) S ( z ) Am ( z ) Ao ( z ) B ( z ) Am ( z )
Is the condition of stable inverse essential? Do we need this condition
if we add more degree of freedom? yr
uc Bm ( z )
Reference Model
Am ( z )
T ( z)
H ff (z )
R( z )
y
u ff
+ S ( z) u fb + u B( z )
System
– R( z ) + A( z )

What’s the closed loop transfer function from command signal Uc to y?


U ff ( z )
Y ( z) B( z ) R( z ) = H ff ( z ) Y ( z) B( z ) R( z )
= U c ( z) = H ff ( z )
U ff ( z ) A( z ) R ( z ) + B ( z ) S ( z ) U c ( z) A( z ) R( z ) + B( z ) S ( z )
Choose R(z) and S(z) such that Acl ( z ) = A( z ) R ( z ) + B ( z ) S ( z ) = Am ( z ) Ao ( z )
Y ( z) B( z ) R( z )
= H ff ( z ) Bm ( z )
U c ( z) Am ( z ) Ao ( z ) Design H ff (z ) to match
Am ( z )
B( z ) R( z ) B ( z) Ao ( z ) Bm ( z ) 35
H ff ( z ) = m H ff =
Am ( z ) Ao ( z ) Am ( z ) B( z ) R( z )
As in the state-space approach, we have to check whether all the signals are bounded.

What is the transfer function from the command signal to the output now?

Ao ( z ) Bm ( z )
H ff =
Y ( z) B( z ) R( z ) B( z ) R( z ) Y ( z ) Bm ( z )
= H ff ( z ) =
U c ( z) Am ( z ) Ao ( z ) U c ( z ) Am ( z )

Are the outputs bounded? Yes! Are the inputs bounded?

What is the transfer function from the command signal to the input ?

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

What is the condition to guarantee the boundedness of the input?


B(z) has to be stable!

Stable inverse condition is always needed for perfect tracking! 36


Rules for design uc Bm ( z ) yr
Reference Model A ( z )
m

T ( z)
R( z )
y
u ff

+ S ( z) u fb+u B( z )
R( z ) System A( z )
– + +
Disturbance v
Occam’s razor -- the simpler, the better.
Separation Property: Design feedback controller first, then build feedforward controller.
Step One: Figure out the design requirements on R(z).
•If need to cancel zeros: R(z) must contain the zero factor B(z)
•Disturbance rejection: R must contain (z-1) (integrator) for constant disturbance.
•Causality conditions: Deg (R) >= Deg (S)
Step Two: Design R and S by solving the Diophantine equation AR + BS = Acl
Step Three: Choose T or Hff at the final stage, to satisfy other design requirements.
The order of controller can be increased in order to meet other design requirements.
Stable inverse condition is required for perfect tracking 37
(perfect match of the reference model)
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 5%. Assuming
the sampling period T = 0.6 seconds,

The differential equation for the dynamics of the vehicle:

In terms of speed, we have

The T.F. for the continuous-time process is then


1
G(s) =
1000 s + 100
We can get the discrete-time T.F. from the continuous time T.F.
0.00058
G( z) =
z − 0.942 38
Get the continuous-time reference model:

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
39
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.0952 z + 0.0755
H d ( z) =
z 2 − 1.331z + 0.5016

uc 0.0952 z + 0.0755 yr
z 2 − 1.331z + 0.5016

H ff ( z )
y
u ff

+ S ( z) u fb+u 0.00058
– R( z )
+ + z − 0.942

Disturbance v

40
We want to reject the constant disturbance, what should we include in R(z)?

Try R = z -1 and S = s0 z + s1, it follows that

AR + BS = ( z − 0.942)( z − 1) + 0.00058( s0 z + s1 )
z 2 + (0.00058s0 − 1.942) z + 0.00058s1 + 0.942
=

Compare with the Am(z)


z 2 − 1.331z + 0.5016

Match the coefficients, we have


(0.00058s0 − 1.942) =
−1.331 0.00058s1 + 0.942 =
0.5016

s0 = 1053.4 s1 = −759.3
We have
z − 1, S =
R= 1053.4 z − 759.3
41
Y ( z) B( z ) R( z )
= H ff ( z )
U c ( z) A( z ) R( z ) + B( z ) S ( z )

Y ( z) B( z ) R( z )
= H ff ( z )
U c ( z) Am ( z )

Bm ( z )
Design H ff (z ) to match Am ( z )
B( z ) R( z ) B m ( z ) Bm ( z )
H ff ( z ) = H ff =
Am ( z ) Am ( z ) B( z ) R( z )

For feed-forward controller, we have

Bm 0.0952 z + 0.0755 164.14 z + 130.17


H ff (=
z) = =
BR 0.00058( z − 1) ( z − 1)

Therefore, the two-degree of freedom controller has the form of,

1053.4 z − 759.3 164.14 z + 130.17


U ( z) =
− Y ( z) + U c ( z)
z −1 z −1

42
Verification through SIMULINK
Now simulate the digital two-degree-of-freedom control system response with actual plant

Does it meet all the performance


requirements?

Yes.
The overshoot is less than 5%.
The settling time is around 8s.

43
Q & A…

44

You might also like