Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
6 views8 pages

Course Placement of Poles

The document outlines the method of regulator calculation by pole placement, focusing on achieving desired performance specifications for closed-loop systems. It discusses open-loop synthesis and the principles of pole placement synthesis, emphasizing the importance of setting poles to meet specifications such as bandwidth and stability. Additionally, it details the constraints on polynomial degrees and the normalization of coefficients necessary for the feasibility of the control system.
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)
6 views8 pages

Course Placement of Poles

The document outlines the method of regulator calculation by pole placement, focusing on achieving desired performance specifications for closed-loop systems. It discusses open-loop synthesis and the principles of pole placement synthesis, emphasizing the importance of setting poles to meet specifications such as bandwidth and stability. Additionally, it details the constraints on polynomial degrees and the normalization of coefficients necessary for the feasibility of the control system.
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/ 8

Calculation of a regulator by pole placement, page 1/8

REGULATOR CALCULATION BY POLE PLACEMENT

1 PRESENTATION OF THE METHOD


When calculating a control loop, the goal is for the closed loop to meet a certain number of
performance specifications, in terms of disturbance rejection and setpoint tracking.

1.1- OPEN LOOP SYNTHESIS


In open-loop synthesis methods, the transfer function is determined. C  pyou
corrector
for the open loop FTBO p  =C p .Gallows p to verify the performance specifications.
These performance specifications relate to the closed-loop system and are 'implicitly translated' into
specifications on the open loop:
the respect of the reverse criterion (the place FTBO j   must leave the point [-180°, odb] on its right in the
The Black Nichols plan is only a way to specify the stability of the closed loop.
setting the phase margin is a convenient way to limit (implicitly) the maximum modulus of
GC 1
closed-loop transfer functions T= , S= , and therefore to establish the depreciation of the
1 GC 1GC
closed loop
set the frequency to unity gain  u open loop (for which ∣CGj  u=1 ∣
 is just a means
it is necessary to take into account a specification of the closed-loop bandwidth (rejection speed of
perturbation.
The integrator that we add to the corrector, or more generally the act of fixing the behavior
asymptotic behavior of the corrector at low frequencies limC p 0
p, is just a convenient way to take in
account for the specifications of accuracy in static conditions of the closed-loop control law, such as
the step error, the tracking error, the rejection of a disturbance of step type, ramp, parabola etc...etc...
1-2-SYNTHESIS BY POLE PLACEMENT
1.2.1 - principle of the method
The pole placement synthesis method proceeds in a radically different way. If one
consider that the dynamics of the closed loop is essentially related to the poles of the different functions of
closed loop transfer, so why not directly set the value of these poles, to fulfill the
specifications document?... For example, a bandwidth specificationwnof the closed loop, and of factor
of depreciationzgiven, can be filled by establishing a dominant second-order pole corresponding to
values ofwn andzdesired.
To clarify things, let's consider the following control scheme,

Perturbation
d(t)
instruction Entry of
+ Exit
or reference error order
yc(t) + e(t) u(t) + y(t)
R  p B p
C p  = G p=
S  p A p
- corrector Process
you regulator

R p
where C  p = is the transfer function of the controller,
Sp
B p 
G p is the transfer function of the system,
A p 
Calculation of a regulator by pole placement, page 2/8

R p  p , B  p  A p are polynomials in p.
The equations of the closed loop can be written as:

[ ] [ ]
B p .R p A p .S p
Y p= . Y cp+ .D p
A p.S p+ B p.R p A p .S p+ B p.R p
A  p .R p  A  p . R  p
U p =
[ ]
.Y  p−
[
A  p . S  pB  p . R c p A  p . S  pB  p R p
A  p . S  p A  p . S  p
.D p
]
E  p =
[ ]
. Y c  −
[
A  p .S pB  p  .R p A  p . S  pB p .R p
Closed-loop transfer functions all have the same denominator:
.D p
]
DBF  p =A  p .S  p  B p .R p  , called 'closed-loop denominator'
R  p
Find a proofreader C p  = therefore allowing to set the poles of the closed loop comes down to
S  p
1- to choose the zeros z I of DBF p (poles of all closed-loop transfer functions)
2- to deduce the coefficients d i correspondents of the polynomial D BF p :
D BF p = p−z 1 . p− z2  . .  p−z nd  =d 0  d 1p 1 d ndpand
3 - to calculate the coefficients of the polynomials R  p  andS p  for which the following equality is verified:
DBF p =A  p  . S    p  B p .  
R p
known: set by the poles ziknown to be determined known to be determined
this equation is known as Bézout's equation
1.2.2 - Constraints on the degrees of polynomials
We will show in this paragraph that problem 1.2.1 reduces to a system of linear equations.
unknowns, whose solution is classically found by inverting an nxn matrix (Algebra course
Linear: DUT or first year of university institute)

Let's ask:
A  p =a0 a1p ...a napna , where na is the degree of A  p  [1]
B p =b 0 b 1p...bnbp nb, nb is the degree of B p  [2]
where
R p =r 0r 1p...r nrpnr , where
r is the degree of R  p  [3]
S  p =s 0s1p ...s nsp ns , where ns is the degree of S p  [4]
DBF  p=d
 0 nd
d 1p... dndp , nd is the degree of DBF p
where [5]

Note: Any physical system is inertial, meaning it never responds instantaneously to the step.
B  p
For a linear system of transfer function G p = this implies that the degree of A  p  is
A  p
strictly greater than the degree of the numerator B p  :
B  p
G p = is the transfer function of an inertial system⇒ oA  po B p
A  p
The demonstration is very simple: it is enough to apply the initial value theorem to the response to
the level of G p  , saying that the exit y t  must be equal to 0 at time t 0s It is left as
exercise for students.
R p
Moreover, to be feasible, the transfer function corrector C  p = must respect the same
Sp
condition.
It is concluded that the degrees of the polynomials must comply with the following two conditions:

nb na The system is inertial

nr ns The corrector is achievable [7]


Calculation of a regulator by pole placement, page 3/8

and thus the degreend of the polynomial DBF p = A  p .S pB  pis.R
equalp
to the degree of the polynomial
A  p . S  p
o
[ B p .R] p[  A  p .S
o
, since ] . p
and therefore the degreend the denominator of the closed loop is derived from those of A  p , S  by
p:
d = a ns [9]
1.2.3- Normalization of the highest degree coefficients
As the highest degree coefficient s ns of S p  must be different from zero (by its very definition of the
degree of a polynomial), we will normalize the polynomials in equation [9], by arbitrarily fixing the terms of
highest degree to 1, that is to say that we set:
s ns=1 normalization of the corrector [10]
a no=1 normalization of the system [11]
d nd =1 normalization of the closed-loop denominator [12]

1.2.4 Determination of the degrees of the polynomials RetS and DBF


Bézout's equation: DBF p = A  p . S  p B p, .R p
expressed for each of the coefficients d i of
DBF  p  reduces to the following system of linear equations:
equation associated with the term of degree 0:d=0 b.r
0 0 0 0p
equation associated with the first degree term: d=
1 peace
1 0be 0 him1
upon peace
1 0be upon 1 
0 him b.r b.r
min n a,i min n b , i 
associated equation to the term of degree i:d i= ∑ a k. s i−k  ∑ b k. r i−k
k=max 0,i−ns  k=max 0,i−nr 
The unknowns are:
The coefficients r 0, ...nr of R  p  , 
let it rbe1 unknowns
The coefficients 0, ...ns−1 of S p  car ns=1 ) , be it n s additional unknowns

In order for the system to have exactly one solution, there must be as many equations as there are unknowns.
- on a nd equations to solve: one for each coefficient p0,⋯,pnd−1 of DBF  p  )
on a s n r1 unknowns
To have the same number of equations as unknowns, it is necessary that
nd =nr  ns  1 [13]
It is also known (equation [9]), that nd =na n s, from which we deduce the value ofnr, by reinjecting this expression
in [13], let
nr na 1 [14]
The choice of degreen s of S p  is arbitrary.
However, for the corrector to be feasible, it must be that ns n r .
To obtain a minimum degree corrector, one chooses the smallest value of n sn r
s =n r 1=n a [15]
Knowing the value of n s , we deduce that of nd (equation [9]):
nd =na =2.na [16]
1.2.4- Matrix system to be solved
Now knowing the degrees, Bézout's equation is expressed in the form of a matrix equation with as many
of equations than unknowns: ( we recall that the coefficientnaof higher degree of S pis normalized to
1, and is therefore not an unknown, hence its presence in the right member of the equation)
Calculation of a regulator by pole placement, page 4/8

terms of A.S p terms of B.R p

[ ∣ ][ ] [ ]
s0
a0 0 0 . 0 b0 0 0. 0 s1 p0
a1 a0 0 . 0 b1b 00. 0 s2 p1
a2 a 1a0 . 0 . . . . . . p2
. . . . 0. . . . . na−1 .
anaa na−1 . . a00bna−1 . . b0 . = pna−1 ¿
0 ana . . a1 . . . . . r0 pna− na. a 0
0 0 . . a2 . . . . . r1 p na1−s na. a 1
. . . . . . . . .bno−1 . .
0 0 0 .ana 0 0 . . 0 . p2.na−1−sna. a no−1
r na−1
M:matrix2.naX2.na  VCONNU
UNKNOWN

matrix form of Bézout's equation


This equation is in the form of M.X=V where X is the vector of unknowns to be determined (the coefficients)
[ s...,
0, sna−10r na−1 ] the denominator S  pand of the numeratorR pthe corrector C p).
To solve it, simply invert the matrix M (see university or IUT course 1)erayear, or Analysis
digital),
then to calculate X M  1 .V [17]

