# Control Systems/Polynomial Design

## Polynomial Design

A powerful tool for the design of controller and compensator systems is
**polynomial design**. Polynomial design typically consists of two
separate stages:

1.  Determine the desired response of the system
2.  Adjust your system to match the desired response.

We do this by creating polynomials, such as the transform-domain
transfer functions, and equating coefficients to find the necessary
values. The goal in all this is to be able to arbitrarily place all the
poles in our system at any locations in the transform domain that we
desire. In other words, we want to arbitrarily modify the response of
our system to match any desired response. The requirements in this
chapter are that the system be fully controllable and observable. If
either of these conditions are not satisfied, the techniques in this
method cannot be directly implemented.

Through this method it is assumed that the plant is given and is not
alterable. To adjust the response of the system, a controller unit needs
to be designed that helps the system meet the specifications. Because
the controller is being custom designed, the response of the controller
can be determined arbitrarily (within physical limits, of course).

## Polynomial Representation

Let\'s say that we have a plant, *G(s)*, and a controller, *C(s)*. Both
the controller and the plant are proper systems, composed of monic
numerator and denominator polynomials. The plant, *G(s)* has an order of
*n*, is given, and cannot be altered. The task is to design the
controller *C(s)* of order *m*:

$$G(s) = \frac{b(s)}{a(s)}$$

$$C(s) = \frac{B(s)}{A(s)}$$

Our closed-loop system, *H(s)* will have a transfer function of:

$$H(s) = \frac{C(s)G(s)}{1+C(s)G(s)} = \frac{B(s)b(s)}{A(s)a(s) + B(s)b(s)}$$

Our characteristic equation then is:

$$\alpha_H(s) = A(s)a(s) + B(s)b(s)$$

Our plant is given so we know *a(s)* and *b(s)*, but *A(s)* and *B(s)*
are configurable as part of our controller. To determine values for
these, we must select a desired response, that is the response that our
system *should have*. We call our desired response *D(s)*. We can
configure our controller to have our system match the desired response
by solving the **Diophantine equation**:

$$D(s) = A(s)a(s) + B(s)b(s)$$

### Diophantine Equation

The Diophantine equation becomes a system of linear equations in terms
of the unknown coefficients of the *A(s)* and *B(s)* polynomials. There
are situations where the Diophantine equation will produce a unique
result, but there are also situations where the results will be
non-unique.

We multiply polynomials, and then combine powers of *s*:

$$D(s) = (A_0a_0 + B_0b_0) +$$$(A_0a_1 + A_1a_0 + B_0b_1 + B_1b_0)s +$$\cdots + (A_ma_n + B_mb_n)s^{m + n}$

Now we can equate the coefficients of *D(s)* and our resultant system of
equations is given as:

$$\begin{bmatrix}
a_0 & b_0 & 0 & 0 & \cdots & 0 & 0 \\
a_1 & b_1 & a_0 & b_0 & \cdots & 0 & 0 \\
\vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\
a_n & b_n & a_{n-1} & b_{n-1} & \cdots & a_0 & b_0 \\
0 & 0 & a_n & b_n & \cdots & a_1 & b_1 \\
\vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\
0 & 0 & 0 & 0 & \cdots & a_n & b_n \end{bmatrix}\begin{bmatrix}A_0 \\ B_0 \\ A_1 \\ B_1 \\ \vdots \\ A_m \\ B_m \end{bmatrix} = \begin{bmatrix}D_0 \\ D_1 \\ \vdots \\ D_{n + m}\end{bmatrix}$$

This matrix can be a large one, but the pattern is simple: new
coefficients are shifted in from the left, and old coefficients are
shifted off to the right on each row.

### Conditions for Uniqueness

The diophantine matrix, which we will call *S*, has dimensions of *(n +
m + 1) × (2m + 2)*. The solution to this equation is unique if the
diophantine matrix is square, and therefore is invertable. If the matrix
has more columns then rows, the solution will be non-unique. If the
matrix has more rows then columns, the poles of the composite system
cannot be arbitrarily placed.

The condition for uniqueness can be satisfied if *m = n - 1*. The order
of the controller must be one less than the order of the plant. If the
order of the controller is higher, the solution will be non-unique. If
the order of the controller is lower, not all the poles can be
arbitrarily assigned.

### Example: Second Order System

### Example: Helicopter Control

Pole placement is the most straightforward means of controller design.
Here are the steps to designing a system using pole placement
techniques:

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.

\\right)}`</math>`{=html}

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

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

where

$$M_p$$ is overshoot,

$$\tau_s$$ is 1% settling time, and

$$\tau_p$$ is time to peak.

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)$$

where

-   $a=10\omega_{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

$$p_3=1$$

$$p_2=2\zeta_{desired}\omega_{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

$$A_1=1$$

$$A_0=2\zeta_{desired}\omega_{desired}+a-2\zeta\omega_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}$$
}}

## Caveats

There are a number of problems that can arise from this method.

### Insufficient Order

If *K(s)* has a polynomial degree *m*, and *G(s)* has a polynomial
degree *n*, then our composite system *H(s)* will have a total degree of
*m + n*. If our controller does not have a high enough order, we will
not be able to arbitrarily assign every pole in our system. From state
space, we know that poles that cannot be arbitrarily assigned are called
uncontrollable. The addition of a controller of insufficient order can
make one or more poles in our system uncontrollable.

## External links

-   ControlTheoryPro.com article on Pole
    Placement

