12
\$\begingroup\$

I have a fifth order transfer function for which I designed a controller using pole-zero cancellation technique on a root locus.

I am after <5% overshoot and <2s settling time. Currently, the overshoot criteria are satisfied.

Note: I know that exact p-z cancellation is nearly impossible in real life.

The controller and original 5th order transfer function are shown in Simulink below:

enter image description here

which give a response with a long tail in the transient response, and thus very long settling time.

enter image description here

As per Chu's comment here,

Placing zeros close to poles in an attempt to 'cancel' is not too clever. It's usually impossible to plonk a zero directly on top of a pole and expect both poles and zero to stay put. The result is a 'dipole' (a pole and zero in close proximity) that gives rise to a long-tail in the transient response.

and HermitianCrustacean's comment:

The 4th order controller you've chosen is difficult to numerically model ...

What would be the root cause of this unacceptably long settling time, inexact p-z cancellation, the controller which is difficult to numerically model, or both?

Any suggestions on how to improve this response would be greatly appreciated.


Poles of 5th order system:

   Poles =

   1.0e+02 *

  -9.9990 + 0.0000i
  -0.0004 + 0.0344i
  -0.0004 - 0.0344i
  -0.0002 + 0.0058i
  -0.0002 - 0.0058i

Zeros placed to cancel poles:

enter image description here

4th order controller:

enter image description here

I would be happy to provide further information if needed.

\$\endgroup\$
  • \$\begingroup\$ What is your hysteresis zone? If you've got .1 volt or so at the top to work with, the transient may not matter. \$\endgroup\$ – Robert Harvey Jan 12 at 17:25
  • \$\begingroup\$ Thanks for your comment. Hysteresis is 0.0835 which is more than the 2% (0.02 for a step input of 1) criterion for settling time \$\endgroup\$ – Rrz0 Jan 12 at 17:56
  • \$\begingroup\$ Can you upload the Simulink File please? \$\endgroup\$ – Brethlosze Jan 21 at 6:00
  • 1
    \$\begingroup\$ I put this as a comment and not a solution because it's a guess. Try putting four zeros at \$s = -1\$ and see what happens. Then try putting them all at \$s = -4\$. Then see if that suggests a way that you can get things working. Note that (without actually checking), my intuition tells me that the system just isn't going to be terribly robust. \$\endgroup\$ – TimWescott Jan 29 at 21:51
  • 1
    \$\begingroup\$ One of the ways in which the system is "difficult to model" is that it is difficult to model a pole and zero exactly cancelling. \$\endgroup\$ – david Mar 22 at 7:47
1
\$\begingroup\$

The slow oscillating behavior in the system results from a pole with real part close to zero and, by looking at your step response, with a frequency close to 0.1 Hz (0.62 rad/s). So the poles causing it are the ones at at

\$s_0 = -0.02+0.58i\$ , and

\$s_1 = -0.02-0.58i\$.

You should check if they really have been cancelled, and if they have not, try using root locus and different gains to change the pole positions away from the complex axis (having real as negative as possible).

\$\endgroup\$
0
\$\begingroup\$

I think you need to check the residue corresponding to pole you want to cancel to check if pole-zero cancellation is valid ,residue is constant multiplied to partial fraction term of this pole , for example if F(s)=26.25*(s+4)/s*(s+3.5)(s+6) , the residue of the partial fraction term of (s+3.5) pole is 1 which cannot be neglected so (s+3.5) and (s+4) cannot cancel each others , and for F(s)=26.25(s+4)/s*(s+4.01)*(s+6) , the residue of the partial fraction term of (s+4.01) pole is 0.033 which can be neglected so (s+4.04) and (s+4) can cancel each others, references :Norman S. Nise - Control Systems Engineering, 6th Edition (2010, John Wiley) , example 4.10 , page 195

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.