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 following Simulink® model opens.
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
Design variable set with the controller parameters
Kp
,Ki
andKd
. These parameters have a minimum value of 0.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.
Select the signal and click
to add it to the signal set.
In Signal set, enter
PlantActuator
.Click OK. A new variable
PlantActuator
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 thePlantActuator
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.
Tip
To see the contents of this function, type
edit sldo_model1_minimize_energy
.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.
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')