MECH550F: Multivariable Feedback Control Review and today's ...
MECH550F: Multivariable Feedback Control Review and today's ...
MECH550F: Multivariable Feedback Control Review and today's ...
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