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
and
Kd
. 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
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.
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')