Design Optimization to Meet Custom Signal Requirements (GUI)
This example shows how to optimize a design to meet a custom signal requirement. You optimize the controller parameters to minimize the plant actuation signal energy while satisfying step response requirements.
Load a saved Response Optimizer session.
load sldo_model1_custom_signal_session
sdotool(SDOSessionData);
The Response Optimizer, configured with the following settings, also opens:
Step response characteristics, specified on the output of the
Plant
block, that the model output must satisfy:
Maximum overshoot of 5%
Maximum rise time of 10 seconds
Maximum settling time of 30 seconds
2. Design variable set with the controller parameters Kp
, Ki
, and Kd
. These parameters have a minimum value of 0.
3. The variables for step requirements (PlantResponse
), logged signal (PlantOutput
) and design variables (DesignVars
) which appear in the Data area.
Specify a signal to log. You apply the custom requirement on this logged signal.
Select New > Signal. A window opens where you select a signal to log.
In the Simulink model window, click the output of the
Controller
block. The window updates to display the selected signal.In Signal set, enter
PlantActuator
. Click OK. A new variablePlantActuator
appears in the Data area.
Specify the custom requirement to apply to the signal. The custom requirement calls the objective function sldo_model1_minimize_energy
which returns the energy in the PlantActuator
signal. The signal energy is minimized. This function accepts:
An input argument
data
which is a structure with fields for the design variables in the Data area. Signals are logged for the nominal and uncertain parameter values if there are any.Returns the objective value to be minimized.
To see the contents of this function, type edit sldo_model1_minimize_energy
.
Create the custom requirement.
Select New > Custom Requirement. A window opens where you specify the custom requirement.
Specify
MinimizeEnergy
as the Name.Specify
@sldo_model1_minimize_energy
as the Function.Select
Minimize the function output
as the Type.
In the Select Signals and Systems to Bound area, select the PlantActuator
check box to associate the custom requirement with that signal.
Click OK. A new variable appears in the Data area of the app. The window also updates to graphically display the custom signal requirement.
To optimize the model response, click Optimize.
After a few iterations, the optimization converges to meet both the custom signal and step response requirements.
Close the model.
setOption(sdotool('sldo_model1'),'NoPromptClose',true) bdclose('sldo_model1')