Difference between revisions of "Robust Performance"
(→MATLAB code) 

(3 intermediate revisions by the same user not shown)  
Line 5:  Line 5:  
{{chaptertable left}}  {{chaptertable left}}  
== Textbook Contents ==  == Textbook Contents ==  
−  {{am05pdfam08robperf  +  {{am05pdfam08robperf28Sep12Robust Performance}} 
* 1. Modeling Uncertainty  * 1. Modeling Uncertainty  
* 2. Stability in the Presence of Uncertainty  * 2. Stability in the Presence of Uncertainty  
Line 45:  Line 45:  
P_2(i\omega)}{\sqrt{(1 + P_1(i\omega)^2)(1 + P_2(i\omega)^2)}},  P_2(i\omega)}{\sqrt{(1 + P_1(i\omega)^2)(1 + P_2(i\omega)^2)}},  
</amsmath></center>  </amsmath></center>  
−  and <amsmath>\mathcal C</amsmath> is the set of all pairs <math>(P_1, P_2)</math> such that the functions <math>f_1=1+P_1(s)P_1(s)</math> and <math>f_2=1+P_2(s)P_1(s)</math> have the same number of zeros in the right halfplane  +  and <amsmath>\mathcal C</amsmath> is the set of all pairs <math>(P_1, P_2)</math> such that the functions <math>f_1=1+P_1(s)P_1(s)</math> and <math>f_2=1+P_2(s)P_1(s)</math> have the same number of zeros in the right halfplane. 
</p></li>  </p></li>  
<li><p>  <li><p>  
−  Robust stability can be determined through the use of the Nyquist plot. The ''stability margin'' <math>s_m</math>, defined as the shortest  +  Robust stability can be determined through the use of the Nyquist plot. The ''stability margin'' <math>s_m</math>, defined as the shortest distance from 1 to the Nyquist curve, provides a measure of robustness. For an additive perturbation <math>\Delta(s)</math>, the system is robustly stable if 
<center><amsmath>  <center><amsmath>  
\Delta<\Big\frac{1+PC}{C}\Big  \Delta<\Big\frac{1+PC}{C}\Big  
Line 83:  Line 83:  
\frac{dG_{un}}{G_{un}}=T\frac{dP}{P},  \frac{dG_{un}}{G_{un}}=T\frac{dP}{P},  
</amsmath></center>  </amsmath></center>  
−  indicating that the controller is insensitive to noise when the complementary sensitivity is small. Control design in the presence of uncertainty can be done by using the Gang of Four to  +  indicating that the controller is insensitive to noise when the complementary sensitivity is small. Control design in the presence of uncertainty can be done by using the Gang of Four to ensure that the appropriate sensitivity functions are all well behaved. 
</p></li>  </p></li>  
Line 102:  Line 102:  
</ol>  </ol>  
−  == Exercises ==  +  {{chaptertable begin}} 
+  {{chaptertable left}}  
+  
+  <!  
+  == Additional Exercises ==  
+  The following exercises cover some of the topics introduced in this chapter. Exercises marked with a * appear in the printed text.  
<ncl>Robust Performance Exercises</ncl>  <ncl>Robust Performance Exercises</ncl>  
+  >  
== Frequently Asked Questions ==  == Frequently Asked Questions ==  
<ncl>Robust Performance FAQ</ncl>  <ncl>Robust Performance FAQ</ncl>  
== Errata ==  == Errata ==  
−  <ncl>Robust Performance errata v2.  +  <ncl>Robust Performance errata v2.11b</ncl> 
* [[:Category:Robust Performance errataFull list of errata starting from first printing]]  * [[:Category:Robust Performance errataFull list of errata starting from first printing]]  
* {{submitbug}}  * {{submitbug}}  
+  {{chaptertable right}}  
+  
+  == MATLAB code ==  
+  The following MATLAB scripts are available for producing figures that appear in this chapter.  
+  * Figure 12.1: {{matlabfilerobperfcruise_paramsweep.m}}  
+  * Figure 12.3: {{matlabfilerobperfmodcomp.m}}  
+  * Figure 12.6: {{matlabfilerobperfcruise_robustness.m}}  
+  * Figure 12.11: {{matlabfilerobperfsteering_nonrobust.m}}  
+  * Figure 12.12: {{matlabfilerobperfsteering_robust.m}}  
+  * Figure 12.14: {{matlabfilerobperfafm_pidnotchgof.m}}  
+  * Figure 12.15: {{matlabfilerobperfafm_piddampgof.m}}  
+  See the [[softwaresoftware page]] for more information on how to run these scripts.  
+  
+  <!  
== Additional Information ==  == Additional Information ==  
+  >  
+  {{chaptertable end}} 
Latest revision as of 21:36, 23 November 2012
Prev: Frequency Domain Design  Chapter 12  Robust Performance  Next: Bibliography 
This chapter focuses on the analysis of robustness of feedback systems. We consider the stability and performance of systems who process dynamics are uncertain and derive fundamental limits for robust stability and performance. We also discuss how to design controllers to achieve robust performance.
Textbook ContentsRobust Performance (pdf, 28Sep12)

