Sei sulla pagina 1di 23

Control Theory (035188)

lecture no. 4
Leonid Mirkin
Faculty of Mechanical Engineering
Technion IIT

Outline
Pole-zero cancellations
Modeling uncertainty
Robust stability
Strong stabilization
Anti-windup control

Naive shaping of T . j!/


Assume that the ideal closed-loop t.f. is Tref .s/. We may want to ask
I

whether there is C.s/ for which T .s/ D Tref .s/ ?

The answer is easy:


Tref .s/ D

Tref .s/
L.s/
L.s/ D
:
1 C L.s/
1 Tref .s/

Thus, controller
Cref .s/ D

1
Tref .s/
P .s/ 1 Tref .s/

is exactly what were looking for.

Whats behind Cref .s/


Let s0 be pole of P .s/ and let Tref .s0 / 1. Then s0 is zero of Cref .s/, i.e.,
I

Cref .s/ tends to cancel poles of P .s/.

Let s1 be zero of P .s/ which is not zero of Tref .s/. Then s1 is pole of Cref .s/,
i.e.,
I

Cref .s/ tends to cancel zeros of P .s/.

Thus, to achieve arbitrary Tref .s/


I

controller should, in general, cancel all poles and zeros of the plant.

Pole-zero cancellations: whats legal


Obviously,
I

only stable pole-zero cancellations are legal.

This implies that


I

every RHP zero of P .s/ is also RHP zero of T .s/ (multiplicity included);

at every unstable pole sp of P .s/ the equality


T .sp / D 1

must hold1 (multiple poles impose additional conditions on

1 This

di
T .s/).
ds i

condition also imposes lower bound constraints on !c for unstable systems.

Pole-zero cancellations: what makes sense


Although stable pole-zero cancellations are legal,
I

not all stable pole-zero cancellations are welcome.

The reason is that, although canceled poles and zeros dont show up in S.s/
and T .s/ (as these t.f. depend only on L.s/),
I

canceled poles and zeros do show up as poles of Td .s/ and Tc .s/,

respectively.

Canceled plant poles


Let sp (Re sp < 0) be pole of P .s/ canceled by C.s/. In other words, let
P .s/ D

1
P .s/
s sp 1

and

C.s/ D .s

sp /C1 .s/

for some P1 .s/ such that P1 .sp / 0 and C1 .s/ such that jC1 .sp /j < 1. Then
1
S.s/ D 1CP1 .s/C
and T .s/ D 1 S.s/ do not depend on sp , yet
1 .s/
Td .s/ D

1
s

P1 .s/
sp 1 C P1 .s/C1 .s/

still has sp as its pole.

Canceled plant zeros


Let sz (Re sz < 0) be zero of P .s/ canceled by C.s/. In other words, let
P .s/ D .s

sz /P2 .s/

and

C.s/ D

1
C .s/
s sz 2

for some P2 .s/ such that jP2 .sz /j < 1 and C2 .s/ such that C2 .sz / 0. Then
1
and T .s/ D 1 S.s/ do not depend on sz , yet
S.s/ D 1CP2 .s/C
2 .s/
Tc .s/ D

has sz as its pole.

1
s

C2 .s/
sz 1 C P2 .s/C2 .s/

What does it mean?


Thus, for each canceled pole sp and zero sz we have:
Td .s/ D

1
s

P1 .s/
sp 1 C P1 .s/C1 .s/

and

Tc .s/ D

1
s

C2 .s/
sz 1 C P2 .s/C2 .s/

Typically,
I

If s is fast, its presence in Td .s/ or Tc .s/ can in general be ignored.

If s is slow, it slows down disturbance response / control input decay.

If s is oscillatory, oscillations show up in d 7! y or r 7! u.

Stable pole-zero cancellations: general conclusions


The following are general rules of thumb:
I

Fast well-damped poles/zeros can typially be safely canceled.


(though sometimes this can produce spikes)

Slow well-damped poles/zeros can be canceled with certain care.


(there are pros and cons in canceling slow plant poles vs. shifting them by feedback)

Lightly-damped poles/zeros shall not be canceled (unless you reeeally


know what youre doing).

Outline
Pole-zero cancellations
Modeling uncertainty
Robust stability
Strong stabilization
Anti-windup control

