Poles Goal
Purpose
Constrain the dynamics of the closed-loop system, specified feedback loops, or specified open-loop configurations, when using Control System Tuner.
Description
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.
Creation
In the Tuning tab of Control System Tuner, select New Goal > Constraint on closed-loop dynamics to create a Poles Goal.
Command-Line Equivalent
When tuning control systems at the command line, use TuningGoal.Poles
to specify a disturbance rejection goal.
Feedback Configuration
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.
Entire system
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 sensitivity functions.)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 signal.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
'x'
, click Add signal to list and select'x'
.
Tip
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.
Pole Location
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 to satisfy
Re(s) < -MinDecay
for continuous-time systems, orlog(|z|) < -MinDecay*Ts
for discrete-time systems with sample timeTs
. This constraint helps ensure stable dynamics in the tuned system.Enter 0 to impose no constraint on the decay rate.
Minimum damping
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 usings = 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 systems, or|log(z)| < MaxFrequency*Ts
for discrete-time systems with sample timeTs
. This constraint prevents fast dynamics in the control system.Enter
Inf
to impose no constraint on the natural frequency.
Options
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
[min,max]
, expressed in frequency units of your model. For example, to create a tuning goal that applies only between 1 and 100 rad/s, enter[1,100]
. 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
2:4
in the Only Models text box.For more information about tuning for multiple models, see Robust Tuning Approaches (Robust Control Toolbox).
Algorithms
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.