Lecture Materials
Supplemental Information

Chapter Summary
This chapter focuses on the analysis of robustness of feedback systems:
Uncertainty can enter a model in many forms. Parametric uncertainty occurs when the values of the parameters in the model are not precisely known or may vary. Unmodeled dynamics are a more general class of uncertainty in which some portions of the systems behavior are not included in the model, either due to lack of knowledge or simplicity. Unmodeled dynamics can be taken into consideration by incorporating an uncertainty block with bounded input/output response. Common types of unmodeled dynamics include additive uncertainty, multiplicative uncertainty and feedback uncertainty.
The Vinnicombe metric (or gap metric) provides a measure of the distance between two transfer functions. It is defined as
where is a distance measure between the two transfer function
and is the set of all pairs such that the functions and have the same number of zeros in the right halfplane.
Robust stability can be determined through the use of the Nyquist plot. The stability margin , defined as the shortest distance from 1 to the Nyquist curve, provides a measure of robustness. For an additive perturbation , the system is robustly stable if
The Youla parameterization provides a description of all controllers that can stabilize a given process. For a stable system, stabilizing compensators are of the form
where is the process transfer function and is an arbitrary stable transfer function. For an unstable process, we write the process dynamics as
where and are stable transfer functions. Stabilizing compensators have the form
where , and are all stable transfer functions.
In addition to stability, uncertainty can also affect the performance of a system. For additive uncertainty, the load response satisfies
The response to load disturbances is thus insensitive to process variations for frequencies where the magnitude of the sensitivity function is small. Similarly, the response of the controller to noise in the presence of additive uncertainty satisfies
indicating that the controller is insensitive to noise when the complementary sensitivity is small. Control design in the presence of uncertainty can be done by using the Gang of Four to ensure that the appropriate sensitivity functions are all well behaved.
State space design, using eigenvalue (or pole) placement, can also be analyzed using sensitivity functions. State space design is complicated in the presence of right half plane poles and zeros, which limit the achievable performance. Design rules for robust pole placement include:
 Slow stable process zeros should be matched by slow closed loop poles
 Fast stable process poles should be matched by fast closed loop poles
 Slow unstable process zeros and fast unstable process poles impose performance limitations
Design methods for robust stability performance include quantitative feedback theory (QFT), linear quadratic control (LQG) and and control. Strong robustness results are available for control. Letting represent the input/output response between a set of generalized disturbances and the generalized error , it can be shown that
The Vinnecombe metric can thus be considered as a generalized stability margin (comparable to ) and it follows that if we find a controller with , then this controller will stabilize any process such that .
This condition can be derived using the small gain theorem and allows us to reason about uncertainty without exact knowledge of the process perturbations.
Frequently Asked Questions
Errata

MATLAB codeThe following MATLAB scripts are available for producing figures that appear in this chapter.
See the software page for more information on how to run these scripts. 