# Transfer function - get rid of zero

I have a close loop transfer function, consisting of a system and a controller (PID). For some reason does it create 2 zeroes which creates an undershoot which should not appear at all.

I don't understand how zeroes placed at the LHP should cause an overshoot. the poles are placed on the line thereby create a critical damped system.

the system is

$$G(s) =\frac{10.95 s + 0.9574}{s^2 + 0.09149 s + 6.263*10^{-6}}$$

With P = 0.1, I= 0.617746, d = 0.0147173 I get a close loop system which is $$G_cl(s) = \frac{0.1612 s^4 + 1.109 s^3 + 6.86 s^2 + 0.5914 s}{ 0.1612 s^4 + 2.109 s^3 + 6.952 s^2 + 0.5914s}$$

poles =

0,
-7.0000,
-6.0000,
-0.0874,

zeroes =

0.0000 + 0.0000i
-3.3974 + 5.5165i
-3.3974 - 5.5165i
-0.0874 + 0.0000i


I don't know how, but it seems like it 2 zeroes which causes the overshoot. Could someone explain to me why it causes overshoot, and how i can get rid of it using a PID controller.

Calculation:

x1 := -7
x2 := -6

Solve[x1 (x1^2 + 0.09149 x1 + 6.263*10^-6) +
kp*x1 (10.95 x1^2 + 0.9574 x1) + ki (10.95 x1^2 + 0.9574 x1) +
kd*x1^2 (10.95 x1^2 + 0.9574 x1) == 0 &&
x2 (x2^2 + 0.09149 x2 + 6.263*10^-6) +
kp*x2 (10.95 x2^2 + 0.9574 x2) + ki (10.95 x2^2 + 0.9574 x2) +
kd*x2^2 (10.95 x2^2 + 0.9574 x2) == 0, {kp, ki, kd}]
{{ki -> 0.294669 + 3.23077 kp, kd -> 0.007025 + 0.0769231 kp}}


I am pratically solving the denum for kp,kd,ki as if x1 and x2 where roots.