Nobodys perfect

In other words,
I

any mathematical model is just a (more or less accurate) approximation

of the real world.

Robustness
Ability of control system to cope with modeling uncertainty (i.e. to preserve
stability/performance despite uncertainty) called robustness.

Modeling uncertainty (errors, mismatches) caused by


I

linearization

unmodeled high-frequency dynamics

parametric drifts

element failures

...

Modeling uncertainty: DC motor


DC motor t.f. from input voltage to shaft angle is
P .s/ D

Km
;
2/
s..Ls C R/.Js C f / C Km

(1)

where Km is motor constant (= back emf constant), R is armature resistance,


L is armature inductance, J is load inertia, and f is load friction.
Typically, L is very small so it is neglected and the motor t.f. becomes
P .s/ D

Km
;
2/
s.R.Js C f / C Km

which is approximation of (1) (which is approximation by itself).


Moreover, load inertia J might get changed and resistance R is sensitive to
thermal conditions (motor heating) and thus also might get changed.

Modeling uncertainty: DC motor (contd)


What we have is this (assuming 0:9R0  R  1:8R0 and 0:7J0  J  1:3J0 ):
Nichols Chart
40

0 dB
0.5 dB

20

0.25 dB

1 dB
3 dB
6 dB

OpenLoop Gain (dB)

20

40

60

80

100
nominal plant
actual plants
120

225

180

135
OpenLoop Phase (deg)

90

Modeling uncertainty: DC motor (contd)


If additional unmodeled delay2 h D

1
400

is added, we have:

Nichols Chart
40

0 dB
0.5 dB

20

0.25 dB

1 dB
3 dB
6 dB

OpenLoop Gain (dB)

20

40

60

80

100
nominal plant
actual plants
120

2 Due

225

180

135
OpenLoop Phase (deg)

to digital implementation, for example.

90

Modeling uncertainty: DC motor (contd)


Thus, at each frequency, frequency response is a region rather than point:
Nichols Chart
40

0 dB
0.5 dB

20

0.25 dB

1 dB

=0.1

3 dB
6 dB

OpenLoop Gain (dB)

=1
20

40

=10
60

80

=100

100

120

225

180

135
OpenLoop Phase (deg)

90

Frequency-domain modeling
Thus, it makes sense to describe plant frequency response P . j!/ at each
frequency not as a complex number, but rather as set of its possible values:
P . j!/ 2 P!

where P!  C is some set for each ! 2 R.


The choice of P! is conceptually nontrivial as
I

precise P! are complicated and hard to deal with in control design,

easily handleable P! are typically conservative.

In this course, we
I

sacrifice precision for simplicity.

Multiplicative unstructured uncertainty


The idea is to describe P! as disks in Nyquist plane around nominal plant:
Im
Re

P0 . j!/
jP

. j!
0

.
/j `

!/

n
P . j!/
In other words, P! D P . j!/ W P0 . j!/
I

1  `.!/ , where

P0 is nominal plant and `.!/  0 is multiplicative uncertainty radius.

Multiplicative uncertainty and controller


d
y

P .s/

C.s/

ym

Let P . j!/ 2 P! , where

P . j!/
P! D P . j!/ W
P0 . j!/


Then L. j!/ D P . j!/C. j!/ 2 L! , where




L. j!/
L! D L. j!/ W
1  `.!/ ;
L0 . j!/

1  `.!/ :

L0 . j!/ P0 . j!/C. j!/:

Thus,
I

loop multiplicative uncertainty radius does not depend on controller.

Modeling uncertainty: DC motor (contd)


To find `.!/, the following steps can be followed:

for different R 2 0:9R0 ; 1:8R0 and J 2 0:7J0 ; 1:3J0 ;


1
1. plot PP0..jj!/
!/
2. find maximum for every frequency, this is `.!/.

We get:
2.5

Magnitude

1.5

`.!/

0.5

0
2
10

10

10

10

Frequency (rad/sec)

Outline
Pole-zero cancellations
Modeling uncertainty
Robust stability
Strong stabilization
Anti-windup control

10

10

Robust stability
d
y

P .s/

C.s/

ym

Let P .s/ be such that P . j!/ 2 P! . Then we say that


