Constrain the dynamics of the closed-loop system, specified feedback loops, or specified open-loop configurations, when using Control System Tuner.
Poles Goal constrains the dynamics of your entire control system or of specified feedback loops of your control system. Constraining the dynamics of a feedback loop means constraining the dynamics of the sensitivity function measured at a specified location in the control system.
Using Poles Goal, you can specify finite minimum decay rate or minimum damping for the poles in the control system or specified loop. You can specify a maximum natural frequency for these poles, to eliminate fast dynamics in the tuned control system.
In Control System Tuner, the shaded area on the plot represents the region in the frequency domain where the pole location constraints are not met.
To constrain dynamics or ensure stability of a single tunable component of the control system, use Controller Poles Goal.
In the Tuning tab of Control System Tuner, select New Goal > Constraint on closed-loop dynamics to create a Poles Goal.
When tuning control systems at the command line, use
specify a disturbance rejection goal.
Use this section of the dialog box to specify the portion of the control system for which you want to constrain dynamics. You can also specify loop-opening locations for evaluating the tuning goal.
Select this option to constrain the locations of closed-loop poles of the control system.
Specific feedback loop(s)
Select this option to specify one or more feedback loops to
constrain. Specify a feedback loop by selecting a signal location
in your control system. Poles Goal constrains the dynamics of the
sensitivity function measured at that location. (See
getSensitivity for information about
To constrain the dynamics of a SISO loop, select a single-valued
location. For example, to constrain the dynamics of the sensitivity
function measured at a location named
'y', click Add signal to
list and select
'y'. To constrain the
dynamics of a MIMO loop, select multiple signals or a vector-valued
Compute poles with the following loops open
Select one or more signal locations in your model at which to
open a feedback loop for the purpose of evaluating this tuning goal.
The tuning goal is evaluated against the open-loop configuration created
by opening feedback loops at the locations you identify. For example,
to evaluate the tuning goal with an opening at a location named
click Add signal
to list and select
To highlight any selected signal in the Simulink® model, click . To remove a signal from the input or output list, click . When you have selected multiple signals, you can reorder them using and . For more information on how to specify signal locations for a tuning goal, see Specify Goals for Interactive Tuning.
Use this section of the dialog box to specify the limits on pole locations.
Minimum decay rate
Enter the target minimum decay rate for the system poles. Closed-loop
system poles that depend on the tunable parameters are constrained
Re(s) < -MinDecay for
continuous-time systems, or
log(|z|) < -MinDecay*Ts for
discrete-time systems with sample time
constraint helps ensure stable dynamics in the tuned system.
Enter 0 to impose no constraint on the decay rate.
Enter the target minimum damping of closed-loop poles of tuned
system, as a value between 0 and 1. Closed-loop system poles that
depend on the tunable parameters are constrained to satisfy
Re(s) < -MinDamping*|s|. In discrete
time, the damping ratio is computed using
s = log(z)/Ts.
Enter 0 to impose no constraint on the damping ratio.
Maximum natural frequency
Enter the target maximum natural frequency of poles of tuned
system, in the units of the control system model you are tuning. When
you tune the control system using this requirement, closed-loop system
poles that depend on the tunable parameters are constrained to satisfy
|s| < MaxFrequency for continuous-time
|log(z)| < MaxFrequency*Ts for discrete-time
systems with sample time
Ts. This constraint prevents
fast dynamics in the control system.
Inf to impose no constraint on the
Use this section of the dialog box to specify additional characteristics of the poles goal.
Enforce goal in frequency range
Limit the enforcement of the tuning goal to a particular frequency
band. Specify the frequency band as a row vector of the form
expressed in frequency units of your model. For example, to create
a tuning goal that applies only between 1 and 100 rad/s, enter
By default, the tuning goal applies at all frequencies for continuous
time, and up to the Nyquist frequency for discrete time.
The Poles Goal applies only to poles with natural frequency within the range you specify.
Apply goal to
Use this option when tuning multiple models at once, such as
an array of models obtained by linearizing a Simulink model at
different operating points or block-parameter values. By default,
active tuning goals are enforced for all models. To enforce a tuning
requirement for a subset of models in an array, select Only
Models. Then, enter the array indices of the models for
which the goal is enforced. For example, suppose you want to apply
the tuning goal to the second, third, and fourth models in a model
array. To restrict enforcement of the requirement, enter
the Only Models text box.
For more information about tuning for multiple models, see Robust Tuning Approaches (Robust Control Toolbox).
When you tune a control system, the software converts each tuning goal into a normalized scalar value f(x). Here, 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 constraint.
For Poles Goal, f(x) reflects the relative satisfaction or violation of the goal. For example, if your Poles Goal constrains the closed-loop poles of a feedback loop to a minimum damping of ζ = 0.5, then:
f(x) = 1 means the smallest damping among the constrained poles is ζ = 0.5 exactly.
f(x) = 1.1 means the smallest damping ζ = 0.5/1.1 = 0.45, roughly 10% less than the target.
f(x) = 0.9 means the smallest damping ζ = 0.5/0.9 = 0.55, roughly 10% better than the target.