The regulator C pis ultimately written


r0 r.p.1..rn 1 .pn 1 a

C p  a
[18]
s0 1 .p... sn 1  1 p n a a
a

2- Cases where poles and zeros of the controller are imposed


2.1- Presentation of the problem
In the previously presented case, the corrector C  p  is entirely determined by the choice of the poles of the
closed loop.
However, the specifications often impose certain poles and/or zeros of the controller. C  p  himself.
The most classic example involves imposing the number i of integrations (the number of poles of
C  p in p=0 ) of the corrector), to ensure precision performance in static conditions.
In this case, the denominator p  the corrector must be able to be written in the form
S p  Sf  p .S '  p
 pest
wherefp=  youthe imposed part of S p 
S '  p  is a polynomial that will be determined by the choice of closed-loop poles.
and where
The more general method of pole placement consists in calculating
R f p . R '  p
– a regulator C  p = such that the denominator of the closed loop
f p . S '  p

DBF p = A  p . S f p . S '  pB p . R f p [19] . R '  p


puts its zeros in specified locations.
The difference with the previous pole placement problem is that now, the polynomials
R f  p  andSf  p  are imposed, meaning that certain poles and/or zeros of the regulator C  p  are given to
priori.
2.2- Degree Constraints
As in the previous case, the degree constraints on the polynomials arise from the fact that it is necessary to
that the correction is achievable => degree degree of of R' p . R f  pdegree of S' p .Sf p
that there are as many equations as unknowns in the matrix system to be solved
Calculation of a regulator by pole placement, page 5/8