I

closed-loop system is robustly stable if it is stable for every P 2 P! .

If system is robustly stable, we say that C.s/ robustly stabilizes this system.

Robust stability for multiplicative plant uncertainty


d
y

P .s/

C.s/

ym

Theorem
Let uncertainty be described as


P . j!/
P! D P . j!/ W
P0 . j!/

1  `.!/

and all P .s/ in this class share the same unstable poles. Then a controller
C.s/ robustly stabilizes the system iff
1. C.s/ stabilizes nominal plant P0 .s/ and
2. jT0 . j!/j <
3 Here

T0 .s/ D

1
,
`.!/

for all ! .3

L0 .s/
1CL0 .s/

is nominal complementary sensitivity transfer function.

Robust stability for multiplicative plant uncertainty: proof


When nominal system stable, we only need to
I

ensure that the critical point does not belong to L! for all ! .

The result then follows by straightforward geometry:

Im
1

j1

Re
C

. j!

/j

/
. j!

jL 0

L0 . j!/
j`.

!/

Robust stability of DC motor control system


Assume, that we use the following lead controller:
p
s C !c
!c q
2 /2
.R0 J0 /2 !c2 C .R0 f C Km
;
C.s/ D
p
Km
s C !c
R f CK 2

whose purpose is to achieve nominal crossover !c  0R0 J0 m (which is the


inverse of the open-loop time constant) and phase margin of  50 (to this
end one can choose D 8).
The following nominal parameters were chosen:

Km
R0
L
J0
f
h

30:2  10
0:316
0:08  10
0:1
0:05
0:0025

Robust stability of DC motor control system (contd)


If !c D 15 rad/sec:
10

1=`.!/

Magnitude (dB)

jT0 .j!/j

10

15

20
2
10

10

10

10

10

10

Frequency (rad/sec)

and system is robustly stable.

Robust stability of DC motor control system (contd)


If !c D 150 rad/sec:
10

1=`.!/

Magnitude (dB)

jT0 .j!/j

10

15

20
2
10

10

10

10

Frequency (rad/sec)

and system is still robustly stable.

10

10

Robust stability of DC motor control system (contd)


If !c D 200 rad/sec:
10

1=`.!/

Magnitude (dB)

jT0 .j!/j

10

15

20
2
10

10

10

10

10

10

Frequency (rad/sec)

and system is no longer robustly stable.

Bandwidth limitations due to robust stability


Since `.!/ is typically larger at high frequencies, condition
jT0 . j!/j <

1
`.!/

imposes limitations on the achievable closed-loop bandwidth4 !b .

4 And,

consequently, on the loop crossover frequency !c .

Outline
Pole-zero cancellations
Modeling uncertainty
Robust stability
Strong stabilization
Anti-windup control

Stabilization with stable controllers


d
y

P .s/

C.s/

ym

Stable controllers, especially for stable plants, are preferable since we want
to maintain stability during
I

sensor / actuator failures.

We say that
I

P is strongly stabilizable if it can be stabilized by a stable controller.

Parity interlacing property


d
y

P .s/

C.s/

ym

P .s/ is strongly stabilizable iff it has


I

even number of real poles between every pair of real zeros in RHP

(including C1). This property called the parity interlacing property.


Example 1: Let P .s/ D s.ss 12/ . It has 2 RHP zeros at f1; 1g and between
them one pole at 2. Hence it is not strongly stabilizable.
2

sC1/
Example 2: Let P .s/ D .s.s 1/2/.s
2 .sC1/3 . It has 5 RHP zeros, 3 of them real at
f1; 1; 1g. Between 1 and 1 lies 0 poles, while between 1 and 1 lie 2 poles
(at 2). Hence this plant is strongly stabilizable.

Inverted pendulum without angle measurement




em





#q
l

l -u
-

M
m
l
y

u
g

: mass of the cart


: mass of the pendulum
: length of the pendulum
: position of the cart
: angular rotation
: force on the cart
: acceleration of gravity

Linearized transfer function of inverted pendulum from u to y is


ls 2 g
P .s/ D
M ls 2 g.1 C

m
M

 :
/ s2

