Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

Adaptive Pole Placement (or pole-assignment)

In pole placement we aim to place the poles of


the closed loop transfer function in reasonable
positions.
parameter
estimation

calculations

command signal
controller

control
signal

Process

output y(t)

u(t)

Block diagram of a self tuning regulator


1. Recursive least squares (RLS) for the identification.
2. Pole-placement for the controller design.
1

Where Process dynamics can be circuits, actuator, sensors, whose behavior can be slow,
or even unstable. e.g. robotics, automobile, magnetic suspension systems.
Why It is possible to shape the closed system
response by assigning closed loop poles.
The simple design principle is by assigning
closed loop poles as desired, making the
closed loop system (under control) faster
and stable when following command signal.
How Based on polynomials manipulation.
e.g. Process
B(q 1)
A(q 1)
0.00415(1 + 0.65q 1)(1 + 0.35q 1)
=
(1 0.95q 1)(1 0.9q 1)(1 + 0.65q 1)
(1)
2

Desired closed-loop denominator of


T (q 1) = 1 0.21q 1 + 0.386q 2

(2)

Both open and closed loop systems have a


steady state gain of 1.
1.5

command signal
closed loop
open loop

system responses

0.5

0.5

1.5

200

400

600
t

800

1000

1200

Result of Matlab example polas.m


3

Start with
Ay(t) = Bu(t 1) + e(t)

(3)

and
G
u(t) = y(t)
F
(dont know what F, G are yet !)

(4)

Closed loop equation


q 1BG
Ay(t) =
y(t) + e(t)
F
or closed loop equation
1 BG]
[AF
+
q
|
{z
}

(5)

y(t) = F e(t)

(6)

closed loop denominator

The dynamics of the closed loop are govern


by the denominator, and we would like this to
follow something sensible, say
T = 1 + t1q 1 + ... + tnq n

(7)

We choose t1, t2, ..., etc, as we desire. F, G


are then found as the solution to
AF + q 1BG = T

(8)
4

Example: A = 1 + a1q 1, B = b1. Substituting


this into
AF + q 1BG = T

(9)

Set F = 1,
(1 + a1q 1)(1) + q 1b1(g0 + g1q 1) = 1 + t1q 1
(10)
gives
t1 a 1
, F = 1.
(11)
g0 =
b1
We choose t1. Let t1 = 0, 5.
The controller is
u(t) = g0y(t)

(12)

Then for a1 = 0.5, b1 = 2, g0 = 0.5.


For the real time self-tuning controller, use
RLS to find
a1 ,
b1, then enter to

a1
t1
g0 =

b1

(13)
5

Adaptive Pole Placement (or pole-assignment)


The idea is based on servo following.
1

noise e(t)

Controller

C(q )
1

A(q )

plant
r(t)
set point

1
H(q )

F(q

u(t)
1
)

B(q )

A(q )

y(t)

G(q )

Adaptive pole-placement control structure


The feedback control structure ( with pre- compensator ) is the above, plus noise dynamics to
be controlled
Ay(t) = Bu(t 1) + Ce(t)

(14)

which has at least a one-step delay in input,


and the control is of the form
F u(t) = Hr(t) Gy(t)

(15)
6

where
F (q 1) = 1 + f1q 1 + ... + fnf q nf ,

(16)

G(q 1) = g0 + g1q 1 + ...gng q ng ,

(17)

H(q 1) = h0 + h1q 1 + ...hnhq nh.

(18)

The closed loop description of the system is


1 BG]
[AF
+
q
|
{z
}

y(t) = q 1BHr(t)+CF e(t)

closed loop denominator

(19)
The dynamics of the closed loop are govern
by the denominator, and we must specify by
assigning stable poles (inside unit circle).
T (q 1) = 1 + t1q 1 + ... + tnq n

(20)

Basic Idea of Adaptive Pole-Placement Control

1. The customer specifies the closed loop poles


in T.

2. The plant is given as InputOutput data


with underlying dynamics governed by B/A,
which we have to estimate. (system identification)

3. The control designer is to choose the controller polynomials F, G, H, such that the
desired closed loop response is obtained.

Pole assignment by
AF + q 1BG = T C,

(21)

which may have many solutions, can cancel the


noise polynomial.
To get a unique solution, we should select nf =
nb, ng = na 1, nt na + nb nc.
1. Often, C = 1.

2. A, B must be coprime (no common factors)

3. C (which has been cancelled) must be stable.

4. Solving F, G from (21) is a problem of solving the Diophatine equation.


9

Solving the Diophatine equation.


We will consider a reduced version (servo control), using a noise-free model
Ay(t) = Bu(t 1)

(22)

with a controller
F u(t) = Hr(t) Gy(t)

(23)

giving in a closed loop


BH
r(t 1)
(24)
y(t) =
1
F A + q BG
We need to find the polynomial F, G such that
T = AF + q 1BG,

(25)

10

Example: We have a model with na = 3, nb =


2. We only want to place one pole, T = 1 +
t1q 1.
nf = nb = 2, ng = na 1 = 2, nt = 1 <
na + nb nc.
Solving (25), gives
(1 + f1 q 1 + f2 q 2 )(1 + a1 q 1 + a2 q 2 + a3 q 3 ) +
q 1 (b0 + b1 q 1 + b2 q 2 )(g0 + g1 q 1 + g2 q 2 ) = 1 + t1 q 1
(26)

which can be solved by equating the coefficient in q i, for i = 1, ...5.


Equivalently, by solving

1 0 b0 0 0
a1 1 b 1 b 0 0
a2 a1 b 2 b 1 b 0
a3 a2 0 b 2 b 1
0 a3 0 0 b 2
{z
A

f1
t1 a 1
f2
a2
g0 = a3
g1
0
g2
0

} | {z }

{z
b

A has a special structure (Sylvester matrix),


and is invertible, if A, B are coprime.
11

= A1b

(27)

which is the coefficients of the controller polynomials.


So the closed loop requirement is satisfied as
BH
r(t 1)
(28)
T
but not the steady-state gain (for servo-following,
should be 1). Set
y(t) =

T
H = |q=1
B
or, preferably cancels the zeros,
H=

1
B

(29)

(30)

12

Real Time Pole-Placement Self Tuning

1. At each sample time t, collect new system


output y(t).
B
using RLS
2. Update model parameter A,

3. Synthesize the control polynomials, F, G


G,
based on a desired
F + q 1B
using T = A
closed loop response T .

4. Applying control Fu(t) = Hr(t) Gy(t).

5. Wait for the sample time and return to step


1.

13

You might also like