Without detailing the successive calculation steps, (the same approach as in 1), we finally obtain the constraints.
following on the degrees of different polynomials

2 . n anrfnsf [20]

r =nan sf−1 [21]

s =n an rf [22]

nr' , n 's r f s f are the respective degrees of the polynomialsR '  p , S '  p ,Rf  p , S f  p 
where
In this case, we have
2.na nr  ns
f f Poles to choose

the calculated corrector will have


a numerator R '  p . R f  p  of degreena r  n 1f f

a degree denominator f
a nr ns
f

2.3- Normalization
For the same reasons as in 1, we normalize the highest degree coefficients of S p  , A p  , andDBF  p 
1. This amounts to normalizing the highest degree coefficients of the polynomials to 1. s 'tI p ,
A p = A  pf .S , p
andDBF  p 
Calculation of a regulator by pole placement, page 6/8

Application of the method on an example


1
Let it be a transfer function process G p  
p 1

0.1p 1 
we want to control the system in closed loop, in such a way that
1- The closed-loop controlled system behaves approximately like a second-order system.
third order, of natural frequency wn 25rd/s and a damping factor ≈1/  2
2- The error between the setpoint and the output tends asymptotically towards 0, for a ramp of setpoint of
fifth 1/s.

Phase 1 - Specification 2 implies that the controller C(p) must contain at least 2 integrators (final value theorem)
Phase 2 - As specification 1 of the specifications document focuses on the poles of the closed loop, we will orient ourselves.
towards a synthesis method of the pole placement type.