q
It has 3 real RHP zeros: f gl ; 1; 1g. Between the first two of them P .s/
q
m
has one pole, at gl .1 C M
/. Thus, pendulum not strongly stabilizable.

Outline
Pole-zero cancellations
Modeling uncertainty
Robust stability
Strong stabilization
Anti-windup control

Why unstable controllers?


Although wed prefer to avoid unstable controllers, they still widely used.
Reasons:
I

some plants not strongly stabilizable,

controllers with j! -axis poles may be required


(i.e., integral action required to zero steady-state error to step reference/disturbance)

Saturation
The saturation element sata;b defined for a < b as

sata;b .u.t // D
a;a ,

if a  u.t /  b

u.t /

if u.t / > b

with a > 0.
sat1 .1:2 sin.t //

Example:

1:2 sin.t /

We also denote sata sat

if u.t / < a

sat1
0

Saturation element is nonlinear system (no superposition). Indeed,

sat1 .2  0:6 sin t / 2  sat1 .0:6 sin t / D 1:2 sin t:

Saturation in feedback loop


d
y

P .s/

C.s/

ym

All actuators saturate. Indeed,


I

force, torque,

voltage, current,

flow rate,

...

are ultimately limited. We therefore must


I

respect the presence of (nonlinear) saturation element

in any feedback loop.

Saturation in feedback loop (contd)


d
y

P .s/

C.s/

ym

if u does not saturate, it behaves as standard linear closed-loop system:


d
y

P .s/

C.s/

ym

if u saturates, it behaves as open-loop system:


d
y

P .s/

C.s/

ym

Saturation in feedback loop (contd)


d
y
n

P .s/

C.s/

ym

This doesnt look good in general, yet it is


I

especially problematic when either P .s/ or C.s/ is unstable.

What can be done:


I
I

When plant unstable, there is nothing we can do (but to pray:-).


Controllers are in our power, so
1. if possible, it is advisable to avoid the use of unstable controllers;
2. if not5 , controller should be modified when control signal saturates.

5 E.g.,

plant not strongly stabilizable, integral action required, etc

PI controllers and saturation


PI controller transforms tracking error e to control signal u according to
(


x.t
P / D e.t /
ki

or6
E.s/
U.s/ D kp 1 C
s
u.t / D kp ki x.t / C e.t /
While u.t / saturates,
I

state x.t/ might accumulate big value,

so that
I

u.t/ remains saturated even when e.t / becomes small.

6 This

is the way in which controller is implemented.

PI controllers and saturation: example


Consider control system with P .s/ D

1
s

and C.s/ D 2 sC1


. We have:
s

Command response without saturation

Command response with saturation

y.t/

y.t/

u.t/

u.t/

1
0

10

15

20

25

30

10

15

20

25

30

PI controllers and saturation: example (contd)


The reason becomes apparent when state variable of controller is depicted:
Command response with saturation
x.t/

y.t/

u.t/
4
0

10

15

20

25

30

Indeed, state variable becomes very large by the time error reaches 0, hence
I

y.t / continues to grow until x.t / falls down

to a level, compatible with error itself.

Integrator windup
The effect of
I

significant grow of the integrator state during actuator saturation

is called the integrator windup.


Arguably, most remedies for windup effect are based on
I

preventing integrator state from unstable updating as u saturates.

Possible approaches (sometimes equivalent):


I

stop updating integrator when u saturates (conditional integration);

implement integral action as interconnection of stable elements, with


some of interconnections opened when u saturates;

add internal controller feedback acting on u

sata .u/.

Anti-windup scheme with internal feedback


1
Tt
ki
s

d
y

P .s/

kp

ym

This scheme works as follows:


I

when u doesnt saturate, sata .u/

when u saturates, controller becomes stable:


U.s/ D

u D 0 and it works as standard PI;

kp .s C ki /
kp ki =Tt
E.s/
a:
s C kp ki =Tt
s C kp ki =Tt

Tt is called tracking time constant.

PI controllers and saturation: example (contd)


Internal feedback really helps (here Tt D 1):
Command response with anti-windup mechanism

Command response with saturation


x.t/

y.t/

y.t/

u.t/

u.t/

x.t/
4

4
0

10

15

20

25

30

10

15

20

25

30

Potrebbero piacerti anche