ME8281 - Last updated: April 21, 2008
(c) Perry Li
Robust stability and Performance Topics: ([ author ] is supplementary source) • Sensitivities and internal stability (Goodwin 5.1-5.4) • Modeling Error and Model Uncertainty (Goodwin 4.12-4.13, Doyle 4.1) • Robust stability (Goodwin 5.7-5.10, Doyle 4.2) • Robust performance (Doyle 4.3-4.4, Goodwin 5.9) • Loop-shaping technique (Doyle 7.1) [We will cover this only briefly] • Innovation feedback and affine parameterization approach to tuning S and T (see Goodwin Chapters 15, 16, 18.5-6 for details) The following topic(s) are for your information: • Performance limitation (Glad 7.3-7.4, Doyle 6.1-6.2, Goodwin [8.6],9.1-9.3) M.E. University of Minnesota
137
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Nominal Sensitivity Functions
Y (s) Go(s)C(s) Y (s) = ¯ = To(s) = Dm(s) R(s) 1 + Go(s)C(s) Y (s) 1 So(s) = = Do(s) 1 + Go(s)C(s) Go(s) Y (s) = Sio(s) = Di(s) 1 + Go(s)C(s) U (s) C(s) Suo(s) = = Do(s) 1 + Go(s)C(s)
(18) (19) (20) (21)
• To - Complementary sensitivity (goal: small for noise, ≈ 1 for command following) • So - Sensitivity (goal: small) • Sio - Input disturbance sensitivity (goal: small) • Suo - Control sensitivity (goal: small)
M.E. University of Minnesota
138
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Internal Stability The nominal loop is internally stable if and only if all eight transfer functions below is stable:
Yo (s) Uo (s)
=
Go (s)C(s) C(s)
Go (s) −Go (s)C(s)
1 −C(s)
1 + Go(s)C(s)
−Go (s)C(s) H(s)R(s) −C(s) Di (s) Do (s) Dm (s)
Let C(s) = P (s)/L(s), and Go(s) = Bo(s)/Ao(s).
Proposition The system is internally stable if and only if the roots of the nominal closed loop characteristic equation Ao(s)L(s) + Bo(s)P (s) = 0 all lie in the open left half plane.
M.E. University of Minnesota
139
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Example Consider Go(s) =
s , (s + 4)(−s + 2)
C(s) =
−s + 2 s
where pole-zero cancellations at s = 2 and s = 0 occur. Complementary sensitivity is stable: G(s)C(s) 1 To(s) = −Y (s)/Dm(s) = = 1 + Go(s)C(s) s + 5 Sensitivity is also stable: s+4 S(s) = 1 − To(s) = s+5 However, control sensitivity is marginally stable: Suo(s) =
U (s) C(s) (−s + 2)(s + 4) = = Dm(s) 1 + Go(s)C(s) (s + 5)s
And, input disturbance sensitivity is unstable: s Y (s) = Sio(s) = Di(s) (−s + 2)(s + 5) M.E. University of Minnesota
140
ME8281 - Last updated: April 21, 2008
(c) Perry Li
• The effect of unstable pole at s = 2 shows up in Sio as input disturbance will drive the output Y to be unbounded. This effect is not observed by the controller as it is blocked by its zero. • The effect of unstable pole at s = 0 shows up in the control sensitivity so that output disturbance or measurement noise will drive the control output to be unbounded. This effect is not observed at the output as it is blocked by the plant’s zero. • Characteristic equation has unstable and marginally stable poles: (−s + 2)s + (s + 4)(−s + 2)s = (−s + 2)(s + 5)s predicting correctly that the system is NOT internally stable.
M.E. University of Minnesota
141
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Modeling Error For linear systems, if Go(s) is the nominal system, and the actual system is G(s), then define: • Additive uncertainty: Gǫ(s) = G(s) − Go(s) • Multiplicative uncertainty: Go(s)G∆(s) = G(s) − Go(s) or
G(s) − Go(s) G∆(s) = Go(s)
M.E. University of Minnesota
142
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Example: Time delays - τ The transfer function of time delay is e−τ s. Since it is not rational, one often models it as
−τ s
e
≈
−τ s + 2k τ s + 2k
k
where k = 0, 1, 2, . . .. The additive modeling error is:
−τ s
Gǫ(s) = e
−
−τ s + 2k τ s + 2k
k
The multiplicative modeling error is: "
G∆(s) = e−τ s − M.E. University of Minnesota
k # k −τ s + 2k −τ s + 2k / . τ s + 2k τ s + 2k 143
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Multiplicative Modeling error of approximation of various orders for 1s time delay
2
10
0
10
−2
MME
10
−4
10
k=0 k=1 k=2 k=3 k=5
−6
10
−8
10
−10
10
−2
−1
10
10
0
10 ω rad/s
1
10
2
10
Other examples: • Uncertain pole location: 1/(s + Am) → 1/(s + A)
where A ∈ [A0, A1]
• Neglected (possibly structural) dynamics: ωn2 /(s2 + 2ζωns + ωn2 ) → 1. • Neglected compressibility effect, etc...
M.E. University of Minnesota
144
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Robust Stability Let Go(s) be the nominal plant. Consider a family of plants characterized by: P := {G(s) = (1 + Wu(s)∆(s))Go(s)} where • G∆(s) = Wu(s)∆(s) is the multiplicative model uncertainty • Wu(s) is a given stable uncertainty weighting function • ∆(s) is the uncertainty itself, which is any stable transfer function with |∆(jω)| < 1 for all ω ∈ ℜ. The question of robust stability is whether a controller designed for Go(s) also stabilizes the any plant G(s) ∈ P . If so, we say that the controller provides robust stability.
M.E. University of Minnesota
145
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Robust Stability Theorem: Assume that the controller C(s) internally stabilizes the nominal plant Go(s). Suppose that G(s)C(s) and Go(s)C(s) have the same number of unstable (openloop) poles on the open right half plane. Then, 1. If |G∆(jω)| · |To(jω)| < 1 for all ω ∈ ℜ (in other words, kG∆ · Tok∞ < 1) then the controller C(s) internally stabilizes the perturbed plant G(s). 2. C(s) provides robust stability for the plant set P if and only if kWu · Tok∞ < 1 (22) where To(s) is the complementary sensitivity function: Lo(s) To(s) = 1 + Lo(s) where Lo(s) = Go(s)C(s). Remark: • kF k∞ := supω∈ℜ|F (jω)| is the so called infinity norm of the transfer function F (s). • Every plant G(s) ∈ P corresponds to a G∆(s) that satisfies kG∆ · Tok∞ < 1. So the extra interesting aspect of robust stability condition is the necessity. M.E. University of Minnesota
146
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Before we give a proof of this theorem, recall the Nyquist theorem: Nyquist Theorem: Suppose that L(s) has P unstable poles on the open RHP. Then, the Nyquist plot (i.e. the plot of L(s) on the complex plane, as s traverses the Nyquist contour (i.e. the imaginary axis, indented to the right in case of poles of L(s) on the imaginary axis, and a half circle at infinity encircling the RHP), encircles the (−1, 0) point clockwise N = Z −P times, where Z is the number of unstable poles of the closed loop system: L(s) 1 + L(s) Corollary: The closed loop system is stable if and only if the Nyquist plot of L(s) encircles the (−1, 0) point P times in the counter-clockwise direction. This is obtained by setting Z = 0. Note: P is the number of open-loop unstable poles.
M.E. University of Minnesota
147
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Return now to the robust stability theorem. Notice that the perturbed plant lies in a family of disks of size |Lo(jω)Wu(jω)| centered at Lo(jω). The perturbed plant is at a distance |G∆(jω)Lo(jω)| from Lo(jω). Geometric interpretation: Since |ToWu|s=jω = |Lo(jω)Wu(jω)|/|1 + Lo(jω)| and 1 + Lo(jω) is the distance between (−1, 0) and Lo(jω), |ToWu|s=jω < 1 if and only |Lo(jω)Wu(jω)| < |1 + Lo(jω)| Thus, the robust stability theorem states that the family of disks of size |Lo(jω)Wu(jω)| centered at Lo(jω) should not contain the (−1, 0) point.
M.E. University of Minnesota
148
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Proof of Robust Stability: Item 1 and sufficiency in item 2: • Show that the number of encirclement of (-1, 0) does not change • The distance from Lo(jω) to (−1, 0) is: |1 + Lo(jω)| • However, since Lo(jω) G∆(jω) < 1 |To(jω)G∆(jω)| < 1 ⇒ 1 + Lo(jω)
This implies that
|G∆(s)Lo(jω)| < |1 + Lo(jω)| = distance to (-1, 0) Hence, the perturbed plant cannot reach (and hence change the encirclement of) the (−1, 0) point. • This is the case because if the perturbed plant does change the encirclement of (−1, 0) there would be a β < 1 such that the perturbed plant (1 + βG∆(s))Lo(s) touches (−1, 0) at some s = jω1. M.E. University of Minnesota
149
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Necessity in item 2: • Suppose that kWu · Tok∞ ≥ 1 (i.e. the robust stability condition not satisfied) hence, |Wu(jω1) · To(jω1)| = γ1 ≥ 1 at some ω1. • We need to construct a ∆(s) with k∆k∞ < 1 such that, with G∆(s) = Wu(s)∆(s), (1+G∆(jω))Lo(s) touches the (−1, 0) point. • To do this consider ∆(s) of the form: ±1 (s − β) ∆(s) = γ (s + β) • Note that |∆(jω)| = 1/|γ| for all ω (i.e. all pass filter) so that: 1 ∆(jω) = ejφ(β,ω) γ where φ(β, ω) = π − 2tan−1(ω/β). Thus, for any ω, by choice of β, it is possible to achieve any φ(β, ω) ∈ (0, π]. M.E. University of Minnesota
150
ME8281 - Last updated: April 21, 2008
(c) Perry Li
• Thus, we can choose γ = γ1 and β such that ±1 Wu(jω1)ejφ(β,ω1) = Lo(jω1)G∆(jω1) 1+Lo(jω1) = γ1 • This makes the perturbed Nyquist plot touch the (-1, 0) point. QED. Remarks: • The perturbed closed loop system can be formulated into a closed loop system between G1(s) = G∆(s) = Wu(s)∆(s) and G2(s) = To(s). • Sufficiency part of robust stability is a special case of the Small Gain Theorem (SGT).
M.E. University of Minnesota
151
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Small Gain Theorem (SGT): Let G1 and G2 be (possibly nonlinear) stable systems with finite inputoutput gains. Let kG1k and kG2k denote their respective gains, i.e. their induced norms. If kG1k · kG2k < 1, then the closed loop system consisting of G1 and G2 will also be stable. Remarks: If we consider Gi : u(·) 7→ y(·) then, the induced norm (gain) of Gi is defined to be: kGiki := supu(·)
ky(·)k ku(·)k
where ku(·)k and ky(·)k are the respective signal norms of the input and output. By using different signal norms, different induced norms of the system can be obtained. For linear systems, it turns out that kGk∞ is the induced 2-norm. i.e. the input and output are measured using the 2-norm: ku(·)k2 =
Z
∞
−∞
M.E. University of Minnesota
u(t)2dt
12
. 152
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Therefore, the sufficiency of (22) is exactly what is provided by the Small Gain Theorem. What is interesting for LTI systems is that (22) is also necessary condition.
M.E. University of Minnesota
153
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Robust Performance We assume that the performance is specified by the smallness of the achieved sensitivity S(s). 1 1 S(s) = = 1 + G(s)C(s) 1 + L(s) Nominal performance: kWpSok∞ < 1;
So(s) =
1 1 + Lo(s)
where Lo(s) = Go(s)C(s), Wp(s) is the sensitivity performance weight.
M.E. University of Minnesota
154
ME8281 - Last updated: April 21, 2008
(c) Perry Li
How to specify sensitivity weighting Wp ? For example, output disturbance is do = k + asin(ωt + φ) where • DC disturbance: k ∈ [0, 10], • AC disturbance: ω ∈ [2, 4]rads−1, a ≤ A. If we would like the effect of disturbance to be smaller than 1, then, we would choose |S(j0)| < 1/10 to satisfy DC disturbance; and |S(jω)| < 1/A for ω ∈ [2, 4]rads−1 to satisfy AC disturbance requirements. Similar methodology can be requirements for Suo, Sio etc.
M.E. University of Minnesota
used
to
specify
155
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Consider a family of plants characterized by: P := {G(s) = (1 + Wu(s)∆(s))Go(s)} • G∆(s) = Wu(s)∆(s) is the multiplicative model error • Wu(s) is a given stable uncertainty weighting function • ∆(s) is the uncertainty itself, which is any stable transfer function with |∆(jω)| < 1 for all ω ∈ ℜ. Perturbed sensitivity: S(s) =
So 1 = 1 + (1 + G∆)Lo(s) 1 + G∆(s)To(s)
where To(s) =
Lo (s) 1+Lo (s) .
We are interested in the controller C(s) stabilizing all plants in set P and also satisfying the performance specification kWpSk∞ < 1. Robust performance means: ∀k∆k∞ < 1,
Wp So
kWuTok∞ < 1 and
1 + ∆WuTo < 1 (23) ∞ M.E. University of Minnesota
156
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Theorem: A necessary and sufficient condition for robust performance is: k|WpSo| + |WuTo|k∞ < 1
(24)
Sketch of Proof: Sufficency Suppose that (24) is satisfied. • Clearly (23) implies that kWuTok∞ < 1
WpSo • We need only show that 1+∆WuTo < 1 for any ∞ allowable ∆(s). • Since |WpSo| + |WuTo| < 1, we have
Wp So
1 − |WuTo|
> 1, both conditions approach, |Lo| >
|Wp| 1 − |Wu|
(26)
These bounds (25)-(26) determine the design rule for Lo(s) = C(s)Go(s). M.E. University of Minnesota
178
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Loop Shaping Procedure Setup: • Open loop plant G(s) is stable, and minimum phase (no RHP zeros) • Wu(s) and Wp(s) are designed such that min{|Wu(jω)|, |Wp(jω)|} < 1,
∀ω
Procedure: 1. Plot on log-log sacle, magnitude versus frequency (25)-(26): • At frequencies where |Wp| > 1 > |Wu| (low frequencies): |Wp| , 1 − |Wu| • At frequencies where |Wu| > 1 > |Wp| (high frequencies): 1 − |Wp| |Wu| M.E. University of Minnesota
179
ME8281 - Last updated: April 21, 2008
(c) Perry Li
2. Construct Lo(s) = Go(s)C(s) such that |Lo(jω)| within the required bounds • |Lo| > low frequency bound • |Lo| < high frequency bound 3. Choose Lo(s) such that at Lo(jω) passes through |Lo(jω)| = 1 with gentle slope (-20db/decade or -40dB/decade). This determines the phase margin. 4. Roll off Lo(s) (at least) as fast as Go(s) so that C(s) is proper. 5. Check robust performance - |WpSo|+|WuTo| < 1. 6. Check nominal stability: roots of 1 + Lo(s) = 0 should lie on open LHP. 7. Determine C(s) from the Lo(s).
M.E. University of Minnesota
180
ME8281 - Last updated: April 21, 2008
(c) Perry Li
One possibility is to construct a nice looking Lo(s) first, and then take C(s) = Lo(s)/Go(s) Another possibility is to start with L0o(s) = kG(s) and then successively modify, L1o(s) = kGo(s) → L2o(s) = kC1(s)Go(s) →L3o(s) = kC2(s)C1(s)Go(s) → . . . where Ci(s) are typically lead-lag controller, βi (s + αi) . Ci(s) = αi s + βi The controller is then C(s) = kCm(s)Cm−1(s) . . . C1(s). Cross-over region can be tricky to ensure robust performance is achieved.
M.E. University of Minnesota
181
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Loop shaping example: EH actuator
Recall that using proportional control, it is not possible to have both adequate performance and robustness at the same time. However, for C(s) = K = 180, • Performance curve |WpSo| peaks at 10 − 15 rad/s • Robust stability |WuTo| peaks at 1500 rad/s with adequate margin. Thus, it seems feasible that if we can improve |WpSo| at around 10-15 rad/s without disturbing |WuTo| at high frequencies too much, robust performane can be achieved. We use loop shaping techniques to guide us.
M.E. University of Minnesota
182
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Trial 0: (nominal proportional controller) L(s) = C(s)Go(s) =
180 s
EH actuator example − Proportional Control (K=180) 4
10
3
10
2
10
1
10
0
10
−1
10
−2
10
−1
10
0
10
1
10
2
10
3
10
4
10
As expected, this controller fails in the performance bound.
M.E. University of Minnesota
183
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Trial 1: Boost gain between 1 to 10 rad/s Lo(s) = 180
s+1 s+1 Go(s) = 180 (s/10 + 1) s(s/10 + 1)
EH actuator example − Proportional + lead 4
10
3
10
2
10
1
10
0
10
−1
10
−2
10
−1
10
0
10
1
10
2
10
3
10
4
10
Performance bound is satisfied at the expense of violating the robustness bound. This is verified by plotting the robustness stability and performance curves.
M.E. University of Minnesota
184
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Sensitivity −S
0
10
−1
0
10
10
−2
−2
10
10
−3
−4
10
10
−4
10
−6
−2
10
0
2
10
10
4
Nominal Performance −WpS
0
10
10
−2
0
10
10
2
10
4
10
Robust Performance −WpS + WuT
1
10
10
−5
0
10
10
−10
−1
10
10
−15
10
Robust Stability −WuT
2
10
−2
−2
10
0
2
10
10
4
10
10
−2
10
0
10
2
10
4
10
Robust stability, nominal performance, robust performance curves for s+1 C(s) = 180 s/10 + 1
M.E. University of Minnesota
185
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Trial 2: Reduce gain at high frequency to regain robustness s+1 s/100 + 1 · Go(s) Lo(s) = 180 (s/10 + 1) s/10 + 1 s/100 + 1 = 180 s(s/10 + 1)2 4
10
3
10
Trial 1 2
10
Trial 0
1
10
Trial 2
0
10
−1
10
−2
10
−1
10
0
10
1
10
2
10
3
10
4
10
Both performance and robustness bounds are satisfied. Need to check robust performance curve.
M.E. University of Minnesota
186
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Sensitivity −S
0
Robust Stability −WuT
0
10
10
−1
10
−2
10
−3
10
−4
10
−5
−2
10
0
10
2
10
4
Nominal Performance −WpS
0
10
10
−2
10
2
10
4
10
Robust Performance −WpS + WuT
0
10
0
10
10
−5
10
−1
10 −10
10
−15
10
−2
−2
10
0
10
2
10
4
10
10
−2
10
0
10
2
10
4
10
Robust stability, nominal performance, robust performance curves for
C(s) = 180
(s + 1)(s/100 + 1) (s/10 + 1)2
Robust performance is satisfied. Make sure to check that the system is nominally stable. M.E. University of Minnesota
187
ME8281 - Last updated: April 21, 2008
(c) Perry Li
The characteristic polynomial is: 180(s + 1)(s/100 + 1) + s(s/10 + 1)2 Roots are: −99.5 ± 90.5j and −0.996. system is stable.
Thus the
Nyquist plot confirms that the nominal loop is stable. Thus, by robust stability, the system is robustly stable as well. Nyquist Diagram
10
Imaginary Axis
5
0
−5
−10
−15
−20 −1.2
M.E. University of Minnesota
−1
−0.8
−0.6 Real Axis
−0.4
−0.2
0
188
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Control design via innovation feedback Recall that using observer state feedback, x ˆ˙ = Aˆ x + Bu − L(C x ˆ − y) u = −K x ˆ
the controller itself satisfies [See Goodwin pp. 512 for proof]: P (s) L(s) U (s) = − Y (s) + V (s) E(s) E(s)
(27)
where L(s) det(sI − A + LC + BK) = 1 + KT1(s) = E(s) E(s) KAdj(sI − A)J P (s) = KT2(s) = E(s) E(s) P (s) = K(sI − A + LC + BK)−1L L(s)
M.E. University of Minnesota
189
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Controller can be written as a two degree of freedom controller form: P (s) E(s) V (s) − Y (s) U (s) = L(s) E(s) Or as a 1 degree of freedom controller form: U (s) = where V (s) =
P (s) (R(s) − Y (s)) E(s)
P (s) E(s) R(s).
The innovation is the output prediction error: ν := y − C x ˆ = −Ce Therefore, ˆ ν(s) = Y (s) − C X(s) = Y (s) − CT1(s)U (s) − CT2(s)Y (s) = (1 − CTs(s))Y (s) − CT1(s)U (s) where T1(s) = (sI − A + LC)−1B T2(s) = (sI − A + LC)−1L M.E. University of Minnesota
190
ME8281 - Last updated: April 21, 2008
(c) Perry Li
In transfer function form: P (s) L(s) U (s) = − Y (s) E(s) E(s)
Bo(s) CAdj(sI − A)B G(s) = = Ao(s) det(sI − A) E(s) = det(sI − A + LC) F (s) = det(sI − A + BK) L(s) = det(sI − A + LC + BK) P (s) = KAdj(sI − A)L P (s) −1 = K [sI − A + LC + BK] L L(s) Then, it can be shown (see Goodwin P545) that the innovation Ao(s) Bo(s) ν(s) = Y (s) − U (s) E(s) E(s) Consider now that observer state feedback augmented M.E. University of Minnesota
191
ME8281 - Last updated: April 21, 2008
(c) Perry Li
with innovation feedback, u = v − Kx ˆ − Qu(s)ν where Qu(s)ν is ν filtered by the stable filter Qu(s) (to be designed). Then,
P (s) A(s) B(s) L(s) U (s) = − Y (s)+Qu(s) U (s) − Y (s) E(s) E(s) E(s) E(s) The controller transfer function becomes then: C(s) =
P (s) E(s) L(s) E(s)
A(s) + Qu(s) E(s)
− Qu(s) B(s) E(s)
The nominal sensitivity functions, which define the robustness and performance criteria, are modified affinely by Qu(s): Bo(s)Ao(s) Ao(s)L(s) − Qu(s) So(s) = E(s)F (s) E(s)F (s)
(28)
Bo(s)P (s) Bo(s)Ao(s) To(s) = + Qu(s) E(s)F (s) E(s)F (s)
(29)
M.E. University of Minnesota
192
ME8281 - Last updated: April 21, 2008
(c) Perry Li
For plants that are open-loop stable with tolerable pole locations, we can set K = 0 so that F (s) = Ao(s) L(s) = E(s) P (s) = 0 so that So(s) = 1 − Qu(s) To(s) = Qu(s)
Bo(s) E(s)
Bo(s) E(s)
o (s) In this case, it is common to use Q(s) := Qu(s) AE(s) to get the formulae:
So(s) = 1 − Q(s)Go(s)
(30)
To(s) = Q(s)Go(s)
(31)
Thus the design of Qu(s) (or Q(s)) can be used to directly influence the sensitivity functions. M.E. University of Minnesota
193
ME8281 - Last updated: April 21, 2008
(c) Perry Li
For instance, using Eqs.(28)-(29): Minimize sensitivity kWp(s)S(s)k for nominal performance: L(s) F1(s) Qu(s) = Bo(s) Minimize complementary sensitivity kWu(s)T (s)k: P(s) F2(s) Qu(s) = − Ao(s) where F1(s), F2(s) are close to 1 at frequencies where kS(s)k and kT (s)k need to be decreased. Similarly, using Eqs.(30)-(31) for stable open loop systems: Minimize sensitivity kWp(s)S(s)k for nominal performance: Q(s) = G−1 o (s)F1 (s) Minimize complementary sensitivity kWu(s)T (s)k: Qu(s) = −G−1 o F2 (s) M.E. University of Minnesota
194
ME8281 - Last updated: April 21, 2008
(c) Perry Li
where F1(s), F2(s) are close to 1 at frequencies where kS(s)k and kT (s)k need to be decreased. Notice that it is not possible to do both at the same time. Remarks: • Generally, if F1(s) and F2(s) need to be active in overlapping ranges, then the control design will not be feasible. • The internal stability of the system is ensured if Qu(s) is stable. • How Qu(s) should be designed need to be modified in case when Bo(s) or Ao(s) are non-minimum phase.
M.E. University of Minnesota
195
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Electrohydraulic Actuator Example using Qu(s) feedback Simplified model for the EH system,
G(s) =
Bo(s) 1 = Ao(s) s
States space model: x˙ = u + di y = x + do where di and do are input and output disturbances. The observer is: x ˆ˙ = u − L(ˆ x − y)
(s + L)ˆ x(s) = u(s) + Ly(s) M.E. University of Minnesota
196
ME8281 - Last updated: April 21, 2008
(c) Perry Li
The innovation ν is: ν = y − yˆ = y − x ˆ u + Ly ν(s) = y(s) − s+L s · y(s) u(s) = − s+L s+L Let the observer state-feedback with innovation feedback be: u(s) = −K x ˆ(s) − Qu(s)ν(s) [(s + K + L) − Qu(s)]u(s) = −(KL + Qu(s)s)y(s)
s(s + K + L) s y(s) = − Qu(s) So(s) = do(s) (s + L)(s + K) (s + L)(s + K) KL s u(s) = + Qu(s) To(s) = di(s) (s + K)(s + L) (s + L)(s + K)
This is consistent with the formulae (28)-(29) with M.E. University of Minnesota
197
ME8281 - Last updated: April 21, 2008
(c) Perry Li
these definitions: E(s) = s + L F (s) = s + K L(s) = (s + L + K) P (s) = LK First we consider K = 180. Without Qu(s) feedback, this is robustly stable, but does not have the required performance. Magnitude (dB)
10
0
10
0.5
−5
10
0 1 Phase (deg)
Nominal Performance
5
Bode Diagram
1
−10
10
0.5
−15
0 0 10
1
10
−2
10
10
0
10
2
10
4
10
Frequency (rad/sec)
Robust stability
0
Robust performance
1
10
10
0
10
−1
10
−2
10 −5
10
−3
−2
10
0
10
2
10
4
10
10
−2
10
0
10
2
10
4
10
To improve nominal performance, we focus on frequency below 200 rad/s: M.E. University of Minnesota
198
ME8281 - Last updated: April 21, 2008
(c) Perry Li
>> wc1=200; >> [B1,A1]=butter(2,wc1,’s’);
Q(s) =
Nominal Performance
0
Bode Diagram
100 Magnitude (dB)
(s + L + K) ∗ B1(s) A1(s) 10
50 −5
10
0
Phase (deg)
−50 0 −10
10 −90
−180 1 10
−15
2
10
3
4
10 Frequency (rad/sec)
10
5
Robust stability
0
−2
10
0
10
2
10
4
10
Robust performance
0
10
10
−5
10
10
10
−5
−2
10
0
10
2
10
4
10
10
−2
10
0
10
2
10
4
10
This satisfies the robust performance criteria easily. Let’s try starting out with performance. Set K = 1200. Without Qu(s), do not satisfy robust stability. M.E. University of Minnesota
199
ME8281 - Last updated: April 21, 2008 Nominal Performance
0
Bode Diagram
1 Magnitude (dB)
(c) Perry Li
10
0.5
−5
10
Phase (deg)
0 1 −10
10 0.5
−15
0 0 10
1
10
−2
10
10
0
2
10
10
4
10
Frequency (rad/sec)
Robust stability
2
Robust performance
10
0
10
−2
10
0
10
−4
10
−6
10
−2
10
0
10
2
10
4
10
3
10
Clearly, this satisfies nominal performance but violates robust stability in the region of [400, 4000] rad/s.
>> [B2,A2]=butter(2,[200,5000],’s’);
KLB2(s) Q(s) = − sA2(s) M.E. University of Minnesota
200
ME8281 - Last updated: April 21, 2008 Nominal Performance
0
Bode Diagram
100 Magnitude (dB)
(c) Perry Li
10
50 0
−5
10 −50
Phase (deg)
−100 360 −10
10 0
−360 0 10
−15
2
4
10 10 Frequency (rad/sec)
6
Robust stability
0
10
−2
10
10
2
10
4
10
Robust performance
0
10
0
10
10
−1
10
−2
10
−5
10
−3
−2
10
0
10
2
10
4
10
10
−2
10
0
10
2
10
4
10
This also satisfies robust performance!
M.E. University of Minnesota
201
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Constraints on Wp and Wu Wp(s) and Wu(s) specify the desired performance and allowable model uncertainties. However, we cannot define Wp and Wu to be arbitrarily large and expect that that a controller can be found that solves the the robust performance problem. Here, we show that they must respect each other, and respect the limitations of the open-loop system. Knowledge of these limitations help us define meaningful performance specifications (Wp), and our need to do accurate modeling (Wu). First, some preliminary results ....
M.E. University of Minnesota
202
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Preliminary Results Maximum Modulus Theorem (MMT) Let P (s) be a stable, rational transfer function. Then, kP k∞ := supω∈ℜ|P (jω)| = sups with Re(s) ≥ 0 |P (s)| It is obvious that LHS is less than or equal to the RHS. The interesting part of this theorem is that they are equal. Consider L(s) = G(s)C(s). Let p be any pole of L(s) and z be any zero of L(s), i.e. 1/L(p) = 0 and L(z) = 0. We have: 1 S(p) = = 0; 1 + L(s) s=p L(s) T (z) = = 0; 1 + L(s) s=z
M.E. University of Minnesota
T (p) = 1 − S(p) = 1; S(z) = 1 − T (z) = 1;
203
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Constraint 1: Wu & Wp cannot simultaneously be large For the robust performance to be solvable, a necessary condition is: for all ω ∈ ℜ, min{|Wu(jω)| , |Wp(jω)|} < 1.
Proof: Suppose that |Wu| ≤ |Wp| (reverse the argument otherwise). At each ω, |Wu| = |Wu(S+T )| ≤ |WuS|+|WuT | ≤ |WuS|+|WpT | Thus, |WuS|+|WpT | < 1 (robust performance) implies that |Wu| < 1. Significance: We cannot simultaneously tolerate uncertainty, and expect good performance at any frequencies. • One cannot have better than open-loop performance (|S| < 1 as guranteed by |WpS| ≤ 1 and |Wp| > 1) when uncertainty is larger than 100% (|Wu| > 1).
M.E. University of Minnesota
204
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Constraint 2: Right Half Plane poles and zeros limit robustness (Wu) and performance (Wp) Suppose that C(s) internally stabilizes the nominal plant Go(s). Let So and To be the nominal sensitivities, and p and z are respectively an unstable pole, and a non-minimum phase zero of Lo(s) = Go(s)C(s), i.e. 1/Lo(p) = 0 with Re(p) ≥ 0; and Lo(z) = 0 with Re(z) ≥ 0. • The nominal (and robust) performance problem cannot be solved if |Wp(z)| ≥ 1, since kWpSok = supRe(s)≥0|WpSo| ≥ |Wp(z)So(z)| = |Wp(z)|. • The robust stability (and robust performance) problem cannot be solved if |Wu(p)| ≥ 1, since kWuTok = supRe(s)≥0|WuTo| ≥ |Wu(p)To(p)| = |Wu(p)|. The remedy for this is to reduce performance requirement (smaller |Wp(z)|), and better system identification (lower uncertainty, and smaller |Wu(p)|). M.E. University of Minnesota
205
ME8281 - Last updated: April 21, 2008
(c) Perry Li
The problem is more acute if there is a pair of RHP pole and zero close to each other. Consider the open loop system: G(s) =
s−z G1(s) s−p
where z and p are RHP zero and pole, G1(s) does not have any RHP poles or zeros. Then, it can be shown that: z + p kWpSok∞ ≥ |Wp(z)| z − p z + p kWuTok∞ ≥ |Wu(p)| z − p Thus, as p ≈ z, the lower bounds for kWpSk∞ and kWuT k∞ is significantly amplified. This is related to the fact that the unstable pole is nearly canceled out by the non-minimum phase zero. Thus, the unstable mode becomes either nearly uncontrollable or unobservable.
M.E. University of Minnesota
206
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Constraints due to Bode Integral These constraints are sometimes referred to as the “principle of conservation of dirts” or the area formula. The general meaning is that for systems that satisfy the conditions of the theorems, it is not possible to improve the performance / robustness at all frequencies. Theorem: (Bode Integral Theorem for Sensitivity) Let the open loop system L(s) = G(s)C(s) have the following properties: • It has relative degree (i.e. order of denominator minus order of numerator) nr ≥ 1. • L(s) has M ≥ 0 RHP (unstable) poles (counting multiplicity): p1, p2, . . . , pM , Re(pi) > 0. • Let κ := lims→∞sL(s). [Note: κ = 0 if nr ≥ 2] 1 • Sensitivity function is given by S(s) = 1+L(s) . Then, the sensitivity function S(jω) satisfies: ∞
∞
M X π Re(pi). ln|S(jω)|dω = −κ + π · 2 i=1
ln|S(jω)|dω = π ·
0
Z
M X
Z 0
Re(pi).
nr > 1 (32)
i=1
M.E. University of Minnesota
nr = 1. (33) 207
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Significance: • L(s) has relative degree nr > 1 if both plant G(s) and controller C(s) are strictly proper. Then, (32) applies. • Decreasing |S(jω)| at some frequencies ω will increase it at other frequencies. Hence, the “dirt” is conserved. • The total amount of “dirt” is increased if the openloop system L(s) is unstable since the RHS of (32)-(33) is increased. • When nr = 1, the total amount of “dirt” is decreased by increasing the high frequency gain (e.g. L(s) = K/s). • The sensitivity peak kSk∞ which is inversely related to robustness may be increased.
M.E. University of Minnesota
208
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Example: Proportional control of 2nd order plant with no zeros. k ; 2 s +s+1 s2 + s + 1 S(s) = 2 s + s + (1 + k)
L(s) = kG(s) =
log S(jw) 1
10
1
L(s) = k 2
s +s+1
k=0
0
10
k=10
−1
10
−2
10
0
1
2
3
4
5 ω rad/s
6
7
8
9
10
Note that as k increases, the sensitivity at low frequencies decreases but the peaks increase at other frequencies.
M.E. University of Minnesota
209
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Theorem: (Bode Integral Theorem for Complementary Sensitivity) Let the open loop system L(s) = G(s)C(s) have the following properties: • L(s) has at least 1 pole at 0 (i.e. L−1(0) = 0 or T (0) = 1). • L(s) has M ≥ 0 RHP (non-minimum phase) zeros (counting multiplicity): c1, c2, . . . , cM , Re(ci) > 0. • kv is the velocity constant - i.e.
dT (s) kv = − lims→0 ds
−1
= −lims→0sL(s)
• Complementary sensitity is given by T (s) =
L(s) 1+L(s) .
Then, the sensitivity function T (jω) satisfies: Z
0
∞
M X 1 π 1 ln|T (jω)|dω = π · − ω2 c 2kv i=1 i
M.E. University of Minnesota
(34)
210
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Significance: • If L(s) has at least 2 free integrators (poles at 0), then kv = ∞. This ensures that steady error is 0 for ramp input. • Decreasing |T (jω)| at some frequencies ω will increase it at other frequencies. Hence, the similar to the S(s) story, “dirt” is conserved. • The total amount of “dirt” is increased if the openloop system L(s) has non-minimum phase zeros, since the RHS of (34) is increased. • If L(s) has only 1 free integrator, one can decrease the total dirt by tolerating steady state error due to ramp input. • If L(s) does not have free integrators (i.e. L−1(0) 6= 0 or T (0) 6= 1, then a similar relation to (34) exists, (jω) except that in the integral we have ln |T |T (0)| . This however, does not pose limitation on making T (jω) small in all frequencies.
M.E. University of Minnesota
211
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Application: Closed loop bandwidth and Open loop unstable pole Constraints on Wp, Wu imply the following design rule: “The closed loop bandwidth should be larger than the magnitude of the unstable open loop pole” Usually a factor of 2 is used. Reasoning 1: function)
(From complementary sensitivity
Suppose that the uncertainty weighting is chosen so that it is important at high frequency, unimportant at low frequencies. This roughly translates to requirement on To since kWuTok < 1. One possibility is Wu(s) = Wu−1
T¯ωo ; = ¯ (sT + ω)
s ωo
+ T1¯ . So that
|To(jωo)| ≈ |Wu−1(jωo)|.
Hence, the cross over frequency is ωo, and Wu(0) = T¯−1. Here, we can interpret ωo as the bandwidth of the system, since beyond which, we allow To(jω) to be small. M.E. University of Minnesota
212
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Let p ∈ ℜ be a real unstable pole of the open loop plant Go(s). Then, from the constraint that |Wu(p)| < 1, p |p| 1 + ¯ < 1 ⇒ ωo > ≥ |p|. ¯ ωo T 1 − 1/T If T¯ is 2 (50% uncertainty at D.C.), then this gives the rule of thumb with the factor of 2. Reasoning 2: (From sensitivity function) Let Go(s) have a real unstable pole at p ∈ ℜ, and Lo(s) = Go(s)C(s). As a rough approximation, let the open loop gain |Lo(jω)| ≈ 0 when ω > ωo where ωo is the bandwidth of the closed loop system. This implies that So(jω) ≈ 1 (ln|So(jω)| ≈ 0) when ω > ωo. Let M be the max of |So(jω)| (sensitivity peak) From Bode integral (32), πp =
Z
ωo
ln|So(jω)|dω +
0
M.E. University of Minnesota
Z
∞
ln|So(jω)|dω ≤ ωoln(M )
ωo 213
ME8281 - Last updated: April 21, 2008
(c) Perry Li
This shows that the sensitivity peak M ≥ eπp/ωo . Since M should be reasonably small (otherwise, the system will behave much worse than open loop), p/ωo should not be large. In particular, if ωo = p, then M = eπ ≈ 23 which is unacceptable in most cases. When, ωo = 2p, the estimated lower bound for M is 4.81. Note: M >> 1 is bad also for robustness, since T = 1 − S. Thus, large T requires very good modeling effort to maintain stability. Also, recall |So−1(jω)| is distance of Lo(jω) to (−1, 0).
M.E. University of Minnesota
214
ME8281 - Last updated: April 21, 2008
(c) Perry Li
Application: Closed loop bandwidth and Open loop non-minimum phase zero The constraints on Wu and Wp also imply the following design rule: “The closed loop bandwidth should be smaller than the magnitude of the non-minimum phase zero” Suppose that the performance weighting Wp(s) satisfies: s −1 ¯ Wp = S s + ω S¯ Thus, the sensitivity becomes important for ω < ωo; ¯ high frequency sensitivity requirement is given by S. Let z be a real non-minimum phase (RHP) zero of Go(s). Then from the necessary condition, |Wp(z)| < 1, z + ωoS¯ ¯ > m). Using a factor of 2 × p the required bandwidth is 1.4 Hz. This is quite reasonable for humans.
M.E. University of Minnesota
218