1- determination of degrees
The corrector C  p  must contain two integrations, from which we write
R' p .Rf p R f p =1, because no zero of C p is not imposed
C p  =
S
' p .Sf p
, with
{
S f p = p,
2
we want 2 integrations in the corrector

B  p
The process is writtenG p = or again, by normalizing to 1 the coefficient of the highest degree of A  p 
A p
B p  10 b0

A  p=
 p 2 2
11p10= pa1pa0

Equations [20] to [22] now provide the degrees of the different polynomials.
degree of the closed-loop denominator DBF p: nd =2 . n a  nsfnrf=6
degree of R  p  : r =na
' '
n sf−1=3
degree of S '  p  : n s=n a
'
n rf=2
To write the matrix equation corresponding to the Bezout equation, we set
R'  p =r 0  r 1p r 2p2  r 3p 3
S'  p =s0 s 1p s 2p 2 = 0  s1p p2( since the highest degree coefficient of S'  pis normalized to 1)

For the problem to have a unique solution, the closed-loop denominator DBF  p  must be from
degree nd=2 . n 
a nn=6 rf
sf .

As we are asked for a dominant pole of 2thorder, we will choose DBF  p  in the form:
DBF p [= p 2
2. n .p
2
] [ w 1 ] , with w 1 large enough in front
.p 4
 n
In practice, we take (arbitrary choice, and actually not very smart)
 1 =10 n≈250th/ s
,
where one can write
DBF p =d 0 d1p d 2p 2 d 3p3 d 4p 4 d 5 .p5p 6

