Robust stability and Performance

ME8281 - Last updated: April 21, 2008 (c) Perry Li Robust stability and Performance Topics: ([ author ] is supplementary source) • Sensitivities and...
1 downloads 1 Views 409KB Size
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