I've read a lot places that making a controller which cancels the unwanted pole or zero is not good designing practice for designing a controller..

It should make the system uncontrollable which off course isn't wanted.

But what alternatives do i have.. ??

considering i have a system in which all poles and zeros lies on RHP.


Pole/zero cancellation is discouraged primarily because in practice it is almost impossible to do perfectly. Real systems have variation and uncertainty so you can't know for sure where the poles/zeros are at. So if you try to cancel them out, but they aren't where you thought they were, you have a potentially unstable pole still active.

Feedback controllers stabilize unstable plants (such as yours) by adding and modifying system dynamics such that all poles move to the LHP. (in this case, we're talking about the entire system instead of just the unstable plant being controlled) If you've heard of root locus plots, they show where the system poles move as a function of the controller gain.

--- Edit ---- (add example)

Assume your plant has transfer function $P(s)$ and your controller has transfer function $G(s)$. Using this interconnection

r -->(+/-)-->[G(s)]-->[P(s)] ----> x
       ^                       |
       |                       |

you have $$ \begin{align} X = G P (R-X) \\ (1+G P)X = G P R \\ \frac{X}{R} = \frac{GP}{1+GP} \end{align} $$ where everything is in the Laplace domain but I've dropped the $(s)$ for simplicity. For stability, we are now only concerned with the points where $1+G(s) P(s)=0$. Note that we have not made any assumptions about the specifics of $P(s)$ yet, so the results work for all plants.

Now take a plant such as $P(s) = s-1$ and assume a second order controller. We have $$ \begin{align} 1+G(s) P(s) &= 1+G (s-1) \\ &= 1+(as^2+bs+c)(s-1) \\ &= as^3 + (b-a) s^2 + (c-b) s + (1-c) \end{align} $$ Now you just need to choose $a, b, c$ to give negative roots. For example $a=0.1, b=0.3, c=0.8$ gives roots of $-0.467, -0.767 \pm 1.92$.

As plants become more and more complex, this process gets pretty difficult and you need to either have lots of experience to understand how to shape the locus (which I don't) or use other controller design techniques. One common approach is converting to state-space models and using things like linear quadratic regulators (LQR) to design the feedback controller.

  • $\begingroup$ The problems is though, having a zero in the RHP will always lead one close loop pole to stay at the RHP side. which means increasing the gain system might move one close loop pole to the left, but the other will be on the right, and thereby still cause instability. $\endgroup$
    – confused
    May 31 '14 at 0:14
  • $\begingroup$ my idea was to cancel the the zero which lies between the two poles, and then add a zero at LHP. Thereby creating a system which x gain would make the system stable. $\endgroup$
    – confused
    May 31 '14 at 0:16
  • $\begingroup$ I added an example to the answer. $\endgroup$
    – ryan0270
    May 31 '14 at 3:19
  • $\begingroup$ @ryan0270, it is not true that the practice of pole/zero cancellation is discouraged: conversely, it is very common to cut down the effect of a stable pole and/or a LHP zero by means of cancellation. It doesn't matter if they don't perfectly match; the fact that they're very close in the Gauss plane is the key point. On the other hand, you cannot never cancel a pole/zero in RHP for the same reason. Then, consider also that the mechanical systems we have in robotics tend to be stable and minimum-phase (all zeros in LHP) $\endgroup$ Dec 28 '14 at 21:51
  • $\begingroup$ @confused, a zero in the plant $P$ will not yield any pole in the closed-loop transfer function $GP/(1+GP)$ $\endgroup$ Dec 28 '14 at 21:55

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.