{
1
4 2
d 0= n

d 1=2 1 n 4 1

{
4 3 2
n n ≈25th/
d 2=8 3

1 n  6  
2 2
1 n  4
1  =10. n ≈250 rad/ s
with: , and 1
1 n 4 1 n4 1
2 2 3
d 3=12 1
≈
4 
d=8 1 
n
2
6 12
  2
d 5=2 n  41
Calculation of a regulator by pole placement, page 7/8

2- Writing Bézout's equation in the form of a system of linear equations


we put A f p =S f p .A we
p then obtain
A f p =a f2p  2
a f3p  3
p ≈10p2
4
11p3p 4
Bezout's equation is written as:
DBF p= A f p  . S '  pB  p .R'  p
Let us also express this equality for each of the coefficients of DBF  p 
'
d 0=b0. r 0 [1]
'
d 1=b0 r 1[2]
d 2=af2. s ' 0 b 0 . r 2' [3]
d 3=af3.s0'  a f2 '1 b 0 . r '3 [4]
d 4 =a f4. s 0 af3.s1
 [5]
' ' '
af2. s 2
1
d 5= 1.s1' 
 a f3. s 2'
 [6]
af4 1

The unknowns r 0' ,r 1' , r 2' , r '3, s '0, s 1' ( it is reminded that ' =1
2 , by normalization )
can be determined successively, which avoids having to calculate the inverse of a matrix 6X6 We have
effect
d0
[1] r ' 0=
b0
d 1
r 1' =
b0
[6] s 1=d5 −a f3. s '
'
2=d 5−a f3
1
d −a . s ' −a .s'
[5] s 0' = 4 f3 1 f2 2=d 4 −a f3. s 1' −a f2
af4
' d 3−a f3. s 0' −a f2. s 1'
[4] r 3=
b0
'
d −a s
[3] r 2' = 2 f2 0
b0

At this stage, the corrector is fully determined:

R' p .Rf p [ r '0r ' 1p r ' p22 r ' p 33 ]


C p = =
S
' p .Sf p [ s'0 s ' 1p p2.p]2

Of course, an open loop trace FTBO p  =C p .Gin pthe Bode and Black plan
Nichols is essential for verifying the unit gain crossover, as well as the gain and phase margins...
Calculation of a regulator by pole placement, page 8/8

solution of the example with octave

clear all; close all;


use_octave=true if OCTAVE_VERSION exists
if( use_octave),% <=> if we are working with octave
more off ;pkg load control signal;
end
w=logspace(-1,4,1000).';
p=tf('p');
% 1 -System G
G_p=1/((p+1)*(0.1*p+1));
[NG,DG]=tfdata(G_p,'vector');% coeffs B=NG, A=DG, in decreasing powers of p
% 2 -Forced poles and zeros of the regulator
NCforce_p = tf(1); % no zero forces, Rf = Ncforce of degree 0
DCforce_p = p^2; % 2 poles forces, Sf = Dcforce = p^2
[NCforce,on_sen_moque] = tfdata(NCforce_p,'vector');% coeffs Rf=NCforce
[DCforce, on_sen_moque] = tfdata(DCforce_p, 'vector'); % coeffs Sf = DCforce
% 3 - Closed loop denominator DBF
wn=25; csi=1/sqrt(2); w1=10*wn;
DBF_p=(1+2*csi*p/wn+p^2/wn^2)*(p/w1+1)^4;
coeffs DBF
% 4- calculation of the regulator (plcpol function written by the professor)
[NumC, DenC] = plcpol(DG, NG, DBF, NCforce, DCforce);
% 5- results obtained
C_p=tf(NumC,DenC);% regulator
FTBO_p=G_p*C_p; % FTBO
F_BF_p=(1+FTBO_p);% rational fraction F_BF(p)= DBF(p) / DBO(p)

obtained coefficient
The denominators have the same coefficients: up to a factor, verify with division term by term.
DBF_obtained./DBF;
verification=verification/max(abs(verification))
%---------------------------------------------------------
trace gain
%---------------------------------------------------------
[mgFTBO,dgFTBO]=bode(FTBO_p,w);mgFTBO=mgFTBO(:);dgFTBO=dgFTBO(:);dbFTBO=20*log10(mgFTBO);
S_p=1/(1+FTBO_p);[mgS,dgS]=bode(S_p,w);mgS=mgS(:);dgS=dgS(:);dbS=20*log10(mgS);
T_p=FTBO_p/(1+FTBO_p);[mgT,dgT]=bode(T_p,w);mgT=mgT(:);dgT=dgT(:);dbT=20*log10(mgT);
subplot(2,1,1);
semilogx(w, dbS, 'r'); hold on;
semilogx(w, dbT, 'b'); hold on;
semilogx(w, dbFTBO, 'g'); hold on; grid on;
title('S in red, T in blue, FTBO in green');
ylabel('gain in dB = 20*log10(gain)');
xlabel('pulsation in rd/s');
subplot(2,1,2);
semilogx(w, dgFTBO, 'g'); hold on; grid on;
FTBO in green
ylabel('FTBO argument in degrees');
xlabel('pulsation in rad/s');
figure
step(S_p);grid on;hold on
response at the level of the sensitivity function

You might also like