This example shows how to tune a PI controller to reduce overshoot in reference tracking or to improve rejection of a disturbance at the plant input. Using the PID Tuner, the example illustrates the trade-off between reference tracking and disturbance rejection performance.
Tune the control system of the following illustration. The plant G has poles at s = 1, s = 0.2, and s = 0.05.
Setpoint tracking is the response at y to signals at r. Disturbance rejection is a measure of the suppression at y of signals at d.
Create a model of the plant, and open the PID Tuner to design an initial PI controller for the plant.
G = zpk(,[-1 -0.2 -0.05],1); pidTuner(G,'pi')
The initial controller design has some overshoot in the reference tracking response.
Right-click in the plot area, and select Characteristics > Peak Response. A blue dot appears at the point of maximum overshoot. Click the blue dot to display peak response data in a tool tip.
The tool tip shows that the response has more than 8% overshoot. If this overshoot is too much for your application, you can reduce it using the Transient Behavior slider.
Move the Transient Behavior slider to the right until the overshoot is less than 1%.
Increasing controller robustness also reduces overshoot, so moving the Transient Behavior slider to the right improves this measure of controller performance. However, for a given controller bandwidth (or response time), there is a trade-off between reducing reference tracking overshoot and optimizing disturbance rejection.
Examine the effect of the overshoot reduction on the disturbance rejection performance. Click Add Plot. In the Step section of the Add Plot menu, select Input disturbance rejection. The disturbance rejection response appears in a new figure.
Right-click in the plot area, and select Characteristics > Settling Time. Click the blue dot to display the settling time tool tip.
The current controller design minimizes reference tracking overshoot. However, it responds sluggishly to a disturbance at the plant input, taking over two minutes to settle. You can use the Transient Behavior slider to make the disturbance rejection more aggressive without changing the controller bandwidth.
Move the Transient Behavior slider to the left until the disturbance response settles in under 60 seconds.
Examine the reference tracking response to see the effect of more aggressive transient behavior on the reference tracking overshoot. Select the Step Plot: Reference tracking figure to view this response plot, which updates automatically when you move the tuning sliders.
Optimizing the disturbance rejection response for the given bandwidth increases the reference tracking overshoot to over 13%.
The PID Tuner selects an initial controller design that balances this trade-off. The initial controller design has less reference tracking overshoot than the design optimized for disturbance rejection. Likewise, it has somewhat faster disturbance rejection than the design optimized to reduce overshoot. You can use the Transient Behavior slider to adjust this balance as needed to suit your application.