Control Systems/Polynomial Design

From Wikibooks, open books for an open world
Jump to: navigation, search
This page of the Control Systems book is a stub. You can help by expanding this page, but make sure to follow the local manual of style. If you would like to help, but you don't know how, you can ask on the main discussion page. (All Stubs)


Polynomial Design[edit]

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[edit]

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 composite system, H(s) will have a transfer function of:

H(s) = 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[edit]

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[edit]

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[edit]

We are given a system G(s), and are told that we need to design a tracking system with a desired system response D(s). G(s) and D(s) are defined as:

G(s) = \frac{1}{s^2 - 1}
D(s) = (s + 2)^3 = s^3 + 6s^2 + 12s + 8

Our plant has order n = 2, which means the controller must have an order m = 1 for a unique solution. Also, our desired response is an order n + m = 3. Our controller resembles a PID controller form:

C(s) = \frac{B_0 + B_1s}{A_0 + A_1s}

Constructing the Diophantine equation gives us:

\begin{bmatrix}
-1 & 1 & 0 & 0 \\
0 & 0 & -1 & 1 \\
1 & 0 & 0 & 0 \\
0 & 0 & 1 & 0 \end{bmatrix}\begin{bmatrix}A_0 \\ B_0 \\ A_1 \\ B_1\end{bmatrix} = \begin{bmatrix}8 \\ 12 \\ 6 \\ 1\end{bmatrix}

The bottom two rows give us:

A_1 = 1
A_0 = 6

And the top two rows give us:

B_0 = 14
B_1 = 13

And our final controller becomes:

C(s) = \frac{14 + 13s}{6 + s}

Example: Helicopter Control[edit]

The following section of this page is excerpted with permission from ControlTheoryPro.com.

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.

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
\omega_n is the system's natural frequency
\zeta is the system's damping ratio.

Also, we assume a compensator of form


[1]

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

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:


[2a]

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

In matrix form this is:


[2b]

\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}

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

M_p is overshoot,
\tau_s is 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.


[3]

\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[edit]

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

Insufficient Order[edit]

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[edit]

ControlTheoryPro.com article on Pole Placement


Control Systems