The reason is simply that the locus never intersects the 0.59 damping ratio grid line, regardless of how the feedback gain parameter is varied from 0⁺ to 6 (within the stable region). Looking at the blue and green root locus branches, it starts with a damping ratio of 0.237. As the feedback gain parameter is increased, the damping ratio continues to decrease, resulting in an oscillatory step response. This is certainly undesirable.
Since you have not mentioned any performance specifications other than the desired damping ratio of 0.59, if you use the graphical root locus design approach, minimally, you will need to add a pole at the origin to provide the flexibility in varying the feedback gain parameter until the locus intersects the 0.59 damping ratio grid line in the 2nd figure.
However, please note that the feedback gain will also intersect the red and green root locus branches (low damping ratio paths). Because these branches are closer to the imaginary axis, they can significantly influence the system's transient response in the step response (see the 3rd figure).
G = tf([0.151 0.1774], [1 0.739 0.921 0.25])
G =
0.151 s + 0.1774
--------------------------------
s^3 + 0.739 s^2 + 0.921 s + 0.25
Continuous-time transfer function.
damp(G)
Pole Damping Frequency Time Constant
(rad/seconds) (seconds)
-3.18e-01 1.00e+00 3.18e-01 3.15e+00
-2.11e-01 + 8.62e-01i 2.37e-01 8.87e-01 4.75e+00
-2.11e-01 - 8.62e-01i 2.37e-01 8.87e-01 4.75e+00
display('Poles near the imaginary axis'), display(r1(:,30))
Poles near the imaginary axis
-0.0088 + 1.3423i
-0.0088 - 1.3423i
-0.7214 + 0.0000i
display('Corresponding feedback gain value'), display(k1(30))
Corresponding feedback gain value
5.9181
zeta1 = [0.1 0.2 0.3 0.59 0.9];
rlp1.AxesStyle.GridVisible = "on";
rlp1.AxesStyle.GridDampingSpec = zeta1;
rlp1.AxesStyle.GridFrequencySpec = wn1;
C = tf(1, [1 0])
C =
1
-
s
Continuous-time transfer function.
rlp2.AxesStyle.GridVisible = "on";
rlp2.AxesStyle.GridDampingSpec = zeta2;
rlp2.AxesStyle.GridFrequencySpec = wn2;
display(r2(:,24))
-0.3429 + 0.4504i
-0.0266 + 0.7505i
-0.0266 - 0.7505i
-0.3429 - 0.4504i
Gcl = feedback(k*C*G, 1);
[wn zeta] = damp(Gcl)
wn =
0.5372
0.5372
0.7522
0.7522
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
zeta =
0.5900
0.5900
0.0698
0.0698
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
Scl = stepinfo(Gcl)
Scl =
RiseTime: 2.1835
TransientTime: 65.5187
SettlingTime: 65.5187
SettlingMin: 0.6135
SettlingMax: 1.6276
Overshoot: 62.7612
Undershoot: 0
Peak: 1.6276
PeakTime: 6.1020