Nonlinear Control Design Blockset | ![]() ![]() |
Adding Uncertainty
In your particular problem, a precise plant model may not be known. Instead you know what the nominal plant should be and have some idea of the uncertainty inherent in various components of the plant. For example, assume that the plant parameter zeta
varies 5% about its nominal value and w0
varies between 0.7 and 1.45.
The Nonlinear Control Design Blockset allows you to design controllers to meet performance objectives in the face of this uncertainty. Just open the Uncertain Variables dialog box by selecting Uncertainty... from the Optimization menu and type in the names of the uncertain variables and their ranges as shown on the next page. The Nonlinear Control Design Blockset automatically incorporates this uncertainty into the optimization.
The Uncertain Variables: editable text field expects you to supply a list of variable names. You can separate the variable names by spaces or commas. The optional lower and upper bound editable text fields accept variable names, numbers, and expressions. Expressions can contain, in addition to numbers, variables available in the MATLAB base workspace.
Notice that by default the Nonlinear Control Design Blockset only constrains the nominal plant during optimization. To constrain the lower or upper bound plant during optimization, check the appropriate check box. A further option allows you to constrain randomly generated plants between the upper and lower bound plants. Simply enter the number of random plants you would like to constrain into the Number of Monte Carlo simulations: editable text field and check the Constrain Monte Carlo simulations check box. A status line tells you how many simulations are performed during each call to the cost function. In the figure above, notice that we constrain only the upper and lower bound simulations for a total of two simulations per cost function call.
Although constraining more plants results in more robust control design, it adds to the optimization time. We recommend that you constrain as few plants as possible during optimization and use the Monte Carlo option mostly for analysis purposes. For example, constrain only the upper and lower bound plants during optimization. Once the optimization terminates, simply inspect the system response for a number of random plants by selecting Initial response... from the Options menu after constraining a number of Monte Carlo simulations using the Uncertain Variables dialog box. If this analysis shows the design to be unsatisfactory, then consider optimizing with the Monte Carlo option enabled.
With the Uncertain Variables dialog box filled in as above, start the optimization again. Notice that now the Nonlinear Control Design Blockset draws two initial plots and updates two others. The plots show the output of the upper and lower bound plants. In general, the Nonlinear Control Design Blockset draws a plot for each plant constrained. Note too that the output to the command window now shows each cost function call conducting two simulations.
If you want to erase the plots on an Nonlinear Control Design Blockset constraint figure, select Delete plots from the Edit menu.
![]() | Running the Optimization | A System Identification Problem | ![]() |