15.07.2014 Views

MECH550F: Multivariable Feedback Control Review and today's ...

MECH550F: Multivariable Feedback Control Review and today's ...

MECH550F: Multivariable Feedback Control Review and today's ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>MECH550F</strong>: <strong>Multivariable</strong><br />

<strong>Feedback</strong> <strong>Control</strong><br />

Lecture 15<br />

μ-synthesis<br />

Dr. Ryozo Nagamune<br />

Department of Mechanical Engineering<br />

University of British Columbia<br />

<strong>Review</strong> <strong>and</strong> today’s s topic<br />

• In the previous lectures, we<br />

have studied<br />

• structured singular value μ.<br />

• μ-analysis<br />

of a feedback system.<br />

(A controller K is given.)<br />

• In today’s s lecture, we will study<br />

μ-synthesis<br />

of a feedback<br />

system. (K is to be designed.)<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 1<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 2<br />

μ-analysis (review)<br />

Upper bound of μ (review)<br />

• For a complex matrix M<br />

Robustly stable case<br />

Not robustly stable case<br />

UB<br />

LB<br />

UB<br />

LB<br />

Note: D <strong>and</strong> Δ commute.<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 3<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 4<br />

1


μ-synthesis problem<br />

Scaled H∞H<br />

minimization<br />

• Design a nominally stabilizing K<br />

solving a minimization problem<br />

(Minimizing μ upper bound over frequencies.)<br />

(Minimizing scaled H∞ norm.)<br />

• If the minimized value is less than 1, then the<br />

obtained K is a robust stabilizing controller.<br />

• The cost function is nonconvex w.r.t. . D & K.<br />

• If we fix D, it is (convex!) H∞ optimal controller<br />

design.<br />

• If we fix K, it is (convex!) μ-analysis.<br />

• We use the D-K K iteration to find a local optimum.<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 5<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 6<br />

D-K K iteration (dksyn.m(<br />

dksyn.m)<br />

Initialization of D(s)<br />

Initialization of D<br />

Initialization<br />

K-design<br />

<strong>Control</strong>ler design<br />

<strong>Control</strong>ler analysis<br />

Scaling design<br />

K-design (with fixed D)<br />

OK?<br />

no<br />

yes<br />

D-design (with fixed K)<br />

end<br />

• One st<strong>and</strong>ard choice of D(s) ) is<br />

• Different initial D’s D s will result in<br />

different final results, due to<br />

nonconvexity of the optimization<br />

problem.<br />

OK?<br />

end<br />

no<br />

yes<br />

D-design<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 7<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 8<br />

2


Design of K(s)<br />

Initialization<br />

K-design<br />

Analysis of K(s)<br />

Initialization<br />

K-design<br />

• For the fixed D(s), design scaled<br />

(sub)optimal<br />

H∞ controller<br />

OK?<br />

end<br />

no<br />

yes<br />

D-design<br />

• Analyze the designed K(s) ) by upper<br />

bound of μ-value.<br />

• In other words, for gridded frequency<br />

ω, , compute (with mussv.m)<br />

OK?<br />

end<br />

no<br />

yes<br />

D-design<br />

hinfsyn.m<br />

• Check if it is satisfactory.<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 9<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 10<br />

Design of D(s)<br />

Remarks on D-K D K iteration<br />

• For given Dω, , find D(s) s.t. . the<br />

magnitude of D(jω) ) is close to Dω,<br />

<strong>and</strong><br />

• User has freedom to select deg(D)<br />

(fitting accuracy vs complexity).<br />

• deg(K)=deg(N)+2deg(D)<br />

Initialization<br />

K-design<br />

OK?<br />

end<br />

no<br />

yes<br />

D-design<br />

• D-K K iteration can find only a local optimum, <strong>and</strong><br />

there is no guarantee to find a global optimum.<br />

• Practical experience suggests that the method<br />

works well in most cases.<br />

• Final controller <strong>and</strong> μ-value depend on:<br />

• Initial choice of D(s)<br />

• Order of D(s) ) to fit Dω<br />

• Numerical accuracy in optimization etc.<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 11<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 12<br />

3


Example (in Help of dksyn.m)<br />

Example: Bode plot of inv(Wp)<br />

20<br />

Bode Diagram<br />

10<br />

0<br />

Magnitude (dB)<br />

-10<br />

-20<br />

-30<br />

Design K s.t.<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 13<br />

-40<br />

10 -4 10 -3 10 -2 10 -1 10 0 10 1 10 2<br />

Frequency (rad/sec)<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 14<br />

Example: Extracting K<br />

Example: Matlab code<br />

# of y<br />

# of u<br />

<strong>Control</strong>ler<br />

Closed-loop loop system<br />

Optimized cost<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 15<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 16<br />

4


Example: Info of D-K D K iteration<br />

Example: Bode plots<br />

1 st iteration<br />

<strong>Control</strong>ler<br />

Optimized cost<br />

D-scaling<br />

μ-bounds<br />

20<br />

10<br />

0<br />

Bode Diagram<br />

2 nd iteration<br />

Magnitude (dB)<br />

-10<br />

-20<br />

-30<br />

Samples of S<br />

-40<br />

-50<br />

10 -4 10 -2 10 0 10 2 10 4<br />

Frequency (rad/sec)<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 17<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 18<br />

Example: Redesign with 2Wp<br />

Example: Redesign with 3Wp<br />

10<br />

Bode Diagram<br />

10<br />

Bode Diagram<br />

0<br />

0<br />

-10<br />

-10<br />

Magnitude (dB)<br />

-20<br />

-30<br />

-40<br />

Samples of S<br />

Magnitude (dB)<br />

-20<br />

-30<br />

-40<br />

Samples of S<br />

-50<br />

-50<br />

-60<br />

10 -4 10 -2 10 0 10 2 10 4<br />

Frequency (rad/sec)<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 19<br />

-60<br />

10 -4 10 -2 10 0 10 2 10 4<br />

Frequency (rad/sec)<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 20<br />

5


Summary<br />

Last homework (Due Nov 10, 5pm)<br />

• μ-synthesis for structured uncertainty<br />

• D-K iteration<br />

• If you want to design a controller by step-by-step<br />

D-K iteration using dksyn.m, use<br />

options = dkitopt('AutoIter','off');<br />

• D-K iteration often generates very high-order<br />

controllers. Apply model reduction to designed<br />

controllers if necessary.<br />

• Announcement: No lecture on November 5.<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 21<br />

• In Lecture 14, we assumed that we have two PID<br />

controllers, <strong>and</strong> analyzed their robustness.<br />

• In this homework, you are required to design a robust<br />

controller.<br />

• The design specifications are (cf. Lec.14, slide 19)<br />

• The worst case sensitivity gain should be at most 8dB.<br />

• The b<strong>and</strong>width (the frequency that |S| passes 0dB) should be as<br />

large as possible.<br />

• Verify that your controller satisfies the specs by sampling<br />

uncertain plant.<br />

• Submit only (readable!) m-file. m<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 22<br />

Appendix<br />

• In RP problem, what does<br />

it mean if<br />

for all ω?<br />

• It means….<br />

2009/10 T1 <strong>MECH550F</strong> : <strong>Multivariable</strong> <strong>Feedback</strong> <strong>Control</strong> 23<br />

6

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!