Análisis de sistemas de control, Lugar geométrico de las raíces, PID Control

Design a PD compensator to yield a 16% overshoot – Control system

Given the system of Figure 1, design a PD compensator to yield a 16% overshoot, with a threefold reduction in settling time (one-third of the uncompensated system’s settling time).

Figure 1

Let us first evaluate the performance of the uncompensated system. The root locus for the uncompensated system is shown in Figure 2:

>> s=tf(‘s’);
>> G=1/(s*(s+4)*(s+6));

Figure 2

Since 16% overshoot is equivalent to ξ=0.504, we search along that damping ratio line in Figure 3:

>> z=0.504;
>> sgrid(z,0);

Figure 3

According to Figure 3, adjusting the gain to k=43.4 we get ξ=0.504 and a natural frequency ω=2.39 rad/s. 

Based upon a second-order approximation, we can use the 2% criteria and calculate the settling-time Ts1 before the compensation, as a function of the naural frequency ω  and the damping ξ, by means of the following equation:

Simulation of Figure 3 generates the necessary values for equation (1), so that:

In the other hand, the value of the factor ω*ξ =1.2045 matches the real part σ  of closed-loop second-order dominant poles, as we can see in Figure 3 or by the following command in Matlab, taking into consideration that the straight-forward transfer function is now G1:

>> G1=43.4/(s*(s+4)*(s+6));
>> sys_antes=feedback(G1,1)

>> damp(sys_antes)

The desig requirements ask for an 16% overshoot and a reduction of the settling-time of 1/3 after compensation. So, the settling-time Ts2 after compensation is:

Using equation (1) we can know the value of the factor ω*ξ  after compensation:

That is to say, the real part of second-order dominant poles after compensation is σ=3.6137. To find the imaginary part wd we use the root-locus of  Figure 4:

Figure 4.

Consequently, after compensation the second-order dominant poles must be located at   p=-3.6137+j6.1940.

Now, to evaluate the whole system we will use point p as a test point.

PD compensation consists of a cascaded controller with a Gc(s) transfer funcion that is:

The configuration of such a controller is:

Figure 5.

Next step is to design the location of Zero zc using the test point and finding the equivalent values for k1 and k2.

The result is the sum of the angles to the design point of all the poles and zeros of the compensated system except for those of the compensator zero itself. The difference between the result obtained and 180 is the angular contribution required of the compensator zc es:

The geometry is shown in Figura 6, where we can get the real part of zc by means of the following formula:

Figure 6.

From where:

Now, we study the root-locus of Figure 7, where the forward-path transfer function is G2:

>> G2=(s+3.006)/(s*(s+4)*(s+6));
>> rlocus(G2)

Figure 7.

According to Figure 8, adjusting the gain k=47.4 we keep ξ=0.504, an overshoot 16%,  the second-order dominant pole s=-3.6137+j6.1940, at a natural frequency ω=7.17 rad/s.

>> z=0.504;
>> sgrid(z,0);

Figure 8.

With this new data, we evaluate the settling-time Ts2 after compensation:

It shows that we have achieved the design goal. Figure 9 compares the response of the closed-loop system to an step input before and after  PD compensation:

>> G=43.4/(s*(s+4)*(s+6));
>> G3=(47.4*(s+3.006))/(s*(s+4)*(s+6));
>> sys_before=feedback(G,1);
>> sys_after=feedback(G3,1);
>> step(sys_before,sys_after)

Figure 9.

The response of Figure 9 shows a considerable improvement in the settling-time and, in general, the compensation allows a faster system with an overshoot that does not vary much. Before compensation,  Ts=3.4712 s. After compensation, Ts=1.1527 s.

An alternative design process in Matlab

Use MATLAB, the Control System Toobox, and the following steps to use SISOTOOL to perform the design of last Example.

  1. Type sisotool in the MATLAB Command Window.
  2. Select Import in the File menu of the SISO Design for SISO Design Task Window.
  3. In the Data field for G, type zpk([],[0,-4,-6],1) and hit ENTER on the keyboard. Click OK.
  4. On the Edit menu choose SISO Tool Preferences . . . and select Zero/pole/gain: under the Options tab. Click OK.
  5. Right-click on the root locus white space and choose Design Requirements/New . . .
  6. Choose Percent overshoot and type in 16. Click OK.
  7. Right-click on the root locus white space and choose Design Requirements/New . . .
  8. Choose Settling time and click OK.
  9. Drag the settling time vertical line to the intersection of the root locus and 16%
    overshoot radial line.
  10. Read the settling time at the bottom of the window.
  11. Drag the settling time vertical line to a settling time that is 1/3 of the value
    found in Step 9.
  12. Click on a red zero icon in the menu bar. Place the zero on the root locus real axis by clicking again on the real axis.
  13. Left-click on the real-axis zero and drag it along the real axis until the root locus intersects the settling time and percent overshoot lines.
  14. Drag a red square along the root locus until it is at the intersection of the root locus,
    settling time line, and the percent overshoot line.
  15. Click the Compensator Editor tab of the Control and Estimation Tools Manager window to see the resulting compensator, including the gain.


  1. Control Systems Engineering, Nise

Written by: Larry Francis Obando – Technical Specialist – Educational Content Writer.

Mentoring Académico / Empresarial / Emprendedores

Copywriting, Content Marketing, Tesis, Monografías, Paper Académicos, White Papers (Español – Inglés)

Escuela de Ingeniería Eléctrica de la Universidad Central de Venezuela, Caracas.

Escuela de Ingeniería Electrónica de la Universidad Simón Bolívar, Valle de Sartenejas.

Escuela de Turismo de la Universidad Simón Bolívar, Núcleo Litoral.

Contact: Caracas, Quito, Guayaquil, Cuenca – Telf. 00593998524011

WhatsApp: +593998524011    /    +593981478463

Twitter: @dademuch

FACEBOOK: DademuchConnection


1 pensamiento sobre “Design a PD compensator to yield a 16% overshoot – Control system”

Deja un comentario