Overshoot constraint for control system tuning
TuningGoal.Overshoot to limit the overshoot in
the step response from specified inputs to specified outputs of a control system. Use this tuning
goal for control system tuning with tuning commands such as
creates a tuning goal for limiting the overshoot in the step response between the specified
signal locations. The scalar
Req = TuningGoal.Overshoot(
maxpercent specifies the maximum overshoot
as a percentage.
When you use
TuningGoal.Overshoot for tuning, the
software maps overshoot constraints to peak gain constraints assuming second-order system
characteristics. Therefore, the mapping is only approximate for higher-order systems. In
addition, this tuning goal cannot reliably reduce the overshoot below 5%.
maxpercent — Maximum percent overshoot
Maximum percent overshoot, specified as a scalar value. For example, the following code
specifies a maximum 5% overshoot in the step response from
Req = TuningGoal.Overshoot('r','y',5);
TuningGoal.OverShoot cannot reliably reduce the overshoot below 5%.
MaxOvershoot — Maximum percent overshoot
Maximum percent overshoot, specified as a scalar value. For example, the scalar value 5
means the overshoot should not exceed 5%. The initial value of the
MaxOvershoot property is set by the
argument when you construct the tuning goal.
Create a tuning goal that limits the overshoot of the step response from signals named
'y' in a control system to 10 percent.
Req = TuningGoal.Overshoot('r','y',10);
The overshoot tuning goal is evaluated as a constraint on the peak system gain, assuming second-order model characteristics (see Algorithms). Visualizing the tuning goal shows a shaded area where the target peak gain is exceeded.
If you visualize the tuning goal with a tuned system, the plot includes the corresponding system response.
Configure other characteristics of the tuning goal by setting properties. For instance, configure the tuning goal to apply only to the second model in a model array to tune. Also, configure it to be evaluated with a loop open at an analysis point in the control system called
Req.Models = 2; Req.Openings = 'OuterLoop';
This tuning goal imposes an implicit stability constraint on the closed-loop transfer function from
Output, evaluated with loops opened at the points identified in
Openings. The dynamics affected by this implicit constraint are the stabilized dynamics for this tuning goal. The
systuneOptionscontrol the bounds on these implicitly constrained dynamics. If the optimization fails to meet the default bounds, or if the default bounds conflict with other requirements, use
systuneOptionsto change these defaults.
When you tune a control system using a
TuningGoal, the software converts
the tuning goal into a normalized scalar value f(x).
x is the vector of free (tunable) parameters in the control system. The
software then adjusts the parameter values to minimize
f(x), or to drive
f(x) below 1 if the tuning goal is a hard
f(x) reflects the relative satisfaction or violation of
the goal. The percent deviation from f(x) = 1 roughly
corresponds to the percent deviation from the specified overshoot target. For example,
f(x) = 1.2 means the actual overshoot exceeds the target
by roughly 20%, and f(x) = 0.8 means the actual overshoot
is about 20% less than the target.
TuningGoal.Overshoot uses as a proxy for the overshoot, based on second-order model characteristics.
Here, T is the closed-loop transfer function that the tuning goal constrains.
The overshoot is tuned in the range from 5% ( = 1) to 100% ().
TuningGoal.Overshoot is ineffective at
forcing the overshoot below 5%.
Version HistoryIntroduced in R2016a
R2016a: Functionality moved from Robust Control Toolbox
Prior to R2016a, this functionality required a Robust Control Toolbox™ license.