Professional Documents
Culture Documents
Bo Bernhardsson, K. J. Åström
1 Background
2 The Design Steps
3 Templates
4 Specifications and Bound Computation
5 Loop-shaping - Examples
6 Tools - Demo
Carpentry
Its main strength is for SISO design, but MIMO and nonlinear extensions
exist. Will only discuss SISO design here
– Cost of control
Horowitz extended Bode’s ideas to deal with arbitrary plant variations not
just gain variations in the QFT method.
y = Pu, u = C (r − y)
For P ∈ [0.1, 1]
For P ∈ [0.01, 1]
Control effort
Measurement noise
Dynamic instability
The aim of QFT design is to use precisely the right amount of feedback
The cost of feedback is that a controller which has high gain over a wide
frequency range is required. The high controller gain means that small
measurement errors may generate large control signals that could cause
saturations in the system. If there is measurement noise the high gain may
also cause control actions that may wear out the actuators.
The transfer function from measurement noise n to the control signal for a
closed loop system is
C T
−Gun = =
1 + PC P
An estimate of the cost of control can be obtained by plotting the gain
curves of the transfer functions Gun or T and P . Reasonable measures
are max pGun (iω )p eller ppGun pp2 .
1
10
pGun (iω )p
0
10
−1
10
−1 0 1 2
10 10 10 10
p P (iω )p pT (iω )p
0
10
−2
10
−4
10
−1 0 1 2
10 10 10 10
ω
∆
r y
Cf f P
n
Cfb
ff PC
Model y = P m r = 1+ PC r (note Pm = T F ). Real system is stable if
fb
Cfb
p ∆ p < 1, ∀ω
1 + PC fb
P Cf f
p ∆ p < C ,
∀ω
P m fb
Nice interpretation
Bo Bernhardsson, K. J. Åström Control System Design - QFT
Cost of Feedback - Robust stability for 2DOF
log( P )
ω
log( Pm )
log( PPm )
P Cf f
p ∆ p < C ,
∀ω
P m fb
1 Background
2 The Design Steps
3 Templates
4 Specifications and Bound Computation
5 Loop-shaping - Examples
6 Tools - Demo
3
4
2
log p L(iω )p
2
Im L(iω )
0 1
−2
0
−4
−1
−5 0 5 −4 −3 −2 −1 0
Re L(iω ) argL(iω ) [rad]
Hall is a Nyquist plot with level curves of gain and phase for
the complementary sensitivity function T . Nichols=log Hall.
Both make it possible to judge T from a plot of PC
The Robustness Valley Re L(iω ) = −1/2 dashed
log p L(iω )p
1
−1
−4 −3 −2 −1 0
arg L(iω ) [rad]
Step Response
4 4
3 3
2
pT p > 1 2
1 1
log L(iw)
log L(iw)
0 0
-1 -1
-2
-2
-3
p Sp > 1
-3
-4
-4
-6 -5 -4 -3 -2 -1 0 -6 -5 -4 -3 -2 -1 0
arg L(iw) arg L(iw)
TAT: Explain the symmetry between the level curves of pT p = p 1+LL p and
p S p = p 1+1 L p
log p L(iω )p 1
−1
−4 −3 −2 −1 0
arg L(iω ) [rad]
TAT: Interpret the Nyquist theorem in the Nichols diagram. How do you
count encirclements of -1?
4 dB -4 dB
6 dB -6 dB
10 dB -10 dB
0 10 3 dB
-3 dB
6 dB
-2
0 -6 dB
-4
-10 -12 dB
-6
-20 dB
-8 -20
-5 0 5 10 -1080 -990 -900 -810 -720 -630 -540 -450 -360 -270 -180 -90 0
Real Axis Open-Loop Phase (deg)
10 10e−s
,
s+1 s+1
TAT: Will the closed loop systems be stable? How many unstable poles will
there be?
40 40 → ←
0 dB 0 dB
30 0.25 dB 30 ↑ 0.25 dB
0.5 dB 0.5 dB
Open-Loop Gain (dB)
10 3 dB 10 3 dB
6 dB 6 dB
0 0
-10 -10
-20 -20
-270 -225 -180 -135 -90 -45 0 45 90 135 180 225 270 -270 -225 -180 -135 -90 -45 0 45 90 135 180 225 270
Open-Loop Phase (deg) Open-Loop Phase (deg)
10 10 10 10 10
G(s) = , , , ,
s−1 s − 0.1 s s + 0.1 s+1
Nichols Chart
60
40
0 dB
0.25 dB
0.5 dB
20 1 dB -1 dB
3 dB
-3 dB
-40 -40 dB
-60 -60 dB
-80 -80 dB
-100 -100 dB
-270 -225 -180 -135 -90 -45 0
Open-Loop Phase (deg)
This is our lead-lag design for the (outer) control loop of the ball and beam
process used in the basic course
10 10 s + a K (1 + sb)
P (s) = , P (s)C (s) =
s2 (1 + 0.1s) s2 (1 + 0.1s) s 1 + sb/ N
Nichols Chart
40
0 dB
30 0.25 dB
0.5 dB
20 1 dB -1 dB
0 -6 dB
-10 -12 dB
-20 -20 dB
-30
-40 -40 dB
-270 -225 -180 -135 -90 -45 0
Open-Loop Phase (deg)
This is the state-feedback with Kalman filter design for the inverted
pendulum G(s) = s21−1 in the basic course.
Nichols Chart
40 10 1 10 1
0 dB
30 0.25 dB
PS
S
0
0.5 dB 10 10 0
20 1 dB -1 dB
Open-Loop Gain (dB)
10 3 dB 10
-1
10
-1
-3 dB 10
-2
10
-1
10
0
10
1
10
2
10
-2
10
-1
10
0
10
1
10
2
6 dB
0 -6 dB
-10 -12 dB 10 1 10 1
-20 -20 dB
CS
T
10 0 10 0
-30
-40 -40 dB -1 -1
10 10
-270 -225 -180 -135 -90 -45 0 10 -2 10 -1 10 0 10 1 10 2 10 -2 10 -1 10 0 10 1 10 2
Open-Loop Phase (deg) w w
r y
F C P
n
−1
Would be nice if we only needed to design for one process case P nom(s)
If you fail, then either the specs where too tight, or you didnt work hard
enough.
Bo Bernhardsson, K. J. Åström Control System Design - QFT
Lecture - QFT Design
1 Background
2 The Design Steps
3 Templates
4 Specifications and Bound Computation
5 Loop-shaping - Examples
6 Tools - Demo
ka
P (s) = , k ∈ [1, 5], a ∈ [1, 4]
s(s + a)
Nyquist templates for w=[1 3 10] Nichols templates for w=[1 3 10]
1
0.5
10
0
−0.5
0
−1
−1.5 −10
−2
−20
−2.5
−3
−30
−3.5
−4 −40
−4 −3 −2 −1 0 1 −270 −180 −90 0
Note: The set { P (iω )C (iω ))} P ∈P has the same shape as the template
{ P (iω )} P ∈P ! Not true in Nyquist.
Template is moved by (180/pi*angle(C),20*log10(abs(C)))
“Horowitz Bounds”
template=[];
a=amin:da:amax;
for k=[kmin kmax]
g=k*a/s./(s+a);
template=[template g];
end
k=kmin:dk:kmax;
for a=[amin amax]
g=k*a/s/(s+a);
template=[template g];
end
30 30
20 20
10 10
0 0
−10 −10
−20 −20
−30 −30
−40 −40
−350 −300 −250 −200 −150 −100 −50 0 −350 −300 −250 −200 −150 −100 −50 0
1 Background
2 The Design Steps
3 Templates
4 Specifications and Bound Computation
5 Loop-shaping - Examples
6 Tools - Demo
40
30
20
10
−10
−20
−30
−40
−250 −200 −150 −100 −50 0
ka
P (iω ) = , k ∈ [1, 5], a ∈ [1, 4]
iω (iω + a)
Bo Bernhardsson, K. J. Åström Control System Design - QFT
Sensitivity Bound Computation
fasv=-270:2:0;
for fas = fasv
for ampdb=-40:0.5:10
c=10^((ampdb-ampnom)/20)*exp(i*(fas-fasnom)*pi/180);
l=template*c; s=1./(1+l);
if max(abs(s)) > spec,
bound=[bound ampdb]; fasbound = [fasbound fas]; break
end
end
end
for fas = fasv(end:-1:1)
for ampdb=10:-0.5:-20
c=10^((ampdb-ampnom)/20)*exp(i*(fas-fasnom)*pi/180);
l=template*c; s=1./(1+l);
if max(abs(s)) > spec,
bound=[bound ampdb]; fasbound = [fasbound fas]; break
end
end
end
bound=[bound bound(1)];fasbound=[fasbound fasbound(1)];
plot(fasbound,bound,’r’,’Linewidth’,2);hold on;
For each frequency ω k determine the set of C (iω k ) for which the spec is
satisfied
Choose the frequency set wisely ! Might need to iterate as design proceeds
How do we
0.5
0
0 1 2 3 4 5
Time [sec]
Freq [Hz] b/ a
0.01 1.0011
0.02 1.0043
0.1 1.107
0.2 1.47
0.5 3.1
ka
P (s) = , k ∈ [1, 5], a ∈ [1, 4], k nom = a nom = 1.
s(s + a)
Horowitz Bounds for f=[0.01 0.02 0.1 0.2 0.5]Hz
50
40
30
Freq [Hz] b/ a
20 0.01 1.0011
10 0.02 1.0043
0 0.1 1.107
−10 0.2 1.47
−20 0.5 3.1
−30
−40
−250 −200 −150 −100 −50 0
Robustness valley !
bound=[];
fasv=-270:2:0;
for fas = fasv
for ampdb=-0:0.1:30
c=10^((ampdb-ampnom)/20)*exp(i*(fas-fasnom)*pi/180);
l=template*c;
t=l./(1+l);
delta = 20*log10(max(abs(t))) - 20*log10(min(abs(t)));
if delta < specdB,
bound=[bound ampdb];
break
end
end
end
plot(fasv,bound,’r’,’Linewidth’,2)
1 Background
2 The Design Steps
3 Templates
4 Specifications and Bound Computation
5 Loop-shaping - Examples
6 Tools - Demo
ka
P (s) = , k ∈ [1, 5], a ∈ [1, 4]
s(s + a)
satisfying
40
30
20
10
−10
−20
−30
−40
−250 −200 −150 −100 −50 0
Low frequency gains is roughly right, but about 100 degrees more phase
advance is needed around 0.5Hz
Bo Bernhardsson, K. J. Åström Control System Design - QFT
Design - Lead lag design
4
C (s) = s
5(s+2)2
C (s) = s(s+5)
15(s+1)(s2 +3.6s+4)
C (s) = s(s+3)(s+5)
The robust design problem is transformed into a design problem for only
one process, the nominal case P nom . This simplifies design considerably.
1 Background
2 The Design Steps
3 Templates
4 Specifications and Bound Computation
5 Loop-shaping - Examples
6 Tools - Demo
QFTIT - free software based on Sysquake, new version for Mac available
(for us!)