Pole placement

From Wikipedia, the free encyclopedia

This is an excerpt from ControlTheoryPro.com.

[edit] Introduction to Pole Placement (or Polynomial Approach or Polynomial Design) to Controller Design

Pole placement is the most straightforward means of controller design.

  1. The design starts with an assumption of what form the controller must take in order to control the given plant.
  2. From that assumption a symbolic characteristic equation is formed.
  3. At this point the desired closed-loop poles must be determined.
  4. Typically, specifications designate overshoot, rise time, etc. This leads to the formation of a 2nd order equation. Most of the time the final characteristic equation will have more than 2 poles. So additional desired poles must be determined.
  5. Once the closed loop poles are decided a desired characteristic equation is formed.
  6. The coefficients for each power of s are equated from the symbolic characteristic equation to the desired.
  7. Algebra is used to determine the controller coefficients necessary to achieve the desired closed-loop poles with the assumed controller form.

Typically, an integrator is used to drive the steady-state error towards 0. This implies that the final characteristic equation will have at least 1 more pole than the uncontrolled system started with.

The following pole placement examples show you how to decide on the desired closed-loop poles, determine the "extra" closed-loop poles, and create a generic and PID controller to achieve those desired closed-loop poles.

[edit] Generic Control design using Pole Placement

This example is lifted from the hovering helicopter example in which the dynamics of Blackhawk helicopter are defined and controller for pitch attitude is designed. Feedforward commands are generated by integrating gyro measurements.

Let's assume a 2nd order system of with the following form

H(s)=K\frac{\omega_n^2}{s^2+2\zeta\omega_n s+\omega_n^2} \mbox{ for } 0 \le \zeta \le 1

where
K is the system gain
ωn is the system's natural frequency
ζ is the system's damping ratio.

Also, we assume a compensator of form

K\left(s\right)=\frac{\left(B_{0}+B_{1}s\right)}{A_{0}+A_{1}s}, Eqn. 1

is adequate to control the plant.

The resulting characteristic equation is

\Phi=\left(s^2+2\zeta\omega_ns+\omega_n^2\right)\left(A_0+A_1s\right) + \left(B_0+B_1s\right)\omega_n^2.

This can be reduced to

\Phi=A_1s^3+\left(2A_1\zeta\omega_n+A_0\right)s^2+\left(A1\omega_n^2+2A_0\zeta\omega_n+B_1\omega_n^2\right)s+\omega_n^2\left(A_0+B_0\right), Eqn. 2a.

In matrix form this is

\begin{bmatrix}p_0\\p_1\\p_2\\p_3\end{bmatrix}=\begin{bmatrix}\omega_n^2 & \omega_n^2 & 0 & 0 \\ 2\zeta\omega_n & 0 & \omega_n^2 & \omega_n^2 \\ 1 & 0 & 2\zeta\omega_n & 0 \\ 0 & 0 & 1 & 0\end{bmatrix}\begin{bmatrix}A_0\\B_0\\A_1\\B_1\end{bmatrix}, Eqn. 2b.

At this point we must decide what closed loop poles we would like. In order to do this we need to consider system overshoot and settling time (or time to peak). The equations for each are

M_p=e^{\left(\frac{-\pi\zeta}{\sqrt{1-\zeta^2}}\right)}

\tau_s=\frac{4.6}{\zeta\omega_n}

\tau_p=\frac{\pi}{\omega_n\sqrt{1-\zeta^2}}

where

Mp is overshoot,
τs is settling time, and
τp is time to peak.

I've never worked on a helicopter but I'm going to guess that minimizing overshoot is desired. Using the Overshoot equation we find that a common value, \zeta=\frac{1}{\sqrt{2}}, provides an overshoot of only 4.3%. Examination of the Time to Peak equation lets you know that a value of \omega_n=\sqrt{2} provides a peak time of \pi seconds. However, a little over 3 seconds is probably too slow. Let's shoot for 0.5 seconds instead. This requires

\omega_n=\sqrt{2}\frac{\pi}{0.5}.

Recap

  • \zeta=\zeta_{desired}=\frac{1}{\sqrt{2}}
  • \omega_{n}=\omega_{desired}=\sqrt{2}\frac{\pi}{0.5}=8.8858

However, this leaves us with only 2 roots (poles) in our desired characteristic equation. Since we want the above parameters to dominate the closed loop system dynamics we choose a 3rd pole that is well above the desired natural frequency.

\left(s+a\right)\left(s^2+2\zeta_{desired}\omega_{desired}s+\omega_{desired}^2\right), Eqn. 3

where

  • a = 10ωdesired is our 3rd pole.

This 3rd pole is a high frequency pole that allows the desired poles to the dominate the closed-loop system response while allowing the desired characteristic equation to have the correct number of poles.

Our desired characteristic equation, Eqn. 3, can be reduced to

\Phi_{desired}\left(s\right)=s^3+\left(2\zeta_{desired}\omega_{desired}+a\right)s^2+\left(\omega_{desired}^2+2\zeta_{desired}\omega_{desired}a\right)s+a\omega_{desired}^2

This results in

p3 = 1

p2 = 2ζdesiredωdesired + a

p_1=\omega_{desired}^2+2\zeta_{desired}\omega_{desired}a

p_0=a\omega_{desired}^2

From here we go back to our characteristic equation (Eqn. 2a or 2b) to determine

A1 = 1

A0 = 2ζdesiredωdesired + a − 2ζωn

B_0=\frac{\left(a\omega_{desired}^2-A_0\omega_n^2\right)}{\omega_n^2}

B_1=\frac{\omega_{desired}^2+2\zeta_{desired}\omega_{desired}a-2\zeta\omega_nA_0-A_1\omega_n^2}{\omega_n^2}

[edit] External Links

ControlTheoryPro.com article on Pole Placement