Loopshaping design

advertisement
Control Systems 2
Lecture 2: Loopshaping design
Roy Smith
2016-4-9
2.1
Loopshaping
Gd (s)
y
+
G(s)
d
u
K(s)
+
r
−
n
e
=
=
2016-4-9
ym
+
r−y
1
r
1 + L(s)
| {z }
S(s)
−
1
Gd (s)d
1 + L(s)
| {z }
S(s)
+
L(s)
n
1 + L(s)
| {z }
T (s)
2.2
Loopshaping
e
=
1
r
1 + L(s)
| {z }
S(s)
−
1
Gd (s)d
1 + L(s)
| {z }
S(s)
+
L(s)
n
1 + L(s)
| {z }
T (s)
Performance requirements can be approximated by requirements for L(jω).
|L(jω)| 1
=⇒
|S(jω)| 1
|L(jωc )| = 1
gives bandwidth ≈ ωc
|L(jω)| 1
=⇒
(good tracking performance)
|T (jω)| 1
(good noise rejection)
2016-4-9
2.3
Bode gain-phase relationship
For minimum phase stable systems (with L(0) > 0),
The phase of L(jω) is determined by the slope of |L(jω)|.
If the slope is constant then:
d|L(jω)|
= −20 dB/decade
dω
= −20n dB/decade
⇐⇒
⇐⇒
∠L(jω) = −90◦
∠L(jω) = −90n◦ ,
n = 1, 2, . . .
Slope constraint at crossover:
d|L(jω)|
= −20 dB/decade
dω
=⇒
P M ≈ 90◦
(this requires a constant slope for a wide region of frequency)
2016-4-9
2.4
Loopshape specifications
1. |L(jω)| 1 for frequencies requiring high performance.
2. Gain crossover frequency, ωc , gives closed-loop bandwidth.
3. The slope of L(jω) at crossover should be -20dB/decade.
4. The system type is the number of pure integrators in L(s).
Magnitude
L(jω)
ωc
log ω
2016-4-9
2.5
Inverse-based controller design
Stable, minimum-phase plant
Can choose:
L(s) =
ωc
s
This will give a phase margin of 90◦ .
K(s) =
ωc −1
G (s)
s
This is often not desirable unless the reference and disturbances affect the
output as steps.
Inverting the plant can often be done only approximately.
2016-4-9
2.6
Example: disturbance process
Gd (s)
y
+
G(s)
d
u
K(s)
+
r
−
n
G(s) =
ym
+
200
1
,
(10s + 1) (0.05s + 1)2
Gd (s) =
100
10s + 1
2016-4-9
2.7
Example: disturbance process
G(s) =
200
1
,
(10s + 1) (0.05s + 1)2
Gd (s) =
100
10s + 1
Objectives:
1. Rise time < 0.3 seconds.
2. Overshoot < 5%
3. Disturbance response, yd (t), satisfies |y(t)| ≤ 1.
4. Disturbance response, yd (t), satisfies |y(t)| < 0.1 within 3 seconds.
5. |u(t)| ≤ 1 at all times.
|Gd (jω)| > 1 up to ωd ≈ 10 rad/sec
2016-4-9
=⇒
ωc ≥ 10 rad/sec.
2.8
Example: disturbance process
1000
Magnitude
100
Gd (jω)
G(jω)
10
0.1
1
10
log ω
(rad/sec)
0.1
1
10
log ω
(rad/sec)
1
0.1
0.01
0
Gd (jω)
−90
G(jω)
−180
−270
Phase (deg.)
2016-4-9
2.9
Inverse-based control design
The plant is stable and minimum-phase:
K0 (s) =
2016-4-9
ωc −1
G (s)
s
=
ωc (10s + 1)
(0.05s + 1)2
s
200
≈
ωc (10s + 1) (0.1s + 1)
s
200
(0.01s + 1)
2.10
Example: inverse-based controller design
1000
Magnitude
100
L0 (jω)
G(jω)
10
0.1
1
10
log ω
(rad/sec)
1
K0 (jω)
0.1
GM
0.01
90
0.1
1
10
log ω
(rad/sec)
0
K0 (jω)
−90
L0 (jω)
−180
−270
PM
G(jω)
Phase (deg.)
2016-4-9
2.11
Example: inverse-based controller design
10
Magnitude
L0 (jω)
5
1
1
10
100
T0 (jω)
log ω
(rad/sec)
0.5
S0 (jω)
0.1
The closed-loop bandwidth is very close to ωc ≈ 10 rad/sec.
2016-4-9
2.12
Example: inverse-based controller design
K0 =
ωc (10s + 1) (0.1s + 1)
s
200
(0.01s + 1)
Reference tracking
Disturbance response
Amplitude
1.5
Amplitude
1.5
yr (t)
1
1
0.5
yd (t)
0.5
0
0
1
2
3
time
(sec)
0
0
2016-4-9
1
2
3
time
(sec)
2.13
Loopshaping for disturbance rejection
Disturbance response: yd = SGd d + . . .
To achieve |yd (t)| ≤ 1 for |d(t)| ≤ 1,
we want |SGd (jω)| < 1 for all ω.
So, we want:
|1 + L(jω)| > |Gd (jω)|
or, approximately,
for all ω.
|L(jω)| > |Gd (ω)|
for all ω.
Initial guess:
|Lmin | ≈ |Gd |
2016-4-9
or
|Kmin | ≈ |G−1 Gd |
2.14
Loopshaping for disturbance rejection
Step 1:
Initial guess:
|Kmin | ≈ |G−1 Gd |
Choose:
K1 (s) ≈ G−1 (s)Gd (s)
≈ 0.5(0.05s + 1)2
= 0.5
2016-4-9
2.15
Example: disturbance rejection design
1000
Magnitude
100
10
L1 (jω)
G(jω)
0.1
1
10
log ω
(rad/sec)
1
GM
K1 (jω)
0.1
S1 (jω)
0.01
90
0.1
0
log ω
(rad/sec)
L1 (jω)
−180
2016-4-9
10
K1 (jω)
−90
−270
1
PM
G(jω)
Phase (deg.)
2.16
Example: disturbance rejection design
K1 = 0.5
=⇒
L1 (s) ≈ Gd (s)
Reference tracking
Disturbance response
Amplitude
1.5
Amplitude
1.5
1
1
y1 (t)
0.5
y1 (t)
0.5
0
0
1
2
3
time
(sec)
0
0
1
2016-4-9
2
3
time
(sec)
2.17
Loopshaping for disturbance rejection
Step 2:
Increase the gain at low frequency.
To get integral action multiply the controller by:
K2 (s) =
s + ωI
K1 (s).
s
If ωI = 0.2ωc we get 11◦ more phase at ωc than with K1 alone.
So,
K2 (s) = 0.5
2016-4-9
(s + 2)
s
2.18
Example: disturbance rejection design
1000
Magnitude
L2 (jω)
100
K2 (jω)
10
G(jω)
0.1
1
10
log ω
(rad/sec)
1
GM
0.1
S2 (jω)
0.01
90
0.1
0
1
G(jω)
10
K2 (jω)
−90
L2 (jω)
−180
−270
log ω
(rad/sec)
PM
Phase (deg.)
2016-4-9
2.19
Example: disturbance rejection design
K1 = 0.5
and
K2 = 0.5
(s + 2)
s
Reference tracking
Disturbance response
Amplitude
1.5
Amplitude
1.5
y2 (t)
1
y1 (t)
0.5
y2 (t)
0.5
0
0
2016-4-9
y1 (t)
1
1
2
3
time
(sec)
0
0
1
2
3
time
(sec)
2.20
Loopshaping for disturbance rejection
Step 3:
High frequency correction:
Augment with a lead-lag for “derivative action”.
This will also improve the phase margin.
K3 (s) = K2 (s)
= 0.5
(0.05s + 1)
(0.005s + 1)
(s + 2) (0.05s + 1)
s
(0.005s + 1)
2016-4-9
2.21
Example: disturbance rejection design
1000
Magnitude
L3 (jω)
100
10
K3 (jω)
G(jω)
0.1
1
10
log ω
(rad/sec)
1
0.1
GM
S3 (jω)
0.01
90
0.1
0
G(jω)
1
10
log ω
(rad/sec)
K3 (jω)
−90
L3 (jω)
−180
−270
2016-4-9
PM
Phase (deg.)
2.22
Example: disturbance rejection design
K1 = 0.5,
K2 = 0.5
(s + 2)
,
s
Reference tracking
(s + 2) (0.05s + 1)
s
(0.005s + 1)
Disturbance response
Amplitude
1.5
K3 = 0.5
Amplitude
1.5
y2 (t)
y3 (t)
1
y1 (t)
1
y1 (t)
y2 (t)
0.5
0.5
y3 (t)
0
0
1
2
3
time
(sec)
0
0
1
2
2016-4-9
3
time
(sec)
2.23
Example: disturbance rejection design
Loopshape comparisons
1000
Magnitude
L0
100
L3
L2
L1
10
0.1
1
10
100
1
log ω
(rad/sec)
L1
0.1
0.01
2016-4-9
L2
L0
L3
2.24
Example: disturbance rejection design
Loopshape comparisons
imag
j
−1
1
real
L2
L3
−j
L1
L0
2016-4-9
2.25
2 degrees-of-freedom designs
Gd (s)
y
+
n
G(s)
d
u
r
u = K(s)
ym
K(s)
ym
+
r
Effectively choose different transfer functions for
y
d
2016-4-9
and
y
.
r
2.26
2 degrees-of-freedom designs
Reference prefiltering:
Gd (s)
y
+
G(s)
d
u
Ky (s)
+
Kr (s)
r
−
n
ym
+
Control structure:
So
y=
u = Ky (Kr r − ym )
GKy
1
Kr r +
Gd d
1 + GKy
1 + GKy
=
T Kr r + SGd d
with L = GKy .
2016-4-9
2.27
2 degrees-of-freedom designs
Reference prefiltering:
The reference prefiltered step response is
Choose Kr = T −1 Tideal
T (s) ≈
(approximately)
(0.7s + 1)
1.5
0.5
−
=
0.1s + 1
0.5s + 1
(0.1s + 1)(0.5s + 1)
This implies that, Kr (s) =
2016-4-9
y = T Kr r + SGd d
0.5s + 1
, is a reasonable choice.
0.7s + 1
2.28
2 degrees-of-freedom designs
Reference tracking
K3r =
Amplitude
1.5
(0.5s + 1)
(0.7s + 1)(0.03s + 1)
y3 (t)
The additional pole was added to
prevent u(t) peaking above one.
1
y3 (t) (reference prefilter)
0.5
0
0
1
2
3
time
(sec)
2016-4-9
2.29
Notes and references
Skogestad & Postlethwaite (2nd Ed.)
Loopshaping: Section 2.6
2016-4-9
2.30
Download