Control Design in Simulink
Simulink® Design Optimization™ software provides several ways to specify design requirements. You can use the Check blocks to specify typical control design requirements such as reference tracking and satisfying signal bounds. You can then optimize the controller parameters in your model to meet these design requirements using the Response Optimizer app or at the command line.
Apps
Response Optimizer | Optimize model response to satisfy design requirements, test model robustness |
Blocks
Check Against Reference | Check that model signal tracks reference signal during simulation |
Check Custom Bounds | Check that model signal satisfies bounds during simulation |
Check Step Response Characteristics | Check that model signal satisfies step response bounds during simulation |
Functions
Topics
Optimization Basics
- How the Optimization Algorithm Formulates Minimization Problems
When you optimize parameters of a Simulink model to meet design requirements, Simulink Design Optimization software automatically converts the requirements into a constrained optimization problem and then solves the problem using optimization techniques. - Design Optimization to Meet Step Response Requirements (GUI)
Optimize controller parameters to meet step response requirements using Response Optimizer. - Design Optimization to Track Reference Signal (GUI)
Optimize parameters without adding Signal Constraint blocks to the model. - Design Optimization to Meet Frequency-Domain Requirements (GUI)
This example shows how to tune model parameters to meet frequency-domain requirements using the Response Optimizer app. - Design Optimization to Meet Frequency-Domain Requirements (Code)
This example shows how to tune model parameters to meet frequency-domain requirements, using thesdo.optimize
command. - Design Optimization Using Frequency-Domain Check Blocks (GUI)
Optimize model parameters to meet frequency-domain design requirements using the Response Optimizer. - Design Optimization to Meet Time-Domain and Frequency-Domain Requirements (GUI)
Interactively tune a controller to satisfy time-domain and frequency-domain design requirements using the Response Optimizer app. - Design Optimization to Meet Step Response Requirements (Code)
Optimize controller parameters at the command line. - Write a Cost Function
Write a cost function for parameter estimation, response optimization, or sensitivity analysis. The cost function evaluates your design requirements using design variable values.
Design Requirements
- Supported Design Requirements
Time-domain and frequency-domain requirements. - Specify Time-Domain Design Requirements in the App
Specify time-domain requirements such as lower and upper amplitude bounds, step response bounds, reference signals, elliptical bounds, and custom bounds. - Specify Variable Requirements in the App
Specify monotonic, smoothness, and relational constraints on variables in your model. - Specify Frequency-Domain Design Requirements in the App
Specify frequency-domain requirements, such as gain and phase margin bounds, closed-loop peak response bounds, step-response bounds, and custom bounds.
Speed Up Optimization
- Skip Model Simulation Based on Parameter Constraint Violation (GUI)
This example shows how to optimize a design and specify parameter-only constraints that prevent the model from being evaluated in an invalid solution space. - Speed Up Response Optimization Using Parallel Computing
Scenarios when you can speed up optimization using parallel computing, and how the speedup happens. - Use Parallel Computing for Response Optimization
Use parallel computing for response optimization in the app, or at the command line. - Use Fast Restart Mode During Response Optimization
This topic shows how to speed up response optimization using Simulink fast restart. - Use Accelerator Mode During Simulations
Simulink Design Optimization software supportsNormal
andAccelerator
simulation modes.
Response Optimizer Tasks
- Specify Design Variables for Optimization
Specify continuous and discrete variables to tune in the Response Optimizer app, including initial values and allowed ranges or values. - Specify Signals to Log
Specify signals to log in the Response Optimizer. - Create Linearization I/O Sets
Create linearization input/output sets in the Response Optimizer or Sensitivity Analyzer. - Compare Requirements and Design Variables Using Spider Plot
This example shows how to use a spider plot to compare requirement evaluations before and after optimizing the response.
Code Generation
- Generate MATLAB Code for Design Optimization Problems (GUI)
This example shows how to automatically generate a MATLAB® function to solve a design optimization problem.
Troubleshooting
Optimization Does Not Make Progress
What to do if the optimization stalls or no changes are seen in parameters values.
What to do if the optimization does not satisfy design requirements or takes a long time to converge near a solution, or if the system response becomes unstable.
Optimization Speed and Parallel Computing
What to do if no speedup is seen with parallel computing, if the results are different, or if the optimization stalls.
What to do if optimization gives undesirable parameter values or violates bounds on values.
Reverting to Initial Parameter Values
How to quit optimizing and revert to original values.