## 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, or`log(|z|) < -MinDecay*Ts`

for discrete-time systems with sample time`Ts`

. 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 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 systems, or`|log(z)| < MaxFrequency*Ts`

for discrete-time systems with sample time`Ts`

. 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.